Files
Gnuboard7/docs/ai-tools/agents
HeuJung 8328b1db77 docs(core,extensions): 확장 개발자 문서 9세트 집필과 생성기 정합 보강
S1 파일럿 3종(sirsoft-board · sirsoft-gdpr · sirsoft-admin_basic)에 이어
결제·본인인증 동형군 6종의 AGENTS.md · README.md · docs/ 5문서를 집필했다.
확장을 고치려는 쪽이 매번 src/ 를 훑어 구조를 재발견하지 않도록, 설계 의도와
확장점(발행·구독 훅)·수정 시 동반 의무·금지 패턴을 코드 근거로 서술했다.

생성기(ExtensionDocScaffolder)에서 표를 무의미하게 만들던 세 결함을 함께 고쳤다.
getLayoutExtensions 기본 구현이 돌려주는 절대경로가 파일 목록과 중복돼 로컬
머신 경로가 커밋 문서에 실리던 문제, getNotificationDefinitions 를 'key'/'event'
로 읽어 모든 행이 '-' 로 찍히던 문제, getSettingsLayout 절대경로가 정규화 없이
노출되던 문제다. 셋 다 예외를 남기지 않고 표만 조용히 망가뜨리므로
ExtensionDocContractTest 에 각각의 되돌림 red 를 확인한 단언을 두었다.
템플릿의 extensions/{id}/ 는 모듈·플러그인의 발행과 반대 방향(오버라이드)이라
별도 블록(template-overrides)으로 분리했다.

sirsoft-admin_basic 의 컴포넌트·핸들러·레이아웃 문서를 코어 docs/ 에서 그 템플릿
소유로 이관하고, 남은 참조 6축을 재는 가드를 추가했다. 이관 후 남은 옛 경로는
오류가 아니라 헛걸음으로만 나타나 드러나지 않는다. 의 상대 링크가
한 단계 얕아 공유 docs/ 대신 를 가리키던 문제도 함께 고쳤다.

README 상단의 확장명 이미지 배지를 평문 H1 로 바꿨다( 지시 2026-08-31).
루트 README.md · README.ko.md 도 같은 기준을 적용했다. 정보 배지는 유지한다.

sirsoft-gdpr: 회원탈퇴로 자동 철회된 동의가 관리자 동의 이력 화면의 출처 필터로
걸러지지 않던 문제를 고쳤다. Repository 가 'withdraw' 리터럴을 직접 UPDATE 에
싣는데 그 값이 ConsentSource enum 에 없어, 화면 필터 옵션·라벨 어느 쪽에도
도달하지 못했다. 어휘를 enum 단일 출처로 모으고 ko·en·ja 라벨과 필터 옵션을
함께 채웠으며, 어휘 대조 테스트의 모집단에 Repository 를 편입했다.
2026-08-31 15:57:44 +09:00
..
2026-04-01 10:30:52 +09:00
2026-04-01 10:30:52 +09:00
2026-05-11 11:29:41 +09:00
2026-04-01 10:30:52 +09:00

그누보드7 Multi-Agent System

AI Agent SDK 기반 그누보드7 전용 멀티에이전트 협업 시스템입니다.

개요

5명의 전문 에이전트가 협업하여 그누보드7 프로젝트의 개발 작업을 수행합니다:

에이전트 역할 담당 영역
Coordinator 작업 분배 및 조율 전체 오케스트레이션
Backend 백엔드 개발 Service, Repository, Controller, Migration
Frontend 프론트엔드 개발 TSX 컴포넌트, 상태 관리, G7Core API
Layout 레이아웃 개발 JSON 스키마, 데이터 바인딩, 반응형
Template 템플릿 개발 빌드, 컴포넌트 등록, 다국어
Reviewer 코드 검수 규정 준수, 테스트, 문서화

설치

cd docs/ai-tools/agents
npm install

환경 설정

.env.example을 .env로 복사하고 API 키를 설정하세요:

cp .env.example .env
# AI API Key (Required)
ANTHROPIC_API_KEY=your_api_key_here

# 그누보드7 Project Root Path
G7_PROJECT_ROOT=/path/to/your/g7/project

# Log Level
LOG_LEVEL=info

사용법

인터랙티브 모드

npm run interactive

대화형으로 작업을 요청합니다:

🤖 > /feature 상품 할인 기능 추가
🤖 > /bugfix Form 저장 시 데이터 사라짐
🤖 > /review #123
🤖 > ProductService의 할인 로직 설명해줘

단일 명령어 모드

# 기능 개발
npm run agent -- feature "상품 할인 기능 추가"

# 버그 수정
npm run agent -- bugfix "Form 저장 시 데이터 사라짐"

# PR 검수
npm run agent -- pr-review "#123"

# 자유 형식
npm run agent -- "ProductService에 할인 로직 추가해줘"

워크플로우

1. 기능 개발 (Feature)

새로운 기능을 개발할 때 사용합니다:

Backend → Layout → Frontend → Template → Reviewer
  1. Backend: 마이그레이션, Model, Repository, Service, Controller
  2. Layout: 레이아웃 JSON, 데이터 소스, 컴포넌트 구조
  3. Frontend: 필요한 TSX 컴포넌트 개발
  4. Template: 컴포넌트 등록, 빌드
  5. Reviewer: 전체 검수

2. 버그 수정 (Bugfix)

TDD 기반으로 버그를 수정합니다:

  1. 트러블슈팅 가이드 확인
  2. 버그 분석
  3. RED: 버그 재현 테스트 작성
  4. GREEN: 버그 수정
  5. REFACTOR: 테스트 통과 확인
  6. 검수

3. PR 검수 (PR Review)

변경된 파일 유형에 따라 적절한 에이전트가 검수합니다:

  • *.php → Backend 에이전트
  • *.tsx → Frontend 에이전트
  • *.json (레이아웃) → Layout 에이전트
  • 최종 → Reviewer 에이전트

MCP 도구

그누보드7 프로젝트 전용 검증 도구를 제공합니다:

도구 설명
validate-backend 백엔드 코드 규정 검증
validate-frontend 프론트엔드/레이아웃 규정 검증
run-tests 테스트 실행 (PHPUnit, Vitest)
search-docs 규정 문서 검색
read-doc 규정 문서 읽기
list-docs 규정 문서 목록

그누보드7 규정 준수

모든 에이전트는 docs/의 규정을 준수합니다:

백엔드

  • Service-Repository 패턴 (RepositoryInterface 주입)
  • FormRequest 검증 (Service 검증 금지)
  • HookManager 훅 실행 (before_/after_)
  • ResponseHelper 응답 처리
  • 다국어 처리 (__() 함수)

프론트엔드

  • HTML 태그 직접 사용 금지 (Div, Button 등 사용)
  • 다크 모드 클래스 쌍 필수 (bg-white dark:bg-gray-800)
  • G7Core.t() 다국어 처리
  • Font Awesome 아이콘

레이아웃

  • text 속성 사용 (props.children 금지)
  • 데이터 바인딩 문법 ({{path}}, $t:key)
  • 기본 컴포넌트만 사용

프로젝트 구조

docs/ai-tools/agents/
├── src/
│   ├── index.ts           # 메인 엔트리포인트
│   ├── cli.ts             # CLI 인터페이스
│   ├── coordinator/
│   │   └── Coordinator.ts # 코디네이터
│   ├── agents/
│   │   ├── definitions.ts # 에이전트 정의
│   │   └── index.ts
│   ├── prompts/           # 시스템 프롬프트
│   │   ├── coordinator.ts
│   │   ├── backend.ts
│   │   ├── frontend.ts
│   │   ├── layout.ts
│   │   ├── template.ts
│   │   └── reviewer.ts
│   ├── mcp/               # MCP 도구
│   │   ├── g7-tools-server.ts
│   │   └── tools/
│   ├── workflows/         # 워크플로우
│   │   ├── feature.ts
│   │   ├── bugfix.ts
│   │   └── pr-review.ts
│   ├── types/
│   │   └── index.ts
│   └── utils/
│       ├── logger.ts
│       └── context.ts
├── package.json
├── tsconfig.json
├── .env.example
└── README.md

라이선스

MIT License