7.6 KiB
7.6 KiB
myagent-kit
Reusable Copilot Development workflow assets.
Contents
base/.github/prompts: reusable promptsbase/.github/instructions: reusable file instructionsbase/.github/ISSUE_TEMPLATE: reusable issue templatesbase/.github/copilot-instructions.md: managed Copilot baseline gate template (opt-in merge)base/.github/pull_request_template.md: PR traceability gate templatetemplates/docs/SRS/REQ-template.md: REQ starter templatetemplates/docs/SRS/TRACEABILITY-template.md: traceability matrix starter templatebootstrap/install.sh: copy base assets into a target project
Pre-flight Scope Decision (Step 0)
새 기능이나 변경 요청이 들어오면, requirement drafting을 시작하기 전에 먼저 아래 명령으로 SRS 대상 여부를 판정한다.
| Asset | 용도 |
|---|---|
base/.github/prompts/decide-requirement-scope.prompt.md |
변경 요청을 입력받아 4종 판정 결과 반환 |
base/.github/instructions/requirement-scope-decision.instructions.md |
판정 기준 및 출력 형식 가이드 |
base/.github/prompts/reopen-requirement-status.prompt.md |
Approved/Implemented/Deprecated requirement를 Proposed(또는 Re-review)로 되돌리기 위한 결정/충돌 검토 |
base/.github/instructions/reopen-requirement-discovery.instructions.md |
REQ 미지정 입력 시 후보 탐색(키워드/점수/동점 처리) 커스터마이징 가이드 |
판정 결과 4종
New SRS requirement needed— 새 REQ 문서 작성Update existing SRS requirement— 기존 REQ 문서 수정Technical spec only— SRS 변경 없이 technical spec만 업데이트Needs owner decision— 운영 리스크/책임이 불명확하여 소유자 결정 필요
Install into a project
bash .vendor/myagent-kit/bootstrap/install.sh /path/to/project
변경 적용 없이 계획만 확인하려면 dry-run을 사용한다.
bash .vendor/myagent-kit/bootstrap/install.sh /path/to/project --dry-run
옵션: 기존 .github/copilot-instructions.md를 덮어쓰지 않고 병합하려면 opt-in 플래그를 사용한다.
bash .vendor/myagent-kit/bootstrap/install.sh /path/to/project --merge-copilot-instructions
병합 정책 요약:
- marker 이름은
myagent-kit로 고정된다. - 기존 파일이 있으면
.github/copilot-instructions.md.bak으로 최근 1개 백업 후 병합한다. - 병합은
myagent-kit관리 섹션만 갱신하고project-specific섹션은 유지한다. - marker 쌍이 손상된 경우 병합을 중단하고 백업본으로 롤백한다.
In subtree-based usage:
git subtree add --prefix=.vendor/myagent-kit https://github.com/<owner>/myagent-kit.git main --squash
bash .vendor/myagent-kit/bootstrap/install.sh .
bash .vendor/myagent-kit/bootstrap/install.sh . --dry-run
bash .vendor/myagent-kit/bootstrap/install.sh . --merge-copilot-instructions
bash .vendor/myagent-kit/bootstrap/install.sh . --merge-copilot-instructions --dry-run
운영 규칙
- SRS는 계약 문서, 구현 문서는 실행 기록으로 분리합니다.
- 모든 요구사항에 고유 ID를 부여합니다. 예: REQ-001
- 구현/테스트/릴리즈까지 같은 ID를 계속 사용합니다.
- 상태 기반으로 관리합니다: Draft → Approved → Implemented → Verified → Released
추적/운영 표준
1) 식별자 규칙
- Requirement ID는
REQ-XXX형식을 사용합니다. 예:REQ-001 - Acceptance Criteria는 requirement 내부에서
AC1,AC2처럼 번호를 고정합니다. - 이슈/PR 제목에는 requirement ID를 포함합니다. 예:
[REQ-001] ...
2) 증거(Evidence) 연결 규칙
- 구현 이슈에는
Acceptance Criteria Mapping을 작성합니다. (ACx -> Task) - PR에는 어떤 AC가 어떤 변경으로 충족되었는지 명시합니다.
- 테스트 이름 또는 테스트 설명에도 requirement ID를 포함합니다.
- 릴리즈 노트에는 포함된 requirement ID 목록을 남깁니다.
3) 추적 문서 운영
- 추적 매트릭스는
docs/SRS/traceability-matrix.md로 운영합니다. - 초기 작성은
templates/docs/SRS/TRACEABILITY-template.md를 복사해 사용합니다. - 매트릭스의 각 행은 최소한
REQ ID,AC,Issue/PR,Test,Status를 채웁니다.
4) 최소 운영 절차
- Requirement 작성 및 ID 확정
- Requirement를
Approved로 전환 - Implementation Issue 생성 (AC 매핑 포함)
- PR 생성 (REQ/AC 충족 근거 기입)
- 테스트 증거 업데이트
- Requirement 상태를
Implemented/Verified로 전환 - 릴리즈 시 매트릭스와 릴리즈 노트에 REQ ID 반영
myagent-kit Development Life Cycle
Phase 0. Workspace Bootstrap
- 프로젝트에 myagent-kit 자산을 설치한다.
bootstrap/install.sh를 실행해.github워크플로 자산을 동기화한다.
Phase 0.5. Pre-flight Scope Decision (새 기능/변경 요청 진입 시 필수)
decide-requirement-scope.prompt.md로 변경 요청이 SRS 대상인지 먼저 판정한다.- 판정 결과에 따라 다음 단계를 결정한다.
New SRS requirement needed→ Phase 1로 진행Update existing SRS requirement→ 해당 REQ 파일을 수정하고 Phase 2로 진행Technical spec only→ SRS 변경 없이 technical spec / implementation note만 업데이트Needs owner decision→ 소유자와 협의 후 위 3가지 중 하나로 재판정
Phase 1. Requirement Drafting
templates/docs/SRS/REQ-template.md로 REQ 문서를 작성한다.- REQ ID(
REQ-XXX)를 확정하고,Acceptance Criteria를 test 가능한 문장으로 작성한다.
Phase 2. Requirement Quality Gate
validate-requirement.prompt.md로 requirement 품질 검토를 수행한다.- 모호성, 누락 필드, impacted area, change log 누락을 수정한다.
Phase 3. Requirement Approval Gate
approve-requirement.prompt.md로Proposed -> Approved전환 가능 여부를 확인한다.- 승인 이력(Change Log)을 남기고 상태를
Approved로 변경한다.
Phase 3.5. Requirement Reopen / Re-review
- 구현 전/후에 계약 변경, acceptance criteria 재정의, 리스크 재평가가 필요하면
reopen-requirement-status.prompt.md를 사용한다. - 입력 예시:
REQ-003, REQ-011; API 응답 필드 계약을 다시 정리해야 해서 재검토 필요. - 결과에서 사용자 결정 항목(목표 상태:
ProposedvsRe-review)과 충돌 후보 REQ를 먼저 확인한 뒤 REQ 문서/인덱스를 수정한다.
Phase 4. Pre-Implementation Design Review
- Implementation Issue를 생성하고 설계검토 체크리스트를 작성한다.
- 아키텍처, 인터페이스, 데이터, 오류 처리, 보안/성능, 테스트 전략을 합의한다.
- 미해결 항목은
Open Items / Assumptions에 기록한다.
Phase 5. Implementation Planning
create-implementation-issue.prompt.md로 구현 이슈를 생성한다.Acceptance Criteria Mapping으로 AC와 작업 항목을 연결한다.- AI Agent 작업과 Human 작업을 분리한다.
Phase 6. Implementation & PR
- 구현을 진행하고 PR을 생성한다.
.github/pull_request_template.md로 REQ ID, AC 커버리지, 테스트 증거를 기록한다.
Phase 7. Verification & Status Transition
- 자동/수동 검증 결과를 반영한다.
mark-requirement-implemented.prompt.md로Approved -> Implemented전환 가능 여부를 점검한다.- 충족 여부가 확인되면 requirement 상태를 전환한다.
Phase 8. Traceability & Release
docs/SRS/traceability-matrix.md를 갱신한다.- 릴리즈 노트에 반영된 REQ ID를 기록한다.
- 필요 시 운영 문서/회고 문서에 residual risk를 남긴다.