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.
- package/README.md +374 -0
- package/bin/create.js +193 -0
- package/package.json +38 -0
- package/template/.claude/CLAUDE.md +7 -0
- package/template/.claude/commands/CLAUDE.md +0 -0
- package/template/.claude/commands/benchmark.md +103 -0
- package/template/.claude/commands/brainstorm.md +67 -0
- package/template/.claude/commands/checkpoint.md +93 -0
- package/template/.claude/commands/codex.md +107 -0
- package/template/.claude/commands/collaborate.md +85 -0
- package/template/.claude/commands/context.md +154 -0
- package/template/.claude/commands/deploy.md +102 -0
- package/template/.claude/commands/fork.md +142 -0
- package/template/.claude/commands/gemini.md +84 -0
- package/template/.claude/commands/handoff.md +80 -0
- package/template/.claude/commands/implement.md +82 -0
- package/template/.claude/commands/init-project.md +49 -0
- package/template/.claude/commands/next.md +125 -0
- package/template/.claude/commands/planning.md +69 -0
- package/template/.claude/commands/qa.md +81 -0
- package/template/.claude/commands/refactor.md +95 -0
- package/template/.claude/commands/research.md +60 -0
- package/template/.claude/commands/restore.md +113 -0
- package/template/.claude/commands/run-stage.md +78 -0
- package/template/.claude/commands/stages.md +109 -0
- package/template/.claude/commands/status.md +73 -0
- package/template/.claude/commands/tasks.md +80 -0
- package/template/.claude/commands/test.md +93 -0
- package/template/.claude/commands/ui-ux.md +61 -0
- package/template/.claude/commands/validate.md +174 -0
- package/template/.claude/hooks/CLAUDE.md +0 -0
- package/template/.claude/hooks/ai-selector.sh +223 -0
- package/template/.claude/hooks/auto-checkpoint.sh +187 -0
- package/template/.claude/hooks/output-validator.sh +289 -0
- package/template/.claude/hooks/post-stage.sh +123 -0
- package/template/.claude/hooks/pre-stage.sh +186 -0
- package/template/.claude/hooks/session-start.sh +90 -0
- package/template/.claude/hooks/statusline.sh +115 -0
- package/template/.claude/hooks/stop.sh +104 -0
- package/template/.claude/settings.json +149 -0
- package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
- package/template/.claude/skills/ai-collaboration/README.md +61 -0
- package/template/.claude/skills/ai-collaboration/debate.md +148 -0
- package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
- package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
- package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
- package/template/.claude/skills/auto-checkpoint/README.md +77 -0
- package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
- package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
- package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
- package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/README.md +121 -0
- package/template/.claude/skills/context-compression/analyze.md +114 -0
- package/template/.claude/skills/context-compression/compress.md +175 -0
- package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
- package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
- package/template/.claude/skills/output-validator/README.md +86 -0
- package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
- package/template/.claude/skills/output-validator/validate.md +182 -0
- package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
- package/template/.claude/skills/smart-handoff/README.md +59 -0
- package/template/.claude/skills/smart-handoff/extract.md +76 -0
- package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
- package/template/.claude/skills/smart-handoff/summarize.md +94 -0
- package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/README.md +84 -0
- package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
- package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
- package/template/.claude/skills/stage-transition/validate.md +108 -0
- package/template/CLAUDE.md +528 -0
- package/template/config/CLAUDE.md +0 -0
- package/template/config/ai_benchmarking.yaml +184 -0
- package/template/config/ai_collaboration.yaml +159 -0
- package/template/config/ai_logging.yaml +129 -0
- package/template/config/auto_checkpoint.yaml +189 -0
- package/template/config/context.yaml +78 -0
- package/template/config/git.yaml +161 -0
- package/template/config/handoff_intelligence.yaml +229 -0
- package/template/config/implementation.yaml.template +181 -0
- package/template/config/mcp_fallbacks.yaml +252 -0
- package/template/config/memory_integration.yaml +200 -0
- package/template/config/model_enforcement.yaml +141 -0
- package/template/config/models.yaml +242 -0
- package/template/config/output_validation.yaml +352 -0
- package/template/config/pipeline.yaml +357 -0
- package/template/config/pipeline_forking.yaml +236 -0
- package/template/config/qa_logging.yaml +166 -0
- package/template/config/smart_rollback.yaml +209 -0
- package/template/config/stage_personas.yaml +354 -0
- package/template/config/workflow.yaml +54 -0
- package/template/scripts/CLAUDE.md +0 -0
- package/template/scripts/ai-benchmark.sh +272 -0
- package/template/scripts/codex-wrapper.sh +97 -0
- package/template/scripts/context-manager.sh +528 -0
- package/template/scripts/create-checkpoint.sh +116 -0
- package/template/scripts/gemini-wrapper.sh +96 -0
- package/template/scripts/init-project.sh +109 -0
- package/template/scripts/list-stages.sh +245 -0
- package/template/scripts/next-stage.sh +228 -0
- package/template/scripts/output-validate.sh +12 -0
- package/template/scripts/pipeline-fork.sh +293 -0
- package/template/scripts/pre-run-check.sh +361 -0
- package/template/scripts/restore-checkpoint.sh +247 -0
- package/template/scripts/run-stage.sh +139 -0
- package/template/scripts/show-status.sh +185 -0
- package/template/scripts/smart-handoff.sh +254 -0
- package/template/stages/01-brainstorm/CLAUDE.md +103 -0
- package/template/stages/01-brainstorm/HANDOFF.md +110 -0
- package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
- package/template/stages/01-brainstorm/README.md +97 -0
- package/template/stages/01-brainstorm/config.yaml +92 -0
- package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
- package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
- package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
- package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
- package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
- package/template/stages/01-brainstorm/prompts/persona.md +73 -0
- package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
- package/template/stages/01-brainstorm/prompts/validation.md +50 -0
- package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/templates/ideas.md +91 -0
- package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
- package/template/stages/02-research/CLAUDE.md +101 -0
- package/template/stages/02-research/HANDOFF.md +158 -0
- package/template/stages/02-research/HANDOFF.md.template +102 -0
- package/template/stages/02-research/config.yaml +68 -0
- package/template/stages/02-research/inputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/CLAUDE.md +0 -0
- package/template/stages/02-research/outputs/feasibility_report.md +176 -0
- package/template/stages/02-research/outputs/tech_research.md +403 -0
- package/template/stages/02-research/prompts/CLAUDE.md +0 -0
- package/template/stages/02-research/prompts/collaboration.md +51 -0
- package/template/stages/02-research/prompts/feasibility.md +73 -0
- package/template/stages/02-research/prompts/market_analysis.md +58 -0
- package/template/stages/02-research/prompts/tech_stack.md +60 -0
- package/template/stages/02-research/prompts/validation.md +51 -0
- package/template/stages/02-research/templates/.gitkeep +0 -0
- package/template/stages/03-planning/CLAUDE.md +98 -0
- package/template/stages/03-planning/HANDOFF.md +168 -0
- package/template/stages/03-planning/HANDOFF.md.template +91 -0
- package/template/stages/03-planning/config.yaml +64 -0
- package/template/stages/03-planning/inputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
- package/template/stages/03-planning/outputs/architecture.md +400 -0
- package/template/stages/03-planning/outputs/implementation.yaml +209 -0
- package/template/stages/03-planning/outputs/project_plan.md +204 -0
- package/template/stages/03-planning/outputs/tech_stack.md +176 -0
- package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
- package/template/stages/03-planning/prompts/architecture.md +62 -0
- package/template/stages/03-planning/prompts/collaboration.md +57 -0
- package/template/stages/03-planning/prompts/validation.md +59 -0
- package/template/stages/03-planning/templates/.gitkeep +0 -0
- package/template/stages/04-ui-ux/CLAUDE.md +88 -0
- package/template/stages/04-ui-ux/HANDOFF.md +165 -0
- package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
- package/template/stages/04-ui-ux/config.yaml +57 -0
- package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
- package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
- package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
- package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
- package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
- package/template/stages/04-ui-ux/prompts/validation.md +54 -0
- package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
- package/template/stages/05-task-management/CLAUDE.md +105 -0
- package/template/stages/05-task-management/HANDOFF.md +187 -0
- package/template/stages/05-task-management/HANDOFF.md.template +97 -0
- package/template/stages/05-task-management/config.yaml +81 -0
- package/template/stages/05-task-management/inputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
- package/template/stages/05-task-management/outputs/milestones.md +253 -0
- package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
- package/template/stages/05-task-management/outputs/tasks.md +402 -0
- package/template/stages/05-task-management/prompts/.gitkeep +0 -0
- package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/prompts/collaboration.md +54 -0
- package/template/stages/05-task-management/prompts/validation.md +66 -0
- package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
- package/template/stages/05-task-management/templates/notion_integration.md +176 -0
- package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
- package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
- package/template/stages/06-implementation/CLAUDE.md +163 -0
- package/template/stages/06-implementation/HANDOFF.md +184 -0
- package/template/stages/06-implementation/HANDOFF.md.template +192 -0
- package/template/stages/06-implementation/config.yaml +62 -0
- package/template/stages/06-implementation/inputs/.gitkeep +0 -0
- package/template/stages/06-implementation/outputs/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
- package/template/stages/06-implementation/prompts/collaboration.md +64 -0
- package/template/stages/06-implementation/prompts/validation.md +65 -0
- package/template/stages/06-implementation/templates/.gitkeep +0 -0
- package/template/stages/07-refactoring/CLAUDE.md +180 -0
- package/template/stages/07-refactoring/HANDOFF.md +82 -0
- package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
- package/template/stages/07-refactoring/config.yaml +68 -0
- package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
- package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
- package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
- package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
- package/template/stages/07-refactoring/prompts/validation.md +76 -0
- package/template/stages/07-refactoring/templates/.gitkeep +0 -0
- package/template/stages/08-qa/CLAUDE.md +93 -0
- package/template/stages/08-qa/HANDOFF.md +114 -0
- package/template/stages/08-qa/HANDOFF.md.template +96 -0
- package/template/stages/08-qa/config.yaml +56 -0
- package/template/stages/08-qa/inputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/qa_report.md +138 -0
- package/template/stages/08-qa/prompts/.gitkeep +0 -0
- package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
- package/template/stages/08-qa/prompts/collaboration.md +65 -0
- package/template/stages/08-qa/prompts/validation.md +71 -0
- package/template/stages/08-qa/templates/.gitkeep +0 -0
- package/template/stages/09-testing/CLAUDE.md +124 -0
- package/template/stages/09-testing/HANDOFF.md +118 -0
- package/template/stages/09-testing/HANDOFF.md.template +113 -0
- package/template/stages/09-testing/config.yaml +65 -0
- package/template/stages/09-testing/inputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/test_report.md +146 -0
- package/template/stages/09-testing/prompts/.gitkeep +0 -0
- package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
- package/template/stages/09-testing/prompts/collaboration.md +77 -0
- package/template/stages/09-testing/prompts/validation.md +83 -0
- package/template/stages/09-testing/templates/.gitkeep +0 -0
- package/template/stages/10-deployment/CLAUDE.md +117 -0
- package/template/stages/10-deployment/HANDOFF.md +141 -0
- package/template/stages/10-deployment/HANDOFF.md.template +148 -0
- package/template/stages/10-deployment/config.yaml +61 -0
- package/template/stages/10-deployment/inputs/.gitkeep +0 -0
- package/template/stages/10-deployment/outputs/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/prompts/collaboration.md +80 -0
- package/template/stages/10-deployment/prompts/validation.md +93 -0
- package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
- package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
- package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
- package/template/state/progress.json.template +111 -0
- package/template/state/templates/CLAUDE.md +0 -0
- package/template/state/templates/handoff_base.md.template +187 -0
- package/template/state/templates/phase_state.md.template +97 -0
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# ax-templates Output Validation Configuration
|
|
2
|
+
# Stage output verification and quality assurance
|
|
3
|
+
|
|
4
|
+
validation:
|
|
5
|
+
enabled: true
|
|
6
|
+
description: "스테이지별 산출물 검증 및 품질 보증"
|
|
7
|
+
|
|
8
|
+
# 스테이지별 검증 규칙
|
|
9
|
+
per_stage:
|
|
10
|
+
"01-brainstorm":
|
|
11
|
+
description: "아이디어 및 요구사항 산출물 검증"
|
|
12
|
+
|
|
13
|
+
required_outputs:
|
|
14
|
+
ideas.md:
|
|
15
|
+
exists: true
|
|
16
|
+
min_size_bytes: 500
|
|
17
|
+
content_checks:
|
|
18
|
+
min_ideas: 5
|
|
19
|
+
has_sections: ["아이디어 목록", "평가 기준"]
|
|
20
|
+
|
|
21
|
+
requirements_analysis.md:
|
|
22
|
+
exists: true
|
|
23
|
+
min_size_bytes: 1000
|
|
24
|
+
content_checks:
|
|
25
|
+
sections:
|
|
26
|
+
- "기능 요구사항"
|
|
27
|
+
- "비기능 요구사항"
|
|
28
|
+
has_priorities: true
|
|
29
|
+
|
|
30
|
+
validation_commands: []
|
|
31
|
+
|
|
32
|
+
quality_metrics:
|
|
33
|
+
idea_diversity: 0.7 # 아이디어 다양성 점수
|
|
34
|
+
requirement_completeness: 0.8
|
|
35
|
+
|
|
36
|
+
"02-research":
|
|
37
|
+
description: "리서치 산출물 검증"
|
|
38
|
+
|
|
39
|
+
required_outputs:
|
|
40
|
+
tech_research.md:
|
|
41
|
+
exists: true
|
|
42
|
+
min_size_bytes: 2000
|
|
43
|
+
content_checks:
|
|
44
|
+
has_sources: true
|
|
45
|
+
min_sources: 3
|
|
46
|
+
|
|
47
|
+
feasibility_report.md:
|
|
48
|
+
exists: true
|
|
49
|
+
content_checks:
|
|
50
|
+
sections:
|
|
51
|
+
- "기술적 타당성"
|
|
52
|
+
- "리스크 분석"
|
|
53
|
+
- "결론"
|
|
54
|
+
|
|
55
|
+
validation_commands: []
|
|
56
|
+
|
|
57
|
+
quality_metrics:
|
|
58
|
+
source_quality: 0.8
|
|
59
|
+
analysis_depth: 0.7
|
|
60
|
+
|
|
61
|
+
"03-planning":
|
|
62
|
+
description: "계획 산출물 검증"
|
|
63
|
+
|
|
64
|
+
required_outputs:
|
|
65
|
+
architecture.md:
|
|
66
|
+
exists: true
|
|
67
|
+
min_size_bytes: 2000
|
|
68
|
+
content_checks:
|
|
69
|
+
has_diagrams: true
|
|
70
|
+
sections:
|
|
71
|
+
- "시스템 구조"
|
|
72
|
+
- "컴포넌트 설계"
|
|
73
|
+
- "데이터 흐름"
|
|
74
|
+
|
|
75
|
+
tech_stack.md:
|
|
76
|
+
exists: true
|
|
77
|
+
content_checks:
|
|
78
|
+
has_justification: true
|
|
79
|
+
|
|
80
|
+
project_plan.md:
|
|
81
|
+
exists: true
|
|
82
|
+
content_checks:
|
|
83
|
+
has_timeline: true
|
|
84
|
+
has_milestones: true
|
|
85
|
+
|
|
86
|
+
validation_commands: []
|
|
87
|
+
|
|
88
|
+
"04-ui-ux":
|
|
89
|
+
description: "UI/UX 설계 산출물 검증"
|
|
90
|
+
|
|
91
|
+
required_outputs:
|
|
92
|
+
wireframes.md:
|
|
93
|
+
exists: true
|
|
94
|
+
content_checks:
|
|
95
|
+
min_screens: 3
|
|
96
|
+
|
|
97
|
+
user_flows.md:
|
|
98
|
+
exists: true
|
|
99
|
+
content_checks:
|
|
100
|
+
has_flow_diagram: true
|
|
101
|
+
|
|
102
|
+
design_system.md:
|
|
103
|
+
exists: true
|
|
104
|
+
content_checks:
|
|
105
|
+
sections:
|
|
106
|
+
- "색상"
|
|
107
|
+
- "타이포그래피"
|
|
108
|
+
- "컴포넌트"
|
|
109
|
+
|
|
110
|
+
validation_commands: []
|
|
111
|
+
|
|
112
|
+
"05-task-management":
|
|
113
|
+
description: "태스크 관리 산출물 검증"
|
|
114
|
+
|
|
115
|
+
required_outputs:
|
|
116
|
+
tasks.md:
|
|
117
|
+
exists: true
|
|
118
|
+
content_checks:
|
|
119
|
+
min_tasks: 10
|
|
120
|
+
has_estimates: true
|
|
121
|
+
has_priorities: true
|
|
122
|
+
|
|
123
|
+
sprint_plan.md:
|
|
124
|
+
exists: true
|
|
125
|
+
content_checks:
|
|
126
|
+
has_sprint_goals: true
|
|
127
|
+
|
|
128
|
+
validation_commands: []
|
|
129
|
+
|
|
130
|
+
"06-implementation":
|
|
131
|
+
description: "구현 산출물 검증"
|
|
132
|
+
|
|
133
|
+
required_outputs:
|
|
134
|
+
"source_code/":
|
|
135
|
+
exists: true
|
|
136
|
+
is_directory: true
|
|
137
|
+
|
|
138
|
+
implementation_log.md:
|
|
139
|
+
exists: true
|
|
140
|
+
format: "changelog"
|
|
141
|
+
|
|
142
|
+
validation_commands:
|
|
143
|
+
- name: "lint"
|
|
144
|
+
command: "npm run lint"
|
|
145
|
+
required: true
|
|
146
|
+
allow_warnings: true
|
|
147
|
+
|
|
148
|
+
- name: "typecheck"
|
|
149
|
+
command: "npm run typecheck"
|
|
150
|
+
required: true
|
|
151
|
+
|
|
152
|
+
- name: "build"
|
|
153
|
+
command: "npm run build"
|
|
154
|
+
required: true
|
|
155
|
+
|
|
156
|
+
quality_metrics:
|
|
157
|
+
lint_score: 0.9
|
|
158
|
+
type_coverage: 0.95
|
|
159
|
+
|
|
160
|
+
"07-refactoring":
|
|
161
|
+
description: "리팩토링 산출물 검증"
|
|
162
|
+
|
|
163
|
+
required_outputs:
|
|
164
|
+
"refactored_code/":
|
|
165
|
+
exists: true
|
|
166
|
+
is_directory: true
|
|
167
|
+
|
|
168
|
+
refactoring_report.md:
|
|
169
|
+
exists: true
|
|
170
|
+
content_checks:
|
|
171
|
+
sections:
|
|
172
|
+
- "변경 사항"
|
|
173
|
+
- "개선 내용"
|
|
174
|
+
- "성능 비교"
|
|
175
|
+
|
|
176
|
+
validation_commands:
|
|
177
|
+
- name: "lint"
|
|
178
|
+
command: "npm run lint"
|
|
179
|
+
required: true
|
|
180
|
+
|
|
181
|
+
- name: "test"
|
|
182
|
+
command: "npm run test"
|
|
183
|
+
required: true
|
|
184
|
+
|
|
185
|
+
quality_metrics:
|
|
186
|
+
complexity_improvement: true
|
|
187
|
+
no_regression: true
|
|
188
|
+
|
|
189
|
+
"08-qa":
|
|
190
|
+
description: "QA 산출물 검증"
|
|
191
|
+
|
|
192
|
+
required_outputs:
|
|
193
|
+
qa_report.md:
|
|
194
|
+
exists: true
|
|
195
|
+
content_checks:
|
|
196
|
+
sections:
|
|
197
|
+
- "발견된 이슈"
|
|
198
|
+
- "해결된 이슈"
|
|
199
|
+
- "품질 평가"
|
|
200
|
+
|
|
201
|
+
bug_fixes.md:
|
|
202
|
+
exists: true
|
|
203
|
+
content_checks:
|
|
204
|
+
has_bug_list: true
|
|
205
|
+
|
|
206
|
+
validation_commands:
|
|
207
|
+
- name: "lint"
|
|
208
|
+
command: "npm run lint"
|
|
209
|
+
required: true
|
|
210
|
+
|
|
211
|
+
- name: "test"
|
|
212
|
+
command: "npm run test"
|
|
213
|
+
required: true
|
|
214
|
+
|
|
215
|
+
quality_metrics:
|
|
216
|
+
bug_resolution_rate: 0.9
|
|
217
|
+
|
|
218
|
+
"09-testing":
|
|
219
|
+
description: "테스트 산출물 검증"
|
|
220
|
+
|
|
221
|
+
required_outputs:
|
|
222
|
+
"tests/":
|
|
223
|
+
exists: true
|
|
224
|
+
is_directory: true
|
|
225
|
+
|
|
226
|
+
test_report.md:
|
|
227
|
+
exists: true
|
|
228
|
+
content_checks:
|
|
229
|
+
pass_rate_min: 100
|
|
230
|
+
|
|
231
|
+
coverage_report.md:
|
|
232
|
+
exists: true
|
|
233
|
+
content_checks:
|
|
234
|
+
coverage_min: 80
|
|
235
|
+
|
|
236
|
+
validation_commands:
|
|
237
|
+
- name: "test"
|
|
238
|
+
command: "npm run test"
|
|
239
|
+
required: true
|
|
240
|
+
|
|
241
|
+
- name: "coverage"
|
|
242
|
+
command: "npm run test:coverage"
|
|
243
|
+
required: true
|
|
244
|
+
threshold:
|
|
245
|
+
lines: 80
|
|
246
|
+
branches: 75
|
|
247
|
+
functions: 80
|
|
248
|
+
|
|
249
|
+
quality_metrics:
|
|
250
|
+
test_coverage: 0.8
|
|
251
|
+
all_tests_pass: true
|
|
252
|
+
|
|
253
|
+
"10-deployment":
|
|
254
|
+
description: "배포 산출물 검증"
|
|
255
|
+
|
|
256
|
+
required_outputs:
|
|
257
|
+
".github/workflows/":
|
|
258
|
+
exists: true
|
|
259
|
+
is_directory: true
|
|
260
|
+
|
|
261
|
+
"deployment_config/":
|
|
262
|
+
exists: true
|
|
263
|
+
is_directory: true
|
|
264
|
+
|
|
265
|
+
deployment_log.md:
|
|
266
|
+
exists: true
|
|
267
|
+
|
|
268
|
+
validation_commands:
|
|
269
|
+
- name: "workflow_validate"
|
|
270
|
+
command: "gh workflow list"
|
|
271
|
+
required: false
|
|
272
|
+
|
|
273
|
+
quality_metrics:
|
|
274
|
+
ci_configured: true
|
|
275
|
+
deployment_documented: true
|
|
276
|
+
|
|
277
|
+
# 검증 프로세스
|
|
278
|
+
validation_process:
|
|
279
|
+
steps:
|
|
280
|
+
- name: "check_required_files"
|
|
281
|
+
description: "필수 파일 존재 확인"
|
|
282
|
+
required: true
|
|
283
|
+
|
|
284
|
+
- name: "validate_file_content"
|
|
285
|
+
description: "파일 내용 검증"
|
|
286
|
+
required: true
|
|
287
|
+
|
|
288
|
+
- name: "run_validation_commands"
|
|
289
|
+
description: "검증 명령어 실행"
|
|
290
|
+
required: false
|
|
291
|
+
|
|
292
|
+
- name: "calculate_quality_score"
|
|
293
|
+
description: "품질 점수 계산"
|
|
294
|
+
required: false
|
|
295
|
+
|
|
296
|
+
- name: "generate_report"
|
|
297
|
+
description: "검증 리포트 생성"
|
|
298
|
+
required: true
|
|
299
|
+
|
|
300
|
+
on_failure:
|
|
301
|
+
action: "block_transition"
|
|
302
|
+
allow_override: true
|
|
303
|
+
require_justification: true
|
|
304
|
+
|
|
305
|
+
# 리포트 설정
|
|
306
|
+
reporting:
|
|
307
|
+
format: "markdown"
|
|
308
|
+
output_path: "state/validations/"
|
|
309
|
+
|
|
310
|
+
include:
|
|
311
|
+
- validation_summary
|
|
312
|
+
- file_checks
|
|
313
|
+
- command_results
|
|
314
|
+
- quality_scores
|
|
315
|
+
- recommendations
|
|
316
|
+
|
|
317
|
+
severity_levels:
|
|
318
|
+
error:
|
|
319
|
+
description: "스테이지 전환 차단"
|
|
320
|
+
icon: "❌"
|
|
321
|
+
warning:
|
|
322
|
+
description: "경고만 표시"
|
|
323
|
+
icon: "⚠️"
|
|
324
|
+
info:
|
|
325
|
+
description: "정보 제공"
|
|
326
|
+
icon: "ℹ️"
|
|
327
|
+
pass:
|
|
328
|
+
description: "검증 통과"
|
|
329
|
+
icon: "✅"
|
|
330
|
+
|
|
331
|
+
# 자동 수정 제안
|
|
332
|
+
auto_fix:
|
|
333
|
+
enabled: true
|
|
334
|
+
suggest_fixes: true
|
|
335
|
+
auto_apply: false
|
|
336
|
+
|
|
337
|
+
fixable_issues:
|
|
338
|
+
- missing_sections
|
|
339
|
+
- format_errors
|
|
340
|
+
- lint_errors
|
|
341
|
+
|
|
342
|
+
# 통합 설정
|
|
343
|
+
integration:
|
|
344
|
+
handoff:
|
|
345
|
+
include_validation_status: true
|
|
346
|
+
block_if_failed: true
|
|
347
|
+
|
|
348
|
+
checkpoint:
|
|
349
|
+
save_validation_results: true
|
|
350
|
+
|
|
351
|
+
memory:
|
|
352
|
+
save_quality_trends: true
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# ax-templates Pipeline Configuration
|
|
2
|
+
# Multi-AI Development Workflow Pipeline Definition
|
|
3
|
+
|
|
4
|
+
pipeline:
|
|
5
|
+
name: "Multi-AI Development Workflow"
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
description: "10-stage software development workflow with multi-AI orchestration"
|
|
8
|
+
|
|
9
|
+
stages:
|
|
10
|
+
- id: "01-brainstorm"
|
|
11
|
+
name: "Brainstorming"
|
|
12
|
+
description: "발산적 아이디어 생성 및 요구사항 탐색"
|
|
13
|
+
models: ["gemini", "claudecode"]
|
|
14
|
+
mode: "yolo"
|
|
15
|
+
container: true
|
|
16
|
+
inputs:
|
|
17
|
+
- "project_brief.md"
|
|
18
|
+
- "user_requirements.md"
|
|
19
|
+
outputs:
|
|
20
|
+
- "ideas.md"
|
|
21
|
+
- "requirements_analysis.md"
|
|
22
|
+
- "HANDOFF.md"
|
|
23
|
+
timeout: 3600 # 1 hour
|
|
24
|
+
|
|
25
|
+
- id: "02-research"
|
|
26
|
+
name: "Research"
|
|
27
|
+
description: "기술 리서치 및 시장 분석"
|
|
28
|
+
models: ["claude"]
|
|
29
|
+
mode: "plan"
|
|
30
|
+
mcp_servers: ["firecrawl", "exa", "context7"]
|
|
31
|
+
inputs:
|
|
32
|
+
- "requirements_analysis.md"
|
|
33
|
+
outputs:
|
|
34
|
+
- "tech_research.md"
|
|
35
|
+
- "market_analysis.md"
|
|
36
|
+
- "feasibility_report.md"
|
|
37
|
+
- "HANDOFF.md"
|
|
38
|
+
timeout: 7200 # 2 hours
|
|
39
|
+
|
|
40
|
+
- id: "03-planning"
|
|
41
|
+
name: "Planning"
|
|
42
|
+
description: "시스템 아키텍처 및 기술 스택 결정"
|
|
43
|
+
models: ["gemini"]
|
|
44
|
+
mode: "plan"
|
|
45
|
+
inputs:
|
|
46
|
+
- "tech_research.md"
|
|
47
|
+
- "feasibility_report.md"
|
|
48
|
+
outputs:
|
|
49
|
+
- "architecture.md"
|
|
50
|
+
- "tech_stack.md"
|
|
51
|
+
- "project_plan.md"
|
|
52
|
+
- "HANDOFF.md"
|
|
53
|
+
timeout: 3600
|
|
54
|
+
|
|
55
|
+
- id: "04-ui-ux"
|
|
56
|
+
name: "UI/UX Planning"
|
|
57
|
+
description: "사용자 인터페이스 및 경험 설계"
|
|
58
|
+
models: ["gemini"]
|
|
59
|
+
mode: "plan"
|
|
60
|
+
inputs:
|
|
61
|
+
- "requirements_analysis.md"
|
|
62
|
+
- "architecture.md"
|
|
63
|
+
outputs:
|
|
64
|
+
- "wireframes.md"
|
|
65
|
+
- "user_flows.md"
|
|
66
|
+
- "design_system.md"
|
|
67
|
+
- "HANDOFF.md"
|
|
68
|
+
timeout: 3600
|
|
69
|
+
|
|
70
|
+
- id: "05-task-management"
|
|
71
|
+
name: "Task Management"
|
|
72
|
+
description: "태스크 분해 및 스프린트 계획"
|
|
73
|
+
models: ["claudecode"]
|
|
74
|
+
mode: "plan"
|
|
75
|
+
inputs:
|
|
76
|
+
- "project_plan.md"
|
|
77
|
+
- "architecture.md"
|
|
78
|
+
outputs:
|
|
79
|
+
- "tasks.md"
|
|
80
|
+
- "sprint_plan.md"
|
|
81
|
+
- "milestones.md"
|
|
82
|
+
- "HANDOFF.md"
|
|
83
|
+
timeout: 1800 # 30 minutes
|
|
84
|
+
|
|
85
|
+
- id: "06-implementation"
|
|
86
|
+
name: "Implementation"
|
|
87
|
+
description: "핵심 기능 구현"
|
|
88
|
+
models: ["claudecode"]
|
|
89
|
+
mode: "plan_sandbox"
|
|
90
|
+
sandbox: true
|
|
91
|
+
inputs:
|
|
92
|
+
- "tasks.md"
|
|
93
|
+
- "architecture.md"
|
|
94
|
+
- "design_system.md"
|
|
95
|
+
outputs:
|
|
96
|
+
- "source_code/"
|
|
97
|
+
- "implementation_log.md"
|
|
98
|
+
- "HANDOFF.md"
|
|
99
|
+
timeout: 14400 # 4 hours
|
|
100
|
+
checkpoint_required: true
|
|
101
|
+
|
|
102
|
+
- id: "07-refactoring"
|
|
103
|
+
name: "Refactoring"
|
|
104
|
+
description: "코드 품질 개선 및 최적화"
|
|
105
|
+
models: ["codex"]
|
|
106
|
+
mode: "deep_dive"
|
|
107
|
+
inputs:
|
|
108
|
+
- "source_code/"
|
|
109
|
+
- "implementation_log.md"
|
|
110
|
+
outputs:
|
|
111
|
+
- "refactored_code/"
|
|
112
|
+
- "refactoring_report.md"
|
|
113
|
+
- "HANDOFF.md"
|
|
114
|
+
timeout: 7200
|
|
115
|
+
checkpoint_required: true
|
|
116
|
+
|
|
117
|
+
- id: "08-qa"
|
|
118
|
+
name: "QA"
|
|
119
|
+
description: "품질 보증 및 코드 리뷰"
|
|
120
|
+
models: ["claudecode"]
|
|
121
|
+
mode: "plan_sandbox"
|
|
122
|
+
sandbox: true
|
|
123
|
+
inputs:
|
|
124
|
+
- "refactored_code/"
|
|
125
|
+
- "refactoring_report.md"
|
|
126
|
+
outputs:
|
|
127
|
+
- "qa_report.md"
|
|
128
|
+
- "bug_fixes.md"
|
|
129
|
+
- "HANDOFF.md"
|
|
130
|
+
timeout: 3600
|
|
131
|
+
|
|
132
|
+
- id: "09-testing"
|
|
133
|
+
name: "Testing & E2E"
|
|
134
|
+
description: "테스트 코드 작성 및 E2E 테스트"
|
|
135
|
+
models: ["codex"]
|
|
136
|
+
mode: "sandbox_playwright"
|
|
137
|
+
sandbox: true
|
|
138
|
+
mcp_servers: ["playwright"]
|
|
139
|
+
inputs:
|
|
140
|
+
- "source_code/"
|
|
141
|
+
- "qa_report.md"
|
|
142
|
+
outputs:
|
|
143
|
+
- "tests/"
|
|
144
|
+
- "test_report.md"
|
|
145
|
+
- "coverage_report.md"
|
|
146
|
+
- "HANDOFF.md"
|
|
147
|
+
timeout: 7200
|
|
148
|
+
|
|
149
|
+
- id: "10-deployment"
|
|
150
|
+
name: "CI/CD & Deployment"
|
|
151
|
+
description: "배포 파이프라인 설정 및 배포"
|
|
152
|
+
models: ["claudecode"]
|
|
153
|
+
mode: "headless"
|
|
154
|
+
inputs:
|
|
155
|
+
- "source_code/"
|
|
156
|
+
- "tests/"
|
|
157
|
+
- "test_report.md"
|
|
158
|
+
outputs:
|
|
159
|
+
- ".github/workflows/"
|
|
160
|
+
- "deployment_config/"
|
|
161
|
+
- "deployment_log.md"
|
|
162
|
+
timeout: 3600
|
|
163
|
+
|
|
164
|
+
# State Management Configuration
|
|
165
|
+
state_management:
|
|
166
|
+
progress_file: "state/progress.json"
|
|
167
|
+
checkpoints_dir: "state/checkpoints"
|
|
168
|
+
context_dir: "state/context"
|
|
169
|
+
handoffs_dir: "state/handoffs"
|
|
170
|
+
|
|
171
|
+
# Context management thresholds (percentage-based, remaining context)
|
|
172
|
+
# See config/context.yaml for detailed settings
|
|
173
|
+
context_thresholds:
|
|
174
|
+
warning: 60 # 60% remaining - display warning
|
|
175
|
+
action: 50 # 50% remaining - auto-save state
|
|
176
|
+
critical: 40 # 40% remaining - recommend /clear
|
|
177
|
+
|
|
178
|
+
# Task-based auto-save
|
|
179
|
+
task_save_frequency: 5 # Save every 5 completed tasks
|
|
180
|
+
|
|
181
|
+
# Auto-actions when thresholds are reached
|
|
182
|
+
auto_actions:
|
|
183
|
+
on_warning: # 60% remaining
|
|
184
|
+
- display_banner
|
|
185
|
+
on_action: # 50% remaining
|
|
186
|
+
- save_snapshot
|
|
187
|
+
- suggest_compact
|
|
188
|
+
on_critical: # 40% remaining
|
|
189
|
+
- save_snapshot
|
|
190
|
+
- require_compact
|
|
191
|
+
|
|
192
|
+
# Statusline API integration for real-time monitoring
|
|
193
|
+
statusline:
|
|
194
|
+
enabled: true
|
|
195
|
+
script: ".claude/hooks/statusline.sh"
|
|
196
|
+
update_interval_ms: 300
|
|
197
|
+
|
|
198
|
+
# Legacy absolute thresholds (deprecated, kept for compatibility)
|
|
199
|
+
context_warning: 50000 # tokens - trigger state save
|
|
200
|
+
context_limit: 80000 # tokens - trigger /clear
|
|
201
|
+
|
|
202
|
+
# Automatic behaviors
|
|
203
|
+
auto_checkpoint: true
|
|
204
|
+
auto_handoff: true
|
|
205
|
+
preserve_failed_states: true
|
|
206
|
+
|
|
207
|
+
# Hook Configuration
|
|
208
|
+
hooks:
|
|
209
|
+
pre_stage:
|
|
210
|
+
- "validate_inputs"
|
|
211
|
+
- "check_previous_handoff"
|
|
212
|
+
- "verify_prerequisites"
|
|
213
|
+
|
|
214
|
+
post_stage:
|
|
215
|
+
- "generate_handoff"
|
|
216
|
+
- "update_progress"
|
|
217
|
+
- "create_checkpoint"
|
|
218
|
+
- "notify_completion"
|
|
219
|
+
|
|
220
|
+
# Transition Rules
|
|
221
|
+
transitions:
|
|
222
|
+
allow_skip: false
|
|
223
|
+
require_handoff: true
|
|
224
|
+
require_checkpoint:
|
|
225
|
+
- "06-implementation"
|
|
226
|
+
- "07-refactoring"
|
|
227
|
+
|
|
228
|
+
# Rollback configuration
|
|
229
|
+
rollback:
|
|
230
|
+
enabled: true
|
|
231
|
+
max_rollback_stages: 2
|
|
232
|
+
|
|
233
|
+
# Test-First Flow Configuration
|
|
234
|
+
# Ensures tests are run at key stages to catch bugs early
|
|
235
|
+
test_first_flow:
|
|
236
|
+
enabled: true
|
|
237
|
+
description: "구현/리팩토링 단계 후 즉시 테스트 실행으로 버그 조기 발견"
|
|
238
|
+
|
|
239
|
+
# Stages requiring tests after completion
|
|
240
|
+
test_gates:
|
|
241
|
+
- stage: "06-implementation"
|
|
242
|
+
required_tests:
|
|
243
|
+
- type: "smoke"
|
|
244
|
+
command: "npm run dev"
|
|
245
|
+
description: "개발 서버 실행 확인"
|
|
246
|
+
timeout: 60
|
|
247
|
+
- type: "lint"
|
|
248
|
+
command: "npm run lint"
|
|
249
|
+
description: "정적 분석"
|
|
250
|
+
timeout: 120
|
|
251
|
+
- type: "typecheck"
|
|
252
|
+
command: "npm run typecheck"
|
|
253
|
+
description: "타입 체크"
|
|
254
|
+
timeout: 120
|
|
255
|
+
- type: "playwright_smoke"
|
|
256
|
+
command: "npx playwright test --grep @smoke"
|
|
257
|
+
description: "UI 기본 동작 확인"
|
|
258
|
+
timeout: 180
|
|
259
|
+
optional: true # Playwright 설정 없으면 건너뜀
|
|
260
|
+
on_failure:
|
|
261
|
+
action: "block_handoff"
|
|
262
|
+
message: "테스트 실패 - 문제 해결 후 HANDOFF 진행"
|
|
263
|
+
|
|
264
|
+
- stage: "07-refactoring"
|
|
265
|
+
required_tests:
|
|
266
|
+
- type: "regression"
|
|
267
|
+
command: "npm run test"
|
|
268
|
+
description: "기존 테스트 실행 (회귀 방지)"
|
|
269
|
+
timeout: 300
|
|
270
|
+
- type: "lint"
|
|
271
|
+
command: "npm run lint"
|
|
272
|
+
description: "리팩토링 후 코드 품질 확인"
|
|
273
|
+
timeout: 120
|
|
274
|
+
on_failure:
|
|
275
|
+
action: "warn_and_continue"
|
|
276
|
+
message: "회귀 테스트 실패 - 주의 필요"
|
|
277
|
+
|
|
278
|
+
- stage: "08-qa"
|
|
279
|
+
required_tests:
|
|
280
|
+
- type: "full_test"
|
|
281
|
+
command: "npm run test"
|
|
282
|
+
description: "전체 테스트 스위트"
|
|
283
|
+
timeout: 600
|
|
284
|
+
- type: "e2e"
|
|
285
|
+
command: "npx playwright test"
|
|
286
|
+
description: "E2E 테스트"
|
|
287
|
+
timeout: 600
|
|
288
|
+
optional: true
|
|
289
|
+
on_failure:
|
|
290
|
+
action: "block_handoff"
|
|
291
|
+
message: "QA 테스트 실패 - 버그 수정 필요"
|
|
292
|
+
|
|
293
|
+
# Test result tracking
|
|
294
|
+
tracking:
|
|
295
|
+
enabled: true
|
|
296
|
+
log_file: "state/test_results.json"
|
|
297
|
+
include_in_handoff: true
|
|
298
|
+
|
|
299
|
+
# Notifications
|
|
300
|
+
notifications:
|
|
301
|
+
on_test_failure: true
|
|
302
|
+
on_bug_found: true
|
|
303
|
+
include_stack_trace: true
|
|
304
|
+
|
|
305
|
+
# Pipeline Forking Configuration
|
|
306
|
+
# See config/pipeline_forking.yaml for detailed settings
|
|
307
|
+
forking:
|
|
308
|
+
enabled: true
|
|
309
|
+
|
|
310
|
+
# Stages where forking is allowed
|
|
311
|
+
fork_points:
|
|
312
|
+
- stage: "03-planning"
|
|
313
|
+
condition: "multiple_architectures_proposed"
|
|
314
|
+
description: "아키텍처 대안 탐색용 분기"
|
|
315
|
+
|
|
316
|
+
- stage: "06-implementation"
|
|
317
|
+
condition: "technology_alternatives"
|
|
318
|
+
description: "기술 스택 대안 탐색용 분기"
|
|
319
|
+
|
|
320
|
+
# Fork management
|
|
321
|
+
management:
|
|
322
|
+
max_active_forks: 3
|
|
323
|
+
state_directory: "state/forks"
|
|
324
|
+
|
|
325
|
+
# Auto-merge settings
|
|
326
|
+
auto_merge:
|
|
327
|
+
enabled: false
|
|
328
|
+
strategy: "best_performer"
|
|
329
|
+
|
|
330
|
+
# Cleanup settings
|
|
331
|
+
cleanup:
|
|
332
|
+
delete_merged_forks: false
|
|
333
|
+
archive_directory: "state/forks/archived"
|
|
334
|
+
|
|
335
|
+
# Fork comparison metrics
|
|
336
|
+
comparison:
|
|
337
|
+
enabled: true
|
|
338
|
+
metrics:
|
|
339
|
+
- name: "code_quality"
|
|
340
|
+
weight: 0.4
|
|
341
|
+
command: "npm run lint -- --format json"
|
|
342
|
+
|
|
343
|
+
- name: "performance"
|
|
344
|
+
weight: 0.3
|
|
345
|
+
command: "npm run benchmark"
|
|
346
|
+
|
|
347
|
+
- name: "maintainability"
|
|
348
|
+
weight: 0.3
|
|
349
|
+
tool: "sonarqube"
|
|
350
|
+
|
|
351
|
+
# Integration with commands
|
|
352
|
+
commands:
|
|
353
|
+
create: "/fork create"
|
|
354
|
+
list: "/fork list"
|
|
355
|
+
compare: "/fork compare"
|
|
356
|
+
merge: "/fork merge"
|
|
357
|
+
delete: "/fork delete"
|