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,159 @@
|
|
|
1
|
+
# ax-templates AI Collaboration Configuration
|
|
2
|
+
# Multi-AI orchestration modes and collaboration strategies
|
|
3
|
+
|
|
4
|
+
collaboration_modes:
|
|
5
|
+
# Parallel Execution: 동일 작업을 여러 AI로 동시 실행
|
|
6
|
+
parallel_execution:
|
|
7
|
+
description: "동일 작업을 여러 AI로 동시 실행하여 최상의 결과 선택"
|
|
8
|
+
enabled: true
|
|
9
|
+
|
|
10
|
+
stages:
|
|
11
|
+
- "01-brainstorm"
|
|
12
|
+
- "02-research"
|
|
13
|
+
|
|
14
|
+
models:
|
|
15
|
+
- "gemini"
|
|
16
|
+
- "claude"
|
|
17
|
+
|
|
18
|
+
merge_strategy:
|
|
19
|
+
type: "best_of_n"
|
|
20
|
+
selection_criteria:
|
|
21
|
+
- quality_score
|
|
22
|
+
- completeness
|
|
23
|
+
- creativity
|
|
24
|
+
require_human_review: true
|
|
25
|
+
auto_select_threshold: 0.85 # 85% 이상 점수 시 자동 선택
|
|
26
|
+
|
|
27
|
+
# Sequential Handoff: AI 간 순차 전달 (리뷰 체인)
|
|
28
|
+
sequential_handoff:
|
|
29
|
+
description: "AI 간 순차 전달로 결과물 점진적 개선"
|
|
30
|
+
enabled: true
|
|
31
|
+
|
|
32
|
+
chains:
|
|
33
|
+
code_review:
|
|
34
|
+
- model: "claude"
|
|
35
|
+
role: "초안 작성"
|
|
36
|
+
output: "draft.md"
|
|
37
|
+
- model: "gemini"
|
|
38
|
+
role: "창의적 개선"
|
|
39
|
+
output: "improved.md"
|
|
40
|
+
- model: "codex"
|
|
41
|
+
role: "기술 검증"
|
|
42
|
+
output: "verified.md"
|
|
43
|
+
|
|
44
|
+
planning_review:
|
|
45
|
+
- model: "gemini"
|
|
46
|
+
role: "아이디어 발산"
|
|
47
|
+
output: "ideas.md"
|
|
48
|
+
- model: "claude"
|
|
49
|
+
role: "실현 가능성 분석"
|
|
50
|
+
output: "analysis.md"
|
|
51
|
+
- model: "claude"
|
|
52
|
+
role: "최종 계획 수립"
|
|
53
|
+
output: "plan.md"
|
|
54
|
+
|
|
55
|
+
handoff_format:
|
|
56
|
+
include:
|
|
57
|
+
- context
|
|
58
|
+
- key_decisions
|
|
59
|
+
- modifications
|
|
60
|
+
- next_instructions
|
|
61
|
+
|
|
62
|
+
# Debate Mode: AI 간 토론으로 최적 결론 도출
|
|
63
|
+
debate_mode:
|
|
64
|
+
description: "AI 간 토론을 통해 다양한 관점에서 최적 결론 도출"
|
|
65
|
+
enabled: true
|
|
66
|
+
|
|
67
|
+
stages:
|
|
68
|
+
- "03-planning"
|
|
69
|
+
- "04-ui-ux"
|
|
70
|
+
|
|
71
|
+
participants:
|
|
72
|
+
- model: "claude"
|
|
73
|
+
role: "advocate"
|
|
74
|
+
perspective: "기술적 실현 가능성"
|
|
75
|
+
- model: "gemini"
|
|
76
|
+
role: "challenger"
|
|
77
|
+
perspective: "혁신적 접근법"
|
|
78
|
+
|
|
79
|
+
rules:
|
|
80
|
+
rounds: 3
|
|
81
|
+
max_tokens_per_turn: 2000
|
|
82
|
+
require_evidence: true
|
|
83
|
+
convergence_check: true
|
|
84
|
+
|
|
85
|
+
output:
|
|
86
|
+
format: "structured_summary"
|
|
87
|
+
include_dissenting_opinions: true
|
|
88
|
+
final_decision_method: "consensus" # or "vote", "weighted"
|
|
89
|
+
|
|
90
|
+
# Task Type Mappings for Collaboration
|
|
91
|
+
task_collaboration_mapping:
|
|
92
|
+
ideation:
|
|
93
|
+
mode: "parallel_execution"
|
|
94
|
+
models: ["gemini", "claude"]
|
|
95
|
+
|
|
96
|
+
analysis:
|
|
97
|
+
mode: "sequential_handoff"
|
|
98
|
+
chain: "planning_review"
|
|
99
|
+
|
|
100
|
+
implementation:
|
|
101
|
+
mode: null # Single AI preferred
|
|
102
|
+
primary: "claude"
|
|
103
|
+
|
|
104
|
+
review:
|
|
105
|
+
mode: "sequential_handoff"
|
|
106
|
+
chain: "code_review"
|
|
107
|
+
|
|
108
|
+
architecture:
|
|
109
|
+
mode: "debate_mode"
|
|
110
|
+
participants: ["claude", "gemini"]
|
|
111
|
+
|
|
112
|
+
# Collaboration Output Handling
|
|
113
|
+
output_handling:
|
|
114
|
+
storage_path: "state/collaborations/"
|
|
115
|
+
|
|
116
|
+
merge_strategies:
|
|
117
|
+
best_of_n:
|
|
118
|
+
description: "점수 기반 최고 결과 선택"
|
|
119
|
+
scoring:
|
|
120
|
+
- metric: "completeness"
|
|
121
|
+
weight: 0.3
|
|
122
|
+
- metric: "quality"
|
|
123
|
+
weight: 0.4
|
|
124
|
+
- metric: "creativity"
|
|
125
|
+
weight: 0.3
|
|
126
|
+
|
|
127
|
+
consensus:
|
|
128
|
+
description: "공통점 추출 + 차이점 병합"
|
|
129
|
+
conflict_resolution: "human_review"
|
|
130
|
+
|
|
131
|
+
synthesis:
|
|
132
|
+
description: "모든 결과물의 장점만 추출하여 새 결과물 생성"
|
|
133
|
+
synthesizer: "claude"
|
|
134
|
+
|
|
135
|
+
# Collaboration Triggers
|
|
136
|
+
triggers:
|
|
137
|
+
auto_collaborate:
|
|
138
|
+
on_low_confidence:
|
|
139
|
+
threshold: 0.7
|
|
140
|
+
action: "parallel_execution"
|
|
141
|
+
|
|
142
|
+
on_complex_task:
|
|
143
|
+
complexity_threshold: "high"
|
|
144
|
+
action: "debate_mode"
|
|
145
|
+
|
|
146
|
+
on_creative_task:
|
|
147
|
+
task_types: ["brainstorm", "design"]
|
|
148
|
+
action: "parallel_execution"
|
|
149
|
+
|
|
150
|
+
# Resource Limits
|
|
151
|
+
resource_limits:
|
|
152
|
+
max_concurrent_models: 2
|
|
153
|
+
total_token_budget_per_collaboration: 50000
|
|
154
|
+
timeout_per_model: 300 # 5 minutes
|
|
155
|
+
|
|
156
|
+
fallback:
|
|
157
|
+
on_timeout: "use_partial_results"
|
|
158
|
+
on_error: "single_model_fallback"
|
|
159
|
+
primary_fallback: "claude"
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# AI Logging Configuration
|
|
2
|
+
# ax-templates-3 AI 호출 검증 및 로깅 규칙 (개선 제안 #2, #3 해결)
|
|
3
|
+
|
|
4
|
+
ai_logging:
|
|
5
|
+
# 활성화 여부
|
|
6
|
+
enabled: true
|
|
7
|
+
|
|
8
|
+
# 로그 저장 위치
|
|
9
|
+
log_file: "state/ai_calls.log"
|
|
10
|
+
|
|
11
|
+
# Gemini 호출 검증 체크리스트 (개선 제안 #2)
|
|
12
|
+
gemini_verification:
|
|
13
|
+
# 호출 전 체크리스트
|
|
14
|
+
pre_call_checklist:
|
|
15
|
+
- name: "cli_installed"
|
|
16
|
+
check: "which gemini"
|
|
17
|
+
description: "Gemini CLI 설치 확인"
|
|
18
|
+
|
|
19
|
+
- name: "wrapper_exists"
|
|
20
|
+
check: "test -f scripts/gemini-wrapper.sh"
|
|
21
|
+
description: "래퍼 스크립트 존재 확인"
|
|
22
|
+
|
|
23
|
+
- name: "prompt_file_ready"
|
|
24
|
+
check: "test -f ${PROMPT_FILE}"
|
|
25
|
+
description: "프롬프트 파일 준비 확인"
|
|
26
|
+
|
|
27
|
+
# 호출 후 체크리스트
|
|
28
|
+
post_call_checklist:
|
|
29
|
+
- name: "tmux_session_active"
|
|
30
|
+
check: "tmux has-session -t ax-gemini 2>/dev/null"
|
|
31
|
+
description: "tmux 세션 활성 확인"
|
|
32
|
+
|
|
33
|
+
- name: "output_saved"
|
|
34
|
+
check: "test -f outputs/${OUTPUT_FILE}"
|
|
35
|
+
description: "출력 파일 저장 확인"
|
|
36
|
+
|
|
37
|
+
# Codex 호출 검증 체크리스트
|
|
38
|
+
codex_verification:
|
|
39
|
+
pre_call_checklist:
|
|
40
|
+
- name: "cli_installed"
|
|
41
|
+
check: "which codex"
|
|
42
|
+
description: "Codex CLI 설치 확인"
|
|
43
|
+
|
|
44
|
+
- name: "wrapper_exists"
|
|
45
|
+
check: "test -f scripts/codex-wrapper.sh"
|
|
46
|
+
description: "래퍼 스크립트 존재 확인"
|
|
47
|
+
|
|
48
|
+
- name: "sandbox_ready"
|
|
49
|
+
check: "docker ps | grep -q codex-sandbox || true"
|
|
50
|
+
description: "샌드박스 준비 확인 (선택)"
|
|
51
|
+
|
|
52
|
+
post_call_checklist:
|
|
53
|
+
- name: "tmux_session_active"
|
|
54
|
+
check: "tmux has-session -t ax-codex 2>/dev/null"
|
|
55
|
+
description: "tmux 세션 활성 확인"
|
|
56
|
+
|
|
57
|
+
- name: "output_saved"
|
|
58
|
+
check: "test -f outputs/${OUTPUT_FILE}"
|
|
59
|
+
description: "출력 파일 저장 확인"
|
|
60
|
+
|
|
61
|
+
# HANDOFF.md AI 호출 로그 포함 설정 (개선 제안 #3)
|
|
62
|
+
handoff_ai_log:
|
|
63
|
+
# 활성화 여부
|
|
64
|
+
enabled: true
|
|
65
|
+
|
|
66
|
+
# 로그 테이블 형식
|
|
67
|
+
format: |
|
|
68
|
+
## AI 호출 기록
|
|
69
|
+
|
|
70
|
+
| AI | 호출 시간 | 프롬프트 파일 | 결과 파일 | 상태 |
|
|
71
|
+
|----|----------|--------------|----------|------|
|
|
72
|
+
{{#each ai_calls}}
|
|
73
|
+
| {{model}} | {{timestamp}} | {{prompt_file}} | {{output_file}} | {{status}} |
|
|
74
|
+
{{/each}}
|
|
75
|
+
|
|
76
|
+
# 포함할 정보
|
|
77
|
+
include:
|
|
78
|
+
- model # AI 모델명 (Gemini, Codex, ClaudeCode)
|
|
79
|
+
- timestamp # 호출 시간
|
|
80
|
+
- prompt_file # 프롬프트 파일 경로
|
|
81
|
+
- output_file # 출력 파일 경로
|
|
82
|
+
- status # 성공/실패
|
|
83
|
+
- duration_seconds # 실행 시간 (선택)
|
|
84
|
+
|
|
85
|
+
# 스테이지별 AI 호출 추적
|
|
86
|
+
stage_tracking:
|
|
87
|
+
# 각 스테이지에서 호출된 AI 추적
|
|
88
|
+
enabled: true
|
|
89
|
+
|
|
90
|
+
# 추적 항목
|
|
91
|
+
track:
|
|
92
|
+
- stage_id # 스테이지 ID
|
|
93
|
+
- ai_model # 사용된 AI 모델
|
|
94
|
+
- call_count # 호출 횟수
|
|
95
|
+
- total_duration # 총 소요 시간
|
|
96
|
+
- success_rate # 성공률
|
|
97
|
+
|
|
98
|
+
# 로그 형식
|
|
99
|
+
log_format:
|
|
100
|
+
# 단일 호출 로그
|
|
101
|
+
single_call: |
|
|
102
|
+
[{{timestamp}}] {{stage_id}} - {{model}}
|
|
103
|
+
Prompt: {{prompt_file}}
|
|
104
|
+
Output: {{output_file}}
|
|
105
|
+
Status: {{status}}
|
|
106
|
+
Duration: {{duration}}s
|
|
107
|
+
|
|
108
|
+
# 일일 요약
|
|
109
|
+
daily_summary: |
|
|
110
|
+
=== AI 호출 일일 요약 ({{date}}) ===
|
|
111
|
+
총 호출: {{total_calls}}
|
|
112
|
+
Gemini: {{gemini_calls}}
|
|
113
|
+
Codex: {{codex_calls}}
|
|
114
|
+
ClaudeCode: {{claude_calls}}
|
|
115
|
+
성공률: {{success_rate}}%
|
|
116
|
+
|
|
117
|
+
# 경고 설정
|
|
118
|
+
alerts:
|
|
119
|
+
# 연속 실패 시 경고
|
|
120
|
+
consecutive_failures:
|
|
121
|
+
threshold: 3
|
|
122
|
+
action: "notify_user"
|
|
123
|
+
message: "⚠️ AI 호출이 {{count}}회 연속 실패했습니다. 설정을 확인하세요."
|
|
124
|
+
|
|
125
|
+
# 응답 시간 초과 경고
|
|
126
|
+
slow_response:
|
|
127
|
+
threshold_seconds: 300
|
|
128
|
+
action: "warn"
|
|
129
|
+
message: "⚠️ AI 응답이 {{threshold}}초를 초과했습니다."
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# ax-templates Auto-Checkpoint Configuration
|
|
2
|
+
# Automatic checkpoint creation and management
|
|
3
|
+
|
|
4
|
+
auto_checkpoint:
|
|
5
|
+
enabled: true
|
|
6
|
+
description: "자동 체크포인트 생성 및 관리"
|
|
7
|
+
|
|
8
|
+
# 트리거 조건
|
|
9
|
+
triggers:
|
|
10
|
+
# 태스크 완료 기반
|
|
11
|
+
task_based:
|
|
12
|
+
enabled: true
|
|
13
|
+
condition: "tasks_completed"
|
|
14
|
+
threshold: 5 # 5개 태스크 완료마다
|
|
15
|
+
action: "create_checkpoint"
|
|
16
|
+
naming: "auto_task_{{count}}_{{timestamp}}"
|
|
17
|
+
|
|
18
|
+
# 파일 변경 기반
|
|
19
|
+
file_change_based:
|
|
20
|
+
enabled: true
|
|
21
|
+
condition: "major_file_change"
|
|
22
|
+
threshold: 100 # 100줄 이상 변경
|
|
23
|
+
action: "create_checkpoint"
|
|
24
|
+
naming: "auto_change_{{timestamp}}"
|
|
25
|
+
|
|
26
|
+
# 파일 유형별 가중치
|
|
27
|
+
file_weights:
|
|
28
|
+
"*.ts": 1.0
|
|
29
|
+
"*.tsx": 1.0
|
|
30
|
+
"*.js": 1.0
|
|
31
|
+
"*.jsx": 1.0
|
|
32
|
+
"*.py": 1.0
|
|
33
|
+
"*.yaml": 0.5
|
|
34
|
+
"*.json": 0.5
|
|
35
|
+
"*.md": 0.3
|
|
36
|
+
|
|
37
|
+
# 파괴적 작업 전
|
|
38
|
+
before_destructive:
|
|
39
|
+
enabled: true
|
|
40
|
+
condition: "destructive_action_detected"
|
|
41
|
+
patterns:
|
|
42
|
+
- "rm -rf"
|
|
43
|
+
- "git reset --hard"
|
|
44
|
+
- "drop table"
|
|
45
|
+
- "DELETE FROM"
|
|
46
|
+
- "truncate"
|
|
47
|
+
action: "force_checkpoint"
|
|
48
|
+
naming: "pre_destructive_{{timestamp}}"
|
|
49
|
+
require_confirmation: true
|
|
50
|
+
|
|
51
|
+
# 시간 기반
|
|
52
|
+
time_based:
|
|
53
|
+
enabled: true
|
|
54
|
+
condition: "interval"
|
|
55
|
+
interval_minutes: 30
|
|
56
|
+
action: "create_checkpoint"
|
|
57
|
+
naming: "auto_interval_{{timestamp}}"
|
|
58
|
+
only_if_changes: true # 변경이 있을 때만
|
|
59
|
+
|
|
60
|
+
# 스테이지 기반
|
|
61
|
+
stage_based:
|
|
62
|
+
enabled: true
|
|
63
|
+
conditions:
|
|
64
|
+
on_stage_start: false
|
|
65
|
+
on_stage_complete: true
|
|
66
|
+
on_stage_error: true
|
|
67
|
+
action: "create_checkpoint"
|
|
68
|
+
naming: "stage_{{stage_id}}_{{status}}_{{timestamp}}"
|
|
69
|
+
|
|
70
|
+
# 보존 정책
|
|
71
|
+
retention:
|
|
72
|
+
max_checkpoints: 20
|
|
73
|
+
max_age_days: 30
|
|
74
|
+
|
|
75
|
+
cleanup_strategy: "keep_milestones"
|
|
76
|
+
|
|
77
|
+
milestone_criteria:
|
|
78
|
+
- stage_complete
|
|
79
|
+
- pre_destructive
|
|
80
|
+
- user_created
|
|
81
|
+
- tagged
|
|
82
|
+
|
|
83
|
+
# 자동 정리
|
|
84
|
+
auto_cleanup:
|
|
85
|
+
enabled: true
|
|
86
|
+
schedule: "daily"
|
|
87
|
+
preserve_minimum: 5
|
|
88
|
+
|
|
89
|
+
# 체크포인트 내용
|
|
90
|
+
checkpoint_content:
|
|
91
|
+
include:
|
|
92
|
+
- source_code: true
|
|
93
|
+
- config_files: true
|
|
94
|
+
- state_files: true
|
|
95
|
+
- handoffs: true
|
|
96
|
+
- outputs: true
|
|
97
|
+
|
|
98
|
+
exclude:
|
|
99
|
+
- "node_modules/"
|
|
100
|
+
- ".git/"
|
|
101
|
+
- "*.log"
|
|
102
|
+
- "*.tmp"
|
|
103
|
+
- "__pycache__/"
|
|
104
|
+
- ".cache/"
|
|
105
|
+
|
|
106
|
+
# 메타데이터
|
|
107
|
+
metadata:
|
|
108
|
+
- timestamp
|
|
109
|
+
- stage_id
|
|
110
|
+
- task_count
|
|
111
|
+
- trigger_reason
|
|
112
|
+
- file_changes_summary
|
|
113
|
+
- git_commit_hash
|
|
114
|
+
|
|
115
|
+
# 스토리지 설정
|
|
116
|
+
storage:
|
|
117
|
+
base_path: "state/checkpoints/"
|
|
118
|
+
format: "tar.gz" # tar.gz, zip, directory
|
|
119
|
+
compression_level: 6 # 1-9
|
|
120
|
+
|
|
121
|
+
naming_convention: "{{stage}}_{{trigger}}_{{timestamp}}"
|
|
122
|
+
|
|
123
|
+
# 외부 스토리지 백업 (옵션)
|
|
124
|
+
external_backup:
|
|
125
|
+
enabled: false
|
|
126
|
+
provider: null # s3, gcs, azure
|
|
127
|
+
path: null
|
|
128
|
+
|
|
129
|
+
# 체크포인트 생성 프로세스
|
|
130
|
+
creation_process:
|
|
131
|
+
steps:
|
|
132
|
+
- name: "validate_state"
|
|
133
|
+
description: "현재 상태 유효성 검증"
|
|
134
|
+
required: true
|
|
135
|
+
|
|
136
|
+
- name: "collect_files"
|
|
137
|
+
description: "포함할 파일 수집"
|
|
138
|
+
required: true
|
|
139
|
+
|
|
140
|
+
- name: "generate_metadata"
|
|
141
|
+
description: "메타데이터 생성"
|
|
142
|
+
required: true
|
|
143
|
+
|
|
144
|
+
- name: "create_archive"
|
|
145
|
+
description: "아카이브 생성"
|
|
146
|
+
required: true
|
|
147
|
+
|
|
148
|
+
- name: "verify_integrity"
|
|
149
|
+
description: "무결성 검증"
|
|
150
|
+
required: true
|
|
151
|
+
|
|
152
|
+
- name: "cleanup_old"
|
|
153
|
+
description: "오래된 체크포인트 정리"
|
|
154
|
+
required: false
|
|
155
|
+
|
|
156
|
+
# 실패 처리
|
|
157
|
+
on_failure:
|
|
158
|
+
retry: 2
|
|
159
|
+
fallback: "skip_with_warning"
|
|
160
|
+
notify: true
|
|
161
|
+
|
|
162
|
+
# 알림 설정
|
|
163
|
+
notifications:
|
|
164
|
+
on_create:
|
|
165
|
+
enabled: true
|
|
166
|
+
message: "체크포인트 생성됨: {{name}}"
|
|
167
|
+
|
|
168
|
+
on_cleanup:
|
|
169
|
+
enabled: true
|
|
170
|
+
message: "오래된 체크포인트 정리됨: {{count}}개"
|
|
171
|
+
|
|
172
|
+
on_threshold:
|
|
173
|
+
enabled: true
|
|
174
|
+
threshold: 15 # 15개 초과 시
|
|
175
|
+
message: "체크포인트가 {{count}}개입니다. 정리가 필요할 수 있습니다."
|
|
176
|
+
|
|
177
|
+
# Git 통합
|
|
178
|
+
git_integration:
|
|
179
|
+
tag_checkpoints: true
|
|
180
|
+
tag_prefix: "checkpoint/"
|
|
181
|
+
|
|
182
|
+
commit_message_template: |
|
|
183
|
+
chore(checkpoint): Auto-checkpoint {{trigger}}
|
|
184
|
+
|
|
185
|
+
Stage: {{stage_id}}
|
|
186
|
+
Trigger: {{trigger_reason}}
|
|
187
|
+
Files: {{file_count}}
|
|
188
|
+
|
|
189
|
+
push_tags: false # true면 원격에 태그 푸시
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Context Management Configuration
|
|
2
|
+
# ax-templates-3 컨텍스트 관리 설정
|
|
3
|
+
|
|
4
|
+
context_management:
|
|
5
|
+
# 퍼센트 기반 임계값 (남은 컨텍스트 기준)
|
|
6
|
+
thresholds:
|
|
7
|
+
warning: 60 # 60% 남으면 경고 표시
|
|
8
|
+
action: 50 # 50% 남으면 자동 저장 + 압축 권장
|
|
9
|
+
critical: 40 # 40% 남으면 /clear 강제 권고
|
|
10
|
+
|
|
11
|
+
# 태스크 기반 저장 주기
|
|
12
|
+
task_save_frequency: 5 # 5개 태스크마다 자동 상태 저장
|
|
13
|
+
|
|
14
|
+
# 예상 최대 토큰 (Claude 기준)
|
|
15
|
+
max_tokens: 200000
|
|
16
|
+
|
|
17
|
+
# 자동 동작 설정
|
|
18
|
+
auto_actions:
|
|
19
|
+
on_warning:
|
|
20
|
+
- display_warning_banner
|
|
21
|
+
- calculate_compression_ratio
|
|
22
|
+
|
|
23
|
+
on_action_threshold:
|
|
24
|
+
- save_state_to_file
|
|
25
|
+
- generate_context_summary
|
|
26
|
+
- suggest_compression
|
|
27
|
+
|
|
28
|
+
on_critical:
|
|
29
|
+
- force_state_save
|
|
30
|
+
- generate_recovery_handoff
|
|
31
|
+
- prompt_clear_confirmation # 사용자 확인 후 /clear 실행
|
|
32
|
+
|
|
33
|
+
# 상태 저장 설정
|
|
34
|
+
state_saving:
|
|
35
|
+
directory: "state/context"
|
|
36
|
+
filename_format: "state_{timestamp}_{stage}.md"
|
|
37
|
+
|
|
38
|
+
# 저장 트리거
|
|
39
|
+
triggers:
|
|
40
|
+
- threshold_crossed
|
|
41
|
+
- task_batch_complete
|
|
42
|
+
- manual_checkpoint
|
|
43
|
+
- stage_transition
|
|
44
|
+
|
|
45
|
+
# 저장할 항목
|
|
46
|
+
include:
|
|
47
|
+
- current_stage
|
|
48
|
+
- progress_summary
|
|
49
|
+
- active_tasks
|
|
50
|
+
- key_decisions
|
|
51
|
+
- recovery_instructions
|
|
52
|
+
- file_modifications
|
|
53
|
+
|
|
54
|
+
# 컨텍스트 압축 설정
|
|
55
|
+
compression:
|
|
56
|
+
auto_activate_at: 50 # action 임계값에서 자동 활성화
|
|
57
|
+
|
|
58
|
+
strategies:
|
|
59
|
+
- name: "summarize_completed"
|
|
60
|
+
description: "완료된 작업을 요약으로 대체"
|
|
61
|
+
priority: 1
|
|
62
|
+
|
|
63
|
+
- name: "externalize_code"
|
|
64
|
+
description: "코드 블록을 파일 참조로 대체"
|
|
65
|
+
priority: 2
|
|
66
|
+
|
|
67
|
+
- name: "handoff_generation"
|
|
68
|
+
description: "현재 상태를 HANDOFF.md로 외부화"
|
|
69
|
+
priority: 3
|
|
70
|
+
|
|
71
|
+
# 모니터링 설정
|
|
72
|
+
monitoring:
|
|
73
|
+
display_in_prompt: true
|
|
74
|
+
update_interval: "per_response"
|
|
75
|
+
|
|
76
|
+
# 상태 표시 형식
|
|
77
|
+
display_format: |
|
|
78
|
+
[Context: {remaining_percent}% | {remaining_tokens}k tokens]
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Git Configuration
|
|
2
|
+
# ax-templates-3 Git 자동 커밋 규칙 (Issue #15 해결)
|
|
3
|
+
|
|
4
|
+
git:
|
|
5
|
+
# 자동 커밋 설정
|
|
6
|
+
auto_commit:
|
|
7
|
+
enabled: true
|
|
8
|
+
|
|
9
|
+
# 트리거 이벤트
|
|
10
|
+
triggers:
|
|
11
|
+
on_task_complete: true # 태스크 완료 시
|
|
12
|
+
on_stage_complete: true # 스테이지 완료 시
|
|
13
|
+
on_checkpoint: true # 체크포인트 생성 시
|
|
14
|
+
on_milestone: true # 마일스톤 완료 시
|
|
15
|
+
|
|
16
|
+
# 커밋 메시지 규칙 (Conventional Commits)
|
|
17
|
+
commit_convention:
|
|
18
|
+
format: "<type>(<scope>): <description>"
|
|
19
|
+
|
|
20
|
+
# 커밋 타입
|
|
21
|
+
types:
|
|
22
|
+
- name: "feat"
|
|
23
|
+
description: "새로운 기능 추가"
|
|
24
|
+
stages: ["06-implementation"]
|
|
25
|
+
|
|
26
|
+
- name: "fix"
|
|
27
|
+
description: "버그 수정"
|
|
28
|
+
stages: ["08-qa"]
|
|
29
|
+
|
|
30
|
+
- name: "refactor"
|
|
31
|
+
description: "코드 리팩토링"
|
|
32
|
+
stages: ["07-refactoring"]
|
|
33
|
+
|
|
34
|
+
- name: "test"
|
|
35
|
+
description: "테스트 추가/수정"
|
|
36
|
+
stages: ["09-testing"]
|
|
37
|
+
|
|
38
|
+
- name: "docs"
|
|
39
|
+
description: "문서 수정"
|
|
40
|
+
stages: ["all"]
|
|
41
|
+
|
|
42
|
+
- name: "chore"
|
|
43
|
+
description: "기타 변경사항"
|
|
44
|
+
stages: ["10-deployment"]
|
|
45
|
+
|
|
46
|
+
- name: "style"
|
|
47
|
+
description: "코드 스타일 변경"
|
|
48
|
+
stages: ["04-ui-ux", "06-implementation"]
|
|
49
|
+
|
|
50
|
+
- name: "perf"
|
|
51
|
+
description: "성능 개선"
|
|
52
|
+
stages: ["07-refactoring"]
|
|
53
|
+
|
|
54
|
+
- name: "ci"
|
|
55
|
+
description: "CI/CD 설정"
|
|
56
|
+
stages: ["10-deployment"]
|
|
57
|
+
|
|
58
|
+
# 스테이지별 스코프 매핑
|
|
59
|
+
scope_mapping:
|
|
60
|
+
"01-brainstorm": "brainstorm"
|
|
61
|
+
"02-research": "research"
|
|
62
|
+
"03-planning": "plan"
|
|
63
|
+
"04-ui-ux": "ui"
|
|
64
|
+
"05-task-management": "tasks"
|
|
65
|
+
"06-implementation": "impl"
|
|
66
|
+
"07-refactoring": "refactor"
|
|
67
|
+
"08-qa": "qa"
|
|
68
|
+
"09-testing": "test"
|
|
69
|
+
"10-deployment": "deploy"
|
|
70
|
+
|
|
71
|
+
# 설명 규칙
|
|
72
|
+
description_rules:
|
|
73
|
+
max_length: 72
|
|
74
|
+
language: "Korean" # Korean | English
|
|
75
|
+
start_with_verb: true # 동사로 시작
|
|
76
|
+
no_period_at_end: true # 끝에 마침표 없음
|
|
77
|
+
|
|
78
|
+
# 커밋 메시지 예시
|
|
79
|
+
examples:
|
|
80
|
+
task_complete: "feat(impl): 사용자 인증 기능 구현"
|
|
81
|
+
stage_complete: "chore(impl): Stage 06 완료 - HANDOFF.md 생성"
|
|
82
|
+
bug_fix: "fix(qa): 로그인 세션 만료 버그 수정"
|
|
83
|
+
refactor: "refactor(refactor): 인증 서비스 코드 최적화"
|
|
84
|
+
test: "test(test): 사용자 인증 E2E 테스트 추가"
|
|
85
|
+
|
|
86
|
+
# 브랜치 규칙
|
|
87
|
+
branch:
|
|
88
|
+
# 브랜치 네이밍
|
|
89
|
+
naming:
|
|
90
|
+
feature: "feature/{stage}-{task-id}"
|
|
91
|
+
bugfix: "bugfix/{issue-id}"
|
|
92
|
+
release: "release/v{version}"
|
|
93
|
+
|
|
94
|
+
# 기본 브랜치
|
|
95
|
+
default: "main"
|
|
96
|
+
develop: "develop"
|
|
97
|
+
|
|
98
|
+
# 스테이지별 브랜치 전략
|
|
99
|
+
strategy: "feature-branch" # feature-branch | trunk-based
|
|
100
|
+
|
|
101
|
+
# 자동화 동작
|
|
102
|
+
automation:
|
|
103
|
+
# 태스크 완료 시
|
|
104
|
+
on_task_complete:
|
|
105
|
+
actions:
|
|
106
|
+
- "stage_changes"
|
|
107
|
+
- "generate_commit_message"
|
|
108
|
+
- "commit"
|
|
109
|
+
|
|
110
|
+
# 스테이지 완료 시
|
|
111
|
+
on_stage_complete:
|
|
112
|
+
actions:
|
|
113
|
+
- "stage_all_changes"
|
|
114
|
+
- "generate_stage_commit_message"
|
|
115
|
+
- "commit"
|
|
116
|
+
- "create_tag"
|
|
117
|
+
|
|
118
|
+
# 체크포인트 시
|
|
119
|
+
on_checkpoint:
|
|
120
|
+
actions:
|
|
121
|
+
- "commit_all"
|
|
122
|
+
- "create_checkpoint_tag"
|
|
123
|
+
|
|
124
|
+
# 커밋 메시지 생성 템플릿
|
|
125
|
+
templates:
|
|
126
|
+
task_complete: |
|
|
127
|
+
{{type}}({{scope}}): {{description}}
|
|
128
|
+
|
|
129
|
+
Task: {{task_id}}
|
|
130
|
+
Stage: {{stage_id}}
|
|
131
|
+
|
|
132
|
+
stage_complete: |
|
|
133
|
+
chore({{scope}}): Stage {{stage_number}} 완료
|
|
134
|
+
|
|
135
|
+
완료된 작업:
|
|
136
|
+
{{#each completed_tasks}}
|
|
137
|
+
- {{this}}
|
|
138
|
+
{{/each}}
|
|
139
|
+
|
|
140
|
+
다음 스테이지: {{next_stage}}
|
|
141
|
+
|
|
142
|
+
checkpoint: |
|
|
143
|
+
chore(checkpoint): {{description}}
|
|
144
|
+
|
|
145
|
+
Stage: {{stage_id}}
|
|
146
|
+
Checkpoint: {{checkpoint_id}}
|
|
147
|
+
Created: {{timestamp}}
|
|
148
|
+
|
|
149
|
+
# 금지 사항
|
|
150
|
+
prohibited:
|
|
151
|
+
- "커밋 메시지 없이 커밋"
|
|
152
|
+
- "WIP 커밋 (임시 저장용)"
|
|
153
|
+
- "대문자 시작 (영어의 경우)"
|
|
154
|
+
- "의미 없는 커밋 메시지"
|
|
155
|
+
|
|
156
|
+
# 권장 사항
|
|
157
|
+
recommended:
|
|
158
|
+
- "작은 단위 커밋"
|
|
159
|
+
- "의미 있는 커밋 메시지"
|
|
160
|
+
- "관련 파일만 스테이징"
|
|
161
|
+
- "커밋 전 lint/format 실행"
|