create-ax-project 1.0.0

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 (258) hide show
  1. package/README.md +374 -0
  2. package/bin/create.js +193 -0
  3. package/package.json +38 -0
  4. package/template/.claude/CLAUDE.md +7 -0
  5. package/template/.claude/commands/CLAUDE.md +0 -0
  6. package/template/.claude/commands/benchmark.md +103 -0
  7. package/template/.claude/commands/brainstorm.md +67 -0
  8. package/template/.claude/commands/checkpoint.md +93 -0
  9. package/template/.claude/commands/codex.md +107 -0
  10. package/template/.claude/commands/collaborate.md +85 -0
  11. package/template/.claude/commands/context.md +154 -0
  12. package/template/.claude/commands/deploy.md +102 -0
  13. package/template/.claude/commands/fork.md +142 -0
  14. package/template/.claude/commands/gemini.md +84 -0
  15. package/template/.claude/commands/handoff.md +80 -0
  16. package/template/.claude/commands/implement.md +82 -0
  17. package/template/.claude/commands/init-project.md +49 -0
  18. package/template/.claude/commands/next.md +125 -0
  19. package/template/.claude/commands/planning.md +69 -0
  20. package/template/.claude/commands/qa.md +81 -0
  21. package/template/.claude/commands/refactor.md +95 -0
  22. package/template/.claude/commands/research.md +60 -0
  23. package/template/.claude/commands/restore.md +113 -0
  24. package/template/.claude/commands/run-stage.md +78 -0
  25. package/template/.claude/commands/stages.md +109 -0
  26. package/template/.claude/commands/status.md +73 -0
  27. package/template/.claude/commands/tasks.md +80 -0
  28. package/template/.claude/commands/test.md +93 -0
  29. package/template/.claude/commands/ui-ux.md +61 -0
  30. package/template/.claude/commands/validate.md +174 -0
  31. package/template/.claude/hooks/CLAUDE.md +0 -0
  32. package/template/.claude/hooks/ai-selector.sh +223 -0
  33. package/template/.claude/hooks/auto-checkpoint.sh +187 -0
  34. package/template/.claude/hooks/output-validator.sh +289 -0
  35. package/template/.claude/hooks/post-stage.sh +123 -0
  36. package/template/.claude/hooks/pre-stage.sh +186 -0
  37. package/template/.claude/hooks/session-start.sh +90 -0
  38. package/template/.claude/hooks/statusline.sh +115 -0
  39. package/template/.claude/hooks/stop.sh +104 -0
  40. package/template/.claude/settings.json +149 -0
  41. package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
  42. package/template/.claude/skills/ai-collaboration/README.md +61 -0
  43. package/template/.claude/skills/ai-collaboration/debate.md +148 -0
  44. package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
  45. package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
  46. package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
  47. package/template/.claude/skills/auto-checkpoint/README.md +77 -0
  48. package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
  49. package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
  50. package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
  51. package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
  52. package/template/.claude/skills/context-compression/README.md +121 -0
  53. package/template/.claude/skills/context-compression/analyze.md +114 -0
  54. package/template/.claude/skills/context-compression/compress.md +175 -0
  55. package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
  56. package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
  57. package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
  58. package/template/.claude/skills/output-validator/README.md +86 -0
  59. package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
  60. package/template/.claude/skills/output-validator/validate.md +182 -0
  61. package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
  62. package/template/.claude/skills/smart-handoff/README.md +59 -0
  63. package/template/.claude/skills/smart-handoff/extract.md +76 -0
  64. package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
  65. package/template/.claude/skills/smart-handoff/summarize.md +94 -0
  66. package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
  67. package/template/.claude/skills/stage-transition/README.md +84 -0
  68. package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
  69. package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
  70. package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
  71. package/template/.claude/skills/stage-transition/validate.md +108 -0
  72. package/template/CLAUDE.md +528 -0
  73. package/template/config/CLAUDE.md +0 -0
  74. package/template/config/ai_benchmarking.yaml +184 -0
  75. package/template/config/ai_collaboration.yaml +159 -0
  76. package/template/config/ai_logging.yaml +129 -0
  77. package/template/config/auto_checkpoint.yaml +189 -0
  78. package/template/config/context.yaml +78 -0
  79. package/template/config/git.yaml +161 -0
  80. package/template/config/handoff_intelligence.yaml +229 -0
  81. package/template/config/implementation.yaml.template +181 -0
  82. package/template/config/mcp_fallbacks.yaml +252 -0
  83. package/template/config/memory_integration.yaml +200 -0
  84. package/template/config/model_enforcement.yaml +141 -0
  85. package/template/config/models.yaml +242 -0
  86. package/template/config/output_validation.yaml +352 -0
  87. package/template/config/pipeline.yaml +357 -0
  88. package/template/config/pipeline_forking.yaml +236 -0
  89. package/template/config/qa_logging.yaml +166 -0
  90. package/template/config/smart_rollback.yaml +209 -0
  91. package/template/config/stage_personas.yaml +354 -0
  92. package/template/config/workflow.yaml +54 -0
  93. package/template/scripts/CLAUDE.md +0 -0
  94. package/template/scripts/ai-benchmark.sh +272 -0
  95. package/template/scripts/codex-wrapper.sh +97 -0
  96. package/template/scripts/context-manager.sh +528 -0
  97. package/template/scripts/create-checkpoint.sh +116 -0
  98. package/template/scripts/gemini-wrapper.sh +96 -0
  99. package/template/scripts/init-project.sh +109 -0
  100. package/template/scripts/list-stages.sh +245 -0
  101. package/template/scripts/next-stage.sh +228 -0
  102. package/template/scripts/output-validate.sh +12 -0
  103. package/template/scripts/pipeline-fork.sh +293 -0
  104. package/template/scripts/pre-run-check.sh +361 -0
  105. package/template/scripts/restore-checkpoint.sh +247 -0
  106. package/template/scripts/run-stage.sh +139 -0
  107. package/template/scripts/show-status.sh +185 -0
  108. package/template/scripts/smart-handoff.sh +254 -0
  109. package/template/stages/01-brainstorm/CLAUDE.md +103 -0
  110. package/template/stages/01-brainstorm/HANDOFF.md +110 -0
  111. package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
  112. package/template/stages/01-brainstorm/README.md +97 -0
  113. package/template/stages/01-brainstorm/config.yaml +92 -0
  114. package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
  115. package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
  116. package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
  117. package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
  118. package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
  119. package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
  120. package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
  121. package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
  122. package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
  123. package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
  124. package/template/stages/01-brainstorm/prompts/persona.md +73 -0
  125. package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
  126. package/template/stages/01-brainstorm/prompts/validation.md +50 -0
  127. package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
  128. package/template/stages/01-brainstorm/templates/ideas.md +91 -0
  129. package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
  130. package/template/stages/02-research/CLAUDE.md +101 -0
  131. package/template/stages/02-research/HANDOFF.md +158 -0
  132. package/template/stages/02-research/HANDOFF.md.template +102 -0
  133. package/template/stages/02-research/config.yaml +68 -0
  134. package/template/stages/02-research/inputs/.gitkeep +0 -0
  135. package/template/stages/02-research/outputs/.gitkeep +0 -0
  136. package/template/stages/02-research/outputs/CLAUDE.md +0 -0
  137. package/template/stages/02-research/outputs/feasibility_report.md +176 -0
  138. package/template/stages/02-research/outputs/tech_research.md +403 -0
  139. package/template/stages/02-research/prompts/CLAUDE.md +0 -0
  140. package/template/stages/02-research/prompts/collaboration.md +51 -0
  141. package/template/stages/02-research/prompts/feasibility.md +73 -0
  142. package/template/stages/02-research/prompts/market_analysis.md +58 -0
  143. package/template/stages/02-research/prompts/tech_stack.md +60 -0
  144. package/template/stages/02-research/prompts/validation.md +51 -0
  145. package/template/stages/02-research/templates/.gitkeep +0 -0
  146. package/template/stages/03-planning/CLAUDE.md +98 -0
  147. package/template/stages/03-planning/HANDOFF.md +168 -0
  148. package/template/stages/03-planning/HANDOFF.md.template +91 -0
  149. package/template/stages/03-planning/config.yaml +64 -0
  150. package/template/stages/03-planning/inputs/.gitkeep +0 -0
  151. package/template/stages/03-planning/outputs/.gitkeep +0 -0
  152. package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
  153. package/template/stages/03-planning/outputs/architecture.md +400 -0
  154. package/template/stages/03-planning/outputs/implementation.yaml +209 -0
  155. package/template/stages/03-planning/outputs/project_plan.md +204 -0
  156. package/template/stages/03-planning/outputs/tech_stack.md +176 -0
  157. package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
  158. package/template/stages/03-planning/prompts/architecture.md +62 -0
  159. package/template/stages/03-planning/prompts/collaboration.md +57 -0
  160. package/template/stages/03-planning/prompts/validation.md +59 -0
  161. package/template/stages/03-planning/templates/.gitkeep +0 -0
  162. package/template/stages/04-ui-ux/CLAUDE.md +88 -0
  163. package/template/stages/04-ui-ux/HANDOFF.md +165 -0
  164. package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
  165. package/template/stages/04-ui-ux/config.yaml +57 -0
  166. package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
  167. package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
  168. package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
  169. package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
  170. package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
  171. package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
  172. package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
  173. package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
  174. package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
  175. package/template/stages/04-ui-ux/prompts/validation.md +54 -0
  176. package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
  177. package/template/stages/05-task-management/CLAUDE.md +105 -0
  178. package/template/stages/05-task-management/HANDOFF.md +187 -0
  179. package/template/stages/05-task-management/HANDOFF.md.template +97 -0
  180. package/template/stages/05-task-management/config.yaml +81 -0
  181. package/template/stages/05-task-management/inputs/.gitkeep +0 -0
  182. package/template/stages/05-task-management/outputs/.gitkeep +0 -0
  183. package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
  184. package/template/stages/05-task-management/outputs/milestones.md +253 -0
  185. package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
  186. package/template/stages/05-task-management/outputs/tasks.md +402 -0
  187. package/template/stages/05-task-management/prompts/.gitkeep +0 -0
  188. package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
  189. package/template/stages/05-task-management/prompts/collaboration.md +54 -0
  190. package/template/stages/05-task-management/prompts/validation.md +66 -0
  191. package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
  192. package/template/stages/05-task-management/templates/notion_integration.md +176 -0
  193. package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
  194. package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
  195. package/template/stages/06-implementation/CLAUDE.md +163 -0
  196. package/template/stages/06-implementation/HANDOFF.md +184 -0
  197. package/template/stages/06-implementation/HANDOFF.md.template +192 -0
  198. package/template/stages/06-implementation/config.yaml +62 -0
  199. package/template/stages/06-implementation/inputs/.gitkeep +0 -0
  200. package/template/stages/06-implementation/outputs/.gitkeep +0 -0
  201. package/template/stages/06-implementation/prompts/.gitkeep +0 -0
  202. package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
  203. package/template/stages/06-implementation/prompts/collaboration.md +64 -0
  204. package/template/stages/06-implementation/prompts/validation.md +65 -0
  205. package/template/stages/06-implementation/templates/.gitkeep +0 -0
  206. package/template/stages/07-refactoring/CLAUDE.md +180 -0
  207. package/template/stages/07-refactoring/HANDOFF.md +82 -0
  208. package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
  209. package/template/stages/07-refactoring/config.yaml +68 -0
  210. package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
  211. package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
  212. package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
  213. package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
  214. package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
  215. package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
  216. package/template/stages/07-refactoring/prompts/validation.md +76 -0
  217. package/template/stages/07-refactoring/templates/.gitkeep +0 -0
  218. package/template/stages/08-qa/CLAUDE.md +93 -0
  219. package/template/stages/08-qa/HANDOFF.md +114 -0
  220. package/template/stages/08-qa/HANDOFF.md.template +96 -0
  221. package/template/stages/08-qa/config.yaml +56 -0
  222. package/template/stages/08-qa/inputs/.gitkeep +0 -0
  223. package/template/stages/08-qa/outputs/.gitkeep +0 -0
  224. package/template/stages/08-qa/outputs/qa_report.md +138 -0
  225. package/template/stages/08-qa/prompts/.gitkeep +0 -0
  226. package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
  227. package/template/stages/08-qa/prompts/collaboration.md +65 -0
  228. package/template/stages/08-qa/prompts/validation.md +71 -0
  229. package/template/stages/08-qa/templates/.gitkeep +0 -0
  230. package/template/stages/09-testing/CLAUDE.md +124 -0
  231. package/template/stages/09-testing/HANDOFF.md +118 -0
  232. package/template/stages/09-testing/HANDOFF.md.template +113 -0
  233. package/template/stages/09-testing/config.yaml +65 -0
  234. package/template/stages/09-testing/inputs/.gitkeep +0 -0
  235. package/template/stages/09-testing/outputs/.gitkeep +0 -0
  236. package/template/stages/09-testing/outputs/test_report.md +146 -0
  237. package/template/stages/09-testing/prompts/.gitkeep +0 -0
  238. package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
  239. package/template/stages/09-testing/prompts/collaboration.md +77 -0
  240. package/template/stages/09-testing/prompts/validation.md +83 -0
  241. package/template/stages/09-testing/templates/.gitkeep +0 -0
  242. package/template/stages/10-deployment/CLAUDE.md +117 -0
  243. package/template/stages/10-deployment/HANDOFF.md +141 -0
  244. package/template/stages/10-deployment/HANDOFF.md.template +148 -0
  245. package/template/stages/10-deployment/config.yaml +61 -0
  246. package/template/stages/10-deployment/inputs/.gitkeep +0 -0
  247. package/template/stages/10-deployment/outputs/.gitkeep +0 -0
  248. package/template/stages/10-deployment/prompts/.gitkeep +0 -0
  249. package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
  250. package/template/stages/10-deployment/prompts/collaboration.md +80 -0
  251. package/template/stages/10-deployment/prompts/validation.md +93 -0
  252. package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
  253. package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
  254. package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
  255. package/template/state/progress.json.template +111 -0
  256. package/template/state/templates/CLAUDE.md +0 -0
  257. package/template/state/templates/handoff_base.md.template +187 -0
  258. package/template/state/templates/phase_state.md.template +97 -0
@@ -0,0 +1,229 @@
1
+ # ax-templates HANDOFF Intelligence Configuration
2
+ # Smart context extraction and summarization
3
+
4
+ smart_handoff:
5
+ enabled: true
6
+ description: "자동 컨텍스트 추출 및 지능형 HANDOFF 생성"
7
+
8
+ # 자동 추출 설정
9
+ auto_extraction:
10
+ enabled: true
11
+ description: "HANDOFF에 포함할 정보 자동 추출"
12
+
13
+ extract_from:
14
+ completed_tasks:
15
+ enabled: true
16
+ format: "checklist"
17
+ include_timestamps: true
18
+
19
+ key_decisions:
20
+ enabled: true
21
+ format: "decision_log"
22
+ include_rationale: true
23
+ include_alternatives: false
24
+
25
+ modified_files:
26
+ enabled: true
27
+ format: "file_list"
28
+ include_diff_summary: true
29
+ max_files: 20
30
+
31
+ pending_issues:
32
+ enabled: true
33
+ format: "issue_list"
34
+ priority_order: true
35
+
36
+ ai_call_history:
37
+ enabled: true
38
+ format: "table"
39
+ include_prompts: false # 토큰 절약
40
+ include_results_summary: true
41
+
42
+ # 추출 우선순위 (높을수록 먼저)
43
+ priority:
44
+ - blocking_issues: 100
45
+ - key_decisions: 90
46
+ - pending_issues: 80
47
+ - modified_files: 70
48
+ - completed_tasks: 60
49
+ - ai_call_history: 50
50
+
51
+ # 압축 설정
52
+ compression:
53
+ enabled: true
54
+ strategy: "semantic"
55
+ description: "의미 기반 컨텍스트 압축"
56
+
57
+ max_tokens: 4000
58
+ compression_ratio_target: 0.3 # 원본의 30%
59
+
60
+ preserve:
61
+ always:
62
+ - "critical_decisions"
63
+ - "blocking_issues"
64
+ - "current_task"
65
+ conditionally:
66
+ - "file_changes"
67
+ - "test_results"
68
+
69
+ summarization:
70
+ enabled: true
71
+ method: "extractive" # extractive or abstractive
72
+ model: "claude"
73
+
74
+ # 컨텍스트 전달 최적화
75
+ context_transfer:
76
+ format: "structured_markdown"
77
+
78
+ sections:
79
+ critical:
80
+ title: "Critical Context"
81
+ max_tokens: 1500
82
+ content:
83
+ - blocking_issues
84
+ - critical_decisions
85
+
86
+ primary:
87
+ title: "Primary Context"
88
+ max_tokens: 1500
89
+ content:
90
+ - current_task_state
91
+ - key_file_changes
92
+ - next_steps
93
+
94
+ secondary:
95
+ title: "Secondary Context"
96
+ max_tokens: 1000
97
+ content:
98
+ - completed_tasks_summary
99
+ - ai_call_summary
100
+
101
+ # 다음 스테이지에 즉시 필요한 정보 하이라이트
102
+ highlight:
103
+ enabled: true
104
+ marker: "!!"
105
+ content:
106
+ - immediate_actions
107
+ - required_inputs
108
+
109
+ # 컨텍스트 요약 설정
110
+ contextual_summarization:
111
+ enabled: true
112
+ description: "스테이지별 맞춤 요약 생성"
113
+
114
+ strategies:
115
+ completed_tasks:
116
+ method: "bullet_points"
117
+ max_items: 10
118
+ grouping: "by_type" # by_type, by_priority, chronological
119
+
120
+ file_changes:
121
+ method: "impact_analysis"
122
+ include:
123
+ - file_path
124
+ - change_type
125
+ - impact_scope
126
+ exclude_patterns:
127
+ - "*.log"
128
+ - "*.tmp"
129
+ - "node_modules/*"
130
+
131
+ decisions:
132
+ method: "structured"
133
+ format: |
134
+ **결정**: {{decision}}
135
+ **이유**: {{rationale}}
136
+ **영향**: {{impact}}
137
+
138
+ next_steps:
139
+ method: "actionable"
140
+ format: "numbered_list"
141
+ include_prerequisites: true
142
+
143
+ # 스테이지별 요약 초점
144
+ stage_focus:
145
+ "01-brainstorm":
146
+ emphasize: ["ideas", "requirements"]
147
+ de_emphasize: ["technical_details"]
148
+
149
+ "06-implementation":
150
+ emphasize: ["code_changes", "technical_decisions"]
151
+ de_emphasize: ["ideation"]
152
+
153
+ "08-qa":
154
+ emphasize: ["bugs", "test_results"]
155
+ de_emphasize: ["planning_details"]
156
+
157
+ # HANDOFF 템플릿 설정
158
+ templates:
159
+ default:
160
+ sections:
161
+ - name: "Summary"
162
+ required: true
163
+ auto_generate: true
164
+
165
+ - name: "Completed Tasks"
166
+ required: true
167
+ auto_generate: true
168
+
169
+ - name: "Key Decisions"
170
+ required: true
171
+ auto_generate: true
172
+
173
+ - name: "Modified Files"
174
+ required: false
175
+ auto_generate: true
176
+
177
+ - name: "Pending Issues"
178
+ required: false
179
+ auto_generate: true
180
+
181
+ - name: "Next Steps"
182
+ required: true
183
+ auto_generate: true
184
+
185
+ - name: "AI Call History"
186
+ required: false
187
+ auto_generate: true
188
+
189
+ # 스테이지 전환용 간소화 템플릿
190
+ compact:
191
+ max_tokens: 2000
192
+ sections:
193
+ - name: "Critical"
194
+ required: true
195
+ - name: "Next Actions"
196
+ required: true
197
+
198
+ # 세션 복구용 상세 템플릿
199
+ recovery:
200
+ max_tokens: 6000
201
+ sections:
202
+ - name: "Full Context"
203
+ required: true
204
+ - name: "Step-by-Step Recovery"
205
+ required: true
206
+
207
+ # 품질 검증
208
+ quality_assurance:
209
+ validation:
210
+ check_completeness: true
211
+ check_consistency: true
212
+ check_actionability: true
213
+
214
+ scoring:
215
+ enabled: true
216
+ criteria:
217
+ - clarity: 0.3
218
+ - completeness: 0.3
219
+ - actionability: 0.4
220
+
221
+ minimum_score: 0.7
222
+
223
+ auto_improve:
224
+ enabled: true
225
+ max_iterations: 2
226
+ improvement_prompts:
227
+ low_clarity: "이 섹션을 더 명확하게 다시 작성하세요."
228
+ low_completeness: "누락된 정보가 있습니다. 다음을 추가하세요: {{missing}}"
229
+ low_actionability: "다음 단계를 더 구체적인 액션으로 변환하세요."
@@ -0,0 +1,181 @@
1
+ # Implementation Rules Template
2
+ # ax-templates-3 프로젝트별 구현 규칙 정의 (Issue #10 해결)
3
+ #
4
+ # 이 파일은 Planning 스테이지(03)에서 프로젝트에 맞게 작성하고
5
+ # Implementation 스테이지(06)에서 참조합니다.
6
+ #
7
+ # 사용법:
8
+ # 1. 이 템플릿을 프로젝트 루트에 implementation.yaml로 복사
9
+ # 2. 프로젝트 요구사항에 맞게 수정
10
+ # 3. 구현 시 이 규칙을 따름
11
+
12
+ project:
13
+ name: "{{PROJECT_NAME}}"
14
+ created_at: "{{TIMESTAMP}}"
15
+
16
+ # 컴포넌트 규칙
17
+ components:
18
+ # 컴포넌트 타입
19
+ type: "functional" # functional | class | both
20
+
21
+ # export 방식
22
+ export: "named" # named | default | both
23
+
24
+ # 파일당 컴포넌트 수
25
+ single_component_per_file: true
26
+
27
+ # Props 정의 방식
28
+ props_definition: "interface" # interface | type | inline
29
+
30
+ # 기본 구조
31
+ structure: |
32
+ // imports
33
+ // types/interfaces
34
+ // component
35
+ // exports
36
+
37
+ # 스타일링 규칙
38
+ styling:
39
+ # 접근 방식
40
+ approach: "css-modules" # css-modules | styled-components | tailwind | emotion | vanilla
41
+
42
+ # 파일 위치
43
+ location: "colocated" # colocated | separate | global
44
+
45
+ # 네이밍
46
+ naming: "BEM" # BEM | camelCase | kebab-case
47
+
48
+ # CSS 변수 사용
49
+ css_variables: true
50
+
51
+ # 상태 관리 규칙
52
+ state_management:
53
+ # 전역 상태
54
+ global: "context" # context | redux | zustand | recoil | jotai
55
+
56
+ # 서버 상태
57
+ server: "tanstack-query" # tanstack-query | swr | rtk-query
58
+
59
+ # 로컬 상태
60
+ local: "useState" # useState | useReducer
61
+
62
+ # 파일/폴더 네이밍
63
+ file_naming:
64
+ # 컴포넌트 파일
65
+ components: "PascalCase" # PascalCase | kebab-case | camelCase
66
+
67
+ # 훅 파일
68
+ hooks: "camelCase" # useXxx 패턴
69
+
70
+ # 유틸리티 파일
71
+ utilities: "camelCase"
72
+
73
+ # 상수 파일
74
+ constants: "SCREAMING_SNAKE_CASE"
75
+
76
+ # 테스트 파일
77
+ tests: "{name}.test.{ext}" # {name}.test.{ext} | {name}.spec.{ext}
78
+
79
+ # 폴더 구조
80
+ folder_structure:
81
+ # 구조 타입
82
+ type: "feature-based" # feature-based | type-based | atomic
83
+
84
+ # 기본 구조
85
+ structure: |
86
+ src/
87
+ ├── components/ # 공용 컴포넌트
88
+ ├── features/ # 기능별 모듈
89
+ │ └── [feature]/
90
+ │ ├── components/
91
+ │ ├── hooks/
92
+ │ ├── utils/
93
+ │ └── index.ts
94
+ ├── hooks/ # 공용 훅
95
+ ├── utils/ # 공용 유틸리티
96
+ ├── types/ # 타입 정의
97
+ ├── constants/ # 상수
98
+ └── styles/ # 전역 스타일
99
+
100
+ # API 연동 규칙
101
+ api:
102
+ # HTTP 클라이언트
103
+ client: "axios" # axios | fetch | ky
104
+
105
+ # API 호출 위치
106
+ location: "services" # services | features | hooks
107
+
108
+ # 에러 핸들링
109
+ error_handling: "centralized" # centralized | per-request
110
+
111
+ # 인터셉터 사용
112
+ interceptors: true
113
+
114
+ # 에러 처리 규칙
115
+ error_handling:
116
+ # Error Boundary 사용
117
+ error_boundary: true
118
+
119
+ # 로깅
120
+ logging: "console" # console | service | both
121
+
122
+ # 사용자 알림
123
+ user_notification: "toast" # toast | modal | inline
124
+
125
+ # 테스트 규칙
126
+ testing:
127
+ # 테스트 프레임워크
128
+ framework: "vitest" # vitest | jest
129
+
130
+ # E2E 프레임워크
131
+ e2e: "playwright" # playwright | cypress
132
+
133
+ # 커버리지 목표
134
+ coverage_target: 80
135
+
136
+ # 필수 테스트
137
+ required:
138
+ - "unit"
139
+ - "integration"
140
+
141
+ # 코드 품질 규칙
142
+ code_quality:
143
+ # 린터
144
+ linter: "eslint"
145
+
146
+ # 포매터
147
+ formatter: "prettier"
148
+
149
+ # 타입 체크
150
+ type_check: "strict" # strict | loose
151
+
152
+ # 커밋 훅
153
+ commit_hooks: true
154
+
155
+ # 문서화 규칙
156
+ documentation:
157
+ # JSDoc 사용
158
+ jsdoc: true
159
+
160
+ # README 필수
161
+ readme_per_feature: false
162
+
163
+ # 컴포넌트 문서
164
+ component_docs: "storybook" # storybook | docz | none
165
+
166
+ # 금지 사항
167
+ prohibited:
168
+ - "any 타입 사용 (명시적 escape 제외)"
169
+ - "console.log (개발 중 제외)"
170
+ - "인라인 스타일 (동적 스타일 제외)"
171
+ - "매직 넘버/스트링"
172
+ - "중첩 삼항 연산자"
173
+ - "var 키워드"
174
+
175
+ # 권장 사항
176
+ recommended:
177
+ - "Early return 패턴"
178
+ - "Descriptive naming"
179
+ - "Small functions (< 30 lines)"
180
+ - "Composition over inheritance"
181
+ - "Immutable data patterns"
@@ -0,0 +1,252 @@
1
+ # MCP Fallback Configuration
2
+ # ax-templates-3 MCP 도구 폴백 설정 (Issue #3 해결)
3
+
4
+ mcp_fallbacks:
5
+ # 활성화 여부
6
+ enabled: true
7
+
8
+ # 폴백 트리거 조건
9
+ triggers:
10
+ - quota_exceeded # 할당량 초과
11
+ - service_unavailable # 서비스 불가
12
+ - timeout # 타임아웃
13
+ - rate_limited # 요청 제한
14
+
15
+ # 검색 도구 우선순위
16
+ search:
17
+ # 코드/문서 검색
18
+ code_documentation:
19
+ primary: "context7"
20
+ fallbacks:
21
+ - "exa"
22
+ - "web_search"
23
+
24
+ # 폴백 규칙
25
+ rules:
26
+ on_quota_exceeded: "use_fallback"
27
+ on_timeout: "retry_then_fallback"
28
+ retry_count: 2
29
+ retry_delay_ms: 1000
30
+
31
+ # 웹 검색
32
+ web_search:
33
+ primary: "exa"
34
+ fallbacks:
35
+ - "web_search"
36
+
37
+ rules:
38
+ on_quota_exceeded: "use_fallback"
39
+ on_timeout: "use_fallback"
40
+
41
+ # Reddit/커뮤니티 검색
42
+ community:
43
+ primary: "exa"
44
+ fallbacks:
45
+ - "web_search"
46
+
47
+ # 커뮤니티 검색 전용 설정
48
+ settings:
49
+ include_domains:
50
+ - "reddit.com"
51
+ - "news.ycombinator.com"
52
+ - "dev.to"
53
+ - "stackoverflow.com"
54
+
55
+ # 브라우저/웹 도구 우선순위
56
+ browser:
57
+ primary: "playwright"
58
+ fallbacks:
59
+ - "chrome-devtools"
60
+
61
+ rules:
62
+ on_connection_failed: "use_fallback"
63
+
64
+ # Notion 도구 (폴백 없음)
65
+ notion:
66
+ primary: "notion"
67
+ fallbacks: []
68
+
69
+ # Notion은 폴백 불가, 에러 시 알림만
70
+ on_error:
71
+ action: "notify_user"
72
+ message: "Notion 연결 실패. MCP 설정을 확인하세요."
73
+
74
+ # Figma 도구 (폴백 없음)
75
+ figma:
76
+ primary: "figma-dev-mode"
77
+ fallbacks: []
78
+
79
+ on_error:
80
+ action: "notify_user"
81
+ message: "Figma 연결 실패. Dev Mode MCP 설정을 확인하세요."
82
+
83
+ # 스테이지별 MCP 우선순위
84
+ stage_preferences:
85
+ "01-brainstorm":
86
+ search: ["exa", "web_search"] # 웹 리서치 중심
87
+ reason: "커뮤니티/아이디어 검색에 Exa 우선"
88
+
89
+ "02-research":
90
+ search: ["context7", "exa", "web_search"]
91
+ reason: "기술 문서 검색에 Context7 우선"
92
+
93
+ "03-planning":
94
+ search: ["context7", "exa"]
95
+ reason: "아키텍처 패턴/문서 검색"
96
+
97
+ "04-ui-ux":
98
+ browser: ["figma-dev-mode", "playwright"]
99
+ search: ["exa", "web_search"]
100
+ reason: "UI 레퍼런스 검색"
101
+
102
+ "06-implementation":
103
+ search: ["context7"]
104
+ reason: "라이브러리 문서 검색에 Context7 필수"
105
+
106
+ "09-testing":
107
+ browser: ["playwright", "chrome-devtools"]
108
+ reason: "E2E 테스트에 Playwright 필수"
109
+
110
+ # 상태 모니터링
111
+ monitoring:
112
+ # 할당량 경고
113
+ quota_warning:
114
+ threshold_percent: 80
115
+ action: "warn_user"
116
+
117
+ # 사용량 로깅
118
+ usage_logging:
119
+ enabled: true
120
+ log_file: "state/mcp_usage.log"
121
+
122
+ # 에러 처리
123
+ error_handling:
124
+ # 모든 폴백 실패 시
125
+ all_fallbacks_failed:
126
+ action: "notify_user_and_continue"
127
+ message: |
128
+ ⚠️ 모든 MCP 검색 도구가 실패했습니다.
129
+ - 수동 검색을 진행하거나
130
+ - MCP 서버 상태를 확인하세요.
131
+
132
+ # 복구 불가 에러
133
+ fatal_error:
134
+ action: "save_state_and_notify"
135
+ message: "MCP 치명적 오류. 상태를 저장하고 세션을 재시작하세요."
136
+
137
+ # =============================================================================
138
+ # AI 모델 폴백 설정 (외부 AI: Gemini, Codex)
139
+ # =============================================================================
140
+ ai_model_fallbacks:
141
+ enabled: true
142
+ description: "외부 AI CLI 실패 시 ClaudeCode로 자동 폴백"
143
+
144
+ # 폴백 트리거 조건
145
+ triggers:
146
+ - cli_not_installed # CLI 미설치
147
+ - authentication_failed # 인증 실패
148
+ - api_timeout # API 타임아웃
149
+ - rate_limited # 요청 제한
150
+ - service_error # 서비스 오류
151
+
152
+ # 스테이지별 AI 폴백 설정
153
+ stage_fallbacks:
154
+ "01-brainstorm":
155
+ primary: "gemini"
156
+ fallback: "claudecode"
157
+ fallback_reason_template: "Gemini CLI 호출 실패: {{ERROR}} - ClaudeCode로 폴백"
158
+
159
+ "03-planning":
160
+ primary: "gemini"
161
+ fallback: "claudecode"
162
+ fallback_reason_template: "Gemini CLI 호출 실패: {{ERROR}} - ClaudeCode로 폴백"
163
+
164
+ "04-ui-ux":
165
+ primary: "gemini"
166
+ fallback: "claudecode"
167
+ fallback_reason_template: "Gemini CLI 호출 실패: {{ERROR}} - ClaudeCode로 폴백"
168
+
169
+ "07-refactoring":
170
+ primary: "codex"
171
+ fallback: "claudecode"
172
+ fallback_reason_template: "Codex CLI 호출 실패: {{ERROR}} - ClaudeCode로 폴백"
173
+
174
+ "09-testing":
175
+ primary: "codex"
176
+ fallback: "claudecode"
177
+ fallback_reason_template: "Codex CLI 호출 실패: {{ERROR}} - ClaudeCode로 폴백"
178
+
179
+ # 폴백 동작 설정
180
+ behavior:
181
+ # 자동 폴백 활성화
182
+ auto_fallback: true
183
+
184
+ # 재시도 설정
185
+ retry:
186
+ enabled: true
187
+ max_attempts: 2
188
+ delay_ms: 3000
189
+
190
+ # 폴백 전 경고 표시
191
+ show_warning_before_fallback: true
192
+ warning_message: |
193
+ ⚠️ 외부 AI {{PRIMARY_MODEL}} 호출 실패
194
+ - 오류: {{ERROR_MESSAGE}}
195
+ - 폴백: {{FALLBACK_MODEL}}로 계속 진행
196
+
197
+ # 폴백 기록 (HANDOFF.md에 포함)
198
+ logging:
199
+ enabled: true
200
+ log_file: "state/ai_fallback.log"
201
+ include_in_handoff: true
202
+
203
+ # 기록 형식
204
+ format:
205
+ timestamp: true
206
+ stage: true
207
+ intended_model: true
208
+ fallback_model: true
209
+ error_reason: true
210
+ result: true
211
+
212
+ # HANDOFF.md 폴백 섹션 템플릿
213
+ handoff_template: |
214
+ ### 폴백 기록
215
+
216
+ | 시도한 AI | 실패 시간 | 오류 | 폴백 AI | 결과 |
217
+ |----------|----------|------|---------|------|
218
+ {{#each FALLBACK_EVENTS}}
219
+ | {{this.attempted_model}} | {{this.failure_time}} | {{this.error}} | {{this.fallback_model}} | {{this.result}} |
220
+ {{/each}}
221
+
222
+ # 사전 점검 스크립트 통합
223
+ pre_run_check:
224
+ enabled: true
225
+ script: "scripts/pre-run-check.sh"
226
+
227
+ # 점검 항목
228
+ checks:
229
+ - name: "gemini_cli"
230
+ command: "which gemini"
231
+ on_failure: "warn"
232
+ message: "Gemini CLI 미설치 - 01, 03, 04 스테이지에서 ClaudeCode 폴백 예상"
233
+
234
+ - name: "codex_cli"
235
+ command: "which codex"
236
+ on_failure: "warn"
237
+ message: "Codex CLI 미설치 - 07, 09 스테이지에서 ClaudeCode 폴백 예상"
238
+
239
+ - name: "tmux"
240
+ command: "which tmux"
241
+ on_failure: "error"
242
+ message: "tmux 미설치 - 외부 AI 호출 불가"
243
+
244
+ - name: "gemini_wrapper"
245
+ command: "test -x scripts/gemini-wrapper.sh"
246
+ on_failure: "warn"
247
+ message: "gemini-wrapper.sh 실행 불가"
248
+
249
+ - name: "codex_wrapper"
250
+ command: "test -x scripts/codex-wrapper.sh"
251
+ on_failure: "warn"
252
+ message: "codex-wrapper.sh 실행 불가"