moai-adk 0.9.0__py3-none-any.whl → 0.15.0__py3-none-any.whl

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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (186) hide show
  1. moai_adk/cli/commands/init.py +14 -2
  2. moai_adk/cli/commands/update.py +214 -56
  3. moai_adk/core/issue_creator.py +2 -2
  4. moai_adk/core/project/detector.py +201 -12
  5. moai_adk/core/project/initializer.py +62 -1
  6. moai_adk/core/project/phase_executor.py +48 -6
  7. moai_adk/core/tags/ci_validator.py +34 -4
  8. moai_adk/core/tags/pre_commit_validator.py +40 -2
  9. moai_adk/core/tags/reporter.py +2 -3
  10. moai_adk/core/tags/validator.py +1 -1
  11. moai_adk/core/template_engine.py +20 -5
  12. moai_adk/templates/.claude/agents/alfred/backend-expert.md +319 -0
  13. moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
  14. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +1 -1
  15. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
  16. moai_adk/templates/.claude/agents/alfred/git-manager.md +2 -2
  17. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +76 -3
  18. moai_adk/templates/.claude/agents/alfred/project-manager.md +49 -10
  19. moai_adk/templates/.claude/agents/alfred/quality-gate.md +3 -3
  20. moai_adk/templates/.claude/agents/alfred/spec-builder.md +108 -3
  21. moai_adk/templates/.claude/agents/alfred/tag-agent.md +74 -0
  22. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +107 -5
  23. moai_adk/templates/.claude/agents/alfred/trust-checker.md +2 -2
  24. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +571 -0
  25. moai_adk/templates/.claude/commands/alfred/0-project.md +465 -129
  26. moai_adk/templates/.claude/commands/alfred/1-plan.md +139 -65
  27. moai_adk/templates/.claude/commands/alfred/2-run.md +214 -50
  28. moai_adk/templates/.claude/commands/alfred/3-sync.md +372 -46
  29. moai_adk/templates/.claude/commands/alfred/9-feedback.md +1 -1
  30. moai_adk/templates/.claude/hooks/alfred/core/project.py +25 -27
  31. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
  32. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
  33. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +4 -4
  34. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +29 -0
  35. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +11 -19
  36. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +11 -19
  37. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +11 -19
  38. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +10 -18
  39. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +2 -2
  40. moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +3 -3
  41. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +5 -5
  42. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +40 -41
  43. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +55 -23
  44. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +4 -4
  45. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +132 -3
  46. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +9 -10
  47. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +3 -6
  48. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +19 -0
  49. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +14 -22
  50. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
  51. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
  52. moai_adk/templates/.claude/settings.json +5 -5
  53. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
  54. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
  55. moai_adk/templates/{.moai/memory/CLAUDE-AGENTS-GUIDE.md → .claude/skills/moai-alfred-agent-guide/reference.md} +34 -0
  56. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +56 -0
  57. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
  58. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
  59. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
  60. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
  61. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
  62. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
  63. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
  64. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
  65. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
  66. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
  67. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
  68. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +74 -0
  69. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +4 -0
  70. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +269 -0
  71. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +19 -0
  72. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
  73. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +198 -0
  74. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +431 -0
  75. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +141 -0
  76. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
  77. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
  78. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
  79. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
  80. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
  81. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +273 -0
  82. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
  83. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
  84. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +19 -0
  85. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
  86. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
  87. moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/SKILL.md +5 -5
  88. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +115 -0
  89. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +4 -0
  90. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +348 -0
  91. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
  92. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
  93. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
  94. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
  95. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +19 -0
  96. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +4 -0
  97. moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL.md +3 -3
  98. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
  99. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
  100. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
  101. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +17 -13
  102. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +15 -12
  103. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +14 -12
  104. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +14 -11
  105. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +10 -8
  106. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +15 -12
  107. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +13 -11
  108. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +16 -10
  109. moai_adk/templates/.claude/skills/moai-project-documentation.md +622 -0
  110. moai_adk/templates/.git-hooks/pre-push +143 -0
  111. moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
  112. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
  113. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
  114. moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
  115. moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
  116. moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
  117. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
  118. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
  119. moai_adk/templates/.github/workflows/moai-gitflow.yml +182 -25
  120. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +35 -29
  121. moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
  122. moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
  123. moai_adk/templates/.github/workflows/release.yml +76 -7
  124. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
  125. moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
  126. moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
  127. moai_adk/templates/.github/workflows/spec-issue-sync.yml +208 -41
  128. moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
  129. moai_adk/templates/.github/workflows/tag-report.yml +269 -0
  130. moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
  131. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
  132. moai_adk/templates/.moai/config.json +3 -1
  133. moai_adk/templates/CLAUDE.md +940 -45
  134. moai_adk/templates/workflows/go-tag-validation.yml +30 -0
  135. moai_adk/templates/workflows/javascript-tag-validation.yml +41 -0
  136. moai_adk/templates/workflows/python-tag-validation.yml +42 -0
  137. moai_adk/templates/workflows/typescript-tag-validation.yml +31 -0
  138. moai_adk/utils/banner.py +5 -5
  139. {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/METADATA +1166 -455
  140. {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/RECORD +169 -109
  141. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -209
  142. moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +0 -102
  143. moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +0 -102
  144. moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +0 -102
  145. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
  146. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
  147. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
  148. moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
  149. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  150. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
  151. moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
  152. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -330
  153. moai_adk/templates/.moai/project/product.md +0 -161
  154. moai_adk/templates/.moai/project/structure.md +0 -156
  155. moai_adk/templates/.moai/project/tech.md +0 -227
  156. moai_adk/templates/README.md +0 -256
  157. moai_adk/templates/__init__.py +0 -2
  158. /moai_adk/templates/{.moai/memory/ISSUE-LABEL-MAPPING.md → .claude/skills/moai-alfred-issue-labels/reference.md} +0 -0
  159. /moai_adk/templates/{.moai/memory/CLAUDE-PRACTICES.md → .claude/skills/moai-alfred-practices/reference.md} +0 -0
  160. /moai_adk/templates/{.moai/memory/CLAUDE-RULES.md → .claude/skills/moai-alfred-rules/reference.md} +0 -0
  161. /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/README.md +0 -0
  162. /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/examples/validate-spec.sh +0 -0
  163. /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/examples.md +0 -0
  164. /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/reference.md +0 -0
  165. /moai_adk/templates/{.moai/memory/SKILLS-DESCRIPTION-POLICY.md → .claude/skills/moai-cc-skill-descriptions/reference.md} +0 -0
  166. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/CHECKLIST.md +0 -0
  167. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/EXAMPLES.md +0 -0
  168. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/INTERACTIVE-DISCOVERY.md +0 -0
  169. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/METADATA.md +0 -0
  170. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PARALLEL-ANALYSIS-REPORT.md +0 -0
  171. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PYTHON-VERSION-MATRIX.md +0 -0
  172. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-FACTORY-WORKFLOW.md +0 -0
  173. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-UPDATE-ADVISOR.md +0 -0
  174. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STEP-BY-STEP-GUIDE.md +0 -0
  175. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STRUCTURE.md +0 -0
  176. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/WEB-RESEARCH.md +0 -0
  177. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/reference.md +0 -0
  178. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/generate-structure.sh +0 -0
  179. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/validate-skill.sh +0 -0
  180. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/SKILL_TEMPLATE.md +0 -0
  181. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/examples-template.md +0 -0
  182. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/reference-template.md +0 -0
  183. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/scripts-template.sh +0 -0
  184. {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/WHEEL +0 -0
  185. {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/entry_points.txt +0 -0
  186. {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,10 +1,6 @@
1
1
  ---
2
2
  name: alfred:0-project
3
- description: "Initialize project document - create product/structure/tech.md and set optimization for each language"
4
- # Translations:
5
- # - ko: "프로젝트 문서 초기화 - product/structure/tech.md 생성 및 언어별 최적화 설정"
6
- # - ja: "プロジェクト文書の初期化 - product/structure/tech.mdの作成と言語別最適化設定"
7
- # - zh: "初始化项目文档 - 创建product/structure/tech.md并设置语言优化"
3
+ description: "Initialize project metadata and documentation"
8
4
  allowed-tools:
9
5
  - Read
10
6
  - Write
@@ -79,7 +75,7 @@ The user executes the `/alfred:8-project` command to start analyzing the project
79
75
  - ❌ Create a file in the `.claude/memory/` directory
80
76
  - ❌ Create a file `.claude/commands/alfred/*.json`
81
77
  - ❌ Unnecessary overwriting of existing documents
82
- - ❌ Date and numerical prediction (within 3 months”, 50% reduction) etc.)
78
+ - ❌ Date and numerical prediction ("within 3 months", "50% reduction") etc.)
83
79
  - ❌ Hypothetical scenarios, expected market size, future technology trend predictions
84
80
 
85
81
  **Expressions to use**:
@@ -96,6 +92,8 @@ The user executes the `/alfred:8-project` command to start analyzing the project
96
92
 
97
93
  **목적**: 프로젝트 초기화 시작 전에 대화 언어를 설정하고 사용자 닉네임을 등록합니다. 이 설정은 모든 Alfred 프롬프트, 인터뷰 질문 및 생성된 문서에 적용됩니다.
98
94
 
95
+ **UX 개선**: 2개 질문을 **1회 배치 호출**로 통합 (50% 상호작용 감소: 2 turns → 1 turn)
96
+
99
97
  ### 0.0 Alfred 자기소개 및 환영 인사
100
98
 
101
99
  Alfred가 첫 상호작용으로 다음과 같이 인사합니다:
@@ -108,79 +106,354 @@ MoAI-ADK의 SuperAgent로서 당신의 프로젝트를 함께 만들어갈 준
108
106
  먼저 기본 설정을 진행하겠습니다.
109
107
  ```
110
108
 
111
- ### 0.1 언어 선택
109
+ ### 0.1 배치 설계: 언어 선택 + 사용자 닉네임 + GitHub 설정 확인 (1-3회 호출)
110
+
111
+ Alfred가 `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` 를 사용하여 **배치 호출**로 필수 정보를 수집합니다:
112
+
113
+ **기본 배치 (항상 실행)**:
114
+ - 언어 선택
115
+ - 사용자 닉네임
112
116
 
113
- Alfred가 `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` 를 사용하여 **첫 번째 상호작용**으로 언어 선택 메뉴를 표시합니다:
117
+ **추가 배치 ( 모드 감지 )**:
118
+ - GitHub "Automatically delete head branches" 설정 확인
114
119
 
115
- **Question**:
120
+ #### 0.1.1 팀 모드 감지
121
+
122
+ ```bash
123
+ # config.json에서 mode 확인
124
+ grep "mode" .moai/config.json
125
+
126
+ # 결과: "mode": "team" → 추가 질문 포함
127
+ # "mode": "personal" → 기본 질문만 실행
128
+ ```
129
+
130
+ #### 0.1.2 기본 배치: 언어 선택 + 에이전트 프롬프트 언어 + 닉네임 (3개 질문, 1회 배치 호출)
131
+
132
+ **배치 설계**: 3개 질문을 1회 호출로 통합 (UX 개선: 3 turns → 1 turn)
133
+
134
+ **Example AskUserQuestion Call**:
135
+ ```python
136
+ AskUserQuestion(
137
+ questions=[
138
+ {
139
+ "question": "Which language would you like to use for the project initialization and documentation?",
140
+ "header": "Language",
141
+ "multiSelect": false,
142
+ "options": [
143
+ {
144
+ "label": "🌍 English",
145
+ "description": "All dialogs and documentation in English"
146
+ },
147
+ {
148
+ "label": "🇰🇷 한국어",
149
+ "description": "All dialogs and documentation in Korean"
150
+ },
151
+ {
152
+ "label": "🇯🇵 日本語",
153
+ "description": "All dialogs and documentation in Japanese"
154
+ },
155
+ {
156
+ "label": "🇨🇳 中文",
157
+ "description": "All dialogs and documentation in Chinese"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "question": "In which language should Alfred's sub-agent prompts be written?",
163
+ "header": "Agent Prompt Language",
164
+ "multiSelect": false,
165
+ "options": [
166
+ {
167
+ "label": "🌐 English (Global Standard)",
168
+ "description": "All sub-agent prompts in English for global consistency and team collaboration. Recommended for Claude Pro $20 users: reduces token usage by ~15-20%, lowering API costs"
169
+ },
170
+ {
171
+ "label": "🗣️ Selected Language (Localized)",
172
+ "description": "All sub-agent prompts in the language you selected above for local team efficiency"
173
+ }
174
+ ]
175
+ },
176
+ {
177
+ "question": "How would you like to be called in our conversations? (e.g., GOOS, Team Lead, Developer, or custom name - max 20 chars)",
178
+ "header": "Nickname",
179
+ "multiSelect": false,
180
+ "options": [
181
+ {
182
+ "label": "Enter custom nickname",
183
+ "description": "Type your preferred name using the 'Other' option below"
184
+ }
185
+ ]
186
+ }
187
+ ]
188
+ )
116
189
  ```
117
- Which language would you like to use for the project initialization and documentation?
190
+
191
+ **응답 처리**:
192
+
193
+ **Q1 (사용자 언어)**:
194
+ - Selected option stored as: `conversation_language: "ko"` (or "en", "ja", "zh", etc.)
195
+
196
+ **Q2 (에이전트 프롬프트 언어)** - **NEW**:
197
+ - **"English (Global Standard)"** → `agent_prompt_language: "english"`
198
+ - All sub-agent prompts written in English
199
+ - Recommended for global teams, code consistency, and international collaboration
200
+ - Project-manager, spec-builder, code-builder use English prompts internally
201
+ - **"Selected Language (Localized)"** → `agent_prompt_language: "localized"`
202
+ - All sub-agent prompts written in the user-selected language
203
+ - Recommended for local teams, local documentation, and native language efficiency
204
+ - Project-manager receives prompts in selected language (e.g., Korean, Japanese)
205
+
206
+ **Q3 (사용자 닉네임)**:
207
+ - Custom nickname stored as: `user.nickname: "GOOS"` (or custom input)
208
+
209
+ #### 0.1.3 팀 모드 추가 배치: GitHub 설정 & Git 워크플로우 선택 (팀 모드만)
210
+
211
+ **조건**: `config.json`에서 `"mode": "team"` 감지 시 실행
212
+
213
+ **배치 구성**: 2개 질문 (1회 호출로 통합)
214
+
215
+ **Example AskUserQuestion Call**:
216
+ ```python
217
+ AskUserQuestion(
218
+ questions=[
219
+ {
220
+ "question": "[Team Mode] Is 'Automatically delete head branches' enabled in your GitHub repository settings?",
221
+ "header": "GitHub Branch Settings",
222
+ "multiSelect": false,
223
+ "options": [
224
+ {
225
+ "label": "✅ Yes, already enabled",
226
+ "description": "PR merge 후 자동으로 원격 브랜치 삭제됨"
227
+ },
228
+ {
229
+ "label": "❌ No, not enabled (Recommended: Enable)",
230
+ "description": "Settings → General → '자동 삭제' 체크박스 확인 필요"
231
+ },
232
+ {
233
+ "label": "🤔 Not sure / Need to check",
234
+ "description": "GitHub Settings → General 확인 후 다시 진행"
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "question": "[Team Mode] Which Git workflow should we use when creating SPEC documents?",
240
+ "header": "SPEC Git Workflow",
241
+ "multiSelect": false,
242
+ "options": [
243
+ {
244
+ "label": "📋 Feature Branch + PR",
245
+ "description": "매 SPEC마다 feature 브랜치 생성 → PR 리뷰 → develop 병합. 팀 협업과 코드 리뷰에 최적"
246
+ },
247
+ {
248
+ "label": "🔄 Direct Commit to Develop",
249
+ "description": "브랜치 생성 없이 develop에 직접 커밋. 빠른 프로토타이핑과 단순 워크플로우에 최적"
250
+ },
251
+ {
252
+ "label": "🤔 Decide per SPEC",
253
+ "description": "SPEC 생성 시마다 매번 선택. 유연성이 높지만 매번 결정 필요"
254
+ }
255
+ ]
256
+ }
257
+ ]
258
+ )
118
259
  ```
119
260
 
120
- **Options** (AskUserQuestion with moai-alfred-interactive-questions):
121
- - **English** (en) — All dialogs and documentation in English
122
- - **한국어** (ko) — All dialogs and documentation in Korean
123
- - **日本語** (ja) — All dialogs and documentation in Japanese
124
- - **中文** (zh) — All dialogs and documentation in Chinese
125
- - **Other** — User can specify custom language (e.g., "Español", "Français", "Deutsch")
261
+ **응답 처리**:
126
262
 
127
- ### 0.2 Store Language Preference
263
+ **Q1 (GitHub 설정)**:
264
+ - **"Yes, already enabled"** → `auto_delete_branches: true` 저장
265
+ - **"No, not enabled"** → `auto_delete_branches: false` + 권장사항 저장
266
+ - **"Not sure"** → `auto_delete_branches: null` + 경고 메시지
128
267
 
129
- Alfred records the selected language:
268
+ **Q2 (Git 워크플로우)**:
269
+ - **"Feature Branch + PR"** → `spec_git_workflow: "feature_branch"` 저장
270
+ - `/alfred:1-plan` 실행 시 자동으로 feature 브랜치 생성
271
+ - git-manager가 PR 기반 워크플로우 적용
272
+ - **"Direct Commit to Develop"** → `spec_git_workflow: "develop_direct"` 저장
273
+ - `/alfred:1-plan` 실행 시 develop 브랜치에 직접 커밋
274
+ - 브랜치 생성 과정 생략
275
+ - **"Decide per SPEC"** → `spec_git_workflow: "per_spec"` 저장
276
+ - `/alfred:1-plan` 실행 시마다 git-manager가 사용자에게 선택 요청
130
277
 
278
+ **User Response Example**:
279
+ ```
280
+ Selected Language: 🇰🇷 한국어
281
+ Selected Nickname: GOOS (typed via "Other" option)
282
+ ```
283
+
284
+ ---
285
+
286
+ ### 0.1.4 Domain Selection (Optional - All Modes)
287
+
288
+ **Purpose**: Identify project domains to activate domain-expert agents for specialized guidance.
289
+
290
+ **When to ask**: After language/nickname/GitHub settings complete
291
+
292
+ **Batched Design**: Domain selection integrated into initial batch OR asked separately based on user preference
293
+
294
+ **Example AskUserQuestion Call**:
295
+ ```python
296
+ AskUserQuestion(
297
+ questions=[
298
+ {
299
+ "question": "Which domains does your project involve? (Select all that apply)",
300
+ "header": "Project Domains",
301
+ "multiSelect": true,
302
+ "options": [
303
+ {
304
+ "label": "🎨 Frontend",
305
+ "description": "React, Vue, Angular, Next.js, Nuxt, SvelteKit, Astro, Remix, SolidJS"
306
+ },
307
+ {
308
+ "label": "⚙️ Backend",
309
+ "description": "FastAPI, Flask, Django, Express, Fastify, NestJS, Spring Boot, Gin, Axum"
310
+ },
311
+ {
312
+ "label": "🚀 DevOps",
313
+ "description": "Railway, Vercel, Docker, Kubernetes, AWS, GCP, Azure, CI/CD"
314
+ },
315
+ {
316
+ "label": "🗄️ Database",
317
+ "description": "PostgreSQL, MySQL, MongoDB, Redis, database design and optimization"
318
+ },
319
+ {
320
+ "label": "📊 Data Science",
321
+ "description": "Data analysis, machine learning, data pipelines, notebooks"
322
+ },
323
+ {
324
+ "label": "📱 Mobile",
325
+ "description": "React Native, Flutter, iOS, Android app development"
326
+ },
327
+ {
328
+ "label": "⚡ Skip",
329
+ "description": "No domain selection (can add later via /alfred:1-plan)"
330
+ }
331
+ ]
332
+ }
333
+ ]
334
+ )
335
+ ```
336
+
337
+ **Response Processing**:
131
338
  ```json
132
339
  {
133
- "conversation_language": "ko",
134
- "conversation_language_name": "한국어",
135
- "selected_at": "2025-10-22T12:34:56Z"
340
+ "stack": {
341
+ "selected_domains": ["frontend", "backend"],
342
+ "domain_selection_date": "2025-10-23T12:34:56Z"
343
+ }
136
344
  }
137
345
  ```
138
346
 
139
- This language preference is:
140
- - Passed to all sub-agents as a context parameter
141
- - Stored in `.moai/config.json` under `language` field
142
- - Used to generate all documentation in the selected language
143
- - Displayed in CLAUDE.md under "## Project Information"
347
+ **Hint to User**: "You can always modify domains later during `/alfred:1-plan` when creating SPECs"
144
348
 
145
- ### 0.2.5 사용자 닉네임 선택
349
+ **Domain Expert Activation**:
350
+ - Selected domains stored in `.moai/config.json`
351
+ - Domain-expert agents activated during `/alfred:1-plan` (automatic keyword detection)
352
+ - Domain-expert agents available as advisors during `/alfred:2-run`
353
+ - Domain-specific sync routing enabled in `/alfred:3-sync`
146
354
 
147
- 언어 선택 완료 후, Alfred가 `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` 를 사용하여 사용자 닉네임을 요청합니다:
355
+ ---
148
356
 
149
- **질문**:
150
- ```
151
- 앞으로 대화에서 당신을 어떻게 부르면 좋을까요?
152
- (예: GOOS, 팀장님, 개발자님, 또는 자유롭게 입력)
357
+ ### 0.2 사용자 정보 저장
358
+
359
+ Alfred가 선택된 언어, 닉네임, 그리고 팀 모드 설정을 다음과 같이 저장합니다:
360
+
361
+ #### 0.2.1 기본 정보 저장 (항상) - 에이전트 프롬프트 언어 추가
362
+
363
+ ```json
364
+ {
365
+ "language": {
366
+ "conversation_language": "ko",
367
+ "conversation_language_name": "한국어",
368
+ "agent_prompt_language": "localized",
369
+ "agent_prompt_language_description": "All sub-agent prompts written in the selected language (localized)"
370
+ },
371
+ "user": {
372
+ "nickname": "GOOS",
373
+ "selected_at": "2025-10-23T12:34:56Z"
374
+ },
375
+ "stack": {
376
+ "selected_domains": ["frontend", "backend"],
377
+ "domain_selection_date": "2025-10-23T12:34:56Z"
378
+ }
379
+ }
153
380
  ```
154
381
 
155
- **입력 방식**:
156
- - 텍스트 직접 입력 가능 (자유 형식)
157
- - 예시: "GOOS", "팀장", "개발자"
158
- - 최대 20자 한도
382
+ **에이전트 프롬프트 언어 옵션**:
383
+
384
+ - **`"english"`** (Global Standard) - **💰 Claude Pro $20 사용자 추천**:
385
+ - All sub-agent prompts and internal communication in English
386
+ - Best for: International teams, global collaboration, code consistency
387
+ - Impact: Project-manager, spec-builder, code-builder all use English task prompts
388
+ - **Cost Benefit**: Reduces token usage by ~15-20% compared to non-English prompts
389
+ - English prompts are more efficient and use fewer tokens
390
+ - Significant cost savings for continuous API usage
391
+ - Example: 100,000 tokens in English ≈ 115,000-120,000 tokens in Korean/Japanese
392
+
393
+ - **`"localized"`** (Localized - Default for non-English):
394
+ - All sub-agent prompts and internal communication in selected language
395
+ - Best for: Local teams, native language efficiency, culturally-specific guidance
396
+ - Impact: Project-manager, spec-builder, code-builder all use localized task prompts
397
+ - Note: Uses ~15-20% more tokens due to language characteristics
159
398
 
160
- ### 0.2.6 사용자 정보 저장
399
+ #### 0.2.2 GitHub & Git 워크플로우 설정 저장 (팀 모드만)
400
+
401
+ **팀 모드 감지 시 추가 저장 - Feature Branch + PR 선택 시**:
402
+ ```json
403
+ {
404
+ "github": {
405
+ "auto_delete_branches": true,
406
+ "spec_git_workflow": "feature_branch",
407
+ "checked_at": "2025-10-23T12:34:56Z",
408
+ "workflow_recommendation": "Feature branch를 사용한 PR 기반 협업 워크플로우. 매 SPEC마다 feature/spec-* 브랜치 생성, PR 리뷰 후 develop 병합"
409
+ }
410
+ }
411
+ ```
161
412
 
162
- Alfred가 선택된 닉네임을 다음과 같이 저장합니다:
413
+ **또는 - Direct Commit to Develop 선택 시**:
414
+ ```json
415
+ {
416
+ "github": {
417
+ "auto_delete_branches": false,
418
+ "spec_git_workflow": "develop_direct",
419
+ "checked_at": "2025-10-23T12:34:56Z",
420
+ "workflow_recommendation": "develop 브랜치에 직접 커밋하는 단순 워크플로우. 브랜치 생성 과정 생략, 빠른 개발 속도"
421
+ }
422
+ }
423
+ ```
163
424
 
425
+ **또는 - Decide per SPEC 선택 시**:
164
426
  ```json
165
427
  {
166
- "conversation_language": "ko",
167
- "conversation_language_name": "한국어",
168
- "user_nickname": "GOOS",
169
- "selected_at": "2025-10-23T12:34:56Z"
428
+ "github": {
429
+ "auto_delete_branches": true,
430
+ "spec_git_workflow": "per_spec",
431
+ "checked_at": "2025-10-23T12:34:56Z",
432
+ "workflow_recommendation": "SPEC 생성 시마다 워크플로우 선택. /alfred:1-plan 실행 시 git-manager가 선택 요청"
433
+ }
170
434
  }
171
435
  ```
172
436
 
437
+ #### 0.2.3 저장된 정보 활용
438
+
173
439
  이 정보는:
174
440
  - 모든 sub-agents 에게 컨텍스트 파라미터로 전달됨
175
- - `.moai/config.json` 의 `user` 필드에 저장됨
176
- - CLAUDE.md의 `{{USER_NICKNAME}}` 변수로 치환됨
441
+ - `.moai/config.json` 의 `language`, `user`, `github` 필드에 저장됨
442
+ - CLAUDE.md의 `{{CONVERSATION_LANGUAGE}}` 및 `{{USER_NICKNAME}}` 변수로 치환됨
177
443
  - 모든 Alfred 대화에서 사용됨
444
+ - **팀 모드**: git-manager가 다음 워크플로우를 자동으로 적용:
445
+ - **`spec_git_workflow: "feature_branch"`**: `/alfred:1-plan` 실행 시 feature/spec-* 브랜치 생성, PR 기반 리뷰 프로세스 적용
446
+ - **`spec_git_workflow: "develop_direct"`**: `/alfred:1-plan` 실행 시 develop 브랜치에 직접 커밋, 브랜치 생성 과정 생략
447
+ - **`spec_git_workflow: "per_spec"`**: `/alfred:1-plan` 실행 시마다 사용자에게 워크플로우 선택 요청
178
448
 
179
- **예시**:
180
- ```
181
- 안녕하세요, GOOS님! 👋
449
+ **설정 완료 출력 예시**:
450
+ ```markdown
451
+ 초기 설정 완료!
452
+
453
+ 언어: 한국어 (ko)
454
+ 닉네임: GOOS
182
455
 
183
- 이제 프로젝트 환경 분석으로 진행하겠습니다...
456
+ 이제 GOOS님의 프로젝트 환경 분석으로 진행하겠습니다...
184
457
  ```
185
458
 
186
459
  ### 0.3 STEP 1로 전환
@@ -192,16 +465,6 @@ Alfred가 선택된 닉네임을 다음과 같이 저장합니다:
192
465
  - 생성된 문서 (product.md, structure.md, tech.md)가 선택된 언어로 작성됨
193
466
  - CLAUDE.md가 선택된 언어와 사용자 닉네임을 표시함
194
467
 
195
- **한국어 선택 시 출력 예시**:
196
- ```markdown
197
- ✅ 설정 완료!
198
-
199
- 언어: 한국어 (ko)
200
- 닉네임: GOOS
201
-
202
- 이제 GOOS님의 프로젝트 환경 분석으로 진행하겠습니다...
203
- ```
204
-
205
468
  ---
206
469
 
207
470
  ## 🚀 STEP 1: Environmental analysis and interview plan development
@@ -225,9 +488,9 @@ grep "optimized" .moai/config.json
225
488
  **Backup existence conditions**:
226
489
  - `.moai-backups/` directory exists
227
490
  - `.moai/project/*.md` file exists in the latest backup folder
228
- - `optimized: false` in `config.json` (immediately after reinitialization)
491
+ - User's existing project files can be merged (regardless of optimized flag)
229
492
 
230
- **Select user if backup exists**
493
+ **Select user if backup exists**
231
494
  Call `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` to display a TUI with the following options:
232
495
  - **Merge**: Merge backup contents and latest template (recommended)
233
496
  - **New**: Ignore the backup and start a new interview
@@ -238,12 +501,12 @@ Call `AskUserQuestion tool (documented in moai-alfred-interactive-questions skil
238
501
  - **"Create new"** → Proceed to Phase 1.2 (Project environment analysis) (existing process)
239
502
  - **"Skip"** → End task
240
503
 
241
- **No backup or optimized: true**:
504
+ **No backup**:
242
505
  - Proceed directly to Phase 1.2 (project environment analysis)
243
506
 
244
507
  ---
245
508
 
246
- ### 1.1 Backup merge workflow (when user selects Merge)
509
+ ### 1.1 Backup merge workflow (when user selects "Merge")
247
510
 
248
511
  **Purpose**: Restore only user customizations while maintaining the latest template structure.
249
512
 
@@ -391,7 +654,7 @@ Set optimization flags after the merge is complete:
391
654
  - Monolingual vs. hybrid vs. microservice
392
655
  - Code base size estimation
393
656
 
394
- ### 1.3 Establish interview strategy (when user selects New)
657
+ ### 1.3 Establish interview strategy (when user selects "New")
395
658
 
396
659
  **Select question tree by project type**:
397
660
 
@@ -406,7 +669,7 @@ Set optimization flags after the merge is complete:
406
669
  - **Technical Questions**: Language/Framework, Quality Policy, Deployment Strategy
407
670
  - **Governance**: Security Requirements, Traceability Strategy (Optional)
408
671
 
409
- ### 1.4 Generate Interview Plan Report (when user selects Create New)
672
+ ### 1.4 Generate Interview Plan Report (when user selects "Create New")
410
673
 
411
674
  **Format of plan to be presented to users**:
412
675
 
@@ -438,7 +701,7 @@ Set optimization flags after the merge is complete:
438
701
 
439
702
  ---
440
703
  **Approval Request**: Would you like to proceed with the interview using the above plan?
441
- (Choose Proceed,” Modify [Content],” or Abort)
704
+ (Choose "Proceed," "Modify [Content]," or "Abort")
442
705
  ```
443
706
 
444
707
  ### 1.5 Wait for user approval (moai-alfred-interactive-questions) (when user selects "New")
@@ -455,7 +718,7 @@ After Alfred receives the project-manager's interview plan report, uses `AskUser
455
718
 
456
719
  ---
457
720
 
458
- ## 🚀 STEP 2: Execute project initialization (after user approves New)
721
+ ## 🚀 STEP 2: Execute project initialization (after user approves "New")
459
722
 
460
723
  **Note**: This step will only be executed if the user selects **"New"**.
461
724
  - When selecting "Merge": End the task in Phase 1.1 (Merge Backups)
@@ -471,49 +734,85 @@ Alfred starts project initialization by calling the project-manager agent with t
471
734
  **Parameters passed to project-manager**:
472
735
  - **conversation_language** (from STEP 0): Language code selected by user (e.g., "ko", "en", "ja", "zh")
473
736
  - **language_name** (from STEP 0): Display name of selected language (e.g., "Korean", "English")
737
+ - **agent_prompt_language** (from STEP 0.1.2) - **NEW**:
738
+ - `"english"` = All sub-agent prompts in English (Global Standard)
739
+ - `"localized"` = All sub-agent prompts in selected conversation_language (Localized)
474
740
  - Detected Languages: [Language List from codebase detection]
475
741
  - Project Type: [New/Existing]
476
742
  - Existing Document Status: [Existence/Absence]
477
743
  - Approved Interview Plan: [Plan Summary]
744
+ - **Team Mode Git Workflow** (from STEP 0.1.3):
745
+ - `spec_git_workflow: "feature_branch" | "develop_direct" | "per_spec"` (팀 모드만)
478
746
 
479
747
  **Execution**:
480
748
  ```
481
749
  Call the Task tool:
482
750
  - subagent_type: "project-manager"
483
751
  - description: "Initialize project with conversation language support"
484
- - prompt: """You are project-manager agent.
485
-
486
- LANGUAGE CONFIGURATION:
487
- - conversation_language: {{CONVERSATION_LANGUAGE}}
488
- - language_name: {{CONVERSATION_LANGUAGE_NAME}}
489
-
490
- PROJECT_TYPE: [new|existing]
491
- DETECTED_LANGUAGES: [detected codebase languages]
492
-
493
- CRITICAL INSTRUCTION:
494
- All interviews and generated documentation MUST be in conversation_language:
495
- - product.md: Generate in {{CONVERSATION_LANGUAGE}}
496
- - structure.md: Generate in {{CONVERSATION_LANGUAGE}}
497
- - tech.md: Generate in {{CONVERSATION_LANGUAGE}}
498
-
499
- If conversation_language is 'ko': All narrative content in Korean
500
- If conversation_language is 'ja': All narrative content in Japanese
501
- If conversation_language is other: Follow the specified language
502
-
503
- After project initialization, update .moai/config.json with nested language structure:
752
+ - prompt: """당신은 project-manager 에이전트입니다.
753
+
754
+ 언어 설정:
755
+ - 대화_언어: {{CONVERSATION_LANGUAGE}} (모든 대화, 문서에 사용)
756
+ - 언어명: {{CONVERSATION_LANGUAGE_NAME}}
757
+ - 에이전트_프롬프트_언어: {{AGENT_PROMPT_LANGUAGE}} (내부 sub-agent 통신 언어)
758
+
759
+ 에이전트 프롬프트 언어에 따른 작업 방식:
760
+
761
+ 1. **agent_prompt_language = "english"** (Global Standard):
762
+ - 당신(project-manager)은 **영어**로 사고하고 작업합니다
763
+ - 모든 내부 분석과 계획을 영어로 진행합니다
764
+ - 생성된 product.md, structure.md, tech.md는 **{{CONVERSATION_LANGUAGE}}**로 작성합니다
765
+ - Sub-agent들(spec-builder 등)에게 전달하는 프롬프트는 **영어**입니다
766
+
767
+ 2. **agent_prompt_language = "localized"** (Localized):
768
+ - 당신(project-manager)은 **{{CONVERSATION_LANGUAGE}}**로 사고하고 작업합니다
769
+ - 모든 내부 분석과 계획을 {{CONVERSATION_LANGUAGE}}로 진행합니다
770
+ - 생성된 product.md, structure.md, tech.md는 **{{CONVERSATION_LANGUAGE}}**로 작성합니다
771
+ - Sub-agent들(spec-builder 등)에게 전달하는 프롬프트도 **{{CONVERSATION_LANGUAGE}}**입니다
772
+
773
+ 중요: 대화_언어(conversation_language)와 에이전트_프롬프트_언어(agent_prompt_language)는 다를 수 있습니다!
774
+ - 대화_언어는 **사용자와의 대화**, **생성 문서**에 사용
775
+ - 에이전트_프롬프트_언어는 **sub-agents 통신**, **내부 prompt**에 사용
776
+
777
+ GIT 워크플로우 설정 (팀 모드):
778
+ - spec_git_workflow: [feature_branch | develop_direct | per_spec]
779
+ - "feature_branch": feature/spec-* 브랜치 생성, PR 기반 리뷰, develop 병합
780
+ - "develop_direct": develop에 직접 커밋, 브랜치 생성 안 함
781
+ - "per_spec": SPEC별로 사용자에게 물어봄 (/alfred:1-plan 실행 중)
782
+ - 참고: 이 값을 .moai/config.json github.spec_git_workflow에 저장하여 git-manager가 참조하도록
783
+
784
+ 프로젝트_타입: [new|existing]
785
+ 감지된_언어들: [감지된 코드베이스 언어들]
786
+
787
+ 중요 지시사항:
788
+ 모든 인터뷰와 생성된 문서는 대화_언어(conversation_language)로 작성되어야 합니다:
789
+ - product.md: {{CONVERSATION_LANGUAGE}}로 생성
790
+ - structure.md: {{CONVERSATION_LANGUAGE}}로 생성
791
+ - tech.md: {{CONVERSATION_LANGUAGE}}로 생성
792
+
793
+ conversation_language가 'ko'인 경우: 모든 설명 내용을 한국어로
794
+ conversation_language가 'ja'인 경우: 모든 설명 내용을 일본어로
795
+ 다른 언어인 경우: 지정된 언어를 따릅니다
796
+
797
+ 프로젝트 초기화 후, 다음과 같이 .moai/config.json 업데이트:
504
798
  {
505
799
  "language": {
506
800
  "conversation_language": "{{CONVERSATION_LANGUAGE}}",
507
- "conversation_language_name": "{{CONVERSATION_LANGUAGE_NAME}}"
801
+ "conversation_language_name": "{{CONVERSATION_LANGUAGE_NAME}}",
802
+ "agent_prompt_language": "{{AGENT_PROMPT_LANGUAGE}}"
803
+ },
804
+ "github": {
805
+ "spec_git_workflow": "[feature_branch|develop_direct|per_spec]"
508
806
  }
509
807
  }
510
808
 
511
- SKILL INVOCATION:
512
- Use explicit Skill() calls when needed:
513
- - Skill("moai-alfred-language-detection") for codebase language detection
514
- - Skill("moai-foundation-langs") for multi-language project setup
809
+ 스킬 호출:
810
+ 필요 명시적 Skill() 호출 사용:
811
+ - Skill("moai-alfred-language-detection") - 코드베이스 언어 감지
812
+ - Skill("moai-foundation-langs") - 다국어 프로젝트 설정
515
813
 
516
- TASK: Conduct project interviews and create/update product/structure/tech.md documents."""
814
+ 작업: 프로젝트 인터뷰를 진행하고 product/structure/tech.md 문서를 생성/업데이트합니다.
815
+ 에이전트_프롬프트_언어 설정에 따라 sub-agent들과의 통신 언어를 결정합니다."""
517
816
  ```
518
817
 
519
818
  **Outcome**: The project-manager agent conducts structured interviews entirely in the selected language and creates/updates product/structure/tech.md documents in that language.
@@ -526,7 +825,7 @@ After the project-manager has finished creating the document, **Alfred can optio
526
825
 
527
826
  | Conditions | Automatic selection Skill | Purpose |
528
827
  | ------------------------------------ | ---------------------------- | -------------------------------------- |
529
- | User Requests Quality Verification | moai-alfred-trust-validation | Initial project structure verification |
828
+ | User Requests "Quality Verification" | moai-alfred-trust-validation | Initial project structure verification |
530
829
 
531
830
  **Execution flow** (optional):
532
831
  ```
@@ -562,24 +861,24 @@ After the project-manager has finished creating the document, **Alfred can optio
562
861
  **Interview Flow**:
563
862
 
564
863
  1. **Product Discovery** (create product.md)
565
- - Define core mission (@DOC:MISSION-001)
566
- - Identify key user base (@SPEC:USER-001)
567
- - Identify key problems to solve (@SPEC:PROBLEM-001)
568
- - Summary of differences and strengths (@DOC:STRATEGY-001)
569
- - Setting success indicators (@SPEC:SUCCESS-001)
864
+ - Define core mission (DOC:MISSION-001)
865
+ - Identify key user base (SPEC:USER-001)
866
+ - Identify key problems to solve (SPEC:PROBLEM-001)
867
+ - Summary of differences and strengths (DOC:STRATEGY-001)
868
+ - Setting success indicators (SPEC:SUCCESS-001)
570
869
 
571
870
  2. **Structure Blueprint** (create structure.md)
572
- - Selection of architecture strategy (@DOC:ARCHITECTURE-001)
573
- - Division of responsibilities by module (@DOC:MODULES-001)
574
- - External system integration plan (@DOC:INTEGRATION-001)
575
- - Define traceability strategy (@DOC:TRACEABILITY-001)
871
+ - Selection of architecture strategy (DOC:ARCHITECTURE-001)
872
+ - Division of responsibilities by module (DOC:MODULES-001)
873
+ - External system integration plan (DOC:INTEGRATION-001)
874
+ - Define traceability strategy (DOC:TRACEABILITY-001)
576
875
 
577
876
  3. **Tech Stack Mapping** (written by tech.md)
578
- - Select language & runtime (@DOC:STACK-001)
579
- - Determine core framework (@DOC:FRAMEWORK-001)
580
- - Set quality gate (@DOC:QUALITY-001)
581
- - Define security policy (@DOC:SECURITY-001)
582
- - Plan distribution channels (@DOC:DEPLOY-001)
877
+ - Select language & runtime (DOC:STACK-001)
878
+ - Determine core framework (DOC:FRAMEWORK-001)
879
+ - Set quality gate (DOC:QUALITY-001)
880
+ - Define security policy (DOC:SECURITY-001)
881
+ - Plan distribution channels (DOC:DEPLOY-001)
583
882
 
584
883
  **Automatically generate config.json**:
585
884
  ```json
@@ -686,7 +985,7 @@ Based on the collected information, it is reflected in three major documents:
686
985
  - Project mission extracted from existing README/document
687
986
  - Main user base and scenario inferred from code
688
987
  - Backtracking of core problem to be solved
689
- - Preservation of existing assets in Legacy Context
988
+ - Preservation of existing assets in "Legacy Context"
690
989
 
691
990
  2. Contents reflected in **structure.md**
692
991
  - Identified actual directory structure
@@ -703,7 +1002,7 @@ Based on the collected information, it is reflected in three major documents:
703
1002
 
704
1003
  **Preservation Policy**:
705
1004
  - Supplement only the missing parts without overwriting existing documents
706
- - Preserve conflicting content in the Legacy Context section
1005
+ - Preserve conflicting content in the "Legacy Context" section
707
1006
  - Mark items needing improvement with @CODE and TODO tags
708
1007
 
709
1008
  **Example Final Report**:
@@ -802,7 +1101,7 @@ Alfred only calls the trust-checker agent to perform project initial structural
802
1101
  ❌ **Critical**: Needs fix
803
1102
  - Required section missing
804
1103
  - config.json syntax error
805
- - User choice: Revalidate after fix or Skip
1104
+ - User choice: "Revalidate after fix" or "Skip"
806
1105
 
807
1106
  **Skip verification**:
808
1107
  - Verification is not run by default
@@ -829,11 +1128,11 @@ cc-manager selects the required sub-agents and skills based on the briefing.The
829
1128
 
830
1129
  | Project requirements (document basis) | Recommended sub-agent/skill | Purpose |
831
1130
  | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
832
- | High quality and coverage goals (`product.md@SPEC:SUCCESS-001`) | `tdd-implementer`, `moai-essentials-debug`, `moai-essentials-review` | Establishment of RED·GREEN·REFACTOR workflow |
833
- | Traceability/TAG improvement request (`structure.md@DOC:TRACEABILITY-001`) | `doc-syncer`, `moai-alfred-tag-scanning`, `moai-alfred-trust-validation` | Enhanced TAG traceability and document/code synchronization |
1131
+ | High quality and coverage goals (product.md:SPEC:SUCCESS-001) | `tdd-implementer`, `moai-essentials-debug`, `moai-essentials-review` | Establishment of RED·GREEN·REFACTOR workflow |
1132
+ | Traceability/TAG improvement request (structure.md:DOC:TRACEABILITY-001) | `doc-syncer`, `moai-alfred-tag-scanning`, `moai-alfred-trust-validation` | Enhanced TAG traceability and document/code synchronization |
834
1133
  | Deployment automation/branch strategy required (`structure.md` Architecture/TODO) | `git-manager`, `moai-alfred-git-workflow`, `moai-foundation-git` | Branch Strategy·Commit Policy·PR Automation |
835
1134
  | Refactoring legacy modules (`product.md` BACKLOG, `tech.md` TODO) | `implementation-planner`, `moai-essentials-refactor` | Technical Debt Diagnosis and Refactoring Roadmap |
836
- | Strengthening regulatory/security compliance (`tech.md@DOC:SECURITY-001`) | `quality-gate`, `moai-alfred-trust-validation`, `moai-foundation-trust`, `moai-domain-security` | TRUST S (Secured) and Trackable Compliance, Security Consulting |
1135
+ | Strengthening regulatory/security compliance (tech.md:DOC:SECURITY-001) | `quality-gate`, `moai-alfred-trust-validation`, `moai-foundation-trust`, `moai-domain-security` | TRUST S (Secured) and Trackable Compliance, Security Consulting |
837
1136
  | CLI Automation/Tooling Requirements (`tech.md` BUILD/CLI section) | `implementation-planner`, `moai-domain-cli-tool`, detected language skills (e.g. `moai-lang-python`) | CLI command design, input/output standardization |
838
1137
  | Data analysis/reporting needs (`product.md` DATA, `tech.md` ANALYTICS) | `implementation-planner`, `moai-domain-data-science`, detected language skills | Data Pipeline·Notebook Job Definition |
839
1138
  | Improved database structure (`structure.md` DB, `tech.md` STORAGE) | `doc-syncer`, `moai-domain-database`, `moai-alfred-tag-scanning` | Strengthening schema documentation and TAG-DB mapping |
@@ -852,9 +1151,9 @@ If multiple conditions are met, the candidates are merged without duplicates and
852
1151
 
853
1152
  #### 2.6.2 User confirmation flow
854
1153
 
855
- `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` asks whether to enable recommended items.”
1154
+ `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` asks "whether to enable recommended items."
856
1155
  - Provides three options: **Install all** / **Install selectively** / **Do not install**.
857
- Selecting Selective Install presents the list of candidates again as multiple choices, allowing the user to select only the items they need.
1156
+ Selecting "Selective Install" presents the list of candidates again as multiple choices, allowing the user to select only the items they need.
858
1157
 
859
1158
  #### 2.6.3 Activation and Recording Steps
860
1159
 
@@ -863,9 +1162,9 @@ Selecting “Selective Install” presents the list of candidates again as multi
863
1162
  - Call `subagent_type: "cc-manager"` with the `Task` tool and include a briefing and user selections in the prompt.
864
1163
  - cc-manager determines the necessary sub-agents and skills based on the briefing, and copies and updates `CLAUDE.md`, `.claude/agents/alfred/*.md`, and `.claude/skills/*.md` as customized for the project.
865
1164
  3. **Check for configuration updates**: Review the results reflected by cc-manager.
866
- - Sub-Agents: Keep the `.claude/agents/alfred/` template active and list it in the `CLAUDE.md` Agents section.
867
- - Skills: Check the `.claude/skills/` document and add it to the `CLAUDE.md` Skills section.
868
- - Output style: Apply `.claude/output-styles/alfred/` and record the activation in `CLAUDE.md` Output Styles”.
1165
+ - Sub-Agents: Keep the `.claude/agents/alfred/` template active and list it in the `CLAUDE.md` "Agents" section.
1166
+ - Skills: Check the `.claude/skills/` document and add it to the `CLAUDE.md` "Skills" section.
1167
+ - Output style: Apply `.claude/output-styles/alfred/` and record the activation in `CLAUDE.md` "Output Styles".
869
1168
  4. **Update config.json**
870
1169
  ```json
871
1170
  {
@@ -878,17 +1177,17 @@ Selecting “Selective Install” presents the list of candidates again as multi
878
1177
  }
879
1178
  ```
880
1179
  Merge existing properties, if any.
881
- 5. **Final Report**: Add a list of Activated Sub-Agents/Skills/Style and a `cc_manager_briefing` summary at the top of the Completion Report, and reflect the same contents in the `CLAUDE.md` table so that they are automatically searched in subsequent commands.
1180
+ 5. **Final Report**: Add a list of "Activated Sub-Agents/Skills/Style" and a `cc_manager_briefing` summary at the top of the Completion Report, and reflect the same contents in the `CLAUDE.md` table so that they are automatically searched in subsequent commands.
882
1181
 
883
1182
  ## Interview guide by project type
884
1183
 
885
1184
  ### New project interview area
886
1185
 
887
1186
  **Product Discovery** (product.md)
888
- - Core mission and value proposition
889
- - Key user bases and needs
890
- - 3 key problems to solve
891
- - Differentiation compared to competing solutions
1187
+ - Core mission and value proposition
1188
+ - Key user bases and needs
1189
+ - 3 key problems to solve
1190
+ - Differentiation compared to competing solutions
892
1191
  - Measurable indicators of success
893
1192
 
894
1193
  **Structure Blueprint** (structure.md)
@@ -936,14 +1235,14 @@ Merge existing properties, if any.
936
1235
 
937
1236
  **Error 1**: Project language detection failed
938
1237
  ```
939
- Symptom: Language not detected message
1238
+ Symptom: "Language not detected" message
940
1239
  Solution: Specify language manually or create language-specific settings file
941
1240
  ```
942
1241
 
943
1242
  **Error 2**: Conflict with existing document
944
1243
  ```
945
1244
  Symptom: product.md already exists and has different contents
946
- Solution: Preserve existing contents and add new contents in Legacy Context section
1245
+ Solution: Preserve existing contents and add new contents in "Legacy Context" section
947
1246
  ```
948
1247
 
949
1248
  **Error 3**: Failed to create config.json
@@ -996,8 +1295,8 @@ This subcommand is executed under the following conditions:
996
1295
  - Set optimized=true
997
1296
  ```
998
1297
 
999
- 4. **Waiting for user approval**
1000
- `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` asks Do you want to proceed with template optimization?” and provides the following options.
1298
+ 4. **Waiting for user approval**
1299
+ `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` asks "Do you want to proceed with template optimization?" and provides the following options.
1001
1300
  - **Proceed** → Phase 2 execution
1002
1301
  - **Preview** → Display change details and recheck
1003
1302
  - **Skip** → keep optimized=false
@@ -1160,8 +1459,8 @@ Alfred: Skill("moai-alfred-template-generator")
1160
1459
  **Users can skip Phase 3**:
1161
1460
 
1162
1461
  **Skip condition**:
1163
- - User explicitly selects Skip
1164
- - Simple project when Alfred automatically determines (only basic features required)
1462
+ - User explicitly selects "Skip"
1463
+ - "Simple project" when Alfred automatically determines (only basic features required)
1165
1464
 
1166
1465
  **Skip effect**:
1167
1466
  - Maintain all 37 skills (no lightweighting)
@@ -1181,6 +1480,43 @@ After initialization is complete:
1181
1480
  - **Set Change**: Run `/alfred:0-project` again to update document
1182
1481
  - **Template optimization**: Run `/alfred:0-project update` after `moai-adk update`
1183
1482
 
1483
+ ## Final Step
1484
+
1485
+ After project initialization completes, Alfred automatically invokes AskUserQuestion to ask the user what to do next:
1486
+
1487
+ ```python
1488
+ AskUserQuestion(
1489
+ questions=[
1490
+ {
1491
+ "question": "프로젝트 초기화가 완료되었습니다. 다음으로 뭘 하시겠습니까?",
1492
+ "header": "다음 단계",
1493
+ "multiSelect": false,
1494
+ "options": [
1495
+ {
1496
+ "label": "📋 스펙 작성 진행",
1497
+ "description": "/alfred:1-plan 실행하여 첫 SPEC 작성"
1498
+ },
1499
+ {
1500
+ "label": "🔍 프로젝트 구조 검토",
1501
+ "description": "생성된 문서 검토 및 수정"
1502
+ },
1503
+ {
1504
+ "label": "🔄 새 세션 시작",
1505
+ "description": "성능 최적화를 위해 /clear 실행"
1506
+ }
1507
+ ]
1508
+ }
1509
+ ]
1510
+ )
1511
+ ```
1512
+
1513
+ **User Responses**:
1514
+ - **📋 스펙 작성 진행**: Proceed to `/alfred:1-plan` for creating first SPEC
1515
+ - **🔍 프로젝트 구조 검토**: Review and modify generated project documents
1516
+ - **🔄 새 세션 시작**: Execute `/clear` to start fresh session (recommended for performance)
1517
+
1518
+ ---
1519
+
1184
1520
  ## Related commands
1185
1521
 
1186
1522
  - `/alfred:1-plan` - Start writing SPEC