moai-adk 0.8.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 (207) hide show
  1. moai_adk/cli/commands/init.py +14 -2
  2. moai_adk/cli/commands/update.py +229 -60
  3. moai_adk/core/config/migration.py +1 -1
  4. moai_adk/core/issue_creator.py +313 -0
  5. moai_adk/core/project/detector.py +201 -12
  6. moai_adk/core/project/initializer.py +62 -1
  7. moai_adk/core/project/phase_executor.py +48 -6
  8. moai_adk/core/tags/__init__.py +86 -0
  9. moai_adk/core/tags/ci_validator.py +463 -0
  10. moai_adk/core/tags/cli.py +283 -0
  11. moai_adk/core/tags/generator.py +109 -0
  12. moai_adk/core/tags/inserter.py +99 -0
  13. moai_adk/core/tags/mapper.py +126 -0
  14. moai_adk/core/tags/parser.py +76 -0
  15. moai_adk/core/tags/pre_commit_validator.py +393 -0
  16. moai_adk/core/tags/reporter.py +956 -0
  17. moai_adk/core/tags/tags.py +149 -0
  18. moai_adk/core/tags/validator.py +897 -0
  19. moai_adk/core/template_engine.py +268 -0
  20. moai_adk/templates/.claude/agents/alfred/backend-expert.md +319 -0
  21. moai_adk/templates/.claude/agents/alfred/cc-manager.md +25 -2
  22. moai_adk/templates/.claude/agents/alfred/debug-helper.md +24 -12
  23. moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
  24. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +20 -13
  25. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
  26. moai_adk/templates/.claude/agents/alfred/git-manager.md +47 -16
  27. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +95 -15
  28. moai_adk/templates/.claude/agents/alfred/project-manager.md +78 -12
  29. moai_adk/templates/.claude/agents/alfred/quality-gate.md +28 -5
  30. moai_adk/templates/.claude/agents/alfred/skill-factory.md +30 -2
  31. moai_adk/templates/.claude/agents/alfred/spec-builder.md +133 -13
  32. moai_adk/templates/.claude/agents/alfred/tag-agent.md +104 -8
  33. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +133 -16
  34. moai_adk/templates/.claude/agents/alfred/trust-checker.md +27 -4
  35. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +571 -0
  36. moai_adk/templates/.claude/commands/alfred/0-project.md +466 -125
  37. moai_adk/templates/.claude/commands/alfred/1-plan.md +208 -71
  38. moai_adk/templates/.claude/commands/alfred/2-run.md +276 -55
  39. moai_adk/templates/.claude/commands/alfred/3-sync.md +439 -53
  40. moai_adk/templates/.claude/commands/alfred/9-feedback.md +149 -0
  41. moai_adk/templates/.claude/hooks/alfred/core/project.py +361 -29
  42. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
  43. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
  44. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
  45. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
  46. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +94 -0
  47. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +100 -0
  48. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +94 -0
  49. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +94 -0
  50. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/__init__.py +2 -2
  51. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
  52. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
  53. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
  54. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/tags.py +55 -23
  55. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
  56. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
  57. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
  58. moai_adk/templates/.claude/hooks/alfred/{handlers → shared/handlers}/session.py +28 -15
  59. moai_adk/templates/.claude/hooks/alfred/{handlers → shared/handlers}/tool.py +3 -6
  60. moai_adk/templates/.claude/hooks/alfred/{handlers → shared/handlers}/user.py +19 -0
  61. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +112 -0
  62. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
  63. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
  64. moai_adk/templates/.claude/settings.json +5 -5
  65. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
  66. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
  67. moai_adk/templates/{.moai/memory/CLAUDE-AGENTS-GUIDE.md → .claude/skills/moai-alfred-agent-guide/reference.md} +34 -0
  68. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +56 -0
  69. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
  70. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
  71. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
  72. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
  73. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
  74. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
  75. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
  76. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
  77. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
  78. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
  79. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +74 -0
  80. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +4 -0
  81. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +269 -0
  82. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +19 -0
  83. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
  84. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
  85. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +198 -0
  86. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +431 -0
  87. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +141 -0
  88. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
  89. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
  90. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
  91. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
  92. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
  93. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +273 -0
  94. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
  95. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
  96. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +19 -0
  97. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
  98. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
  99. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
  100. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
  101. moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/examples/validate-spec.sh +3 -3
  102. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
  103. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
  104. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +115 -0
  105. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +4 -0
  106. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +348 -0
  107. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
  108. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
  109. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
  110. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
  111. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +19 -0
  112. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +4 -0
  113. moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL.md +3 -3
  114. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
  115. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
  116. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
  117. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +17 -13
  118. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +9 -6
  119. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +15 -12
  120. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +14 -12
  121. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +14 -11
  122. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +10 -8
  123. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +15 -12
  124. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +13 -11
  125. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +16 -10
  126. moai_adk/templates/.claude/skills/moai-project-documentation.md +622 -0
  127. moai_adk/templates/.git-hooks/pre-push +143 -0
  128. moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
  129. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
  130. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
  131. moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
  132. moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
  133. moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
  134. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
  135. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
  136. moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
  137. moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
  138. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
  139. moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
  140. moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
  141. moai_adk/templates/.github/workflows/release.yml +118 -0
  142. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
  143. moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
  144. moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
  145. moai_adk/templates/.github/workflows/spec-issue-sync.yml +206 -35
  146. moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
  147. moai_adk/templates/.github/workflows/tag-report.yml +269 -0
  148. moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
  149. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
  150. moai_adk/templates/.moai/config.json +21 -2
  151. moai_adk/templates/CLAUDE.md +972 -78
  152. moai_adk/templates/workflows/go-tag-validation.yml +30 -0
  153. moai_adk/templates/workflows/javascript-tag-validation.yml +41 -0
  154. moai_adk/templates/workflows/python-tag-validation.yml +42 -0
  155. moai_adk/templates/workflows/typescript-tag-validation.yml +31 -0
  156. moai_adk/utils/banner.py +5 -5
  157. {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/METADATA +1518 -161
  158. {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/RECORD +183 -100
  159. moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -313
  160. moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
  161. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -174
  162. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
  163. moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
  164. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
  165. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
  166. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
  167. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
  168. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -218
  169. moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
  170. moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
  171. moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
  172. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  173. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
  174. moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -220
  175. moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
  176. moai_adk/templates/.moai/memory/config-schema.md +0 -444
  177. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
  178. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  179. moai_adk/templates/.moai/project/product.md +0 -161
  180. moai_adk/templates/.moai/project/structure.md +0 -156
  181. moai_adk/templates/.moai/project/tech.md +0 -227
  182. moai_adk/templates/__init__.py +0 -2
  183. /moai_adk/templates/{.moai/memory/CONFIG-SCHEMA.md → .claude/skills/moai-alfred-config-schema/reference.md} +0 -0
  184. /moai_adk/templates/{.moai/memory/CLAUDE-PRACTICES.md → .claude/skills/moai-alfred-practices/reference.md} +0 -0
  185. /moai_adk/templates/{.moai/memory/CLAUDE-RULES.md → .claude/skills/moai-alfred-rules/reference.md} +0 -0
  186. /moai_adk/templates/{.moai/memory/SKILLS-DESCRIPTION-POLICY.md → .claude/skills/moai-cc-skill-descriptions/reference.md} +0 -0
  187. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/CHECKLIST.md +0 -0
  188. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/EXAMPLES.md +0 -0
  189. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/INTERACTIVE-DISCOVERY.md +0 -0
  190. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/METADATA.md +0 -0
  191. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PARALLEL-ANALYSIS-REPORT.md +0 -0
  192. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PYTHON-VERSION-MATRIX.md +0 -0
  193. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-FACTORY-WORKFLOW.md +0 -0
  194. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-UPDATE-ADVISOR.md +0 -0
  195. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STEP-BY-STEP-GUIDE.md +0 -0
  196. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STRUCTURE.md +0 -0
  197. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/WEB-RESEARCH.md +0 -0
  198. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/reference.md +0 -0
  199. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/generate-structure.sh +0 -0
  200. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/validate-skill.sh +0 -0
  201. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/SKILL_TEMPLATE.md +0 -0
  202. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/examples-template.md +0 -0
  203. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/reference-template.md +0 -0
  204. /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/scripts-template.sh +0 -0
  205. {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/WHEEL +0 -0
  206. {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/entry_points.txt +0 -0
  207. {moai_adk-0.8.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
159
392
 
160
- ### 0.2.6 사용자 정보 저장
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
161
398
 
162
- Alfred가 선택된 닉네임을 다음과 같이 저장합니다:
399
+ #### 0.2.2 GitHub & Git 워크플로우 설정 저장 (팀 모드만)
163
400
 
401
+ **팀 모드 감지 시 추가 저장 - Feature Branch + PR 선택 시**:
164
402
  ```json
165
403
  {
166
- "conversation_language": "ko",
167
- "conversation_language_name": "한국어",
168
- "user_nickname": "GOOS",
169
- "selected_at": "2025-10-23T12:34:56Z"
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
+ }
170
410
  }
171
411
  ```
172
412
 
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
+ ```
424
+
425
+ **또는 - Decide per SPEC 선택 시**:
426
+ ```json
427
+ {
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
+ }
434
+ }
435
+ ```
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,44 +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
- TASK: Conduct project interviews and create/update product/structure/tech.md documents."""
809
+ 스킬 호출:
810
+ 필요 시 명시적 Skill() 호출 사용:
811
+ - Skill("moai-alfred-language-detection") - 코드베이스 언어 감지
812
+ - Skill("moai-foundation-langs") - 다국어 프로젝트 설정
813
+
814
+ 작업: 프로젝트 인터뷰를 진행하고 product/structure/tech.md 문서를 생성/업데이트합니다.
815
+ 에이전트_프롬프트_언어 설정에 따라 sub-agent들과의 통신 언어를 결정합니다."""
512
816
  ```
513
817
 
514
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.
@@ -521,7 +825,7 @@ After the project-manager has finished creating the document, **Alfred can optio
521
825
 
522
826
  | Conditions | Automatic selection Skill | Purpose |
523
827
  | ------------------------------------ | ---------------------------- | -------------------------------------- |
524
- | 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 |
525
829
 
526
830
  **Execution flow** (optional):
527
831
  ```
@@ -557,24 +861,24 @@ After the project-manager has finished creating the document, **Alfred can optio
557
861
  **Interview Flow**:
558
862
 
559
863
  1. **Product Discovery** (create product.md)
560
- - Define core mission (@DOC:MISSION-001)
561
- - Identify key user base (@SPEC:USER-001)
562
- - Identify key problems to solve (@SPEC:PROBLEM-001)
563
- - Summary of differences and strengths (@DOC:STRATEGY-001)
564
- - 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)
565
869
 
566
870
  2. **Structure Blueprint** (create structure.md)
567
- - Selection of architecture strategy (@DOC:ARCHITECTURE-001)
568
- - Division of responsibilities by module (@DOC:MODULES-001)
569
- - External system integration plan (@DOC:INTEGRATION-001)
570
- - 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)
571
875
 
572
876
  3. **Tech Stack Mapping** (written by tech.md)
573
- - Select language & runtime (@DOC:STACK-001)
574
- - Determine core framework (@DOC:FRAMEWORK-001)
575
- - Set quality gate (@DOC:QUALITY-001)
576
- - Define security policy (@DOC:SECURITY-001)
577
- - 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)
578
882
 
579
883
  **Automatically generate config.json**:
580
884
  ```json
@@ -681,7 +985,7 @@ Based on the collected information, it is reflected in three major documents:
681
985
  - Project mission extracted from existing README/document
682
986
  - Main user base and scenario inferred from code
683
987
  - Backtracking of core problem to be solved
684
- - Preservation of existing assets in Legacy Context
988
+ - Preservation of existing assets in "Legacy Context"
685
989
 
686
990
  2. Contents reflected in **structure.md**
687
991
  - Identified actual directory structure
@@ -698,7 +1002,7 @@ Based on the collected information, it is reflected in three major documents:
698
1002
 
699
1003
  **Preservation Policy**:
700
1004
  - Supplement only the missing parts without overwriting existing documents
701
- - Preserve conflicting content in the Legacy Context section
1005
+ - Preserve conflicting content in the "Legacy Context" section
702
1006
  - Mark items needing improvement with @CODE and TODO tags
703
1007
 
704
1008
  **Example Final Report**:
@@ -797,7 +1101,7 @@ Alfred only calls the trust-checker agent to perform project initial structural
797
1101
  ❌ **Critical**: Needs fix
798
1102
  - Required section missing
799
1103
  - config.json syntax error
800
- - User choice: Revalidate after fix or Skip
1104
+ - User choice: "Revalidate after fix" or "Skip"
801
1105
 
802
1106
  **Skip verification**:
803
1107
  - Verification is not run by default
@@ -824,11 +1128,11 @@ cc-manager selects the required sub-agents and skills based on the briefing.The
824
1128
 
825
1129
  | Project requirements (document basis) | Recommended sub-agent/skill | Purpose |
826
1130
  | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
827
- | High quality and coverage goals (`product.md@SPEC:SUCCESS-001`) | `tdd-implementer`, `moai-essentials-debug`, `moai-essentials-review` | Establishment of RED·GREEN·REFACTOR workflow |
828
- | 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 |
829
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 |
830
1134
  | Refactoring legacy modules (`product.md` BACKLOG, `tech.md` TODO) | `implementation-planner`, `moai-essentials-refactor` | Technical Debt Diagnosis and Refactoring Roadmap |
831
- | 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 |
832
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 |
833
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 |
834
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 |
@@ -847,9 +1151,9 @@ If multiple conditions are met, the candidates are merged without duplicates and
847
1151
 
848
1152
  #### 2.6.2 User confirmation flow
849
1153
 
850
- `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."
851
1155
  - Provides three options: **Install all** / **Install selectively** / **Do not install**.
852
- 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.
853
1157
 
854
1158
  #### 2.6.3 Activation and Recording Steps
855
1159
 
@@ -858,9 +1162,9 @@ Selecting “Selective Install” presents the list of candidates again as multi
858
1162
  - Call `subagent_type: "cc-manager"` with the `Task` tool and include a briefing and user selections in the prompt.
859
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.
860
1164
  3. **Check for configuration updates**: Review the results reflected by cc-manager.
861
- - Sub-Agents: Keep the `.claude/agents/alfred/` template active and list it in the `CLAUDE.md` Agents section.
862
- - Skills: Check the `.claude/skills/` document and add it to the `CLAUDE.md` Skills section.
863
- - 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".
864
1168
  4. **Update config.json**
865
1169
  ```json
866
1170
  {
@@ -873,17 +1177,17 @@ Selecting “Selective Install” presents the list of candidates again as multi
873
1177
  }
874
1178
  ```
875
1179
  Merge existing properties, if any.
876
- 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.
877
1181
 
878
1182
  ## Interview guide by project type
879
1183
 
880
1184
  ### New project interview area
881
1185
 
882
1186
  **Product Discovery** (product.md)
883
- - Core mission and value proposition
884
- - Key user bases and needs
885
- - 3 key problems to solve
886
- - 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
887
1191
  - Measurable indicators of success
888
1192
 
889
1193
  **Structure Blueprint** (structure.md)
@@ -931,14 +1235,14 @@ Merge existing properties, if any.
931
1235
 
932
1236
  **Error 1**: Project language detection failed
933
1237
  ```
934
- Symptom: Language not detected message
1238
+ Symptom: "Language not detected" message
935
1239
  Solution: Specify language manually or create language-specific settings file
936
1240
  ```
937
1241
 
938
1242
  **Error 2**: Conflict with existing document
939
1243
  ```
940
1244
  Symptom: product.md already exists and has different contents
941
- 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
942
1246
  ```
943
1247
 
944
1248
  **Error 3**: Failed to create config.json
@@ -991,8 +1295,8 @@ This subcommand is executed under the following conditions:
991
1295
  - Set optimized=true
992
1296
  ```
993
1297
 
994
- 4. **Waiting for user approval**
995
- `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.
996
1300
  - **Proceed** → Phase 2 execution
997
1301
  - **Preview** → Display change details and recheck
998
1302
  - **Skip** → keep optimized=false
@@ -1155,8 +1459,8 @@ Alfred: Skill("moai-alfred-template-generator")
1155
1459
  **Users can skip Phase 3**:
1156
1460
 
1157
1461
  **Skip condition**:
1158
- - User explicitly selects Skip
1159
- - 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)
1160
1464
 
1161
1465
  **Skip effect**:
1162
1466
  - Maintain all 37 skills (no lightweighting)
@@ -1176,6 +1480,43 @@ After initialization is complete:
1176
1480
  - **Set Change**: Run `/alfred:0-project` again to update document
1177
1481
  - **Template optimization**: Run `/alfred:0-project update` after `moai-adk update`
1178
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
+
1179
1520
  ## Related commands
1180
1521
 
1181
1522
  - `/alfred:1-plan` - Start writing SPEC