@silbaram/artifact-driven-agent 0.1.6 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +709 -516
  2. package/ai-dev-team/.ada-status.json +10 -0
  3. package/ai-dev-team/.ada-version +6 -0
  4. package/ai-dev-team/.current-template +1 -0
  5. package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +5 -0
  6. package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +5 -0
  7. package/ai-dev-team/ada.config.json +15 -0
  8. package/ai-dev-team/artifacts/api.md +212 -0
  9. package/ai-dev-team/artifacts/decision.md +72 -0
  10. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
  11. package/ai-dev-team/artifacts/plan.md +187 -0
  12. package/ai-dev-team/artifacts/project.md +193 -0
  13. package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +37 -0
  14. package/ai-dev-team/artifacts/sprints/_template/meta.md +54 -0
  15. package/ai-dev-team/artifacts/sprints/_template/retrospective.md +50 -0
  16. package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +49 -0
  17. package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +43 -0
  18. package/ai-dev-team/artifacts/ui.md +104 -0
  19. package/ai-dev-team/roles/analyzer.md +265 -0
  20. package/ai-dev-team/roles/developer.md +222 -0
  21. package/ai-dev-team/roles/documenter.md +715 -0
  22. package/ai-dev-team/roles/improver.md +461 -0
  23. package/ai-dev-team/roles/manager.md +544 -0
  24. package/ai-dev-team/roles/planner.md +398 -0
  25. package/ai-dev-team/roles/reviewer.md +294 -0
  26. package/ai-dev-team/rules/api-change.md +198 -0
  27. package/ai-dev-team/rules/document-priority.md +199 -0
  28. package/ai-dev-team/rules/escalation.md +172 -0
  29. package/ai-dev-team/rules/iteration.md +236 -0
  30. package/ai-dev-team/rules/rfc.md +31 -0
  31. package/ai-dev-team/rules/rollback.md +218 -0
  32. package/bin/cli.js +49 -5
  33. package/core/artifacts/sprints/_template/meta.md +4 -4
  34. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
  35. package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
  36. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
  37. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
  38. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
  39. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
  40. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
  41. package/core/docs-templates/mkdocs/docs/index.md +32 -0
  42. package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
  43. package/core/roles/analyzer.md +32 -10
  44. package/core/roles/developer.md +222 -223
  45. package/core/roles/documenter.md +592 -170
  46. package/core/roles/improver.md +461 -0
  47. package/core/roles/manager.md +4 -1
  48. package/core/roles/planner.md +160 -10
  49. package/core/roles/reviewer.md +31 -3
  50. package/core/rules/document-priority.md +2 -1
  51. package/core/rules/rollback.md +3 -3
  52. package/package.json +1 -1
  53. package/src/commands/config.js +371 -0
  54. package/src/commands/docs.js +502 -0
  55. package/src/commands/interactive.js +324 -33
  56. package/src/commands/monitor.js +236 -0
  57. package/src/commands/run.js +360 -122
  58. package/src/commands/sessions.js +270 -70
  59. package/src/commands/setup.js +22 -1
  60. package/src/commands/sprint.js +295 -54
  61. package/src/commands/status.js +34 -1
  62. package/src/commands/upgrade.js +416 -0
  63. package/src/commands/validate.js +4 -3
  64. package/src/index.js +1 -0
  65. package/src/ui/dashboard.js +518 -0
  66. package/src/ui/keyHandler.js +147 -0
  67. package/src/ui/quickActions.js +111 -0
  68. package/src/utils/config.js +74 -0
  69. package/src/utils/files.js +70 -3
  70. package/src/utils/sessionState.js +472 -328
  71. package/src/utils/sessionState.process.test.js +101 -0
  72. package/src/utils/sessionState.test.js +183 -0
  73. package/src/utils/sprintUtils.js +134 -0
  74. package/src/utils/taskParser.js +134 -0
  75. package/src/utils/taskParser.test.js +76 -0
  76. package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
  77. package/examples/todo-app/README.md +0 -23
  78. package/examples/todo-app/artifacts/backlog.md +0 -23
  79. package/examples/todo-app/artifacts/plan.md +0 -23
  80. package/examples/todo-app/artifacts/project.md +0 -23
@@ -0,0 +1,193 @@
1
+ # Project Standards (Frozen)
2
+
3
+ > 🔒 이 문서는 **Frozen** 상태입니다.
4
+ > 변경 시 RFC(Request for Change) 절차 필수.
5
+ > 모든 개발자는 이 문서의 규칙을 따릅니다.
6
+
7
+ **작성 주체:** 사용자와 팀이 함께 프로젝트 초기에 작성합니다.
8
+ **작성 시점:** plan.md 확정 후, 개발 시작 전에 작성하여 Frozen 상태로 전환합니다.
9
+
10
+ ---
11
+
12
+ ## ✅ 문서 완성도 체크리스트
13
+
14
+ > ⚠️ 모든 필수 항목이 체크되어야 Frozen 상태로 전환 가능
15
+
16
+ ### 필수 섹션 (Required)
17
+ - [ ] 프로젝트 규모 정의 완료 (S/M/L)
18
+ - [ ] 기술 스택 전체 항목 결정됨
19
+ - [ ] 프로젝트 구조 정의됨
20
+ - [ ] 명명 규칙 정의됨
21
+ - [ ] 품질 기준 정의됨
22
+
23
+ ### 품질 체크 (Quality)
24
+ - [ ] 모든 기술 선택에 근거 명시됨
25
+ - [ ] 버전 번호가 구체적으로 명시됨 (예: "1.x" 금지, "1.21.0" 필요)
26
+ - [ ] 금지 사항이 명확히 정의됨
27
+
28
+ ### 연결성 체크 (Linkage)
29
+ - [ ] plan.md의 비기능 요구사항과 일관성 확인됨
30
+
31
+ ---
32
+
33
+ ## ⚠️ Frozen 문서 변경 절차 (RFC)
34
+
35
+ > 이 문서가 Frozen 상태가 된 후에는 아래 절차로만 변경 가능
36
+
37
+ ### RFC 절차
38
+ 1. `rfc/` 디렉토리에 변경 제안서 작성
39
+ - 파일명: `RFC-NNNN-<title>.md`
40
+ 2. RFC 문서에 포함할 내용:
41
+ - 변경 사유
42
+ - 영향 범위 분석
43
+ - 대안 검토
44
+ - 롤백 계획
45
+ 3. Manager 승인
46
+ 4. decision.md에 기록
47
+ 5. project.md 업데이트
48
+
49
+ ### RFC 없이 변경 가능한 항목
50
+ - 오타 수정
51
+ - 예시 추가 (규칙 변경 없이)
52
+ - 설명 보완 (의미 변경 없이)
53
+
54
+ ---
55
+
56
+ ## 0. 프로젝트 규모 정의 (Mandatory)
57
+
58
+ | 항목 | 값 |
59
+ |------|-----|
60
+ | 규모 | S / M / L |
61
+ | 판단 근거 | [근거] |
62
+ | 핵심 기능 수 | N개 |
63
+ | 예상 복잡도 | 낮음 / 중간 / 높음 |
64
+
65
+ ---
66
+
67
+ ## 1. 선택 요약 (Decision Summary)
68
+
69
+ > 프로젝트 기술 스택 및 아키텍처 선택 사항
70
+
71
+ | 항목 | 선택 | 근거 |
72
+ |------|------|------|
73
+ | [항목1] | [선택] | [근거] |
74
+ | [항목2] | [선택] | [근거] |
75
+
76
+ ---
77
+
78
+ ## 2. 기술 스택 (Frozen)
79
+
80
+ | 영역 | 선택 | 버전 | 비고 |
81
+ |------|------|------|------|
82
+ | 언어 | [선택] | [버전] | - |
83
+ | 프레임워크 | [선택] | [버전] | - |
84
+ | 데이터 저장 | [선택] | [버전] | - |
85
+ | 테스트 | [선택] | [버전] | - |
86
+ | 빌드 | [선택] | [버전] | - |
87
+
88
+ ---
89
+
90
+ ## 3. 아키텍처 규칙
91
+
92
+ ### 3.1 프로젝트 구조
93
+
94
+ ```
95
+ src/
96
+ ├── [디렉토리]/
97
+ │ └── [설명]
98
+ ├── [디렉토리]/
99
+ │ └── [설명]
100
+ └── [디렉토리]/
101
+ └── [설명]
102
+ ```
103
+
104
+ ### 3.2 명명 규칙
105
+
106
+ | 대상 | 규칙 | 예시 |
107
+ |------|------|------|
108
+ | 파일 | [규칙] | [예시] |
109
+ | 클래스/구조체 | [규칙] | [예시] |
110
+ | 함수/메서드 | [규칙] | [예시] |
111
+ | 변수 | [규칙] | [예시] |
112
+
113
+ ### 3.3 코드 스타일
114
+
115
+ - 들여쓰기: [스페이스/탭, 개수]
116
+ - 최대 줄 길이: [N자]
117
+ - 린트 도구: [도구명]
118
+ - 포매터: [도구명]
119
+
120
+ ---
121
+
122
+ ## 4. 품질 기준
123
+
124
+ ### 4.1 테스트
125
+
126
+ | 항목 | 기준 |
127
+ |------|------|
128
+ | 테스트 프레임워크 | [선택] |
129
+ | 최소 커버리지 | [N%] |
130
+ | 필수 테스트 유형 | [단위/통합/E2E] |
131
+
132
+ ### 4.2 코드 품질
133
+
134
+ | 항목 | 기준 |
135
+ |------|------|
136
+ | 린트 통과 | 필수 |
137
+ | 타입 체크 | [필수/권장] |
138
+ | 정적 분석 | [필수/권장] |
139
+
140
+ ---
141
+
142
+ ## 5. 의존성 관리
143
+
144
+ ### 5.1 허용된 의존성
145
+
146
+ | 패키지 | 버전 | 용도 |
147
+ |--------|------|------|
148
+ | [패키지명] | [버전] | [용도] |
149
+
150
+ ### 5.2 의존성 추가 규칙
151
+
152
+ - 새 의존성 추가 시: Manager 승인 필요
153
+ - 버전 업그레이드 시: [규칙]
154
+ - 금지된 패키지: [목록]
155
+
156
+ ---
157
+
158
+ ## 6. 문서화 규칙
159
+
160
+ ### 6.1 코드 문서화
161
+
162
+ - 공개 인터페이스: 문서화 필수
163
+ - 내부 구현: [규칙]
164
+ - 문서화 형식: [형식]
165
+
166
+ ### 6.2 산출물 문서
167
+
168
+ - 인터페이스 문서: [파일명]
169
+ - 변경 시 갱신 필수
170
+
171
+ ---
172
+
173
+ ## 7. 제약 및 금지 사항 (Enforcement)
174
+
175
+ ### 7.1 금지 사항
176
+
177
+ - ❌ 이 문서에 없는 기술/라이브러리 도입
178
+ - ❌ 규칙 무시한 코드 커밋
179
+ - ❌ 문서 없는 구조 변경
180
+ - ❌ Manager 승인 없는 의존성 추가
181
+
182
+ ### 7.2 예외 처리
183
+
184
+ - 예외 필요 시: Manager에게 에스컬레이션
185
+ - 승인된 예외는 decision.md에 기록
186
+
187
+ ---
188
+
189
+ ## 8. 변경 이력
190
+
191
+ | 버전 | 날짜 | 변경 내용 | 승인 |
192
+ |------|------|----------|------|
193
+ | v1.0 | YYYY-MM-DD | 초기 확정 | Manager |
@@ -0,0 +1,37 @@
1
+ # Release Notes - Sprint N
2
+
3
+ ## 버전: v1.N.0
4
+
5
+ ## 날짜: YYYY-MM-DD
6
+
7
+ ### 새로운 기능
8
+
9
+ - [기능명]: [설명]
10
+ - [기능명]: [설명]
11
+
12
+ ### 개선 사항
13
+
14
+ - [개선 내용]
15
+ - [개선 내용]
16
+
17
+ ### 버그 수정
18
+
19
+ - task-NNN: [버그 설명] → [수정 내용]
20
+ - task-NNN: [버그 설명] → [수정 내용]
21
+
22
+ ### Breaking Changes
23
+
24
+ > ⚠️ 기존 사용자에게 영향있는 변경
25
+
26
+ - [변경 내용]
27
+ - Migration: [마이그레이션 가이드]
28
+
29
+ ### 알려진 이슈
30
+
31
+ - [알려진 문제와 임시 해결책]
32
+
33
+ ### 의존성 변경
34
+
35
+ - 추가: [라이브러리명@버전]
36
+ - 업데이트: [라이브러리명] v1.0 → v2.0
37
+ - 제거: [라이브러리명]
@@ -0,0 +1,54 @@
1
+ # Sprint N 메타정보
2
+
3
+ | 항목 | 값 |
4
+ |------|-----|
5
+ | 스프린트 번호 | N |
6
+ | 상태 | active / completed |
7
+ | 시작일 | YYYY-MM-DD |
8
+ | 종료 예정 | YYYY-MM-DD (또는 완료일) |
9
+ | 목표 | [스프린트 목표 설명] |
10
+
11
+ ## Task 목록
12
+
13
+ | Task | 제목 | 상태 | 우선순위 | 크기 |
14
+ |------|------|:----:|:--------:|:----:|
15
+ | task-NNN | [Task 제목] | BACKLOG | P0/P1/P2 | S/M/L |
16
+
17
+ **상태 범례:**
18
+ - BACKLOG: 스프린트에 할당됨, 작업 미시작
19
+ - IN_DEV: 개발 중
20
+ - DONE: 완료
21
+ - REJECTED: 리뷰 거부 (재작업 필요)
22
+
23
+ ## 이월된 Task
24
+
25
+ > 이전 스프린트에서 미완료된 Task
26
+
27
+ | Task | 원 스프린트 | 이월 사유 |
28
+ |------|------------|----------|
29
+ | - | - | - |
30
+
31
+ ## 차단 사항
32
+
33
+ > 현재 진행을 막고 있는 이슈
34
+
35
+ | Task | 차단 사유 | 담당자 | 상태 |
36
+ |------|----------|--------|------|
37
+ | - | - | - | - |
38
+
39
+ ## 스프린트 회고 (완료 시 작성)
40
+
41
+ ### 완료된 Task
42
+ - task-NNN: [설명]
43
+
44
+ ### 미완료 Task (이월/취소)
45
+ - task-NNN: [사유]
46
+
47
+ ### 잘된 점
48
+ - [내용]
49
+
50
+ ### 개선할 점
51
+ - [내용]
52
+
53
+ ### 다음 스프린트 제안
54
+ - [제안]
@@ -0,0 +1,50 @@
1
+ # Sprint N 회고
2
+
3
+ ## 기간
4
+ - 시작: YYYY-MM-DD
5
+ - 종료: YYYY-MM-DD
6
+
7
+ ## 목표 달성도
8
+
9
+ | 목표 | 달성 여부 | 비고 |
10
+ |------|:--------:|------|
11
+ | [목표 1] | ✅ / ⚠️ / ❌ | [설명] |
12
+ | [목표 2] | ✅ / ⚠️ / ❌ | [설명] |
13
+
14
+ ## 완료된 Task (N개)
15
+
16
+ - task-001: [설명]
17
+ - task-002: [설명]
18
+
19
+ ## 미완료 Task (N개)
20
+
21
+ | Task | 사유 | 처리 |
22
+ |------|------|------|
23
+ | task-NNN | [사유] | 이월 / 취소 |
24
+
25
+ ## 잘된 점 (Keep)
26
+
27
+ - [구체적 내용]
28
+ - [구체적 내용]
29
+
30
+ ## 개선할 점 (Problem)
31
+
32
+ - [구체적 문제점]
33
+ - [구체적 문제점]
34
+
35
+ ## 시도할 것 (Try)
36
+
37
+ - [다음 스프린트에서 시도할 개선 방안]
38
+ - [다음 스프린트에서 시도할 개선 방안]
39
+
40
+ ## 메트릭
41
+
42
+ - 계획 Task 수: N개
43
+ - 완료 Task 수: N개
44
+ - 완료율: X%
45
+ - 이월 Task 수: N개
46
+
47
+ ## 다음 스프린트 제안
48
+
49
+ - [제안 1]
50
+ - [제안 2]
@@ -0,0 +1,49 @@
1
+ # Review Report: task-NNN
2
+
3
+ ## Task 정보
4
+ - Task: task-NNN [Task 이름]
5
+ - Reviewer: reviewer
6
+ - Review Date: YYYY-MM-DD
7
+
8
+ ## 수용 조건 체크
9
+
10
+ - [x] 조건 1 - 충족
11
+ - [x] 조건 2 - 충족
12
+ - [ ] 조건 3 - 미충족 (사유: ...)
13
+
14
+ ## 기술 품질 체크
15
+
16
+ - [x] project.md 규칙 준수 (있으면)
17
+ - [x] 코드 스타일 준수
18
+ - [x] 테스트 작성 (필요 시)
19
+ - [ ] 문제 항목 (있으면)
20
+
21
+ ## 판정: PASS / REJECT / WARN
22
+
23
+ **PASS** - 모든 조건 충족
24
+
25
+ 또는
26
+
27
+ **REJECT** - 수용 조건 미충족
28
+ - 사유 1: [구체적 설명]
29
+ - 사유 2: [구체적 설명]
30
+
31
+ 또는
32
+
33
+ **WARN** - 개선 권장
34
+ - 경미한 문제: [설명]
35
+ - 개선 제안: [내용]
36
+
37
+ ## 코멘트
38
+
39
+ - [리뷰어의 전반적인 의견]
40
+ - [개선 제안 또는 칭찬]
41
+
42
+ ## 수정 필요 사항 (REJECT인 경우)
43
+
44
+ 1. [구체적 수정 지시]
45
+ 2. [구체적 수정 지시]
46
+
47
+ ### 참고
48
+ - project.md 섹션 X.X (있으면)
49
+ - 수용 조건 N번
@@ -0,0 +1,43 @@
1
+ # TASK-NNN: [Task 이름]
2
+
3
+ | 항목 | 값 |
4
+ |------|-----|
5
+ | 상태 | BACKLOG / IN_DEV / DONE / REJECTED |
6
+ | 우선순위 | P0 / P1 / P2 |
7
+ | 크기 | S / M / L |
8
+ | 출처 | F001 (plan.md 기능 ID) |
9
+ | 담당 | - / developer |
10
+ | 의존성 | - 또는 task-NNN |
11
+
12
+ ## 수용 조건 (Acceptance Criteria)
13
+
14
+ - [ ] 조건 1
15
+ - [ ] 조건 2
16
+ - [ ] 조건 3
17
+
18
+ ## 구현 노트 (Developer 작성)
19
+
20
+ > Developer가 작업하면서 기록
21
+
22
+ - 구현 방식 설명
23
+ - 기술적 결정 사항
24
+ - 알려진 제약사항
25
+
26
+ ## 이슈 (있으면)
27
+
28
+ > 작업 중 발견된 문제나 질문
29
+
30
+ ### 이슈 제목
31
+ - 상황: [설명]
32
+ - 영향: [영향도]
33
+ - 제안: [해결 방안]
34
+
35
+ → 사용자 승인 대기 / 해결됨
36
+
37
+ ## 변경 이력
38
+
39
+ | 날짜 | 상태 변경 | 작성자 | 비고 |
40
+ |------|----------|--------|------|
41
+ | YYYY-MM-DD | BACKLOG 생성 | planner | 초기 생성 |
42
+ | YYYY-MM-DD | IN_DEV | developer | 작업 시작 |
43
+ | YYYY-MM-DD | DONE | developer | 구현 완료 |
@@ -0,0 +1,104 @@
1
+ # UI Specification
2
+
3
+ > 프론트엔드 화면 설계 문서
4
+ > plan.md 사용자 흐름과 api.md 연동 기준
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 버전 | v1.0 |
13
+ | 최종 수정 | YYYY-MM-DD |
14
+
15
+ ---
16
+
17
+ ## 1. 라우팅 구조
18
+
19
+ | 경로 | 화면명 | 설명 | 상태 | Task |
20
+ |------|--------|------|:----:|------|
21
+ | / | 홈 | 메인 화면 | ✅ | TASK-001 |
22
+ | /list | 목록 | 목록 화면 | ⏳ | TASK-002 |
23
+ | /detail/:id | 상세 | 상세 화면 | 📋 | TASK-003 |
24
+
25
+ 상태: ✅ 완료 / ⏳ 진행중 / 📋 예정
26
+
27
+ ---
28
+
29
+ ## 2. 화면별 상태 정의 (필수)
30
+
31
+ ### 2.1 [화면명]: /path
32
+
33
+ #### API 연동
34
+
35
+ | API | 용도 | 상태 |
36
+ |-----|------|------|
37
+ | GET /resources | 데이터 조회 | 연동 |
38
+
39
+ #### 화면 상태
40
+
41
+ | 상태 | 조건 | 표시 |
42
+ |------|------|------|
43
+ | Loading | API 호출 중 | 로딩 스피너 |
44
+ | Empty | data.length === 0 | "데이터가 없습니다" |
45
+ | Error | API 실패 | 에러 메시지 + 재시도 |
46
+ | Success | data.length > 0 | 데이터 목록 |
47
+
48
+ #### 사용자 액션
49
+
50
+ | 액션 | 트리거 | 결과 |
51
+ |------|--------|------|
52
+ | 새로고침 | 버튼 클릭 | 목록 재조회 |
53
+ | 항목 클릭 | 목록 아이템 | 상세 화면 이동 |
54
+
55
+ ---
56
+
57
+ ### 2.2 [화면명]: /path
58
+
59
+ (동일 형식으로 작성)
60
+
61
+ ---
62
+
63
+ ## 3. API 연동 매핑
64
+
65
+ | 화면 | API | 상태 관리 |
66
+ |------|-----|----------|
67
+ | 목록 | GET /resources | 로컬 |
68
+ | 상세 | GET /resources/{id} | 로컬 |
69
+ | 생성 폼 | POST /resources | 로컬 |
70
+
71
+ ---
72
+
73
+ ## 4. 컴포넌트 구조 (요약)
74
+
75
+ ```
76
+ src/
77
+ ├── pages/
78
+ │ ├── HomePage/
79
+ │ ├── ListPage/
80
+ │ └── DetailPage/
81
+ ├── components/
82
+ │ ├── common/
83
+ │ └── [feature]/
84
+ └── hooks/
85
+ └── [feature]/
86
+ ```
87
+
88
+ ---
89
+
90
+ ## 5. 공통 컴포넌트
91
+
92
+ | 컴포넌트 | 용도 | Props |
93
+ |----------|------|-------|
94
+ | Loading | 로딩 표시 | - |
95
+ | Empty | 빈 상태 | message |
96
+ | Error | 에러 표시 | message, onRetry |
97
+
98
+ ---
99
+
100
+ ## 6. 변경 이력
101
+
102
+ | Task | 날짜 | 변경 내용 |
103
+ |------|------|----------|
104
+ | [TASK-002] | YYYY-MM-DD | 목록 화면 추가 |