diff --git a/AGENTS.md b/AGENTS.md index 35657b18..da011f4e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -97,10 +97,19 @@ Strong success criteria let you loop independently. Weak criteria ("make it work - 기존 로직 수정이 아닌 신규 `Activity`, `Fragment`, `ViewModel` 및 그와 연결된 하위 코드는 `kr.co.vividnext.sodalive.v2` 패키지 하위에 작성한다. ## 작업 절차 핵심 규칙 -- PRD 문서와 구현 계획/TASK 문서 없이 구현하지 않는다. -- 사용자의 프롬프트를 받으면 먼저 PRD 문서를 작성하고, 애매하거나 결정이 필요한 내용은 모호함이 사라질 때까지 사용자와 인터뷰한다. +- 모든 구현 작업은 PRD 문서와 구현 계획/TASK 문서가 모두 준비된 뒤에 시작한다. +- 사용자의 프롬프트를 받으면 먼저 PRD 문서를 작성한다. +- PRD 작성 중 애매하거나 더 필요한 내용, 결정해야 하는 사항이 있으면 애매한 사항이 없어질 때까지 사용자와 인터뷰한다. - 인터뷰 내용을 PRD에 반영한 뒤, PRD를 기준으로 계획/TASK 문서를 작성하고 그 문서에 따라 필요한 내용만 최소 구현한다. -- PRD 문서는 `docs/prd/`, 계획/TASK 문서는 `docs/plan-task/` 아래에 둔다. +- 문서는 `docs/[날짜]_구현할내용한글/` 아래에 `prd.md`, `plan-task.md`로 만든다. + - `docs/[날짜]_구현할내용한글/prd.md` + - `docs/[날짜]_구현할내용한글/plan-task.md` +- 기존에 생성된 `docs/prd/`, `docs/plan-task/` 문서는 유지하고, 신규 생성 문서부터 위 구조를 적용한다. +- 날짜는 `YYYYMMDD` 8자리 숫자를 사용한다. +- PRD 문서는 `sample-prd.md` 파일에서 작업에 필요한 부분만 발췌해 작성한다. `sample-prd.md`가 없거나 위치가 불명확하면 추측하지 말고 사용자에게 확인한다. +- 연속된 하나의 작업이라면 별도 새 문서를 만들지 말고 기존 PRD와 계획/TASK 문서에 추가 작업으로 이어서 기록한다. +- 작업 도중 범위가 변경되면 계획/TASK 문서 체크리스트를 먼저 업데이트한 뒤 구현한다. +- 결과 보고 시 문서 하단에 검증 기록을 한국어로 남기고, 후속 수정이 발생해도 기존 검증 기록은 삭제하거나 덮어쓰지 않고 누적한다. ## 상세 참조 문서 - 빌드/린트/테스트는 `docs/agent-guides/build-test-style.md`를 참고한다. diff --git a/docs/20260601_계획문서규칙수정/plan-task.md b/docs/20260601_계획문서규칙수정/plan-task.md new file mode 100644 index 00000000..38d72523 --- /dev/null +++ b/docs/20260601_계획문서규칙수정/plan-task.md @@ -0,0 +1,66 @@ +# 20260601 계획 문서 규칙 수정 + +## 개요 +- 작업 절차와 PRD/계획/TASK 문서 작성 규칙을 사용자 요청 기준으로 수정한다. +- PRD: `docs/20260601_계획문서규칙수정/prd.md` + +## 구현 범위 +- Create: `docs/20260601_계획문서규칙수정/prd.md` +- Create: `docs/20260601_계획문서규칙수정/plan-task.md` +- Modify: `AGENTS.md` +- Modify: `docs/agent-guides/work-plan-docs.md` + +## 작업 체크리스트 + +### Phase 1: 작업 문서 준비 +- [x] **Task 1.1: PRD 문서 작성** + - 파일 경로: `docs/20260601_계획문서규칙수정/prd.md`, `docs/prd/sample-prd.md` + - 검증 기준: `sample-prd.md`의 필요한 섹션만 사용하고, 이번 작업의 목표/범위/제약을 명시한다. +- [x] **Task 1.2: 계획/TASK 문서 작성** + - 파일 경로: `docs/20260601_계획문서규칙수정/plan-task.md` + - 검증 기준: phase heading, 체크박스 task, 파일 경로, 검증 기준을 포함한다. + +### Phase 2: 규칙 문서 수정 +- [x] **Task 2.1: `AGENTS.md` 작업 절차 핵심 규칙 수정** + - 파일 경로: `AGENTS.md` + - 실행 명령: `sed -n '1,220p' AGENTS.md` + - 기대 결과: 작업 시작 전 PRD와 계획/TASK 문서 준비, 새 문서 경로, 인터뷰/연속 작업/검증 기록 누적 규칙이 반영된다. +- [x] **Task 2.2: `work-plan-docs.md` 작업 계획 문서 규칙 수정** + - 파일 경로: `docs/agent-guides/work-plan-docs.md` + - 실행 명령: `sed -n '1,260p' docs/agent-guides/work-plan-docs.md` + - 기대 결과: 사용자 요청의 문서 구조, 작성 순서, sample PRD, phase/task, 범위 변경, 검증 기록 규칙이 반영된다. +- [x] **Task 2.3: 신규 문서에만 새 규칙 적용 명시** + - 파일 경로: `AGENTS.md`, `docs/agent-guides/work-plan-docs.md`, `docs/20260601_계획문서규칙수정/prd.md` + - 검증 기준: 기존에 생성된 `docs/prd/`, `docs/plan-task/` 문서는 유지하고, 신규 생성 문서부터 새 `docs/[날짜]_구현할내용한글/` 구조를 적용한다고 명시한다. + +### Phase 3: 검증 및 기록 +- [x] **Task 3.1: 변경 범위와 규칙 문구 검증** + - 파일 경로: `AGENTS.md`, `docs/agent-guides/work-plan-docs.md`, `docs/20260601_계획문서규칙수정/prd.md`, `docs/20260601_계획문서규칙수정/plan-task.md` + - 실행 명령: `rg -n "docs/\\[날짜\\]_구현할내용한글|docs/prd/|docs/plan-task/|sample-prd|Phase 1|검증 기록" AGENTS.md docs/agent-guides/work-plan-docs.md docs/20260601_계획문서규칙수정` + - 기대 결과: 새 규칙은 반영되고, canonical 안내에서 기존 `docs/prd/`, `docs/plan-task/` 생성 규칙은 제거된다. +- [x] **Task 3.2: 검증 기록 누적** + - 파일 경로: `docs/20260601_계획문서규칙수정/plan-task.md` + - 검증 기준: 문서 하단에 무엇/왜/어떻게, 실행 명령, 결과를 한국어로 누적 기록한다. + +## 검증 기록 +- 2026-06-01 + - 무엇/왜/어떻게: 계획 문서 규칙 수정 요청에 따라 기존 작업 절차 문서와 `sample-prd.md` 위치를 확인하고, 신규 작업 문서부터 `docs/[날짜]_구현할내용한글/prd.md`, `docs/[날짜]_구현할내용한글/plan-task.md` 구조를 적용하도록 규칙을 수정했다. + - 실행 명령: + - `rg --files -g 'AGENTS.md' -g 'sample-prd.md' -g 'docs/**'` + - `sed -n '1,240p' AGENTS.md` + - `sed -n '1,260p' docs/agent-guides/work-plan-docs.md` + - `sed -n '1,240p' docs/prd/sample-prd.md` + - 결과: + - `sample-prd.md`가 `docs/prd/sample-prd.md`에 있음을 확인했다. + - 기존 규칙이 `docs/prd/`, `docs/plan-task/` 분리 저장을 안내하고 있음을 확인했다. + - 새 PRD/계획 문서는 `docs/20260601_계획문서규칙수정/` 아래에 생성했다. + +- 2026-06-01 + - 무엇/왜/어떻게: 사용자가 기존에 생성된 문서는 두고 신규 생성 문서만 새 규칙을 적용하면 된다고 정정해, 해당 범위 조건을 PRD와 규칙 문서에 추가로 명시했다. + - 실행 명령: + - `rg -n "docs/\\[날짜\\]_구현할내용한글|docs/prd/|docs/plan-task/|sample-prd|Phase 1|검증 기록|신규 생성 문서|기존에 생성된" AGENTS.md docs/agent-guides/work-plan-docs.md docs/20260601_계획문서규칙수정` + - `git diff -- AGENTS.md docs/agent-guides/work-plan-docs.md docs/20260601_계획문서규칙수정/prd.md docs/20260601_계획문서규칙수정/plan-task.md` + - `git status --short` + - 결과: + - `AGENTS.md`와 `docs/agent-guides/work-plan-docs.md`에 신규 문서 경로와 기존 문서 유지 조건이 반영됐음을 확인했다. + - 변경 범위가 `AGENTS.md`, `docs/agent-guides/work-plan-docs.md`, `docs/20260601_계획문서규칙수정/prd.md`, `docs/20260601_계획문서규칙수정/plan-task.md`로 제한됐음을 확인했다. diff --git a/docs/20260601_계획문서규칙수정/prd.md b/docs/20260601_계획문서규칙수정/prd.md new file mode 100644 index 00000000..7164cfc1 --- /dev/null +++ b/docs/20260601_계획문서규칙수정/prd.md @@ -0,0 +1,88 @@ +# PRD: 계획 문서 규칙 수정 + +## 1. Overview +작업 절차와 PRD/계획/TASK 문서 작성 규칙을 새 디렉터리 구조와 유지보수 방식에 맞게 갱신한다. + +--- + +## 2. Problem +- 기존 규칙은 PRD 문서와 계획/TASK 문서를 `docs/prd/`, `docs/plan-task/`로 분리해 저장하도록 안내한다. +- 사용자는 새 작업 문서를 `docs/[날짜]_구현할내용한글/prd.md`, `docs/[날짜]_구현할내용한글/plan-task.md` 형태로 함께 관리하길 원한다. +- 작업 도중 범위 변경, 완료 체크, 검증 기록 누적 규칙을 작업 절차 문서에도 일관되게 반영해야 한다. + +--- + +## 3. Goals +- `AGENTS.md`의 작업 절차 핵심 규칙을 새 문서 위치와 작성 순서 기준으로 갱신한다. +- `docs/agent-guides/work-plan-docs.md`의 작업 계획 문서 규칙을 사용자 요청 사항과 일치하도록 수정한다. +- 이번 작업의 PRD와 계획/TASK 문서를 새 구조인 `docs/20260601_계획문서규칙수정/` 아래에 작성한다. +- 기존에 생성된 `docs/prd/`, `docs/plan-task/` 문서는 유지하고, 신규 생성 문서부터 새 구조를 적용한다고 명시한다. + +--- + +## 4. Non-Goals +- 기존 `docs/prd/` 및 `docs/plan-task/` 아래 과거 문서를 이동하거나 이름을 바꾸지 않는다. +- 기존 `docs/prd/` 및 `docs/plan-task/` 아래 과거 문서 내용을 새 구조로 재작성하지 않는다. +- 빌드, 테스트, 코드 스타일, 커밋 메시지 규칙은 변경하지 않는다. +- Android 앱 소스 코드는 수정하지 않는다. + +--- + +## 5. Target Users +- 이 저장소에서 작업하는 에이전트와 개발자. + +--- + +## 6. User Stories +- 사용자는 구현 전에 PRD와 계획/TASK 문서가 모두 준비되길 원한다. +- 사용자는 하나의 작업 문서를 한 폴더에서 함께 확인하고 싶다. +- 사용자는 후속 수정과 검증 기록이 기존 문서에 누적되길 원한다. + +--- + +## 7. Core Features + +### 작업 문서 구조 변경 + +#### Requirements +- 문서는 `docs/[날짜]_구현할내용한글/prd.md`, `docs/[날짜]_구현할내용한글/plan-task.md` 형식으로 만든다. +- 날짜는 `YYYYMMDD` 8자리 숫자를 사용한다. +- PRD 문서는 `sample-prd.md`에서 작업에 필요한 부분만 발췌해 작성한다. +- `sample-prd.md`가 없거나 위치가 불명확하면 추측하지 말고 사용자에게 확인한다. +- 연속된 하나의 작업은 새 문서를 만들지 않고 기존 PRD와 계획/TASK 문서에 추가 작업으로 기록한다. + +#### Edge Cases +- 과거 문서는 기존 기록으로 유지하고 새 규칙만 앞으로의 작업에 적용한다. +- 작업 범위가 바뀌면 계획/TASK 문서를 먼저 갱신한 뒤 구현한다. + +### 계획/TASK 문서 유지보수 + +#### Requirements +- 계획/TASK 문서는 의미 단위 phase로 나누고 `### Phase 1: ...` 형식의 heading을 사용한다. +- 각 phase 아래 task는 체크박스(`- [ ] **Task N.N: ...**`)로 작성하고 완료 즉시 `- [x]`로 갱신한다. +- 각 task에는 생성/수정/확인할 파일 경로를 명시한다. +- 각 phase 또는 task에는 실행 명령, 기대 결과, 수동 확인 항목 등 검증 기준을 작성한다. +- 결과 보고 시 문서 하단에 검증 기록을 한국어로 남기고, 후속 수정 시 기존 기록을 삭제하거나 덮어쓰지 않는다. + +--- + +## 8. UX / UI Expectations +- 해당 없음. + +--- + +## 9. Technical Constraints +- Markdown 문서만 수정한다. +- 변경 범위는 `AGENTS.md`, `docs/agent-guides/work-plan-docs.md`, `docs/20260601_계획문서규칙수정/`로 제한한다. + +--- + +## 10. Metrics +- `AGENTS.md`가 새 문서 구조와 작업 순서를 안내한다. +- `docs/agent-guides/work-plan-docs.md`가 사용자 요청의 규칙을 빠짐없이 포함한다. +- 이번 작업 문서가 `docs/20260601_계획문서규칙수정/prd.md`와 `docs/20260601_계획문서규칙수정/plan-task.md`에 존재한다. + +--- + +## 11. Open Questions +- 없음. diff --git a/docs/agent-guides/work-plan-docs.md b/docs/agent-guides/work-plan-docs.md index c16a62d7..e8701d6b 100644 --- a/docs/agent-guides/work-plan-docs.md +++ b/docs/agent-guides/work-plan-docs.md @@ -13,11 +13,11 @@ - PRD 작성 중 애매하거나 더 필요한 내용, 결정해야 하는 사항이 있으면 애매한 사항이 없어질 때까지 사용자와 인터뷰한다. - 인터뷰로 확정한 내용을 PRD 문서에 보강한 뒤, 해당 PRD를 기준으로 구현 계획/TASK 문서를 작성한다. - 구현은 계획/TASK 문서를 기준으로 필요한 내용만 최소 범위로 진행한다. -- PRD 문서는 `docs/prd/` 아래에 작성한다. -- 구현 계획/TASK 문서는 `docs/plan-task/` 아래에 작성한다. +- 문서는 `docs/[날짜]_구현할내용한글/` 아래에 `prd.md`, `plan-task.md`로 만든다. + - `docs/[날짜]_구현할내용한글/prd.md` + - `docs/[날짜]_구현할내용한글/plan-task.md` +- 기존에 생성된 `docs/prd/`, `docs/plan-task/` 문서는 유지하고, 신규 생성 문서부터 위 구조를 적용한다. - PRD 문서는 `sample-prd.md` 파일에서 작업에 필요한 부분만 발췌해 작성한다. `sample-prd.md`가 없거나 위치가 불명확하면 추측하지 말고 사용자에게 확인한다. -- PRD 문서 파일명은 계획/TASK 문서와 동일하게 구현할 내용 부분을 한글로 작성하되, 계획 문서와 구분되도록 `prd` 표기를 포함한다. -- 계획/TASK 문서 파일명은 `[날짜]_구현할내용한글.md` 형식을 사용한다. - 날짜는 `YYYYMMDD` 8자리 숫자를 사용한다. - 연속된 하나의 작업이라면 별도 새 문서를 만들지 말고 기존 PRD와 계획/TASK 문서에 추가 작업으로 이어서 기록한다. - 계획/TASK 문서는 의미 단위 phase로 나누고 `### Phase 1: ...`, `### Phase 2: ...` 형식의 heading을 사용한다.