moai-adk 0.3.0__tar.gz → 0.3.1__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 (88) hide show
  1. moai_adk-0.3.1/PKG-INFO +1054 -0
  2. moai_adk-0.3.1/README.md +1017 -0
  3. {moai_adk-0.3.0 → moai_adk-0.3.1}/pyproject.toml +23 -1
  4. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/__init__.py +1 -1
  5. moai_adk-0.3.0/PKG-INFO +0 -20
  6. {moai_adk-0.3.0 → moai_adk-0.3.1}/.gitignore +0 -0
  7. {moai_adk-0.3.0 → moai_adk-0.3.1}/LICENSE +0 -0
  8. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/__main__.py +0 -0
  9. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/__init__.py +0 -0
  10. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/__init__.py +0 -0
  11. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/backup.py +0 -0
  12. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/doctor.py +0 -0
  13. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/init.py +0 -0
  14. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/restore.py +0 -0
  15. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/status.py +0 -0
  16. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/commands/update.py +0 -0
  17. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/main.py +0 -0
  18. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/prompts/__init__.py +0 -0
  19. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/cli/prompts/init_prompts.py +0 -0
  20. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/__init__.py +0 -0
  21. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/__init__.py +0 -0
  22. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/branch.py +0 -0
  23. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/branch_manager.py +0 -0
  24. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/checkpoint.py +0 -0
  25. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/commit.py +0 -0
  26. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/event_detector.py +0 -0
  27. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/git/manager.py +0 -0
  28. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/__init__.py +0 -0
  29. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/backup_utils.py +0 -0
  30. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/checker.py +0 -0
  31. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/detector.py +0 -0
  32. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/initializer.py +0 -0
  33. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/phase_executor.py +0 -0
  34. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/project/validator.py +0 -0
  35. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/quality/__init__.py +0 -0
  36. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/quality/trust_checker.py +0 -0
  37. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/quality/validators/__init__.py +0 -0
  38. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/quality/validators/base_validator.py +0 -0
  39. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/template/__init__.py +0 -0
  40. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/template/backup.py +0 -0
  41. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/template/config.py +0 -0
  42. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/template/languages.py +0 -0
  43. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/template/merger.py +0 -0
  44. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/core/template/processor.py +0 -0
  45. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -0
  46. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/code-builder.md +0 -0
  47. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -0
  48. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -0
  49. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -0
  50. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -0
  51. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -0
  52. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -0
  53. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -0
  54. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/commands/alfred/0-project.md +0 -0
  55. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/commands/alfred/1-spec.md +0 -0
  56. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/commands/alfred/2-build.md +0 -0
  57. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -0
  58. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/README.md +0 -0
  59. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -0
  60. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -0
  61. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +0 -0
  62. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -0
  63. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -0
  64. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/core/tags.py +0 -0
  65. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -0
  66. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/handlers/compact.py +0 -0
  67. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -0
  68. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -0
  69. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -0
  70. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -0
  71. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -0
  72. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -0
  73. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -0
  74. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.claude/settings.json +0 -0
  75. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  76. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
  77. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.gitignore +0 -0
  78. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.moai/config.json +0 -0
  79. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.moai/memory/development-guide.md +0 -0
  80. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.moai/memory/spec-metadata.md +0 -0
  81. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.moai/project/product.md +0 -0
  82. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.moai/project/structure.md +0 -0
  83. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/.moai/project/tech.md +0 -0
  84. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/CLAUDE.md +0 -0
  85. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/templates/__init__.py +0 -0
  86. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/utils/__init__.py +0 -0
  87. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/utils/banner.py +0 -0
  88. {moai_adk-0.3.0 → moai_adk-0.3.1}/src/moai_adk/utils/logger.py +0 -0
@@ -0,0 +1,1054 @@
1
+ Metadata-Version: 2.4
2
+ Name: moai-adk
3
+ Version: 0.3.1
4
+ Summary: MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent
5
+ Project-URL: Homepage, https://github.com/modu-ai/moai-adk
6
+ Project-URL: Repository, https://github.com/modu-ai/moai-adk
7
+ Project-URL: Issues, https://github.com/modu-ai/moai-adk/issues
8
+ Project-URL: Changelog, https://github.com/modu-ai/moai-adk/releases
9
+ Author-email: MoAI Team <support@moduai.kr>
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: agentic,ai,alfred,claude,development,spec-first,tdd,toolkit
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: Software Development :: Quality Assurance
20
+ Classifier: Topic :: Software Development :: Testing
21
+ Requires-Python: >=3.13
22
+ Requires-Dist: click>=8.1.0
23
+ Requires-Dist: gitpython>=3.1.45
24
+ Requires-Dist: pyfiglet>=1.0.2
25
+ Requires-Dist: questionary>=2.0.0
26
+ Requires-Dist: rich>=13.0.0
27
+ Provides-Extra: dev
28
+ Requires-Dist: mypy>=1.7.0; extra == 'dev'
29
+ Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
30
+ Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
31
+ Requires-Dist: pytest>=8.4.2; extra == 'dev'
32
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
33
+ Provides-Extra: security
34
+ Requires-Dist: bandit>=1.8.0; extra == 'security'
35
+ Requires-Dist: pip-audit>=2.7.0; extra == 'security'
36
+ Description-Content-Type: text/markdown
37
+
38
+ # MoAI-ADK (Agentic Development Kit)
39
+
40
+ [![PyPI version](https://img.shields.io/pypi/v/moai-adk)](https://pypi.org/project/moai-adk/)
41
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
42
+ [![Python](https://img.shields.io/badge/Python-3.13+-blue)](https://www.python.org/)
43
+ [![Tests](https://github.com/modu-ai/moai-adk/actions/workflows/moai-gitflow.yml/badge.svg)](https://github.com/modu-ai/moai-adk/actions/workflows/moai-gitflow.yml)
44
+ [![codecov](https://codecov.io/gh/modu-ai/moai-adk/branch/develop/graph/badge.svg)](https://codecov.io/gh/modu-ai/moai-adk)
45
+ [![Coverage](https://img.shields.io/badge/coverage-87.66%25-brightgreen)](https://github.com/modu-ai/moai-adk)
46
+
47
+ ## MoAI-ADK: 모두의AI 에이전틱 코딩 개발 프레임워크
48
+
49
+ **안내**: MoAI-ADK는 모두의AI 연구실에서 집필 중인 "(가칭) 에이전틱 코딩" 서적의 별책 부록 오픈 소스 프로젝트입니다.
50
+
51
+ ![MoAI-ADK CLI Interface](https://github.com/modu-ai/moai-adk/raw/main/docs/public/moai-tui_screen-light.png)
52
+
53
+ > **"SPEC이 없으면 CODE도 없다."**
54
+
55
+ ---
56
+
57
+ ## 목차
58
+
59
+ - [v0.3.0 주요 개선사항](#-v030-주요-개선사항)
60
+ - [Meet Alfred](#-meet-alfred---10개-ai-에이전트-팀)
61
+ - [AI 모델 선택 가이드](#-ai-모델-선택-가이드)
62
+ - [Quick Start](#-quick-start-3분-실전)
63
+ - [3단계 워크플로우](#-3단계-워크플로우)
64
+ - [CLI Reference](#-cli-reference)
65
+ - [출력 스타일](#-alfreds-output-styles)
66
+ - [언어 지원](#-universal-language-support)
67
+ - [TRUST 5원칙](#-trust-5원칙)
68
+ - [FAQ](#-faq)
69
+ - [문제 해결](#-문제-해결)
70
+
71
+ ---
72
+
73
+ ## 🆕 v0.3.0 주요 개선사항
74
+
75
+ ### 🚀 핵심 기능 강화
76
+
77
+ #### 1. Template Processor 개선 - 안전한 업데이트 시스템
78
+ - **Alfred 폴더 자동 백업**: 업데이트 전 `.moai-backups/alfred-{timestamp}/` 폴더에 자동 백업
79
+ - **선택적 복사 전략**: Alfred 시스템 폴더만 덮어쓰고, 사용자 커스터마이징 파일 보존
80
+ - **지능형 병합**: `product/structure/tech.md` 등 프로젝트 문서를 BackupMerger가 자동으로 병합
81
+ - **롤백 지원**: 문제 발생 시 백업에서 복구 가능
82
+
83
+ #### 2. Event-Driven Checkpoint 시스템
84
+ - **자동 백업**: 위험한 작업(`rm -rf`, 병합, 스크립트 실행) 전 자동 checkpoint 생성
85
+ - **Hooks 통합**: `SessionStart`, `PreToolUse`, `PostToolUse` 훅이 실시간 감지
86
+ - **최대 10개 유지**: FIFO + 7일 보존 정책으로 디스크 효율 관리
87
+ - **투명한 동작**: 백그라운드 자동 생성, 사용자에게 알림
88
+
89
+ #### 3. Hooks vs Agents vs Commands 역할 분리
90
+ - **Hooks** (가드레일): 위험 차단, 자동 백업, JIT Context (<100ms)
91
+ - **Agents** (분석): SPEC 검증, TRUST 원칙 확인, TAG 관리 (수 초)
92
+ - **Commands** (워크플로우): 여러 단계 오케스트레이션 (수 분)
93
+
94
+ #### 4. Context Engineering 전략 완성
95
+ - **JIT Retrieval**: 필요한 순간에만 문서 로드 (초기 컨텍스트 최소화)
96
+ - **Compaction**: 토큰 사용량 >70% 시 요약 후 새 세션 시작 권장
97
+ - **Explore 에이전트**: 대규모 코드베이스 효율적 탐색 가이드 추가
98
+
99
+ #### 5. AI 모델 최적화 - Haiku/Sonnet 전략적 배치
100
+ - **Haiku 에이전트 적용** (5개): doc-syncer, tag-agent, git-manager, trust-checker, Explore
101
+ - 빠른 응답 속도 (2~5배 향상)
102
+ - 비용 67% 절감
103
+ - 반복 작업 및 패턴 매칭에 최적화
104
+ - **Sonnet 에이전트 유지** (5개): spec-builder, code-builder, debug-helper, cc-manager, project-manager
105
+ - 복잡한 판단 및 설계에 집중
106
+ - 높은 품질 보장
107
+ - **/model 명령어 지원**:
108
+ - `/model haiku` → **패스트 모드** (빠른 응답, 반복 작업)
109
+ - `/model sonnet` → **스마트 모드** (복잡한 판단, 설계)
110
+
111
+ ### 🛠️ 도구 & 명령어 개선
112
+
113
+ #### CLI 명령어 표준화
114
+ ```bash
115
+ # 새 프로젝트 생성
116
+ moai-adk init project-name
117
+
118
+ # 기존 프로젝트에 설치
119
+ moai-adk init .
120
+
121
+ # 상태 확인
122
+ moai-adk status
123
+
124
+ # 업데이트
125
+ moai-adk update
126
+ ```
127
+
128
+ #### Alfred 커맨드 단계별 커밋 지침 추가
129
+ - **0-project**: 문서 생성 완료 시 커밋
130
+ - **1-spec**: SPEC 작성 + Git 브랜치/PR 생성 시 커밋
131
+ - **2-build**: TDD 전체 사이클(RED→GREEN→REFACTOR) 완료 시 1회 커밋
132
+ - **3-sync**: 문서 동기화 완료 시 커밋
133
+
134
+ #### PyPI 배포 자동화
135
+ - GitHub Actions 워크플로우 추가 (`.github/workflows/publish-pypi.yml`)
136
+ - 템플릿 프로젝트에도 배포 워크플로우 제공
137
+ - 버전 관리 및 자동 배포 지원
138
+
139
+ ### 📚 문서 강화
140
+
141
+ #### SPEC 메타데이터 표준 (SSOT)
142
+ - **필수 필드 7개**: id, version, status, created, updated, author, priority
143
+ - **선택 필드 9개**: category, labels, depends_on, blocks, related_specs, related_issue, scope
144
+ - **HISTORY 섹션**: 모든 버전 변경 이력 기록 (필수)
145
+ - `.moai/memory/spec-metadata.md`에 전체 가이드 문서화
146
+
147
+ #### Explore 에이전트 활용 가이드
148
+ - 코드 분석 권장 상황 명확화
149
+ - thoroughness 레벨별 사용법 (quick/medium/very thorough)
150
+ - JIT Retrieval 최적화 전략
151
+
152
+ ### 🔒 보안 & 안정성
153
+
154
+ #### 크로스 플랫폼 지원 강화
155
+ - Windows/macOS/Linux 동일 동작 보장
156
+ - 플랫폼별 에러 메시지 제공
157
+ - PowerShell + Python 보안 스캔 스크립트
158
+
159
+ #### .gitignore 및 프로젝트 정리
160
+ - 로컬 설정 파일 자동 제외 (`.claude/settings.local.json`)
161
+ - 임시 테스트 파일 제외 (`*-test-report.md`)
162
+ - 불필요한 파일 자동 정리
163
+
164
+ ### 🎨 출력 스타일 개선
165
+
166
+ #### 3가지 표준 스타일
167
+ - **MoAI Beginner Learning**: 개발 입문자를 위한 친절한 가이드
168
+ - **MoAI Professional**: 전문 개발자를 위한 효율적인 출력
169
+ - **MoAI Alfred (기본)**: 균형잡힌 AI 협업 스타일
170
+
171
+ ---
172
+
173
+ ## ▶◀ Meet Alfred - 10개 AI 에이전트 팀
174
+
175
+ 안녕하세요, 모두의AI SuperAgent **▶◀ Alfred**입니다!
176
+
177
+ ![Alfred Logo](https://github.com/modu-ai/moai-adk/raw/main/docs/public/alfred_logo.png)
178
+
179
+ 저는 MoAI-ADK의 SuperAgent이자 중앙 오케스트레이터 AI입니다. **10개의 AI 에이전트 팀**(Alfred + 9개 전문 에이전트)을 조율하여 Claude Code 환경에서 완벽한 개발 지원을 제공합니다.
180
+
181
+ ### 🌟 흥미로운 사실: AI가 만든 AI 개발 도구
182
+
183
+ 이 프로젝트의 모든 코드는 **100% AI에 의해 작성**되었습니다.
184
+
185
+ - **AI 협업 설계**: GPT-5 Pro와 Claude 4.1 Opus가 함께 아키텍처를 설계
186
+ - **Agentic Coding 적용**: 10개 AI 에이전트 팀이 자율적으로 SPEC 작성, TDD 구현, 문서 동기화 수행
187
+ - **투명성**: 완벽하지 않은 부분을 숨기지 않고, 커뮤니티와 함께 개선해나가는 오픈소스
188
+
189
+ ### ▶◀ Alfred가 제공하는 4가지 핵심 가치
190
+
191
+ #### 1️⃣ 일관성 (Consistency)
192
+ **SPEC → TDD → Sync** 3단계 파이프라인으로 플랑켄슈타인 코드 방지
193
+
194
+ #### 2️⃣ 품질 (Quality)
195
+ **TRUST 5원칙** 자동 적용 및 검증 (Test First, Readable, Unified, Secured, Trackable)
196
+
197
+ #### 3️⃣ 추적성 (Traceability)
198
+ **@TAG 시스템**으로 `@SPEC → @TEST → @CODE → @DOC` 완벽 연결
199
+
200
+ #### 4️⃣ 범용성 (Universality)
201
+ **모든 주요 언어 지원** (Python, TypeScript, Java, Go, Rust, Dart, Swift, Kotlin 등)
202
+
203
+ ---
204
+
205
+ ## 🧠 AI 모델 선택 가이드
206
+
207
+ MoAI-ADK는 **Haiku 4.5**와 **Sonnet 4.5** 두 가지 AI 모델을 전략적으로 활용하여 **최적의 성능과 비용 효율**을 제공합니다.
208
+
209
+ ### 패스트 모드 vs 스마트 모드
210
+
211
+ Claude Code에서 `/model` 명령어로 전체 세션의 기본 모델을 변경할 수 있습니다:
212
+
213
+ ```text
214
+ # 패스트 모드 (빠른 응답, 반복 작업)
215
+ /model haiku
216
+
217
+ # 스마트 모드 (복잡한 판단, 설계)
218
+ /model sonnet
219
+ ```
220
+
221
+ ### 10개 에이전트의 모델 배치 전략
222
+
223
+ Alfred는 **작업 특성**에 따라 각 에이전트에 최적 모델을 할당합니다:
224
+
225
+ #### 🚀 Haiku 에이전트 (5개) - 패스트 모드
226
+
227
+ **빠른 응답이 필요한 반복 작업 및 패턴 매칭**
228
+
229
+ | 에이전트 | 역할 | 왜 Haiku? |
230
+ |---------|------|-----------|
231
+ | **doc-syncer** 📖 | 문서 동기화 | 패턴화된 문서 업데이트, Living Document 생성 |
232
+ | **tag-agent** 🏷️ | TAG 시스템 관리 | 반복적 패턴 매칭, TAG 체인 검증 |
233
+ | **git-manager** 🚀 | Git 워크플로우 | 정형화된 Git 명령어 실행, 브랜치/PR 생성 |
234
+ | **trust-checker** ✅ | TRUST 원칙 검증 | 규칙 기반 체크리스트 확인 |
235
+ | **Explore** 🔍 | 코드베이스 탐색 | 대량 파일 스캔, 키워드 검색 |
236
+
237
+ **장점**:
238
+ - ⚡ **속도 2~5배 향상**: 실시간 응답 (수 초 → 1초 이내)
239
+ - 💰 **비용 67% 절감**: 반복 작업이 많은 프로젝트에 효과적
240
+ - 🎯 **높은 정확도**: 패턴화된 작업에서 Sonnet과 동등한 품질
241
+
242
+ #### 🧠 Sonnet 에이전트 (5개) - 스마트 모드
243
+
244
+ **복잡한 판단과 창의적 설계가 필요한 작업**
245
+
246
+ | 에이전트 | 역할 | 왜 Sonnet? |
247
+ |---------|------|-----------|
248
+ | **spec-builder** 🏗️ | SPEC 작성 | EARS 구조 설계, 복잡한 요구사항 분석 |
249
+ | **code-builder** 💎 | TDD 구현 | 아키텍처 설계, 복잡한 리팩토링 |
250
+ | **debug-helper** 🔬 | 디버깅 | 오류 원인 분석, 해결 방법 도출 |
251
+ | **cc-manager** 🛠️ | Claude Code 설정 | 워크플로우 최적화, 복잡한 설정 |
252
+ | **project-manager** 📋 | 프로젝트 초기화 | 전략 수립, 복잡한 의사결정 |
253
+
254
+ **장점**:
255
+ - 🎯 **높은 품질**: 복잡한 코드 품질 보장
256
+ - 🧠 **깊은 이해**: 맥락 파악 및 창의적 해결책 제시
257
+ - 🏆 **정확한 판단**: 아키텍처 결정, 설계 선택
258
+
259
+ ### 사용 시나리오별 권장 모델
260
+
261
+ | 시나리오 | 권장 모델 | 이유 |
262
+ |---------|----------|------|
263
+ | 🆕 **새 프로젝트 시작** | Sonnet | SPEC 설계, 아키텍처 결정 필요 |
264
+ | 🔄 **반복 개발** | Haiku | 이미 정해진 패턴 반복 구현 |
265
+ | 🐛 **버그 수정** | Sonnet | 원인 분석 및 해결 방법 도출 |
266
+ | 📝 **문서 작성** | Haiku | Living Document 동기화 |
267
+ | 🔍 **코드 탐색** | Haiku | 파일 검색, TAG 조회 |
268
+ | ♻️ **리팩토링** | Sonnet | 구조 개선, 복잡한 변경 |
269
+
270
+ ### 모델 전환 팁
271
+
272
+ ```text
273
+ # 새 기능 설계 시작
274
+ /model sonnet
275
+ /alfred:1-spec "사용자 인증 시스템"
276
+
277
+ # SPEC 승인 후 TDD 구현
278
+ /alfred:2-build AUTH-001
279
+
280
+ # 구현 완료 후 문서 동기화 (자동으로 Haiku 사용)
281
+ /alfred:3-sync
282
+
283
+ # 다음 기능 설계
284
+ /model sonnet
285
+ /alfred:1-spec "결제 시스템"
286
+ ```
287
+
288
+ **Pro Tip**: Alfred는 각 에이전트를 호출할 때 자동으로 최적 모델을 사용하므로, **세션 전체 모델 변경은 선택사항**입니다. 기본 설정(Sonnet)으로도 충분히 효율적입니다.
289
+
290
+ ---
291
+
292
+ ## 🚀 Quick Start (3분 실전)
293
+
294
+ ### 📋 준비물
295
+
296
+ - ✅ Python 3.13+ 또는 uv 설치
297
+ - ✅ Claude Code 실행 중
298
+ - ✅ Git 설치 (선택사항)
299
+
300
+ ### ⚡ 3단계로 시작하기
301
+
302
+ #### 1️⃣ 설치 (30초)
303
+
304
+ ```bash
305
+ # uv 권장 (빠른 성능)
306
+ pip install uv
307
+ uv pip install moai-adk
308
+
309
+ # 또는 pip 사용
310
+ pip install moai-adk
311
+
312
+ # 설치 확인
313
+ moai-adk --version
314
+ ```
315
+
316
+ #### 2️⃣ 초기화 (1분)
317
+
318
+ **새 프로젝트 생성:**
319
+ ```bash
320
+ moai-adk init my-project
321
+ cd my-project
322
+
323
+ # Claude Code 실행
324
+ claude
325
+ ```
326
+
327
+ **기존 프로젝트에 설치:**
328
+ ```bash
329
+ cd existing-project
330
+ moai-adk init .
331
+
332
+ # Claude Code 실행
333
+ claude
334
+ ```
335
+
336
+ **Claude Code에서 프로젝트 초기화 (필수):**
337
+ ```text
338
+ /alfred:0-project
339
+ ```
340
+
341
+ Alfred가 자동으로:
342
+ - `.moai/project/` 문서 3종 생성 (product/structure/tech.md)
343
+ - 언어별 최적 도구 체인 설정
344
+ - 프로젝트 컨텍스트 완벽 이해
345
+
346
+ #### 3️⃣ 첫 기능 개발 (1분 30초)
347
+
348
+ **Claude Code에서 3단계 워크플로우:**
349
+ ```text
350
+ # SPEC 작성
351
+ /alfred:1-spec "JWT 기반 사용자 로그인 API"
352
+
353
+ # TDD 구현
354
+ /alfred:2-build AUTH-001
355
+
356
+ # 문서 동기화
357
+ /alfred:3-sync
358
+ ```
359
+
360
+ ### 🎉 완료!
361
+
362
+ **생성된 것들:**
363
+ - ✅ `.moai/specs/SPEC-AUTH-001/spec.md` (명세)
364
+ - ✅ `tests/test_auth_login.py` (테스트)
365
+ - ✅ `src/auth/service.py` (구현)
366
+ - ✅ `docs/api/auth.md` (문서)
367
+ - ✅ `@SPEC → @TEST → @CODE → @DOC` TAG 체인
368
+
369
+ ---
370
+
371
+ ## ⬆️ 업그레이드 가이드 (v0.2.x → v0.3.0)
372
+
373
+ ### 1단계: 패키지 업데이트
374
+
375
+ ```bash
376
+ # pip
377
+ pip install --upgrade moai-adk
378
+
379
+ # uv 권장
380
+ uv pip install --upgrade moai-adk
381
+ ```
382
+
383
+ ### 2단계: 프로젝트 업데이트
384
+
385
+ ```bash
386
+ cd your-project
387
+ moai-adk update
388
+ ```
389
+
390
+ **자동 백업**: 업데이트 전 `.moai-backups/{timestamp}/`에 자동 백업 생성
391
+
392
+ ### 3단계: Claude Code 최적화
393
+
394
+ ```text
395
+ claude
396
+ /alfred:0-project
397
+ ```
398
+
399
+ 병합 프롬프트에서 **Merge** 선택 → 기존 문서 유지 + 새 템플릿 추가
400
+
401
+ ### 검증 체크리스트
402
+
403
+ ```bash
404
+ # 상태 확인
405
+ moai-adk status
406
+
407
+ # 확인 항목
408
+ # ✅ .moai/config.json → project.moai_adk_version: "0.3.x"
409
+ # ✅ .moai/config.json → project.optimized: true
410
+ # ✅ 모든 커맨드 정상 작동
411
+ ```
412
+
413
+ ---
414
+
415
+ ## 🔄 3단계 워크플로우
416
+
417
+ Alfred의 핵심은 **체계적인 3단계 워크플로우**입니다.
418
+
419
+ ### 1️⃣ SPEC - 명세 작성
420
+
421
+ **명령어**: `/alfred:1-spec "JWT 기반 사용자 로그인 API"`
422
+
423
+ **Alfred가 자동 수행:**
424
+ - EARS 형식 명세 자동 생성
425
+ - `@SPEC:ID` TAG 부여
426
+ - Git 브랜치 자동 생성 (Team 모드)
427
+ - Draft PR 생성 (Team 모드)
428
+ - HISTORY 섹션 자동 추가
429
+
430
+ **산출물:**
431
+ - `.moai/specs/SPEC-AUTH-001/spec.md`
432
+ - `.moai/specs/SPEC-AUTH-001/plan.md`
433
+ - `.moai/specs/SPEC-AUTH-001/acceptance.md`
434
+
435
+ ### 2️⃣ BUILD - TDD 구현
436
+
437
+ **명령어**: `/alfred:2-build AUTH-001`
438
+
439
+ **Alfred가 자동 수행:**
440
+ - **RED**: 실패하는 테스트 작성
441
+ - **GREEN**: 최소 구현으로 테스트 통과
442
+ - **REFACTOR**: 코드 품질 개선
443
+ - TRUST 5원칙 자동 검증
444
+ - 단계별 Git 커밋 (TDD 완료 시 1회)
445
+
446
+ **산출물:**
447
+ - `tests/test_auth_login.py` (테스트 코드)
448
+ - `src/auth/service.py` (구현 코드)
449
+ - `@TEST:AUTH-001` → `@CODE:AUTH-001` TAG 체인
450
+
451
+ ### 3️⃣ SYNC - 문서 동기화
452
+
453
+ **명령어**: `/alfred:3-sync`
454
+
455
+ **Alfred가 자동 수행:**
456
+ - Living Document 업데이트
457
+ - TAG 시스템 무결성 검증
458
+ - sync-report.md 생성
459
+ - PR Ready 전환 (Team 모드)
460
+ - 선택적 자동 머지 (`--auto-merge`)
461
+
462
+ **산출물:**
463
+ - `docs/api/auth.md` (API 문서)
464
+ - `.moai/reports/sync-report.md`
465
+ - `@DOC:AUTH-001` TAG 추가
466
+
467
+ ---
468
+
469
+ ## 🛠️ CLI Reference
470
+
471
+ ### 프로젝트 관리
472
+
473
+ ```bash
474
+ # 새 프로젝트 생성
475
+ moai-adk init project-name
476
+
477
+ # 기존 프로젝트에 설치
478
+ moai-adk init .
479
+
480
+ # 프로젝트 상태 확인
481
+ moai-adk status
482
+
483
+ # 프로젝트 업데이트
484
+ moai-adk update
485
+
486
+ # 시스템 진단
487
+ moai-adk doctor
488
+
489
+ # 버전 확인
490
+ moai-adk --version
491
+
492
+ # 도움말
493
+ moai-adk --help
494
+ ```
495
+
496
+ ### Alfred 커맨드 (Claude Code 내)
497
+
498
+ #### 기본 커맨드
499
+
500
+ ```text
501
+ # 프로젝트 초기화
502
+ /alfred:0-project
503
+
504
+ # SPEC 작성
505
+ /alfred:1-spec "기능 설명"
506
+ /alfred:1-spec SPEC-001 "수정 내용"
507
+
508
+ # TDD 구현
509
+ /alfred:2-build SPEC-001
510
+ /alfred:2-build all
511
+
512
+ # 문서 동기화
513
+ /alfred:3-sync
514
+ /alfred:3-sync --auto-merge
515
+ /alfred:3-sync force
516
+ ```
517
+
518
+ #### 커맨드별 에이전트 & 모델 매핑
519
+
520
+ 각 Alfred 커맨드는 적절한 에이전트를 호출하며, **자동으로 최적 모델**을 사용합니다:
521
+
522
+ | 커맨드 | 에이전트 | 모델 | 작업 특성 | 예상 시간 |
523
+ |-------|----------|------|----------|----------|
524
+ | `/alfred:0-project` | project-manager 📋 | 세션 기본 모델 | 프로젝트 전략 수립, 복잡한 의사결정 | 1~2분 |
525
+ | `/alfred:1-spec` | spec-builder 🏗️ | 세션 기본 모델 | EARS 명세 설계, 요구사항 분석 | 2~3분 |
526
+ | `/alfred:2-build` | code-builder 💎 | 세션 기본 모델 | TDD 구현, 아키텍처 설계 | 3~5분 |
527
+ | `/alfred:3-sync` | doc-syncer 📖 | **Haiku 지정** | Living Document 동기화, 패턴 기반 | 30초~1분 |
528
+
529
+ #### 온디맨드 에이전트 호출
530
+
531
+ 특정 에이전트를 직접 호출할 수도 있습니다:
532
+
533
+ ```text
534
+ # Haiku 에이전트 (빠른 작업)
535
+ @agent-tag-agent "AUTH 도메인 TAG 목록 조회"
536
+ @agent-git-manager "브랜치 생성 및 PR 생성"
537
+ @agent-trust-checker "TRUST 원칙 준수 여부 확인"
538
+
539
+ # Sonnet 에이전트 (복잡한 작업)
540
+ @agent-debug-helper "TypeError 오류 원인 분석"
541
+ @agent-spec-builder "SPEC-AUTH-001 메타데이터 검증"
542
+ @agent-cc-manager "Claude Code 설정 최적화"
543
+
544
+ # Explore 에이전트 (Haiku, 코드 탐색)
545
+ @agent-Explore "JWT 인증 관련 코드 위치 탐색"
546
+ ```
547
+
548
+ #### 모델별 성능 비교
549
+
550
+ | 작업 유형 | Haiku (패스트) | Sonnet (스마트) | 실제 적용 |
551
+ |---------|---------------|----------------|----------|
552
+ | **SPEC 작성** | 1분 | 2~3분 | 세션 기본 모델 사용 |
553
+ | **TDD 구현** | 2분 | 3~5분 | 세션 기본 모델 사용 |
554
+ | **문서 동기화** | 30초 | 1~2분 | ✅ Haiku 지정 (3-sync) |
555
+ | **TAG 검증** | 10초 | 30초 | ✅ Haiku 지정 (tag-agent) |
556
+ | **Git 작업** | 5초 | 15초 | ✅ Haiku 지정 (git-manager) |
557
+ | **디버깅** | 1분 | 2~3분 | 세션 기본 모델 사용 |
558
+
559
+ **핵심 설계**:
560
+ - `/alfred:0-project`, `/alfred:1-spec`, `/alfred:2-build`: **사용자가 선택한 세션 기본 모델** 사용
561
+ - `/model sonnet` (기본값): 높은 품질, 복잡한 판단
562
+ - `/model haiku`: 빠른 속도, 반복 작업
563
+ - `/alfred:3-sync` 및 Haiku 에이전트: **자동으로 Haiku 모델** 사용 (패턴화된 작업)
564
+
565
+ **사용자 제어**: `/model` 명령어로 0~2번 커맨드의 품질과 속도를 자유롭게 조절할 수 있습니다.
566
+
567
+ ---
568
+
569
+ ## 🎨 Alfred's Output Styles
570
+
571
+ Alfred는 작업 특성과 사용자 경험 수준에 따라 **3가지 출력 스타일**을 제공합니다. Claude Code에서 `/output-style` 명령어로 언제든지 전환할 수 있습니다.
572
+
573
+ ### 3가지 표준 스타일
574
+
575
+ #### 1. Agentic Coding (기본값) ⚡🤝
576
+
577
+ **대상**: 실무 개발자, 팀 리더, 아키텍트
578
+
579
+ Alfred SuperAgent가 9개 전문 에이전트를 조율하여 빠른 개발과 협업을 자동으로 전환하는 통합 코딩 모드입니다.
580
+
581
+ **두 가지 작업 방식**:
582
+ - **⚡ Fast Mode (기본)**: 빠른 개발, 구현 위주 작업
583
+ - SPEC → TDD → SYNC 자동화
584
+ - 간결한 기술 커뮤니케이션
585
+ - 최소 설명, 최대 효율
586
+ - TRUST 5원칙 자동 검증
587
+ - **🤝 Collab Mode (자동 전환)**: "협업", "브레인스토밍", "설계", "리뷰" 키워드 감지 시
588
+ - 질문 기반 대화
589
+ - 트레이드오프 분석
590
+ - 아키텍처 다이어그램 제공
591
+ - 실시간 코드 리뷰
592
+
593
+ **핵심 원칙**:
594
+ - SPEC 우선: 모든 작업은 @SPEC:ID부터 시작
595
+ - TAG 무결성: `rg` 스캔 기반 실시간 검증
596
+ - TRUST 준수: 5원칙 자동 검증 및 품질 게이트
597
+ - 다중 언어: 17개 언어 지원 (Python, TypeScript, JavaScript, Java, Go, Rust, Dart, Swift, Kotlin, PHP, Ruby, C++, C, C#, Haskell, Shell, Lua)
598
+
599
+ **사용**:
600
+ ```text
601
+ /output-style agentic-coding
602
+ ```
603
+
604
+ ---
605
+
606
+ #### 2. MoAI ADK Learning 📚
607
+
608
+ **대상**: MoAI-ADK를 처음 사용하는 개발자
609
+
610
+ MoAI-ADK의 핵심 개념과 3단계 워크플로우를 친절하게 설명하여 빠르게 익힐 수 있도록 돕는 학습 모드입니다.
611
+
612
+ **핵심 철학**: "명세 없으면 코드 없다, 테스트 없으면 구현 없다"
613
+
614
+ **3가지 핵심 개념**:
615
+ 1. **SPEC-First**: 코드 작성 전 명세를 먼저 작성
616
+ - EARS 구문 (5가지 패턴)으로 요구사항 작성
617
+ - Ubiquitous, Event-driven, State-driven, Optional, Constraints
618
+ 2. **@TAG 추적성**: 모든 코드를 SPEC과 연결
619
+ - `@SPEC → @TEST → @CODE → @DOC` 체계
620
+ - CODE-FIRST 원칙 (코드 직접 스캔)
621
+ 3. **TRUST 품질**: 5가지 원칙으로 코드 품질 보장
622
+ - Test First, Readable, Unified, Secured, Trackable
623
+
624
+ **학습 내용**:
625
+ - 각 개념을 실생활 비유로 쉽게 설명
626
+ - 3단계 워크플로우 단계별 학습
627
+ - 실제 예시로 SPEC 작성 연습
628
+ - FAQ로 자주 묻는 질문 해결
629
+
630
+ **사용**:
631
+ ```text
632
+ /output-style moai-adk-learning
633
+ ```
634
+
635
+ ---
636
+
637
+ #### 3. Study with Alfred 🎓
638
+
639
+ **대상**: 새로운 기술/언어/프레임워크를 배우려는 개발자
640
+
641
+ Alfred가 함께 배우는 친구처럼 새로운 기술을 쉽게 설명하고, 실습을 도와주는 학습 모드입니다.
642
+
643
+ **학습 4단계**:
644
+
645
+ 1. **What (이게 뭐야?)** → 기본 개념 이해
646
+ - 한 줄 요약
647
+ - 실생활 비유
648
+ - 핵심 개념 3가지
649
+
650
+ 2. **Why (왜 필요해?)** → 사용 이유와 장점
651
+ - 문제 상황
652
+ - 해결 방법
653
+ - 실제 사용 사례
654
+
655
+ 3. **How (어떻게 써?)** → 실습 중심 학습
656
+ - 최소 예제 (Hello World)
657
+ - 실용적 예제 (CRUD API)
658
+ - 자주 묻는 질문
659
+
660
+ 4. **Practice (실전 적용)** → MoAI-ADK와 통합
661
+ - SPEC → TEST → CODE 흐름으로 실습
662
+ - Alfred가 단계별 안내
663
+ - 완성된 코드 품질 검증
664
+
665
+ **특징**:
666
+ - 복잡한 개념을 쉽게 풀어서 설명
667
+ - 실생활 비유로 이해도 향상
668
+ - 단계별로 함께 실습
669
+ - 자주 묻는 질문에 답변
670
+
671
+ **사용**:
672
+ ```text
673
+ /output-style study-with-alfred
674
+ ```
675
+
676
+ ---
677
+
678
+ ### 스타일 전환 가이드
679
+
680
+ **언제 전환할까요?**
681
+
682
+ | 상황 | 권장 스타일 | 이유 |
683
+ |------|------------|------|
684
+ | 🚀 **실무 개발** | Agentic Coding | Fast/Collab 자동 전환, 효율 중심 |
685
+ | 📚 **MoAI-ADK 학습** | MoAI ADK Learning | SPEC-First, TAG, TRUST 개념 이해 |
686
+ | 🎓 **새 기술 학습** | Study with Alfred | What-Why-How-Practice 4단계 |
687
+ | 🔄 **반복 작업** | Agentic Coding (Fast) | 최소 설명, 빠른 실행 |
688
+ | 🤝 **팀 협업** | Agentic Coding (Collab) | 트레이드오프 분석, 브레인스토밍 |
689
+
690
+ **스타일 전환 예시**:
691
+ ```text
692
+ # MoAI-ADK 처음 시작 시
693
+ /output-style moai-adk-learning
694
+
695
+ # 새로운 프레임워크 배울 때
696
+ /output-style study-with-alfred
697
+ "FastAPI를 배우고 싶어요"
698
+
699
+ # 실무 개발 시작
700
+ /output-style agentic-coding
701
+ /alfred:1-spec "사용자 인증 시스템"
702
+ ```
703
+
704
+ ---
705
+
706
+ ## 🌍 Universal Language Support
707
+
708
+ Alfred는 **17개 주요 프로그래밍 언어**를 지원하며, 각 언어에 최적화된 도구 체인을 자동으로 선택합니다.
709
+
710
+ ### 지원 언어 & 도구 (17개 언어)
711
+
712
+ #### 백엔드 & 시스템 (8개)
713
+
714
+ | 언어 | 테스트 프레임워크 | 린터/포매터 | 빌드 도구 | 타입 시스템 |
715
+ |------|------------------|-------------|----------|------------|
716
+ | **Python** | pytest | ruff, black | uv, pip | mypy |
717
+ | **TypeScript** | Vitest, Jest | Biome, ESLint | npm, pnpm, bun | Built-in |
718
+ | **Java** | JUnit | Checkstyle | Maven, Gradle | Built-in |
719
+ | **Go** | go test | gofmt, golint | go build | Built-in |
720
+ | **Rust** | cargo test | rustfmt, clippy | cargo | Built-in |
721
+ | **Kotlin** | JUnit | ktlint | Gradle | Built-in |
722
+ | **PHP** | PHPUnit | PHP CS Fixer | Composer | PHPStan |
723
+ | **Ruby** | RSpec | RuboCop | Bundler | Sorbet |
724
+
725
+ #### 모바일 & 프론트엔드 (3개)
726
+
727
+ | 언어/프레임워크 | 테스트 프레임워크 | 린터/포매터 | 빌드 도구 | 플랫폼 |
728
+ |-----------------|------------------|-------------|----------|--------|
729
+ | **Dart (Flutter)** | flutter test | dart analyze | flutter | iOS, Android, Web |
730
+ | **Swift** | XCTest | SwiftLint | xcodebuild | iOS, macOS |
731
+ | **JavaScript** | Jest, Vitest | ESLint, Prettier | webpack, Vite | Web, Node.js |
732
+
733
+ #### 시스템 & 스크립트 (6개)
734
+
735
+ | 언어 | 테스트 프레임워크 | 린터/포매터 | 빌드 도구 | 특징 |
736
+ |------|------------------|-------------|----------|------|
737
+ | **C++** | Google Test | clang-format | CMake | 고성능 시스템 |
738
+ | **C** | CUnit | clang-format | Make, CMake | 임베디드, 시스템 |
739
+ | **C#** | NUnit, xUnit | StyleCop | MSBuild, dotnet | .NET 생태계 |
740
+ | **Haskell** | HUnit | stylish-haskell | Cabal, Stack | 함수형 프로그래밍 |
741
+ | **Shell** | Bats | shellcheck | - | 자동화 스크립트 |
742
+ | **Lua** | busted | luacheck | - | 임베디드 스크립팅 |
743
+
744
+ ### 자동 언어 감지
745
+
746
+ Alfred는 프로젝트 루트의 설정 파일을 자동으로 감지하여 언어와 도구 체인을 선택합니다:
747
+
748
+ | 감지 파일 | 언어 | 추가 감지 |
749
+ |----------|------|----------|
750
+ | `pyproject.toml`, `requirements.txt` | Python | `setup.py`, `poetry.lock` |
751
+ | `package.json` + `tsconfig.json` | TypeScript | `yarn.lock`, `pnpm-lock.yaml` |
752
+ | `package.json` (tsconfig 없음) | JavaScript | `webpack.config.js`, `vite.config.js` |
753
+ | `pom.xml`, `build.gradle` | Java | `settings.gradle`, `build.gradle.kts` |
754
+ | `go.mod` | Go | `go.sum` |
755
+ | `Cargo.toml` | Rust | `Cargo.lock` |
756
+ | `pubspec.yaml` | Dart/Flutter | `flutter/packages/` |
757
+ | `Package.swift` | Swift | `Podfile`, `Cartfile` |
758
+ | `build.gradle.kts` + `kotlin` | Kotlin | `settings.gradle.kts` |
759
+ | `composer.json` | PHP | `composer.lock` |
760
+ | `Gemfile` | Ruby | `Gemfile.lock` |
761
+ | `CMakeLists.txt` | C++ | `conanfile.txt` |
762
+ | `Makefile` | C | `*.c`, `*.h` |
763
+ | `*.csproj` | C# | `*.sln` |
764
+ | `*.cabal` | Haskell | `stack.yaml` |
765
+ | `*.sh` | Shell | `.bashrc`, `.zshrc` |
766
+ | `*.lua` | Lua | `luarocks` |
767
+
768
+ ### 언어별 TRUST 5원칙 적용
769
+
770
+ 모든 언어는 동일한 TRUST 5원칙을 따르며, 언어별 최적 도구를 자동 사용합니다:
771
+
772
+ #### 주요 언어 TRUST 도구
773
+
774
+ | 원칙 | Python | TypeScript | Java | Go | Rust | Ruby |
775
+ |------|--------|------------|------|-----|------|------|
776
+ | **T**est First | pytest | Vitest/Jest | JUnit | go test | cargo test | RSpec |
777
+ | **R**eadable | ruff, black | Biome, ESLint | Checkstyle | gofmt | rustfmt | RuboCop |
778
+ | **U**nified | mypy | Built-in | Built-in | Built-in | Built-in | Sorbet |
779
+ | **S**ecured | bandit | eslint-plugin-security | SpotBugs | gosec | cargo-audit | Brakeman |
780
+ | **T**rackable | @TAG | @TAG | @TAG | @TAG | @TAG | @TAG |
781
+
782
+ #### 추가 언어 TRUST 도구
783
+
784
+ | 원칙 | PHP | C++ | C# |
785
+ |------|-----|-----|-----|
786
+ | **T**est First | PHPUnit | Google Test | NUnit |
787
+ | **R**eadable | PHP CS Fixer | clang-format | StyleCop |
788
+ | **U**nified | PHPStan | Built-in | Built-in |
789
+ | **S**ecured | RIPS | cppcheck | Security Code Scan |
790
+ | **T**rackable | @TAG | @TAG | @TAG |
791
+
792
+ **공통 원칙**:
793
+ - 모든 언어는 `@TAG 시스템`으로 SPEC→TEST→CODE→DOC 추적성 보장
794
+ - 언어별 표준 도구 체인을 자동 감지 및 적용
795
+ - TRUST 5원칙은 모든 프로젝트에 일관되게 적용
796
+
797
+ ### 다중 언어 프로젝트 지원
798
+
799
+ **Monorepo 및 혼합 언어 프로젝트**도 완벽 지원:
800
+
801
+ ```text
802
+ my-project/
803
+ ├── backend/ # Python (FastAPI)
804
+ │ ├── pyproject.toml
805
+ │ └── src/
806
+ ├── frontend/ # TypeScript (React)
807
+ │ ├── package.json
808
+ │ └── src/
809
+ └── mobile/ # Dart (Flutter)
810
+ ├── pubspec.yaml
811
+ └── lib/
812
+ ```
813
+
814
+ Alfred는 각 디렉토리의 언어를 자동 감지하고 적절한 도구 체인을 사용합니다.
815
+
816
+ ---
817
+
818
+ ## 🛡️ TRUST 5원칙
819
+
820
+ Alfred가 모든 코드에 자동으로 적용하는 품질 기준입니다.
821
+
822
+ ### T - Test First (테스트 우선)
823
+ - SPEC 기반 테스트 케이스 작성
824
+ - TDD RED → GREEN → REFACTOR 사이클
825
+ - 테스트 커버리지 ≥ 85%
826
+
827
+ ### R - Readable (가독성)
828
+ - 파일 ≤ 300 LOC
829
+ - 함수 ≤ 50 LOC
830
+ - 매개변수 ≤ 5개
831
+ - 복잡도 ≤ 10
832
+
833
+ ### U - Unified (통일성)
834
+ - 타입 안전성 또는 런타임 검증
835
+ - 아키텍처 일관성
836
+ - 코딩 스타일 통일
837
+
838
+ ### S - Secured (보안)
839
+ - 입력 검증
840
+ - 로깅 및 감사
841
+ - 비밀 관리
842
+ - 정적 분석
843
+
844
+ ### T - Trackable (추적성)
845
+ - `@SPEC → @TEST → @CODE → @DOC` TAG 체인
846
+ - CODE-FIRST 원칙 (코드 직접 스캔)
847
+ - HISTORY 섹션 기록
848
+
849
+ ### 자동 검증
850
+
851
+ ```text
852
+ # TDD 구현 완료 후 자동 실행
853
+ /alfred:2-build AUTH-001
854
+
855
+ # 또는 수동 실행
856
+ /alfred:3-sync
857
+
858
+ # trust-checker 에이전트가 자동으로 검증:
859
+ # ✅ Test Coverage: 87% (목표: 85%)
860
+ # ✅ Code Constraints: 모든 파일 300 LOC 이하
861
+ # ✅ TAG Chain: 무결성 확인 완료
862
+ ```
863
+
864
+ ---
865
+
866
+ ## ❓ FAQ
867
+
868
+ ### Q1: MoAI-ADK는 어떤 프로젝트에 적합한가요?
869
+
870
+ **A**: 다음과 같은 프로젝트에 적합합니다:
871
+ - ✅ 새로운 프로젝트 (그린필드)
872
+ - ✅ 기존 프로젝트 (레거시 도입)
873
+ - ✅ 개인 프로젝트 (Personal 모드)
874
+ - ✅ 팀 프로젝트 (Team 모드, GitFlow 지원)
875
+ - ✅ 모든 주요 프로그래밍 언어
876
+
877
+ ### Q2: Claude Code가 필수인가요?
878
+
879
+ **A**: 네, MoAI-ADK는 Claude Code 환경에서 동작하도록 설계되었습니다. Claude Code는 Anthropic의 공식 CLI 도구로, AI 에이전트 시스템을 완벽하게 지원합니다.
880
+
881
+ ### Q3: 기존 프로젝트에 도입할 수 있나요?
882
+
883
+ **A**: 네, `moai-adk init .` 명령으로 기존 프로젝트에 안전하게 설치할 수 있습니다. Alfred는 기존 코드 구조를 분석하여 `.moai/` 폴더에 문서와 설정만 추가합니다.
884
+
885
+ ### Q4: Personal 모드와 Team 모드의 차이는?
886
+
887
+ **A**:
888
+ - **Personal 모드**: 로컬 작업 중심, 체크포인트만 생성
889
+ - **Team 모드**: GitFlow 지원, Draft PR 자동 생성, develop 브랜치 기반
890
+
891
+ ### Q5: SPEC 메타데이터는 어떻게 관리하나요?
892
+
893
+ **A**: `.moai/memory/spec-metadata.md`에 전체 가이드가 있습니다.
894
+ - **필수 7개**: id, version, status, created, updated, author, priority
895
+ - **선택 9개**: category, labels, depends_on, blocks, related_specs, related_issue, scope
896
+ - **HISTORY 섹션**: 모든 변경 이력 기록 (필수)
897
+
898
+ ### Q6: TDD 단계별로 커밋하나요?
899
+
900
+ **A**: 아니요, v0.3.0부터 **TDD 전체 사이클(RED→GREEN→REFACTOR) 완료 후 1회만 커밋**합니다. 이전처럼 각 단계별로 3번 커밋하지 않습니다.
901
+
902
+ ### Q7: Context Engineering이란?
903
+
904
+ **A**:
905
+ - **JIT Retrieval**: 필요한 순간에만 문서 로드 (초기 컨텍스트 최소화)
906
+ - **Compaction**: 토큰 사용량 >70% 시 요약 후 새 세션 권장
907
+ - **Explore 에이전트**: 대규모 코드베이스 효율적 탐색
908
+
909
+ ### Q8: 자동 백업은 어떻게 작동하나요?
910
+
911
+ **A**:
912
+ - **Template Processor**: 업데이트 전 `.moai-backups/alfred-{timestamp}/` 자동 백업
913
+ - **Event-Driven Checkpoint**: 위험한 작업 전 자동 checkpoint 생성
914
+ - **보존 정책**: 최대 10개 유지, 7일 후 자동 정리
915
+
916
+ ### Q9: /model 명령어를 사용해야 하나요?
917
+
918
+ **A**: **선택사항**입니다. Alfred는 이미 각 에이전트에 최적 모델을 할당했으므로:
919
+ - ✅ **기본 설정 유지** (권장): Alfred가 자동으로 작업별 최적 모델 사용
920
+ - ⚡ **패스트 모드**: `/model haiku` - 반복 작업 시 전체 세션을 Haiku로
921
+ - 🧠 **스마트 모드**: `/model sonnet` - 복잡한 판단이 계속 필요할 때
922
+
923
+ **Pro Tip**: 기본 설정으로도 Haiku/Sonnet이 혼합 사용되므로 성능과 비용이 이미 최적화되어 있습니다.
924
+
925
+ ### Q10: Haiku와 Sonnet의 비용 차이는?
926
+
927
+ **A**:
928
+ - **Haiku**: $1 / 1M 입력 토큰, $5 / 1M 출력 토큰
929
+ - **Sonnet**: $3 / 1M 입력 토큰, $15 / 1M 출력 토큰
930
+ - **절감 효과**: Haiku 에이전트 사용 시 **비용 67% 절감**
931
+
932
+ **예시 (100만 토큰 기준)**:
933
+ - 100% Sonnet: $18 (입력 + 출력)
934
+ - MoAI-ADK (혼합): $6~$9 (작업 특성에 따라)
935
+ - **절감액**: $9~$12 (50~67%)
936
+
937
+ ---
938
+
939
+ ## 🔧 문제 해결
940
+
941
+ ### 설치 문제
942
+
943
+ ```bash
944
+ # Python 버전 확인 (3.13+ 필요)
945
+ python --version
946
+
947
+ # uv 설치 (권장)
948
+ pip install uv
949
+
950
+ # 캐시 정리 후 재설치
951
+ pip cache purge
952
+ uv pip install moai-adk --force-reinstall
953
+ ```
954
+
955
+ ### 초기화 문제
956
+
957
+ ```bash
958
+ # 프로젝트 상태 확인
959
+ moai-adk status
960
+
961
+ # 시스템 진단
962
+ moai-adk doctor
963
+
964
+ # 강제 재초기화
965
+ moai-adk init . --force
966
+ ```
967
+
968
+ ### Claude Code 문제
969
+
970
+ ```text
971
+ # 설정 확인
972
+ ls -la .claude/
973
+
974
+ # Alfred 커맨드 확인
975
+ ls -la .claude/commands/alfred/
976
+
977
+ # 출력 스타일 확인
978
+ /output-style agentic-coding
979
+ ```
980
+
981
+ ### 일반적인 에러
982
+
983
+ #### 에러: "moai-adk: command not found"
984
+ ```bash
985
+ # PATH 확인 및 전체 경로 사용
986
+ ~/.local/bin/moai-adk --version
987
+
988
+ # 또는 pip로 재설치
989
+ pip install --force-reinstall moai-adk
990
+ ```
991
+
992
+ #### 에러: ".moai/ 디렉토리를 찾을 수 없습니다"
993
+ ```bash
994
+ # 초기화 실행
995
+ moai-adk init .
996
+
997
+ # 또는 Claude Code에서
998
+ /alfred:0-project
999
+ ```
1000
+
1001
+ #### 에러: "SPEC ID 중복"
1002
+ ```bash
1003
+ # 기존 SPEC 확인
1004
+ rg "@SPEC:" -n .moai/specs/
1005
+
1006
+ # 새로운 ID 사용
1007
+ /alfred:1-spec "새 기능 설명"
1008
+ ```
1009
+
1010
+ ---
1011
+
1012
+ ## 📚 문서 및 지원
1013
+
1014
+ ### 공식 문서
1015
+ - **GitHub Repository**: https://github.com/modu-ai/moai-adk
1016
+ - **PyPI Package**: https://pypi.org/project/moai-adk/
1017
+ - **Issue Tracker**: https://github.com/modu-ai/moai-adk/issues
1018
+ - **Discussions**: https://github.com/modu-ai/moai-adk/discussions
1019
+
1020
+ ### 커뮤니티
1021
+ - **GitHub Discussions**: 질문, 아이디어, 피드백 공유
1022
+ - **Issue Tracker**: 버그 리포트, 기능 요청
1023
+ - **Email**: support@moduai.kr
1024
+
1025
+ ### 기여하기
1026
+
1027
+ MoAI-ADK는 오픈소스 프로젝트입니다. 여러분의 기여를 환영합니다!
1028
+
1029
+ 1. Fork the repository
1030
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
1031
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
1032
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
1033
+ 5. Open a Pull Request
1034
+
1035
+ ### 라이선스
1036
+
1037
+ MIT License - 자유롭게 사용하실 수 있습니다.
1038
+
1039
+ ---
1040
+
1041
+ ## 🙏 감사의 말
1042
+
1043
+ MoAI-ADK는 다음 프로젝트와 커뮤니티의 도움으로 만들어졌습니다:
1044
+
1045
+ - **Anthropic Claude Code**: AI 에이전트 시스템의 기반
1046
+ - **OpenAI GPT Models**: 초기 설계 협업
1047
+ - **Python & TypeScript Communities**: 언어 지원 및 도구 체인
1048
+ - **모두의AI Community**: 지속적인 피드백과 개선 아이디어
1049
+
1050
+ ---
1051
+
1052
+ **Made with ❤️ by MoAI Team**
1053
+
1054
+ **▶◀ Alfred**: "여러분의 개발 여정을 함께하겠습니다!"