moai-adk 0.3.6__tar.gz → 0.3.7__tar.gz

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 (89) hide show
  1. {moai_adk-0.3.6 → moai_adk-0.3.7}/.gitignore +10 -5
  2. {moai_adk-0.3.6 → moai_adk-0.3.7}/PKG-INFO +112 -177
  3. {moai_adk-0.3.6 → moai_adk-0.3.7}/README.md +111 -176
  4. {moai_adk-0.3.6 → moai_adk-0.3.7}/pyproject.toml +1 -1
  5. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/__init__.py +1 -1
  6. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +474 -0
  7. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +166 -0
  8. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +175 -0
  9. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +327 -0
  10. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +311 -0
  11. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +152 -0
  12. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +301 -0
  13. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +241 -0
  14. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +247 -0
  15. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +280 -0
  16. moai_adk-0.3.7/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +332 -0
  17. moai_adk-0.3.7/src/moai_adk/templates/.claude/commands/alfred/0-project.md +523 -0
  18. moai_adk-0.3.7/src/moai_adk/templates/.claude/commands/alfred/1-spec.md +530 -0
  19. moai_adk-0.3.7/src/moai_adk/templates/.claude/commands/alfred/2-build.md +430 -0
  20. moai_adk-0.3.7/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +552 -0
  21. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/README.md +230 -0
  22. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +160 -0
  23. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/core/__init__.py +79 -0
  24. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +271 -0
  25. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/core/context.py +110 -0
  26. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +284 -0
  27. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/core/tags.py +244 -0
  28. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +21 -0
  29. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +25 -0
  30. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +80 -0
  31. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +71 -0
  32. moai_adk-0.3.7/src/moai_adk/templates/.claude/hooks/alfred/handlers/user.py +41 -0
  33. moai_adk-0.3.7/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +635 -0
  34. moai_adk-0.3.7/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +691 -0
  35. moai_adk-0.3.7/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +469 -0
  36. moai_adk-0.3.7/src/moai_adk/templates/.claude/settings.json +134 -0
  37. {moai_adk-0.3.6 → moai_adk-0.3.7}/LICENSE +0 -0
  38. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/__main__.py +0 -0
  39. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/__init__.py +0 -0
  40. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/__init__.py +0 -0
  41. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/backup.py +0 -0
  42. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/doctor.py +0 -0
  43. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/init.py +0 -0
  44. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/restore.py +0 -0
  45. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/status.py +0 -0
  46. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/commands/update.py +0 -0
  47. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/main.py +0 -0
  48. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/prompts/__init__.py +0 -0
  49. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/cli/prompts/init_prompts.py +0 -0
  50. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/__init__.py +0 -0
  51. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/__init__.py +0 -0
  52. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/branch.py +0 -0
  53. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/branch_manager.py +0 -0
  54. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/checkpoint.py +0 -0
  55. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/commit.py +0 -0
  56. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/event_detector.py +0 -0
  57. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/git/manager.py +0 -0
  58. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/__init__.py +0 -0
  59. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/backup_utils.py +0 -0
  60. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/checker.py +0 -0
  61. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/detector.py +0 -0
  62. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/initializer.py +0 -0
  63. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/phase_executor.py +0 -0
  64. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/project/validator.py +0 -0
  65. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/quality/__init__.py +0 -0
  66. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/quality/trust_checker.py +0 -0
  67. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/quality/validators/__init__.py +0 -0
  68. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/quality/validators/base_validator.py +0 -0
  69. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/template/__init__.py +0 -0
  70. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/template/backup.py +0 -0
  71. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/template/config.py +0 -0
  72. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/template/languages.py +0 -0
  73. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/template/merger.py +0 -0
  74. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/core/template/processor.py +0 -0
  75. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  76. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
  77. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.gitignore +0 -0
  78. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/config.json +0 -0
  79. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/hooks/pre-push.sample +0 -0
  80. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/memory/development-guide.md +0 -0
  81. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -0
  82. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/memory/spec-metadata.md +0 -0
  83. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/project/product.md +0 -0
  84. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/project/structure.md +0 -0
  85. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/.moai/project/tech.md +0 -0
  86. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/templates/__init__.py +0 -0
  87. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/utils/__init__.py +0 -0
  88. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/utils/banner.py +0 -0
  89. {moai_adk-0.3.6 → moai_adk-0.3.7}/src/moai_adk/utils/logger.py +0 -0
@@ -33,10 +33,14 @@ docs/_build/
33
33
  docs/*
34
34
  !docs/public/
35
35
 
36
- # Reports (keep .gitkeep)
37
- .moai/reports/*.md
38
- .moai/reports/*.json
39
- .moai/reports/*.html
36
+ # MoAI Project (user-specific, except templates)
37
+ /.moai/
38
+ !src/moai_adk/templates/.moai/
39
+
40
+ # Reports (legacy - covered by /.moai/)
41
+ # .moai/reports/*.md
42
+ # .moai/reports/*.json
43
+ # .moai/reports/*.html
40
44
 
41
45
  # Virtual environment
42
46
  venv/
@@ -54,7 +58,8 @@ env/
54
58
  # Claude Code (user-specific)
55
59
  AGENTS.md
56
60
  CLAUDE.md
57
- .claude/
61
+ /.claude/
62
+ !src/moai_adk/templates/.claude/
58
63
 
59
64
  # OS
60
65
  .DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moai-adk
3
- Version: 0.3.6
3
+ Version: 0.3.7
4
4
  Summary: MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent
5
5
  Project-URL: Homepage, https://github.com/modu-ai/moai-adk
6
6
  Project-URL: Repository, https://github.com/modu-ai/moai-adk
@@ -57,44 +57,43 @@ Description-Content-Type: text/markdown
57
57
 
58
58
  ## 목차
59
59
 
60
- - [이런 문제 겪고 계신가요?](#-이런-문제-겪고-계신가요)
61
- - [Meet Alfred](#-meet-alfred---12개-ai-에이전트-팀)
62
- - [5분 만에 이해하는 핵심 개념](#-5분-만에-이해하는-핵심-개념)
63
- - [Quick Start](#-quick-start-3분-실전)
64
- - [첫 번째 프로젝트: Todo API](#-첫-번째-프로젝트-todo-api-만들기)
65
- - [3단계 워크플로우](#-3단계-워크플로우)
66
- - [실전 시나리오](#-실전-시나리오)
67
- - [AI 모델 선택 가이드](#-ai-모델-선택-가이드)
68
- - [CLI Reference](#-cli-reference)
69
- - [출력 스타일](#-alfreds-output-styles)
70
- - [언어 지원](#-universal-language-support)
71
- - [TRUST 5원칙](#-trust-5원칙)
72
- - [코드 품질 가이드](#-코드-품질-가이드)
73
- - [FAQ](#-faq)
74
- - [문제 해결](#-문제-해결)
60
+ - [이런 문제 겪고 계신가요?](#이런-문제-겪고-계신가요)
61
+ - [Meet Alfred](#meet-alfred---12개-ai-에이전트-팀)
62
+ - [5분 만에 이해하는 핵심 개념](#5분-만에-이해하는-핵심-개념)
63
+ - [Quick Start](#quick-start-3분-실전)
64
+ - [첫 번째 프로젝트: Todo API](#첫-번째-프로젝트-todo-api-만들기)
65
+ - [3단계 워크플로우](#3단계-워크플로우)
66
+ - [실전 시나리오](#실전-시나리오)
67
+ - [AI 모델 선택 가이드](#ai-모델-선택-가이드)
68
+ - [CLI Reference](#cli-reference)
69
+ - [출력 스타일](#alfreds-output-styles)
70
+ - [언어 지원](#universal-language-support)
71
+ - [TRUST 5원칙](#trust-5원칙)
72
+ - [FAQ](#faq)
73
+ - [문제 해결](#문제-해결)
75
74
 
76
75
  ---
77
76
 
78
- ## 🚨 이런 문제 겪고 계신가요?
77
+ ## 이런 문제 겪고 계신가요?
79
78
 
80
79
  ### AI 코딩의 현실
81
80
 
82
- - 💥 **"AI가 만든 코드, 나중에 유지보수 불가능..."**
81
+ - **"AI가 만든 코드, 나중에 유지보수 불가능..."**
83
82
  - 같은 기능을 매번 다르게 구현
84
83
  - 코드 스타일이 파일마다 제각각
85
84
  - 테스트 코드는 없고 버그는 많음
86
85
 
87
- - 🔄 **"같은 질문 반복해도 매번 다른 답변..."**
86
+ - **"같은 질문 반복해도 매번 다른 답변..."**
88
87
  - 이전 대화 내용을 기억하지 못함
89
88
  - 일관된 아키텍처를 유지하기 어려움
90
89
  - 프로젝트 전체 맥락을 놓침
91
90
 
92
- - 📚 **"코드는 많은데 문서는 없고, 추적 불가능..."**
91
+ - **"코드는 많은데 문서는 없고, 추적 불가능..."**
93
92
  - 왜 이렇게 만들었는지 알 수 없음
94
93
  - 코드 변경 이력 추적 불가
95
94
  - 요구사항과 코드가 따로 놈
96
95
 
97
- - 🤯 **"프롬프트 엔지니어링에만 하루가 다 갔어요..."**
96
+ - **"프롬프트 엔지니어링에만 하루가 다 갔어요..."**
98
97
  - 완벽한 프롬프트를 찾기 위해 수십 번 시도
99
98
  - AI에게 매번 같은 제약사항을 반복 설명
100
99
  - 코드 품질을 수동으로 검증
@@ -102,42 +101,44 @@ Description-Content-Type: text/markdown
102
101
  ### MoAI-ADK는 이렇게 해결합니다
103
102
 
104
103
  ```mermaid
104
+ %%{init: {'theme':'neutral'}}%%
105
105
  flowchart TD
106
- Problem["😫 문제: 플랑켄슈타인 코드"] --> Solution["MoAI-ADK"]
107
- Solution --> SPEC["📋 SPEC 우선<br/>명세 없으면 코드 없다"]
108
- Solution --> TDD["🔴🟢♻️ TDD 강제<br/>테스트 없으면 구현 없다"]
109
- Solution --> TAG["🏷️ @TAG 추적<br/>모든 코드가 SPEC과 연결"]
106
+ Problem[" 문제: 플랑켄슈타인 코드"] --> Solution["MoAI-ADK"]
107
+ Solution --> SPEC["SPEC 우선<br/>명세 없으면 코드 없다"]
108
+ Solution --> TDD["TDD 강제<br/>테스트 없으면 구현 없다"]
109
+ Solution --> TAG["@TAG 추적<br/>모든 코드가 SPEC과 연결"]
110
110
 
111
- SPEC --> Result["🎉 결과"]
111
+ SPEC --> Result["결과"]
112
112
  TDD --> Result
113
113
  TAG --> Result
114
114
 
115
- Result --> Quality["높은 품질<br/>TRUST 5원칙 자동 검증"]
116
- Result --> Track["📊 완벽한 추적성<br/>SPEC→TEST→CODE→DOC"]
117
- Result --> Maintain["🔧 쉬운 유지보수<br/>코드 변경 이력 완전 기록"]
115
+ Result --> Quality["높은 품질<br/>TRUST 5원칙 자동 검증"]
116
+ Result --> Track["완벽한 추적성<br/>SPEC→TEST→CODE→DOC"]
117
+ Result --> Maintain["쉬운 유지보수<br/>코드 변경 이력 완전 기록"]
118
118
  ```
119
119
 
120
120
  ---
121
121
 
122
- ## 🎩 Meet Alfred - 12개 AI 에이전트 팀
122
+ ## Meet Alfred - AI 에이전트 팀
123
123
 
124
- 안녕하세요, 모두의AI SuperAgent **🎩 Alfred**입니다!
124
+ 안녕하세요, 모두의AI SuperAgent **Alfred**입니다!
125
125
 
126
126
  ![Alfred Logo](https://github.com/modu-ai/moai-adk/raw/main/docs/public/alfred_logo.png)
127
127
 
128
- 저는 MoAI-ADK의 SuperAgent이자 중앙 오케스트레이터 AI입니다. **12개의 AI 에이전트 팀**(Alfred + 11개 전문 에이전트)을 조율하여 Claude Code 환경에서 완벽한 개발 지원을 제공합니다.
128
+ 저는 MoAI-ADK의 SuperAgent이자 중앙 오케스트레이터 AI입니다. **AI 에이전트 팀**(Alfred + 다수 전문 에이전트)을 조율하여 Claude Code 환경에서 완벽한 개발 지원을 제공합니다.
129
129
 
130
- ### 🌟 흥미로운 사실: AI가 만든 AI 개발 도구
130
+ ### 흥미로운 사실: AI가 만든 AI 개발 도구
131
131
 
132
132
  이 프로젝트의 모든 코드는 **100% AI에 의해 작성**되었습니다.
133
133
 
134
134
  - **AI 협업 설계**: GPT-5 Pro와 Claude 4.1 Opus가 함께 아키텍처를 설계
135
- - **Agentic Coding 적용**: 12개 AI 에이전트 팀(Alfred + 11개 전문 에이전트)이 자율적으로 SPEC 작성, TDD 구현, 문서 동기화 수행
135
+ - **Agentic Coding 적용**: AI 에이전트 팀(Alfred + 다수 전문 에이전트)이 자율적으로 SPEC 작성, TDD 구현, 문서 동기화 수행
136
136
  - **투명성**: 완벽하지 않은 부분을 숨기지 않고, 커뮤니티와 함께 개선해나가는 오픈소스
137
137
 
138
138
  ### Alfred가 제공하는 4가지 핵심 가치
139
139
 
140
140
  ```mermaid
141
+ %%{init: {'theme':'neutral'}}%%
141
142
  mindmap
142
143
  root((Alfred))
143
144
  일관성
@@ -158,36 +159,37 @@ mindmap
158
159
  모바일 Flutter Swift
159
160
  ```
160
161
 
161
- #### 1️⃣ 일관성 (Consistency)
162
+ #### 1. 일관성 (Consistency)
162
163
 
163
164
  **SPEC → TDD → Sync** 3단계 파이프라인으로 플랑켄슈타인 코드 방지
164
165
 
165
- #### 2️⃣ 품질 (Quality)
166
+ #### 2. 품질 (Quality)
166
167
 
167
168
  **TRUST 5원칙** 자동 적용 및 검증 (Test First, Readable, Unified, Secured, Trackable)
168
169
 
169
- #### 3️⃣ 추적성 (Traceability)
170
+ #### 3. 추적성 (Traceability)
170
171
 
171
172
  **@TAG 시스템**으로 `@SPEC → @TEST → @CODE → @DOC` 완벽 연결
172
173
 
173
- #### 4️⃣ 범용성 (Universality)
174
+ #### 4. 범용성 (Universality)
174
175
 
175
176
  **모든 주요 언어 지원** (Python, TypeScript, Java, Go, Rust, Dart, Swift, Kotlin 등)
176
177
 
177
178
  ---
178
179
 
179
- ## 📚 5분 만에 이해하는 핵심 개념
180
+ ## 5분 만에 이해하는 핵심 개념
180
181
 
181
- ### 1️⃣ SPEC-First: 설계도 먼저 그리기
182
+ ### 1. SPEC-First: 설계도 먼저 그리기
182
183
 
183
184
  **비유**: 집을 짓기 전에 설계도를 그리듯이, 코드를 쓰기 전에 SPEC을 작성합니다.
184
185
 
185
186
  ```mermaid
187
+ %%{init: {'theme':'neutral'}}%%
186
188
  graph LR
187
- A["🏗️ SPEC 작성<br/>(설계도)"] --> B["🔴 RED<br/>(실패하는 테스트)"]
188
- B --> C["🟢 GREEN<br/>(최소 구현)"]
189
- C --> D["♻️ REFACTOR<br/>(품질 개선)"]
190
- D --> E["📖 SYNC<br/>(문서화)"]
189
+ A["SPEC 작성<br/>(설계도)"] --> B["RED<br/>(실패하는 테스트)"]
190
+ B --> C["GREEN<br/>(최소 구현)"]
191
+ C --> D["REFACTOR<br/>(품질 개선)"]
192
+ D --> E["SYNC<br/>(문서화)"]
191
193
  ```
192
194
 
193
195
  #### EARS 구문으로 명세 작성 (실제 예시)
@@ -229,15 +231,16 @@ graph LR
229
231
 
230
232
  ---
231
233
 
232
- ### 2️⃣ @TAG 추적: 코드와 문서를 실로 엮기
234
+ ### 2. @TAG 추적: 코드와 문서를 실로 엮기
233
235
 
234
236
  **비유**: 책의 색인처럼, 모든 코드를 SPEC과 연결합니다.
235
237
 
236
238
  ```mermaid
239
+ %%{init: {'theme':'neutral'}}%%
237
240
  graph TD
238
- SPEC["📋 @SPEC:AUTH-001<br/>.moai/specs/SPEC-AUTH-001/spec.md"] --> TEST["🔴 @TEST:AUTH-001<br/>tests/test_auth_login.py"]
239
- TEST --> CODE["🟢 @CODE:AUTH-001<br/>src/auth/service.py"]
240
- CODE --> DOC["📖 @DOC:AUTH-001<br/>docs/api/auth.md"]
241
+ SPEC["@SPEC:AUTH-001<br/>.moai/specs/SPEC-AUTH-001/spec.md"] --> TEST["@TEST:AUTH-001<br/>tests/test_auth_login.py"]
242
+ TEST --> CODE["@CODE:AUTH-001<br/>src/auth/service.py"]
243
+ CODE --> DOC["@DOC:AUTH-001<br/>docs/api/auth.md"]
241
244
  ```
242
245
 
243
246
  #### 실제 코드 예시
@@ -282,11 +285,12 @@ rg '@SPEC:AUTH-001' -n .moai/specs/ # SPEC 있는지 확인
282
285
 
283
286
  ---
284
287
 
285
- ### 3️⃣ TRUST 품질: 5가지 원칙으로 코드 품질 보장
288
+ ### 3. TRUST 품질: 5가지 원칙으로 코드 품질 보장
286
289
 
287
290
  **비유**: 자동차 안전검사처럼, 코드도 5가지 기준으로 검사합니다.
288
291
 
289
292
  ```mermaid
293
+ %%{init: {'theme':'neutral'}}%%
290
294
  mindmap
291
295
  root((TRUST 5원칙))
292
296
  Test First
@@ -362,18 +366,18 @@ def create_user_with_profile_and_settings_and_notifications(
362
366
 
363
367
  ---
364
368
 
365
- ## 🚀 Quick Start (3분 실전)
369
+ ## Quick Start (3분 실전)
366
370
 
367
- ### 📋 준비물
371
+ ### 준비물
368
372
 
369
373
  - ✅ Python 3.13+
370
374
  - ✅ **uv** (필수 - pip보다 10-100배 빠름)
371
375
  - ✅ Claude Code 실행 중
372
376
  - ✅ Git 설치 (선택사항)
373
377
 
374
- ### 3단계로 시작하기
378
+ ### 3단계로 시작하기
375
379
 
376
- #### 1️⃣ uv 설치 (필수)
380
+ #### 1. uv 설치 (필수)
377
381
 
378
382
  **uv는 pip보다 10-100배 빠른 Python 패키지 관리자입니다** (Rust 기반).
379
383
 
@@ -388,7 +392,7 @@ powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
388
392
  uv --version
389
393
  ```
390
394
 
391
- #### 2️⃣ moai-adk 설치 (10초)
395
+ #### 2. moai-adk 설치 (10초)
392
396
 
393
397
  ```bash
394
398
  uv pip install moai-adk
@@ -397,7 +401,7 @@ uv pip install moai-adk
397
401
  moai-adk --version
398
402
  ```
399
403
 
400
- #### 3️⃣ 프로젝트 시작 (1분)
404
+ #### 3. 프로젝트 시작 (1분)
401
405
 
402
406
  **새 프로젝트:**
403
407
 
@@ -429,7 +433,7 @@ claude
429
433
  /alfred:3-sync
430
434
  ```
431
435
 
432
- ### 🎉 완료!
436
+ ### 완료!
433
437
 
434
438
  **생성된 것들:**
435
439
 
@@ -441,7 +445,7 @@ claude
441
445
 
442
446
  ---
443
447
 
444
- ## 🎓 첫 번째 프로젝트: Todo API 만들기
448
+ ## 첫 번째 프로젝트: Todo API 만들기
445
449
 
446
450
  ### Step 1: SPEC 작성 (5분)
447
451
 
@@ -498,6 +502,7 @@ priority: high
498
502
  **Alfred의 3단계 TDD 프로세스**:
499
503
 
500
504
  ```mermaid
505
+ %%{init: {'theme':'neutral'}}%%
501
506
  stateDiagram-v2
502
507
  [*] --> Phase1: SPEC 분석
503
508
  Phase1 --> Phase2: 계획 수립
@@ -510,25 +515,25 @@ stateDiagram-v2
510
515
  Phase3 --> [*]: 완료
511
516
 
512
517
  note right of RED
513
- 🔴 RED
518
+ RED
514
519
  - 실패하는 테스트 작성
515
520
  - @TEST:TODO-001 TAG 추가
516
521
  end note
517
522
 
518
523
  note right of GREEN
519
- 🟢 GREEN
524
+ GREEN
520
525
  - 최소 구현으로 테스트 통과
521
526
  - @CODE:TODO-001 TAG 추가
522
527
  end note
523
528
 
524
529
  note right of REFACTOR
525
- ♻️ REFACTOR
530
+ REFACTOR
526
531
  - 코드 품질 개선
527
532
  - 중복 제거, 가독성 향상
528
533
  end note
529
534
 
530
535
  note right of Phase3
531
- 품질 게이트
536
+ 품질 게이트
532
537
  - TRUST 5원칙 검증
533
538
  - 테스트 커버리지 확인
534
539
  end note
@@ -602,7 +607,7 @@ src/todo/routes.py # @CODE:TODO-001:API
602
607
 
603
608
  ---
604
609
 
605
- ### 🎉 완료! 15분 만에 Todo API 완성
610
+ ### 완료! 15분 만에 Todo API 완성
606
611
 
607
612
  **생성된 것들**:
608
613
 
@@ -627,20 +632,21 @@ cat docs/api/todo.md
627
632
 
628
633
  ---
629
634
 
630
- ## 🔄 3단계 워크플로우
635
+ ## 3단계 워크플로우
631
636
 
632
637
  Alfred의 핵심은 **체계적인 3단계 워크플로우**입니다.
633
638
 
634
639
  ```mermaid
640
+ %%{init: {'theme':'neutral'}}%%
635
641
  graph TD
636
- Start([사용자 요청]) --> Spec[1️⃣ SPEC 작성<br/>/alfred:1-spec]
637
- Spec --> Build[2️⃣ TDD 구현<br/>/alfred:2-build]
638
- Build --> Sync[3️⃣ 문서 동기화<br/>/alfred:3-sync]
642
+ Start([사용자 요청]) --> Spec[1. SPEC 작성<br/>/alfred:1-spec]
643
+ Spec --> Build[2. TDD 구현<br/>/alfred:2-build]
644
+ Build --> Sync[3. 문서 동기화<br/>/alfred:3-sync]
639
645
  Sync --> End([완료])
640
646
  Sync -.-> Spec
641
647
  ```
642
648
 
643
- ### 1️⃣ SPEC - 명세 작성
649
+ ### 1. SPEC - 명세 작성
644
650
 
645
651
  **명령어**: `/alfred:1-spec "JWT 기반 사용자 로그인 API"`
646
652
 
@@ -658,7 +664,7 @@ graph TD
658
664
  - `.moai/specs/SPEC-AUTH-001/plan.md`
659
665
  - `.moai/specs/SPEC-AUTH-001/acceptance.md`
660
666
 
661
- ### 2️⃣ BUILD - TDD 구현
667
+ ### 2. BUILD - TDD 구현
662
668
 
663
669
  **명령어**: `/alfred:2-build AUTH-001`
664
670
 
@@ -679,7 +685,7 @@ graph TD
679
685
  - `@TEST:AUTH-001` → `@CODE:AUTH-001` TAG 체인
680
686
  - 품질 검증 리포트
681
687
 
682
- ### 3️⃣ SYNC - 문서 동기화
688
+ ### 3. SYNC - 문서 동기화
683
689
 
684
690
  **명령어**: `/alfred:3-sync`
685
691
 
@@ -699,7 +705,7 @@ graph TD
699
705
 
700
706
  ---
701
707
 
702
- ## 🔥 실전 시나리오
708
+ ## 실전 시나리오
703
709
 
704
710
  ### 시나리오 1: 긴급 버그 수정 (Hotfix)
705
711
 
@@ -782,7 +788,7 @@ git push origin v1.0.0
782
788
 
783
789
  ---
784
790
 
785
- ## 🧠 AI 모델 선택 가이드
791
+ ## AI 모델 선택 가이드
786
792
 
787
793
  MoAI-ADK는 **Haiku 4.5**와 **Sonnet 4.5** 두 가지 AI 모델을 전략적으로 활용하여 **최적의 성능과 비용 효율**을 제공합니다.
788
794
 
@@ -802,7 +808,7 @@ Claude Code에서 `/model` 명령어로 전체 세션의 기본 모델을 변경
802
808
 
803
809
  Alfred는 **작업 특성**에 따라 각 에이전트에 최적 모델을 할당합니다:
804
810
 
805
- #### 🚀 Haiku 에이전트 (6개) - 패스트 모드
811
+ #### Haiku 에이전트 (6개) - 패스트 모드
806
812
 
807
813
  **빠른 응답이 필요한 반복 작업 및 패턴 매칭**
808
814
 
@@ -817,11 +823,11 @@ Alfred는 **작업 특성**에 따라 각 에이전트에 최적 모델을 할
817
823
 
818
824
  **장점**:
819
825
 
820
- - **속도 2~5배 향상**: 실시간 응답 (수 초 → 1초 이내)
821
- - 💰 **비용 67% 절감**: 반복 작업이 많은 프로젝트에 효과적
822
- - 🎯 **높은 정확도**: 패턴화된 작업에서 Sonnet과 동등한 품질
826
+ - **속도 2~5배 향상**: 실시간 응답 (수 초 → 1초 이내)
827
+ - **비용 67% 절감**: 반복 작업이 많은 프로젝트에 효과적
828
+ - **높은 정확도**: 패턴화된 작업에서 Sonnet과 동등한 품질
823
829
 
824
- #### 🧠 Sonnet 에이전트 (6개) - 스마트 모드
830
+ #### Sonnet 에이전트 (6개) - 스마트 모드
825
831
 
826
832
  **복잡한 판단과 창의적 설계가 필요한 작업**
827
833
 
@@ -836,20 +842,20 @@ Alfred는 **작업 특성**에 따라 각 에이전트에 최적 모델을 할
836
842
 
837
843
  **장점**:
838
844
 
839
- - 🎯 **높은 품질**: 복잡한 코드 품질 보장
840
- - 🧠 **깊은 이해**: 맥락 파악 및 창의적 해결책 제시
841
- - 🏆 **정확한 판단**: 아키텍처 결정, 설계 선택
845
+ - **높은 품질**: 복잡한 코드 품질 보장
846
+ - **깊은 이해**: 맥락 파악 및 창의적 해결책 제시
847
+ - **정확한 판단**: 아키텍처 결정, 설계 선택
842
848
 
843
849
  ### 사용 시나리오별 권장 모델
844
850
 
845
- | 시나리오 | 권장 모델 | 이유 |
846
- | ---------------------- | --------- | ----------------------------- |
847
- | 🆕 **새 프로젝트 시작** | Sonnet | SPEC 설계, 아키텍처 결정 필요 |
848
- | 🔄 **반복 개발** | Haiku | 이미 정해진 패턴 반복 구현 |
849
- | 🐛 **버그 수정** | Sonnet | 원인 분석 및 해결 방법 도출 |
850
- | 📝 **문서 작성** | Haiku | Living Document 동기화 |
851
- | 🔍 **코드 탐색** | Haiku | 파일 검색, TAG 조회 |
852
- | ♻️ **리팩토링** | Sonnet | 구조 개선, 복잡한 변경 |
851
+ | 시나리오 | 권장 모델 | 이유 |
852
+ | ------------------ | --------- | ----------------------------- |
853
+ | **새 프로젝트 시작** | Sonnet | SPEC 설계, 아키텍처 결정 필요 |
854
+ | **반복 개발** | Haiku | 이미 정해진 패턴 반복 구현 |
855
+ | **버그 수정** | Sonnet | 원인 분석 및 해결 방법 도출 |
856
+ | **문서 작성** | Haiku | Living Document 동기화 |
857
+ | **코드 탐색** | Haiku | 파일 검색, TAG 조회 |
858
+ | **리팩토링** | Sonnet | 구조 개선, 복잡한 변경 |
853
859
 
854
860
  ### 모델 전환 팁
855
861
 
@@ -873,7 +879,7 @@ Alfred는 **작업 특성**에 따라 각 에이전트에 최적 모델을 할
873
879
 
874
880
  ---
875
881
 
876
- ## 🛠️ CLI Reference
882
+ ## CLI Reference
877
883
 
878
884
  ### 프로젝트 관리
879
885
 
@@ -975,13 +981,13 @@ moai-adk --help
975
981
 
976
982
  ---
977
983
 
978
- ## 🎨 Alfred's Output Styles
984
+ ## Alfred's Output Styles
979
985
 
980
986
  Alfred는 작업 특성과 사용자 경험 수준에 따라 **3가지 출력 스타일**을 제공합니다. Claude Code에서 `/output-style` 명령어로 언제든지 전환할 수 있습니다.
981
987
 
982
988
  ### 3가지 표준 스타일
983
989
 
984
- #### 1. Agentic Coding (기본값) ⚡🤝
990
+ #### 1. Agentic Coding (기본값)
985
991
 
986
992
  **대상**: 실무 개발자, 팀 리더, 아키텍트
987
993
 
@@ -989,12 +995,12 @@ Alfred SuperAgent가 11개 전문 에이전트를 조율하여 빠른 개발과
989
995
 
990
996
  **두 가지 작업 방식**:
991
997
 
992
- - **⚡ Fast Mode (기본)**: 빠른 개발, 구현 위주 작업
998
+ - **Fast Mode (기본)**: 빠른 개발, 구현 위주 작업
993
999
  - SPEC → TDD → SYNC 자동화
994
1000
  - 간결한 기술 커뮤니케이션
995
1001
  - 최소 설명, 최대 효율
996
1002
  - TRUST 5원칙 자동 검증
997
- - **🤝 Collab Mode (자동 전환)**: "협업", "브레인스토밍", "설계", "리뷰" 키워드 감지 시
1003
+ - **Collab Mode (자동 전환)**: "협업", "브레인스토밍", "설계", "리뷰" 키워드 감지 시
998
1004
  - 질문 기반 대화
999
1005
  - 트레이드오프 분석
1000
1006
  - 아키텍처 다이어그램 제공
@@ -1015,7 +1021,7 @@ Alfred SuperAgent가 11개 전문 에이전트를 조율하여 빠른 개발과
1015
1021
 
1016
1022
  ---
1017
1023
 
1018
- #### 2. MoAI ADK Learning 📚
1024
+ #### 2. MoAI ADK Learning
1019
1025
 
1020
1026
  **대상**: MoAI-ADK를 처음 사용하는 개발자
1021
1027
 
@@ -1049,7 +1055,7 @@ MoAI-ADK의 핵심 개념과 3단계 워크플로우를 친절하게 설명하
1049
1055
 
1050
1056
  ---
1051
1057
 
1052
- #### 3. Study with Alfred 🎓
1058
+ #### 3. Study with Alfred
1053
1059
 
1054
1060
  **대상**: 새로운 기술/언어/프레임워크를 배우려는 개발자
1055
1061
 
@@ -1098,11 +1104,11 @@ Alfred가 함께 배우는 친구처럼 새로운 기술을 쉽게 설명하고,
1098
1104
 
1099
1105
  | 상황 | 권장 스타일 | 이유 |
1100
1106
  | ------------------- | ----------------------- | -------------------------------- |
1101
- | 🚀 **실무 개발** | Agentic Coding | Fast/Collab 자동 전환, 효율 중심 |
1102
- | 📚 **MoAI-ADK 학습** | MoAI ADK Learning | SPEC-First, TAG, TRUST 개념 이해 |
1103
- | 🎓 **새 기술 학습** | Study with Alfred | What-Why-How-Practice 4단계 |
1104
- | 🔄 **반복 작업** | Agentic Coding (Fast) | 최소 설명, 빠른 실행 |
1105
- | 🤝 **팀 협업** | Agentic Coding (Collab) | 트레이드오프 분석, 브레인스토밍 |
1107
+ | **실무 개발** | Agentic Coding | Fast/Collab 자동 전환, 효율 중심 |
1108
+ | **MoAI-ADK 학습** | MoAI ADK Learning | SPEC-First, TAG, TRUST 개념 이해 |
1109
+ | **새 기술 학습** | Study with Alfred | What-Why-How-Practice 4단계 |
1110
+ | **반복 작업** | Agentic Coding (Fast) | 최소 설명, 빠른 실행 |
1111
+ | **팀 협업** | Agentic Coding (Collab) | 트레이드오프 분석, 브레인스토밍 |
1106
1112
 
1107
1113
  **스타일 전환 예시**:
1108
1114
 
@@ -1121,7 +1127,7 @@ Alfred가 함께 배우는 친구처럼 새로운 기술을 쉽게 설명하고,
1121
1127
 
1122
1128
  ---
1123
1129
 
1124
- ## 🌍 Universal Language Support
1130
+ ## Universal Language Support
1125
1131
 
1126
1132
  Alfred는 **17개 주요 프로그래밍 언어**를 지원하며, 각 언어에 최적화된 도구 체인을 자동으로 선택합니다.
1127
1133
 
@@ -1234,7 +1240,7 @@ Alfred는 각 디렉토리의 언어를 자동 감지하고 적절한 도구 체
1234
1240
 
1235
1241
  ---
1236
1242
 
1237
- ## 🛡️ TRUST 5원칙
1243
+ ## TRUST 5원칙
1238
1244
 
1239
1245
  Alfred가 모든 코드에 자동으로 적용하는 품질 기준입니다.
1240
1246
 
@@ -1287,78 +1293,7 @@ Alfred가 모든 코드에 자동으로 적용하는 품질 기준입니다.
1287
1293
 
1288
1294
  ---
1289
1295
 
1290
- ## 📐 코드 품질 가이드
1291
-
1292
- ### 리팩토링 규칙: 3회 반복 규칙
1293
-
1294
- **원칙**: 동일한 패턴이 3번째 반복될 때 리팩토링을 고려합니다.
1295
-
1296
- ```python
1297
- # ❌ 반복 1회: 복사-붙여넣기 OK
1298
- def process_user_data(user):
1299
- if not user.is_active:
1300
- return None
1301
- return user.data
1302
-
1303
- # ❌ 반복 2회: 복사-붙여넣기 OK (하지만 주의)
1304
- def process_admin_data(admin):
1305
- if not admin.is_active:
1306
- return None
1307
- return admin.data
1308
-
1309
- # ✅ 반복 3회: 리팩토링 필수!
1310
- def process_data(entity):
1311
- """공통 로직 추출"""
1312
- if not entity.is_active:
1313
- return None
1314
- return entity.data
1315
- ```
1316
-
1317
- ### 변수 역할 참고 (11가지 패턴)
1318
-
1319
- **변수 명명에 도움이 되는 역할 분류**:
1320
-
1321
- | 역할 | 설명 | 예시 |
1322
- | ------------------ | ----------------------- | ------------------------------------- |
1323
- | Fixed Value | 초기화 후 불변 | `const MAX_SIZE = 100` |
1324
- | Stepper | 순차적으로 변화 | `for (let i = 0; i < n; i++)` |
1325
- | Flag | 불린 상태 표시 | `let isValid = true` |
1326
- | Walker | 자료구조 순회 | `while (node) { node = node.next; }` |
1327
- | Most Recent Holder | 가장 최근 값 보관 | `let lastError` |
1328
- | Most Wanted Holder | 최적/최대값 보관 | `let bestScore = -Infinity` |
1329
- | Gatherer | 누적기 | `sum += value` |
1330
- | Container | 여러 값 저장 | `const list = []` |
1331
- | Follower | 다른 변수의 이전 값 | `prev = curr; curr = next;` |
1332
- | Organizer | 데이터 재구성 | `const sorted = array.sort()` |
1333
- | Temporary | 임시 저장 | `const temp = a; a = b; b = temp;` |
1334
-
1335
- **실제 적용 예시**:
1336
-
1337
- ```python
1338
- # ✅ 좋은 예: 역할이 명확한 변수명
1339
- def find_max_score(scores: List[int]) -> int:
1340
- """최고 점수 찾기"""
1341
- best_score = -float('inf') # Most Wanted Holder
1342
-
1343
- for score in scores: # Stepper (implicit)
1344
- if score > best_score:
1345
- best_score = score
1346
-
1347
- return best_score
1348
-
1349
-
1350
- # ❌ 나쁜 예: 역할이 불명확한 변수명
1351
- def find_max(data):
1352
- x = -999999
1353
- for d in data:
1354
- if d > x:
1355
- x = d
1356
- return x
1357
- ```
1358
-
1359
- ---
1360
-
1361
- ## ⬆️ 업그레이드 가이드
1296
+ ## 업그레이드 가이드
1362
1297
 
1363
1298
  ### 1단계: 패키지 업데이트
1364
1299
 
@@ -1421,7 +1356,7 @@ Running system diagnostics...
1421
1356
 
1422
1357
  ---
1423
1358
 
1424
- ## FAQ
1359
+ ## FAQ
1425
1360
 
1426
1361
  ### Q1: MoAI-ADK는 어떤 프로젝트에 적합한가요?
1427
1362
 
@@ -1501,7 +1436,7 @@ Running system diagnostics...
1501
1436
 
1502
1437
  ---
1503
1438
 
1504
- ## 🔧 문제 해결
1439
+ ## 문제 해결
1505
1440
 
1506
1441
  ### 설치 문제
1507
1442
 
@@ -1614,7 +1549,7 @@ rg "@SPEC:" -n .moai/specs/
1614
1549
 
1615
1550
  ---
1616
1551
 
1617
- ## 📚 문서 및 지원
1552
+ ## 문서 및 지원
1618
1553
 
1619
1554
  ### 공식 문서
1620
1555
 
@@ -1644,7 +1579,7 @@ MIT License - 자유롭게 사용하실 수 있습니다.
1644
1579
 
1645
1580
  ---
1646
1581
 
1647
- ## 🙏 감사의 말
1582
+ ## 감사의 말
1648
1583
 
1649
1584
  MoAI-ADK는 다음 프로젝트와 커뮤니티의 도움으로 만들어졌습니다:
1650
1585