claude-symphony 0.0.1 → 0.0.2

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 (148) hide show
  1. package/README.md +16 -12
  2. package/bin/create.js +80 -69
  3. package/package.json +1 -1
  4. package/template/.claude/commands/benchmark.md +32 -32
  5. package/template/.claude/commands/brainstorm.md +33 -33
  6. package/template/.claude/commands/checkpoint.md +42 -42
  7. package/template/.claude/commands/codex.md +52 -52
  8. package/template/.claude/commands/collaborate.md +47 -47
  9. package/template/.claude/commands/context.md +77 -77
  10. package/template/.claude/commands/deploy.md +50 -50
  11. package/template/.claude/commands/fork.md +46 -46
  12. package/template/.claude/commands/gemini.md +43 -43
  13. package/template/.claude/commands/handoff.md +42 -42
  14. package/template/.claude/commands/implement.md +42 -42
  15. package/template/.claude/commands/init-project.md +25 -25
  16. package/template/.claude/commands/next.md +67 -67
  17. package/template/.claude/commands/planning.md +38 -38
  18. package/template/.claude/commands/qa.md +47 -47
  19. package/template/.claude/commands/refactor.md +50 -50
  20. package/template/.claude/commands/research.md +31 -31
  21. package/template/.claude/commands/restore.md +53 -53
  22. package/template/.claude/commands/run-stage.md +45 -45
  23. package/template/.claude/commands/stages.md +49 -49
  24. package/template/.claude/commands/status.md +41 -41
  25. package/template/.claude/commands/tasks.md +33 -33
  26. package/template/.claude/commands/test.md +45 -45
  27. package/template/.claude/commands/ui-ux.md +31 -31
  28. package/template/.claude/commands/validate.md +81 -81
  29. package/template/.claude/hooks/ai-selector.sh +39 -39
  30. package/template/.claude/hooks/auto-checkpoint.sh +30 -30
  31. package/template/.claude/hooks/output-validator.sh +45 -45
  32. package/template/.claude/hooks/post-stage.sh +28 -28
  33. package/template/.claude/hooks/pre-stage.sh +47 -47
  34. package/template/.claude/hooks/session-start.sh +27 -27
  35. package/template/.claude/hooks/statusline.sh +24 -24
  36. package/template/.claude/hooks/stop.sh +26 -26
  37. package/template/.claude/settings.json +32 -32
  38. package/template/.claude/skills/ai-collaboration/README.md +31 -31
  39. package/template/.claude/skills/ai-collaboration/debate.md +66 -66
  40. package/template/.claude/skills/ai-collaboration/parallel.md +34 -34
  41. package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +59 -63
  42. package/template/.claude/skills/auto-checkpoint/README.md +46 -46
  43. package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +68 -72
  44. package/template/.claude/skills/auto-checkpoint/rollback.md +95 -95
  45. package/template/.claude/skills/auto-checkpoint/trigger.md +37 -37
  46. package/template/.claude/skills/context-compression/README.md +69 -69
  47. package/template/.claude/skills/context-compression/analyze.md +74 -74
  48. package/template/.claude/skills/context-compression/compress.md +103 -103
  49. package/template/.claude/skills/context-compression/prompts/compression.md +78 -78
  50. package/template/.claude/skills/output-validator/README.md +33 -33
  51. package/template/.claude/skills/output-validator/prompts/CLAUDE.md +74 -78
  52. package/template/.claude/skills/output-validator/validate.md +76 -76
  53. package/template/.claude/skills/smart-handoff/README.md +35 -35
  54. package/template/.claude/skills/smart-handoff/extract.md +42 -42
  55. package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +52 -54
  56. package/template/.claude/skills/smart-handoff/summarize.md +55 -55
  57. package/template/.claude/skills/stage-transition/README.md +50 -50
  58. package/template/.claude/skills/stage-transition/handoff-gen.md +89 -89
  59. package/template/.claude/skills/stage-transition/prompts/transition.md +74 -74
  60. package/template/.claude/skills/stage-transition/validate.md +41 -41
  61. package/template/CLAUDE.md +334 -335
  62. package/template/config/ai_benchmarking.yaml +22 -22
  63. package/template/config/ai_collaboration.yaml +18 -18
  64. package/template/config/ai_logging.yaml +50 -50
  65. package/template/config/auto_checkpoint.yaml +32 -32
  66. package/template/config/context.yaml +20 -20
  67. package/template/config/git.yaml +51 -51
  68. package/template/config/handoff_intelligence.yaml +23 -23
  69. package/template/config/mcp_fallbacks.yaml +71 -71
  70. package/template/config/memory_integration.yaml +23 -23
  71. package/template/config/model_enforcement.yaml +53 -53
  72. package/template/config/models.yaml +24 -24
  73. package/template/config/output_validation.yaml +44 -44
  74. package/template/config/pipeline.yaml +25 -25
  75. package/template/config/pipeline_forking.yaml +40 -40
  76. package/template/config/qa_logging.yaml +67 -67
  77. package/template/config/smart_rollback.yaml +48 -48
  78. package/template/config/stage_personas.yaml +154 -154
  79. package/template/config/workflow.yaml +16 -16
  80. package/template/scripts/ai-benchmark.sh +41 -41
  81. package/template/scripts/codex-wrapper.sh +32 -32
  82. package/template/scripts/context-manager.sh +136 -136
  83. package/template/scripts/create-checkpoint.sh +34 -34
  84. package/template/scripts/gemini-wrapper.sh +31 -31
  85. package/template/scripts/init-project.sh +40 -40
  86. package/template/scripts/list-stages.sh +30 -30
  87. package/template/scripts/next-stage.sh +67 -67
  88. package/template/scripts/output-validate.sh +2 -2
  89. package/template/scripts/pipeline-fork.sh +68 -68
  90. package/template/scripts/pre-run-check.sh +84 -84
  91. package/template/scripts/restore-checkpoint.sh +50 -50
  92. package/template/scripts/run-stage.sh +44 -44
  93. package/template/scripts/show-status.sh +30 -30
  94. package/template/scripts/smart-handoff.sh +70 -70
  95. package/template/stages/01-brainstorm/CLAUDE.md +70 -74
  96. package/template/stages/01-brainstorm/README.md +54 -54
  97. package/template/stages/01-brainstorm/config.yaml +18 -18
  98. package/template/stages/01-brainstorm/prompts/collaboration.md +24 -24
  99. package/template/stages/01-brainstorm/prompts/ideation.md +41 -41
  100. package/template/stages/01-brainstorm/prompts/persona.md +50 -50
  101. package/template/stages/01-brainstorm/prompts/requirements.md +55 -55
  102. package/template/stages/01-brainstorm/prompts/validation.md +28 -28
  103. package/template/stages/01-brainstorm/templates/ideas.md +47 -47
  104. package/template/stages/01-brainstorm/templates/requirements_analysis.md +61 -61
  105. package/template/stages/02-research/CLAUDE.md +72 -76
  106. package/template/stages/02-research/config.yaml +12 -12
  107. package/template/stages/02-research/prompts/collaboration.md +29 -29
  108. package/template/stages/02-research/prompts/feasibility.md +38 -38
  109. package/template/stages/02-research/prompts/market_analysis.md +29 -29
  110. package/template/stages/02-research/prompts/tech_stack.md +34 -34
  111. package/template/stages/02-research/prompts/validation.md +29 -29
  112. package/template/stages/03-planning/CLAUDE.md +88 -92
  113. package/template/stages/03-planning/config.yaml +10 -10
  114. package/template/stages/03-planning/prompts/architecture.md +43 -43
  115. package/template/stages/03-planning/prompts/collaboration.md +34 -34
  116. package/template/stages/03-planning/prompts/validation.md +34 -34
  117. package/template/stages/04-ui-ux/CLAUDE.md +68 -72
  118. package/template/stages/04-ui-ux/config.yaml +5 -5
  119. package/template/stages/04-ui-ux/prompts/collaboration.md +35 -35
  120. package/template/stages/04-ui-ux/prompts/validation.md +30 -30
  121. package/template/stages/05-task-management/CLAUDE.md +81 -85
  122. package/template/stages/05-task-management/config.yaml +17 -17
  123. package/template/stages/05-task-management/prompts/collaboration.md +30 -30
  124. package/template/stages/05-task-management/prompts/validation.md +33 -33
  125. package/template/stages/05-task-management/templates/notion_integration.md +70 -70
  126. package/template/stages/05-task-management/templates/parallel_groups.yaml +64 -64
  127. package/template/stages/05-task-management/templates/task_schema.yaml +33 -33
  128. package/template/stages/06-implementation/CLAUDE.md +117 -121
  129. package/template/stages/06-implementation/config.yaml +10 -10
  130. package/template/stages/06-implementation/prompts/collaboration.md +29 -29
  131. package/template/stages/06-implementation/prompts/validation.md +36 -36
  132. package/template/stages/07-refactoring/CLAUDE.md +120 -124
  133. package/template/stages/07-refactoring/config.yaml +11 -11
  134. package/template/stages/07-refactoring/prompts/collaboration.md +36 -36
  135. package/template/stages/07-refactoring/prompts/validation.md +40 -40
  136. package/template/stages/08-qa/CLAUDE.md +80 -84
  137. package/template/stages/08-qa/config.yaml +7 -7
  138. package/template/stages/08-qa/prompts/collaboration.md +34 -34
  139. package/template/stages/08-qa/prompts/validation.md +41 -41
  140. package/template/stages/09-testing/CLAUDE.md +86 -90
  141. package/template/stages/09-testing/config.yaml +10 -10
  142. package/template/stages/09-testing/prompts/collaboration.md +38 -38
  143. package/template/stages/09-testing/prompts/validation.md +41 -41
  144. package/template/stages/10-deployment/CLAUDE.md +86 -90
  145. package/template/stages/10-deployment/config.yaml +11 -11
  146. package/template/stages/10-deployment/prompts/collaboration.md +37 -37
  147. package/template/stages/10-deployment/prompts/validation.md +54 -54
  148. package/template/stages/10-deployment/templates/github-actions-cd.yaml +1 -1
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- # next-stage.sh - 다음 스테이지로 전환
2
+ # next-stage.sh - Transition to next stage
3
3
  # claude-symphony workflow pipeline
4
4
 
5
5
  set -e
@@ -8,7 +8,7 @@ PROJECT_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
8
8
  PROGRESS_FILE="$PROJECT_ROOT/state/progress.json"
9
9
  STAGES_DIR="$PROJECT_ROOT/stages"
10
10
 
11
- # 색상 정의
11
+ # Color definitions
12
12
  RED='\033[0;31m'
13
13
  GREEN='\033[0;32m'
14
14
  YELLOW='\033[1;33m'
@@ -18,7 +18,7 @@ WHITE='\033[1;37m'
18
18
  GRAY='\033[0;90m'
19
19
  NC='\033[0m' # No Color
20
20
 
21
- # 옵션 처리
21
+ # Option handling
22
22
  FORCE_MODE=false
23
23
  PREVIEW_MODE=false
24
24
  NO_HANDOFF=false
@@ -33,33 +33,33 @@ while [[ "$#" -gt 0 ]]; do
33
33
  shift
34
34
  done
35
35
 
36
- # jq 확인
36
+ # Check jq
37
37
  if ! command -v jq &> /dev/null; then
38
- echo -e "${RED}오류:${NC} jq 필요합니다."
38
+ echo -e "${RED}Error:${NC} jq is required."
39
39
  exit 1
40
40
  fi
41
41
 
42
- # progress.json 확인
42
+ # Check progress.json
43
43
  if [ ! -f "$PROGRESS_FILE" ]; then
44
- echo -e "${RED}오류:${NC} progress.json을 찾을 수 없습니다."
45
- echo " 먼저 /init-project 실행하세요."
44
+ echo -e "${RED}Error:${NC} Cannot find progress.json."
45
+ echo " Please run /init-project first."
46
46
  exit 1
47
47
  fi
48
48
 
49
- # 스테이지 정보
49
+ # Stage info
50
50
  declare -a STAGE_IDS=("01-brainstorm" "02-research" "03-planning" "04-ui-ux" "05-task-management" "06-implementation" "07-refactoring" "08-qa" "09-testing" "10-deployment")
51
51
  declare -a CHECKPOINT_REQUIRED=("false" "false" "false" "false" "false" "true" "true" "false" "false" "false")
52
52
 
53
- # 현재 스테이지 확인
53
+ # Check current stage
54
54
  CURRENT_STAGE=$(jq -r '.current_stage // "none"' "$PROGRESS_FILE")
55
55
 
56
56
  if [ "$CURRENT_STAGE" == "none" ] || [ -z "$CURRENT_STAGE" ]; then
57
- echo -e "${RED}오류:${NC} 진행 중인 스테이지가 없습니다."
58
- echo " /run-stage 01 또는 /brainstorm으로 시작하세요."
57
+ echo -e "${RED}Error:${NC} No stage in progress."
58
+ echo " Start with /run-stage 01 or /brainstorm."
59
59
  exit 1
60
60
  fi
61
61
 
62
- # 현재 스테이지 인덱스 찾기
62
+ # Find current stage index
63
63
  CURRENT_IDX=-1
64
64
  for i in "${!STAGE_IDS[@]}"; do
65
65
  if [ "${STAGE_IDS[$i]}" == "$CURRENT_STAGE" ]; then
@@ -69,21 +69,21 @@ for i in "${!STAGE_IDS[@]}"; do
69
69
  done
70
70
 
71
71
  if [ $CURRENT_IDX -eq -1 ]; then
72
- echo -e "${RED}오류:${NC} 없는 스테이지: $CURRENT_STAGE"
72
+ echo -e "${RED}Error:${NC} Unknown stage: $CURRENT_STAGE"
73
73
  exit 1
74
74
  fi
75
75
 
76
- # 다음 스테이지 확인
76
+ # Check next stage
77
77
  NEXT_IDX=$((CURRENT_IDX + 1))
78
78
  if [ $NEXT_IDX -ge ${#STAGE_IDS[@]} ]; then
79
79
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
80
- echo -e "🎉 ${GREEN}파이프라인 완료!${NC}"
80
+ echo -e "🎉 ${GREEN}Pipeline Complete!${NC}"
81
81
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
82
- echo "모든 10 스테이지가 완료되었습니다."
82
+ echo "All 10 stages have been completed."
83
83
  echo ""
84
- echo "최종 검토:"
85
- echo " - /status 전체 상태 확인"
86
- echo " - state/handoffs/ 에서 핸드오프 문서 검토"
84
+ echo "Final review:"
85
+ echo " - Check overall status with /status"
86
+ echo " - Review handoff documents in state/handoffs/"
87
87
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
88
88
  exit 0
89
89
  fi
@@ -93,71 +93,71 @@ CURRENT_STAGE_DIR="$STAGES_DIR/$CURRENT_STAGE"
93
93
  NEXT_STAGE_DIR="$STAGES_DIR/$NEXT_STAGE"
94
94
 
95
95
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
96
- echo -e "🔄 ${WHITE}스테이지 전환${NC}"
96
+ echo -e "🔄 ${WHITE}Stage Transition${NC}"
97
97
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
98
- echo -e "현재: ${CYAN}$CURRENT_STAGE${NC} → 다음: ${GREEN}$NEXT_STAGE${NC}"
98
+ echo -e "Current: ${CYAN}$CURRENT_STAGE${NC} → Next: ${GREEN}$NEXT_STAGE${NC}"
99
99
  echo ""
100
100
 
101
- # 완료 조건 검증
102
- echo -e "${BLUE}[완료 조건 검증]${NC}"
101
+ # Validate completion conditions
102
+ echo -e "${BLUE}[Completion Validation]${NC}"
103
103
  VALIDATION_FAILED=false
104
104
 
105
- # outputs 디렉토리 확인
105
+ # Check outputs directory
106
106
  if [ -d "$CURRENT_STAGE_DIR/outputs" ]; then
107
107
  OUTPUT_COUNT=$(find "$CURRENT_STAGE_DIR/outputs" -type f 2>/dev/null | wc -l | tr -d ' ')
108
108
  if [ "$OUTPUT_COUNT" -gt 0 ]; then
109
- echo -e "${GREEN}✓${NC} outputs 파일 존재 (${OUTPUT_COUNT})"
109
+ echo -e "${GREEN}✓${NC} Output files exist (${OUTPUT_COUNT} files)"
110
110
  else
111
- echo -e "${RED}✗${NC} outputs 파일 없음"
111
+ echo -e "${RED}✗${NC} No output files"
112
112
  VALIDATION_FAILED=true
113
113
  fi
114
114
  else
115
- echo -e "${RED}✗${NC} outputs 디렉토리 없음"
115
+ echo -e "${RED}✗${NC} No outputs directory"
116
116
  VALIDATION_FAILED=true
117
117
  fi
118
118
 
119
- # 체크포인트 필수 여부 확인
119
+ # Check if checkpoint is required
120
120
  NEEDS_CHECKPOINT="${CHECKPOINT_REQUIRED[$CURRENT_IDX]}"
121
121
  if [ "$NEEDS_CHECKPOINT" == "true" ]; then
122
- # 현재 스테이지의 체크포인트가 있는지 확인
122
+ # Check if checkpoint exists for current stage
123
123
  STAGE_NUM=$(echo "$CURRENT_STAGE" | cut -d'-' -f1)
124
124
  CP_EXISTS=$(ls -d "$PROJECT_ROOT/state/checkpoints/CP-$STAGE_NUM-"* 2>/dev/null | head -1 || true)
125
125
 
126
126
  if [ -n "$CP_EXISTS" ]; then
127
- echo -e "${GREEN}✓${NC} 체크포인트 존재"
127
+ echo -e "${GREEN}✓${NC} Checkpoint exists"
128
128
  else
129
- echo -e "${RED}✗${NC} 체크포인트 필수 (미생성)"
129
+ echo -e "${RED}✗${NC} Checkpoint required (not created)"
130
130
  VALIDATION_FAILED=true
131
131
  fi
132
132
  fi
133
133
 
134
134
  echo ""
135
135
 
136
- # 검증 실패
136
+ # On validation failure
137
137
  if [ "$VALIDATION_FAILED" = true ] && [ "$FORCE_MODE" = false ]; then
138
138
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
139
- echo -e "${YELLOW}⚠️ 스테이지 전환 조건 미충족${NC}"
139
+ echo -e "${YELLOW}⚠️ Stage transition conditions not met${NC}"
140
140
  echo ""
141
- echo "다음 단계:"
141
+ echo "Next steps:"
142
142
  if [ "$NEEDS_CHECKPOINT" == "true" ]; then
143
- echo " 1. /checkpoint 실행"
143
+ echo " 1. Run /checkpoint"
144
144
  fi
145
- echo " 2. outputs 파일 생성 확인"
146
- echo " 3. /next --force 강제 전환 (비권장)"
145
+ echo " 2. Verify output files are generated"
146
+ echo " 3. Force transition with /next --force (not recommended)"
147
147
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
148
148
  exit 1
149
149
  fi
150
150
 
151
- # 미리보기 모드
151
+ # Preview mode
152
152
  if [ "$PREVIEW_MODE" = true ]; then
153
- echo -e "${YELLOW}[PREVIEW] 실제 전환을 실행하지 않습니다.${NC}"
153
+ echo -e "${YELLOW}[PREVIEW] Not executing actual transition.${NC}"
154
154
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
155
155
  exit 0
156
156
  fi
157
157
 
158
- # HANDOFF.md 생성
158
+ # Generate HANDOFF.md
159
159
  if [ "$NO_HANDOFF" = false ]; then
160
- echo -e "${BLUE}[HANDOFF.md 생성]${NC}"
160
+ echo -e "${BLUE}[Generating HANDOFF.md]${NC}"
161
161
 
162
162
  HANDOFF_FILE="$CURRENT_STAGE_DIR/HANDOFF.md"
163
163
  TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
@@ -166,41 +166,41 @@ if [ "$NO_HANDOFF" = false ]; then
166
166
  cat > "$HANDOFF_FILE" << EOF
167
167
  # Handoff: $CURRENT_STAGE → $NEXT_STAGE
168
168
 
169
- 생성일: $TIMESTAMP_READABLE
169
+ Created: $TIMESTAMP_READABLE
170
170
 
171
- ## 완료된 작업
171
+ ## Completed Tasks
172
172
 
173
- - [x] $CURRENT_STAGE 스테이지 실행
174
- - [x] outputs 파일 생성
173
+ - [x] Executed $CURRENT_STAGE stage
174
+ - [x] Generated output files
175
175
 
176
- ## 핵심 산출물
176
+ ## Key Deliverables
177
177
 
178
178
  $(find "$CURRENT_STAGE_DIR/outputs" -type f -name "*.md" -o -name "*.json" -o -name "*.yaml" 2>/dev/null | while read -r f; do echo "- $(basename "$f")"; done)
179
179
 
180
- ## 다음 단계
180
+ ## Next Steps
181
181
 
182
- 다음 스테이지 ($NEXT_STAGE) 시작을 위한 지침:
183
- 1. stages/$NEXT_STAGE/CLAUDE.md 참조
184
- 2. 입력 파일 확인: stages/$CURRENT_STAGE/outputs/
182
+ Instructions for starting next stage ($NEXT_STAGE):
183
+ 1. Reference stages/$NEXT_STAGE/CLAUDE.md
184
+ 2. Input files: stages/$CURRENT_STAGE/outputs/
185
185
 
186
- ## 참고사항
186
+ ## Notes
187
187
 
188
- - 자동 생성된 핸드오프 문서입니다.
189
- - 필요시 수동으로 보완해 주세요.
188
+ - This is an auto-generated handoff document.
189
+ - Please supplement manually if needed.
190
190
  EOF
191
191
 
192
- echo -e "${GREEN}✓${NC} $HANDOFF_FILE 생성됨"
192
+ echo -e "${GREEN}✓${NC} $HANDOFF_FILE generated"
193
193
 
194
- # 핸드오프 아카이브에 복사
194
+ # Copy to handoff archive
195
195
  mkdir -p "$PROJECT_ROOT/state/handoffs"
196
196
  cp "$HANDOFF_FILE" "$PROJECT_ROOT/state/handoffs/${CURRENT_STAGE}-HANDOFF.md"
197
197
  fi
198
198
 
199
- # 상태 업데이트
199
+ # Update status
200
200
  echo ""
201
- echo -e "${BLUE}[상태 업데이트]${NC}"
201
+ echo -e "${BLUE}[Status Update]${NC}"
202
202
 
203
- # progress.json 업데이트
203
+ # Update progress.json
204
204
  jq ".current_stage = \"$NEXT_STAGE\" | \
205
205
  .stages.\"$CURRENT_STAGE\".status = \"completed\" | \
206
206
  .stages.\"$CURRENT_STAGE\".completed_at = \"$(date -u +"%Y-%m-%dT%H:%M:%SZ")\" | \
@@ -210,19 +210,19 @@ jq ".current_stage = \"$NEXT_STAGE\" | \
210
210
 
211
211
  echo -e "${GREEN}✓${NC} $CURRENT_STAGE: completed"
212
212
  echo -e "${GREEN}✓${NC} $NEXT_STAGE: in_progress"
213
- echo -e "${GREEN}✓${NC} progress.json 업데이트됨"
213
+ echo -e "${GREEN}✓${NC} progress.json updated"
214
214
 
215
- # 완료 메시지
215
+ # Completion message
216
216
  echo ""
217
217
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
218
- echo -e "${GREEN}✅${NC} ${WHITE}$NEXT_STAGE${NC} 스테이지 시작!"
218
+ echo -e "${GREEN}✅${NC} ${WHITE}$NEXT_STAGE${NC} stage started!"
219
219
  echo ""
220
- echo "다음 작업:"
221
- echo " 1. stages/$NEXT_STAGE/CLAUDE.md 참조"
222
- echo " 2. 입력 파일: stages/$CURRENT_STAGE/outputs/"
220
+ echo "Next tasks:"
221
+ echo " 1. Reference stages/$NEXT_STAGE/CLAUDE.md"
222
+ echo " 2. Input files: stages/$CURRENT_STAGE/outputs/"
223
223
 
224
- # 단축 명령어 안내
224
+ # Shortcut command guidance
225
225
  declare -a SHORTCUTS=("brainstorm" "research" "planning" "ui-ux" "tasks" "implement" "refactor" "qa" "test" "deploy")
226
- echo " 3. 단축 명령어: /${SHORTCUTS[$NEXT_IDX]}"
226
+ echo " 3. Shortcut command: /${SHORTCUTS[$NEXT_IDX]}"
227
227
 
228
228
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
  # claude-symphony Output Validation Script
3
- # 산출물 검증 실행
3
+ # Run output validation
4
4
 
5
5
  set -e
6
6
 
@@ -8,5 +8,5 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
8
  PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
9
9
  HOOKS_DIR="$PROJECT_ROOT/.claude/hooks"
10
10
 
11
- # 검증 호출
11
+ # Call validation hook
12
12
  exec "$HOOKS_DIR/output-validator.sh" "$@"
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
  # claude-symphony Pipeline Fork Script
3
- # 파이프라인 분기 관리
3
+ # Pipeline fork management
4
4
 
5
5
  set -e
6
6
 
@@ -9,7 +9,7 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
9
9
  FORKS_DIR="$PROJECT_ROOT/state/forks"
10
10
  PROGRESS_FILE="$PROJECT_ROOT/state/progress.json"
11
11
 
12
- # 색상 정의
12
+ # Color definitions
13
13
  RED='\033[0;31m'
14
14
  GREEN='\033[0;32m'
15
15
  YELLOW='\033[1;33m'
@@ -17,13 +17,13 @@ BLUE='\033[0;34m'
17
17
  CYAN='\033[0;36m'
18
18
  NC='\033[0m'
19
19
 
20
- # 로그 함수
20
+ # Log functions
21
21
  log_info() { echo -e "${BLUE}[FORK]${NC} $1"; }
22
22
  log_success() { echo -e "${GREEN}[FORK]${NC} $1"; }
23
23
  log_warning() { echo -e "${YELLOW}[FORK]${NC} $1"; }
24
24
  log_error() { echo -e "${RED}[FORK]${NC} $1"; }
25
25
 
26
- # 현재 스테이지 확인
26
+ # Get current stage
27
27
  get_current_stage() {
28
28
  if [ -f "$PROGRESS_FILE" ]; then
29
29
  cat "$PROGRESS_FILE" 2>/dev/null | grep -o '"current_stage"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4
@@ -32,14 +32,14 @@ get_current_stage() {
32
32
  fi
33
33
  }
34
34
 
35
- # 분기 생성
35
+ # Create fork
36
36
  create_fork() {
37
37
  local reason="$1"
38
38
  local name="$2"
39
39
  local direction="$3"
40
40
 
41
41
  if [ -z "$reason" ]; then
42
- log_error "분기 이유가 필요합니다."
42
+ log_error "Fork reason is required."
43
43
  exit 1
44
44
  fi
45
45
 
@@ -52,66 +52,66 @@ create_fork() {
52
52
 
53
53
  local fork_path="$FORKS_DIR/$name"
54
54
 
55
- log_info "분기 생성 중: $name"
56
- log_info "이유: $reason"
55
+ log_info "Creating fork: $name"
56
+ log_info "Reason: $reason"
57
57
 
58
- # 현재 활성 분기 확인
58
+ # Check current active fork count
59
59
  local active_forks=$(ls -1 "$FORKS_DIR" 2>/dev/null | wc -l)
60
60
  if [ "$active_forks" -ge 3 ]; then
61
- log_error "최대 활성 분기 (3) 도달했습니다."
62
- log_info "기존 분기를 병합하거나 삭제하세요."
61
+ log_error "Maximum active fork count (3) reached."
62
+ log_info "Please merge or delete existing forks."
63
63
  exit 1
64
64
  fi
65
65
 
66
- # 분기 디렉토리 생성
66
+ # Create fork directory
67
67
  mkdir -p "$fork_path"
68
68
 
69
- # 현재 상태 복사
70
- log_info "상태 복사 중..."
69
+ # Copy current state
70
+ log_info "Copying state..."
71
71
 
72
- # 소스 코드 복사
72
+ # Copy source code
73
73
  if [ -d "$PROJECT_ROOT/stages/$stage/outputs" ]; then
74
74
  cp -r "$PROJECT_ROOT/stages/$stage/outputs" "$fork_path/" 2>/dev/null || true
75
75
  fi
76
76
 
77
- # 상태 파일 복사
77
+ # Copy state files
78
78
  mkdir -p "$fork_path/state"
79
79
  cp "$PROGRESS_FILE" "$fork_path/state/" 2>/dev/null || true
80
80
 
81
- # 분기 HANDOFF 생성
81
+ # Generate fork HANDOFF
82
82
  cat > "$fork_path/FORK_HANDOFF.md" << EOF
83
83
  # Fork HANDOFF - $name
84
84
 
85
- ## 분기 정보
86
- - **원본 스테이지**: $stage
87
- - **분기 이유**: $reason
88
- - **분기 시점**: $(date +%Y-%m-%d\ %H:%M:%S)
89
- - **탐색 방향**: ${direction:-"미지정"}
85
+ ## Fork Info
86
+ - **Origin stage**: $stage
87
+ - **Fork reason**: $reason
88
+ - **Fork time**: $(date +%Y-%m-%d\ %H:%M:%S)
89
+ - **Exploration direction**: ${direction:-"Not specified"}
90
90
 
91
- ## 분기 목표
91
+ ## Fork Goals
92
92
 
93
- [ 분기에서 달성하려는 목표]
93
+ [Goals to achieve in this fork]
94
94
 
95
- ## 평가 기준
95
+ ## Evaluation Criteria
96
96
 
97
- - 코드 품질
98
- - 성능
99
- - 유지보수성
97
+ - Code quality
98
+ - Performance
99
+ - Maintainability
100
100
 
101
- ## 병합 조건
101
+ ## Merge Conditions
102
102
 
103
- [어떤 조건이 충족되면 병합할 것인지]
103
+ [Conditions that must be met for merging]
104
104
 
105
- ## 진행 상황
105
+ ## Progress
106
106
 
107
- - [ ] 초기 설정
108
- - [ ] 구현
109
- - [ ] 테스트
110
- - [ ] 평가
107
+ - [ ] Initial setup
108
+ - [ ] Implementation
109
+ - [ ] Testing
110
+ - [ ] Evaluation
111
111
 
112
112
  EOF
113
113
 
114
- # 메타데이터 생성
114
+ # Generate metadata
115
115
  cat > "$fork_path/metadata.json" << EOF
116
116
  {
117
117
  "name": "$name",
@@ -124,16 +124,16 @@ EOF
124
124
  }
125
125
  EOF
126
126
 
127
- log_success "분기 생성 완료: $fork_path"
128
- log_info "분기 HANDOFF: $fork_path/FORK_HANDOFF.md"
127
+ log_success "Fork created: $fork_path"
128
+ log_info "Fork HANDOFF: $fork_path/FORK_HANDOFF.md"
129
129
  }
130
130
 
131
- # 분기 목록
131
+ # List forks
132
132
  list_forks() {
133
- log_info "활성 분기 목록"
133
+ log_info "Active forks list"
134
134
  echo ""
135
- echo "| ID | 이름 | 스테이지 | 상태 | 생성일 |"
136
- echo "|----|------|----------|------|--------|"
135
+ echo "| ID | Name | Stage | Status | Created |"
136
+ echo "|----|------|-------|--------|---------|"
137
137
 
138
138
  local id=1
139
139
  for fork_dir in "$FORKS_DIR"/*/; do
@@ -155,16 +155,16 @@ list_forks() {
155
155
  echo ""
156
156
  }
157
157
 
158
- # 분기 비교
158
+ # Compare forks
159
159
  compare_forks() {
160
- log_info "분기 비교"
160
+ log_info "Fork comparison"
161
161
  echo ""
162
162
  echo "=========================================="
163
- echo " 분기 비교 결과"
163
+ echo " Fork Comparison Results"
164
164
  echo "=========================================="
165
165
  echo ""
166
166
 
167
- echo "| 메트릭 | Main |"
167
+ echo "| Metric | Main |"
168
168
  for fork_dir in "$FORKS_DIR"/*/; do
169
169
  if [ -d "$fork_dir" ]; then
170
170
  echo -n " $(basename "$fork_dir") |"
@@ -180,7 +180,7 @@ compare_forks() {
180
180
  done
181
181
  echo ""
182
182
 
183
- # 시뮬레이션된 메트릭
183
+ # Simulated metrics
184
184
  echo "| Code Quality | 0.85 |"
185
185
  for fork_dir in "$FORKS_DIR"/*/; do
186
186
  if [ -d "$fork_dir" ]; then
@@ -200,60 +200,60 @@ compare_forks() {
200
200
  echo ""
201
201
  }
202
202
 
203
- # 분기 병합
203
+ # Merge fork
204
204
  merge_fork() {
205
205
  local fork_name="$1"
206
206
  local strategy="${2:-best_performer}"
207
207
 
208
208
  if [ -z "$fork_name" ]; then
209
- log_error "병합할 분기 이름이 필요합니다."
209
+ log_error "Fork name to merge is required."
210
210
  exit 1
211
211
  fi
212
212
 
213
213
  local fork_path="$FORKS_DIR/$fork_name"
214
214
 
215
215
  if [ ! -d "$fork_path" ]; then
216
- log_error "분기를 찾을 없습니다: $fork_name"
216
+ log_error "Fork not found: $fork_name"
217
217
  exit 1
218
218
  fi
219
219
 
220
- log_info "분기 병합 중: $fork_name"
221
- log_info "전략: $strategy"
220
+ log_info "Merging fork: $fork_name"
221
+ log_info "Strategy: $strategy"
222
222
 
223
- # 체크포인트 생성
223
+ # Create checkpoint
224
224
  "$SCRIPT_DIR/../.claude/hooks/auto-checkpoint.sh" create "pre_merge" 2>/dev/null || true
225
225
 
226
- # 분기 상태를 merged로 변경
226
+ # Change fork status to merged
227
227
  if [ -f "$fork_path/metadata.json" ]; then
228
228
  sed -i '' 's/"status"[[:space:]]*:[[:space:]]*"[^"]*"/"status": "merged"/g' "$fork_path/metadata.json" 2>/dev/null || \
229
229
  sed -i 's/"status"[[:space:]]*:[[:space:]]*"[^"]*"/"status": "merged"/g' "$fork_path/metadata.json"
230
230
  fi
231
231
 
232
- log_success "분기 병합 완료: $fork_name"
232
+ log_success "Fork merged: $fork_name"
233
233
  }
234
234
 
235
- # 분기 삭제
235
+ # Delete fork
236
236
  delete_fork() {
237
237
  local fork_name="$1"
238
238
 
239
239
  if [ -z "$fork_name" ]; then
240
- log_error "삭제할 분기 이름이 필요합니다."
240
+ log_error "Fork name to delete is required."
241
241
  exit 1
242
242
  fi
243
243
 
244
244
  local fork_path="$FORKS_DIR/$fork_name"
245
245
 
246
246
  if [ ! -d "$fork_path" ]; then
247
- log_error "분기를 찾을 없습니다: $fork_name"
247
+ log_error "Fork not found: $fork_name"
248
248
  exit 1
249
249
  fi
250
250
 
251
- log_warning "분기를 삭제합니다: $fork_name"
251
+ log_warning "Deleting fork: $fork_name"
252
252
  rm -rf "$fork_path"
253
- log_success "분기 삭제 완료"
253
+ log_success "Fork deleted"
254
254
  }
255
255
 
256
- # 메인 실행
256
+ # Main execution
257
257
  main() {
258
258
  local action="$1"
259
259
  shift
@@ -277,14 +277,14 @@ main() {
277
277
  delete_fork "$@"
278
278
  ;;
279
279
  *)
280
- echo "사용법: $0 {create|list|compare|merge|delete} [args]"
280
+ echo "Usage: $0 {create|list|compare|merge|delete} [args]"
281
281
  echo ""
282
- echo "명령어:"
283
- echo " create --reason \"이유\" [--name 이름] [--direction 방향]"
284
- echo " list 활성 분기 목록"
285
- echo " compare 분기 비교"
286
- echo " merge <fork_name> 분기 병합"
287
- echo " delete <fork_name> 분기 삭제"
282
+ echo "Commands:"
283
+ echo " create --reason \"reason\" [--name name] [--direction direction]"
284
+ echo " list List active forks"
285
+ echo " compare Compare forks"
286
+ echo " merge <fork_name> Merge fork"
287
+ echo " delete <fork_name> Delete fork"
288
288
  exit 1
289
289
  ;;
290
290
  esac