claude-symphony 0.0.1

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 (197) hide show
  1. package/README.md +374 -0
  2. package/bin/create.js +250 -0
  3. package/package.json +43 -0
  4. package/template/.claude/commands/benchmark.md +103 -0
  5. package/template/.claude/commands/brainstorm.md +67 -0
  6. package/template/.claude/commands/checkpoint.md +93 -0
  7. package/template/.claude/commands/codex.md +107 -0
  8. package/template/.claude/commands/collaborate.md +85 -0
  9. package/template/.claude/commands/context.md +154 -0
  10. package/template/.claude/commands/deploy.md +102 -0
  11. package/template/.claude/commands/fork.md +142 -0
  12. package/template/.claude/commands/gemini.md +84 -0
  13. package/template/.claude/commands/handoff.md +80 -0
  14. package/template/.claude/commands/implement.md +82 -0
  15. package/template/.claude/commands/init-project.md +49 -0
  16. package/template/.claude/commands/next.md +125 -0
  17. package/template/.claude/commands/planning.md +69 -0
  18. package/template/.claude/commands/qa.md +81 -0
  19. package/template/.claude/commands/refactor.md +95 -0
  20. package/template/.claude/commands/research.md +60 -0
  21. package/template/.claude/commands/restore.md +113 -0
  22. package/template/.claude/commands/run-stage.md +78 -0
  23. package/template/.claude/commands/stages.md +109 -0
  24. package/template/.claude/commands/status.md +73 -0
  25. package/template/.claude/commands/tasks.md +80 -0
  26. package/template/.claude/commands/test.md +93 -0
  27. package/template/.claude/commands/ui-ux.md +61 -0
  28. package/template/.claude/commands/validate.md +174 -0
  29. package/template/.claude/hooks/ai-selector.sh +223 -0
  30. package/template/.claude/hooks/auto-checkpoint.sh +187 -0
  31. package/template/.claude/hooks/output-validator.sh +289 -0
  32. package/template/.claude/hooks/post-stage.sh +123 -0
  33. package/template/.claude/hooks/pre-stage.sh +186 -0
  34. package/template/.claude/hooks/session-start.sh +90 -0
  35. package/template/.claude/hooks/statusline.sh +115 -0
  36. package/template/.claude/hooks/stop.sh +104 -0
  37. package/template/.claude/settings.json +149 -0
  38. package/template/.claude/skills/ai-collaboration/README.md +61 -0
  39. package/template/.claude/skills/ai-collaboration/debate.md +148 -0
  40. package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
  41. package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
  42. package/template/.claude/skills/auto-checkpoint/README.md +77 -0
  43. package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
  44. package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
  45. package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
  46. package/template/.claude/skills/context-compression/README.md +121 -0
  47. package/template/.claude/skills/context-compression/analyze.md +114 -0
  48. package/template/.claude/skills/context-compression/compress.md +175 -0
  49. package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
  50. package/template/.claude/skills/output-validator/README.md +86 -0
  51. package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
  52. package/template/.claude/skills/output-validator/validate.md +182 -0
  53. package/template/.claude/skills/smart-handoff/README.md +59 -0
  54. package/template/.claude/skills/smart-handoff/extract.md +76 -0
  55. package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
  56. package/template/.claude/skills/smart-handoff/summarize.md +94 -0
  57. package/template/.claude/skills/stage-transition/README.md +84 -0
  58. package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
  59. package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
  60. package/template/.claude/skills/stage-transition/validate.md +108 -0
  61. package/template/CLAUDE.md +528 -0
  62. package/template/config/ai_benchmarking.yaml +184 -0
  63. package/template/config/ai_collaboration.yaml +159 -0
  64. package/template/config/ai_logging.yaml +129 -0
  65. package/template/config/auto_checkpoint.yaml +189 -0
  66. package/template/config/context.yaml +78 -0
  67. package/template/config/git.yaml +161 -0
  68. package/template/config/handoff_intelligence.yaml +229 -0
  69. package/template/config/implementation.yaml.template +181 -0
  70. package/template/config/mcp_fallbacks.yaml +252 -0
  71. package/template/config/memory_integration.yaml +200 -0
  72. package/template/config/model_enforcement.yaml +141 -0
  73. package/template/config/models.yaml +242 -0
  74. package/template/config/output_validation.yaml +352 -0
  75. package/template/config/pipeline.yaml +357 -0
  76. package/template/config/pipeline_forking.yaml +236 -0
  77. package/template/config/qa_logging.yaml +166 -0
  78. package/template/config/smart_rollback.yaml +209 -0
  79. package/template/config/stage_personas.yaml +354 -0
  80. package/template/config/workflow.yaml +54 -0
  81. package/template/scripts/ai-benchmark.sh +272 -0
  82. package/template/scripts/codex-wrapper.sh +97 -0
  83. package/template/scripts/context-manager.sh +528 -0
  84. package/template/scripts/create-checkpoint.sh +116 -0
  85. package/template/scripts/gemini-wrapper.sh +96 -0
  86. package/template/scripts/init-project.sh +109 -0
  87. package/template/scripts/list-stages.sh +245 -0
  88. package/template/scripts/next-stage.sh +228 -0
  89. package/template/scripts/output-validate.sh +12 -0
  90. package/template/scripts/pipeline-fork.sh +293 -0
  91. package/template/scripts/pre-run-check.sh +361 -0
  92. package/template/scripts/restore-checkpoint.sh +247 -0
  93. package/template/scripts/run-stage.sh +139 -0
  94. package/template/scripts/show-status.sh +185 -0
  95. package/template/scripts/smart-handoff.sh +254 -0
  96. package/template/stages/01-brainstorm/CLAUDE.md +103 -0
  97. package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
  98. package/template/stages/01-brainstorm/README.md +97 -0
  99. package/template/stages/01-brainstorm/config.yaml +92 -0
  100. package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
  101. package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
  102. package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
  103. package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
  104. package/template/stages/01-brainstorm/prompts/persona.md +73 -0
  105. package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
  106. package/template/stages/01-brainstorm/prompts/validation.md +50 -0
  107. package/template/stages/01-brainstorm/templates/ideas.md +91 -0
  108. package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
  109. package/template/stages/02-research/CLAUDE.md +101 -0
  110. package/template/stages/02-research/HANDOFF.md.template +102 -0
  111. package/template/stages/02-research/config.yaml +68 -0
  112. package/template/stages/02-research/inputs/.gitkeep +0 -0
  113. package/template/stages/02-research/outputs/.gitkeep +0 -0
  114. package/template/stages/02-research/prompts/collaboration.md +51 -0
  115. package/template/stages/02-research/prompts/feasibility.md +73 -0
  116. package/template/stages/02-research/prompts/market_analysis.md +58 -0
  117. package/template/stages/02-research/prompts/tech_stack.md +60 -0
  118. package/template/stages/02-research/prompts/validation.md +51 -0
  119. package/template/stages/02-research/templates/.gitkeep +0 -0
  120. package/template/stages/03-planning/CLAUDE.md +98 -0
  121. package/template/stages/03-planning/HANDOFF.md.template +91 -0
  122. package/template/stages/03-planning/config.yaml +64 -0
  123. package/template/stages/03-planning/inputs/.gitkeep +0 -0
  124. package/template/stages/03-planning/outputs/.gitkeep +0 -0
  125. package/template/stages/03-planning/prompts/architecture.md +62 -0
  126. package/template/stages/03-planning/prompts/collaboration.md +57 -0
  127. package/template/stages/03-planning/prompts/validation.md +59 -0
  128. package/template/stages/03-planning/templates/.gitkeep +0 -0
  129. package/template/stages/04-ui-ux/CLAUDE.md +88 -0
  130. package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
  131. package/template/stages/04-ui-ux/config.yaml +57 -0
  132. package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
  133. package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
  134. package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
  135. package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
  136. package/template/stages/04-ui-ux/prompts/validation.md +54 -0
  137. package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
  138. package/template/stages/05-task-management/CLAUDE.md +105 -0
  139. package/template/stages/05-task-management/HANDOFF.md.template +97 -0
  140. package/template/stages/05-task-management/config.yaml +81 -0
  141. package/template/stages/05-task-management/inputs/.gitkeep +0 -0
  142. package/template/stages/05-task-management/outputs/.gitkeep +0 -0
  143. package/template/stages/05-task-management/prompts/.gitkeep +0 -0
  144. package/template/stages/05-task-management/prompts/collaboration.md +54 -0
  145. package/template/stages/05-task-management/prompts/validation.md +66 -0
  146. package/template/stages/05-task-management/templates/notion_integration.md +176 -0
  147. package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
  148. package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
  149. package/template/stages/06-implementation/CLAUDE.md +163 -0
  150. package/template/stages/06-implementation/HANDOFF.md.template +192 -0
  151. package/template/stages/06-implementation/config.yaml +62 -0
  152. package/template/stages/06-implementation/inputs/.gitkeep +0 -0
  153. package/template/stages/06-implementation/outputs/.gitkeep +0 -0
  154. package/template/stages/06-implementation/prompts/.gitkeep +0 -0
  155. package/template/stages/06-implementation/prompts/collaboration.md +64 -0
  156. package/template/stages/06-implementation/prompts/validation.md +65 -0
  157. package/template/stages/06-implementation/templates/.gitkeep +0 -0
  158. package/template/stages/07-refactoring/CLAUDE.md +180 -0
  159. package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
  160. package/template/stages/07-refactoring/config.yaml +68 -0
  161. package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
  162. package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
  163. package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
  164. package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
  165. package/template/stages/07-refactoring/prompts/validation.md +76 -0
  166. package/template/stages/07-refactoring/templates/.gitkeep +0 -0
  167. package/template/stages/08-qa/CLAUDE.md +93 -0
  168. package/template/stages/08-qa/HANDOFF.md.template +96 -0
  169. package/template/stages/08-qa/config.yaml +56 -0
  170. package/template/stages/08-qa/inputs/.gitkeep +0 -0
  171. package/template/stages/08-qa/outputs/.gitkeep +0 -0
  172. package/template/stages/08-qa/prompts/.gitkeep +0 -0
  173. package/template/stages/08-qa/prompts/collaboration.md +65 -0
  174. package/template/stages/08-qa/prompts/validation.md +71 -0
  175. package/template/stages/08-qa/templates/.gitkeep +0 -0
  176. package/template/stages/09-testing/CLAUDE.md +124 -0
  177. package/template/stages/09-testing/HANDOFF.md.template +113 -0
  178. package/template/stages/09-testing/config.yaml +65 -0
  179. package/template/stages/09-testing/inputs/.gitkeep +0 -0
  180. package/template/stages/09-testing/outputs/.gitkeep +0 -0
  181. package/template/stages/09-testing/prompts/.gitkeep +0 -0
  182. package/template/stages/09-testing/prompts/collaboration.md +77 -0
  183. package/template/stages/09-testing/prompts/validation.md +83 -0
  184. package/template/stages/09-testing/templates/.gitkeep +0 -0
  185. package/template/stages/10-deployment/CLAUDE.md +117 -0
  186. package/template/stages/10-deployment/HANDOFF.md.template +148 -0
  187. package/template/stages/10-deployment/config.yaml +61 -0
  188. package/template/stages/10-deployment/inputs/.gitkeep +0 -0
  189. package/template/stages/10-deployment/outputs/.gitkeep +0 -0
  190. package/template/stages/10-deployment/prompts/.gitkeep +0 -0
  191. package/template/stages/10-deployment/prompts/collaboration.md +80 -0
  192. package/template/stages/10-deployment/prompts/validation.md +93 -0
  193. package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
  194. package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
  195. package/template/state/progress.json.template +111 -0
  196. package/template/state/templates/handoff_base.md.template +187 -0
  197. package/template/state/templates/phase_state.md.template +97 -0
@@ -0,0 +1,159 @@
1
+ # claude-symphony 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
+ # claude-symphony 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
+ # claude-symphony 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
+ # claude-symphony 컨텍스트 관리 설정
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
+ # claude-symphony 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 실행"