moai-adk 0.4.0__py3-none-any.whl → 0.4.1__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.
- moai_adk/__init__.py +1 -8
- moai_adk/cli/commands/init.py +10 -5
- moai_adk/cli/commands/update.py +274 -118
- moai_adk/cli/prompts/init_prompts.py +14 -18
- moai_adk/core/diagnostics/slash_commands.py +1 -1
- moai_adk/core/project/backup_utils.py +1 -0
- moai_adk/core/project/phase_executor.py +3 -1
- moai_adk/core/project/validator.py +3 -2
- moai_adk/core/template/backup.py +11 -3
- moai_adk/core/template/merger.py +16 -3
- moai_adk/core/template/processor.py +22 -3
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +443 -424
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +116 -103
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +130 -116
- moai_adk/templates/.claude/agents/alfred/git-manager.md +186 -174
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +227 -213
- moai_adk/templates/.claude/agents/alfred/project-manager.md +205 -125
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +224 -209
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +174 -160
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +151 -139
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +209 -196
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +247 -233
- moai_adk/templates/.claude/commands/alfred/0-project.md +673 -640
- moai_adk/templates/.claude/commands/alfred/1-plan.md +342 -333
- moai_adk/templates/.claude/commands/alfred/2-run.md +295 -285
- moai_adk/templates/.claude/commands/alfred/3-sync.md +366 -356
- moai_adk/templates/.claude/hooks/alfred/README.md +52 -52
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +44 -48
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +17 -17
- moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +59 -59
- moai_adk/templates/.claude/hooks/alfred/core/context.py +19 -19
- moai_adk/templates/.claude/hooks/alfred/core/project.py +52 -52
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +1 -1
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +4 -4
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +27 -27
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +16 -17
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +11 -11
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +308 -307
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +297 -296
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +191 -190
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +112 -0
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +103 -0
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +103 -0
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +95 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +105 -0
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +90 -0
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +87 -0
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +70 -43
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +141 -141
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +179 -165
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +78 -78
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +90 -90
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +39 -25
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +117 -74
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +131 -134
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +43 -11
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +47 -11
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +47 -11
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +51 -14
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +46 -10
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +62 -25
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +44 -17
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +44 -14
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +45 -13
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +46 -14
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +48 -8
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +44 -12
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +44 -43
- moai_adk/templates/.github/workflows/moai-gitflow.yml +36 -35
- moai_adk/templates/.moai/config.json +9 -6
- moai_adk/templates/.moai/memory/development-guide.md +220 -221
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +85 -85
- moai_adk/templates/.moai/memory/spec-metadata.md +149 -150
- moai_adk/templates/.moai/project/product.md +90 -90
- moai_adk/templates/.moai/project/structure.md +85 -85
- moai_adk/templates/.moai/project/tech.md +117 -117
- moai_adk/templates/CLAUDE.md +350 -722
- moai_adk-0.4.1.dist-info/METADATA +303 -0
- moai_adk-0.4.1.dist-info/RECORD +152 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +0 -31
- moai_adk/templates/.claude/commands/alfred/2-build.md +0 -30
- moai_adk/templates/.claude/skills/scripts/standardize_skills.py +0 -166
- moai_adk/templates/.claude/skills/scripts/verify_standardization.sh +0 -43
- moai_adk/templates/.moai/hooks/pre-push.sample +0 -88
- moai_adk-0.4.0.dist-info/METADATA +0 -1816
- moai_adk-0.4.0.dist-info/RECORD +0 -145
- {moai_adk-0.4.0.dist-info → moai_adk-0.4.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.0.dist-info → moai_adk-0.4.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.0.dist-info → moai_adk-0.4.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: moai-adk
|
|
3
|
+
Version: 0.4.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: packaging>=21.0
|
|
25
|
+
Requires-Dist: pyfiglet>=1.0.2
|
|
26
|
+
Requires-Dist: questionary>=2.0.0
|
|
27
|
+
Requires-Dist: rich>=13.0.0
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: mypy>=1.7.0; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest>=8.4.2; extra == 'dev'
|
|
33
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
|
|
35
|
+
Provides-Extra: security
|
|
36
|
+
Requires-Dist: bandit>=1.8.0; extra == 'security'
|
|
37
|
+
Requires-Dist: pip-audit>=2.7.0; extra == 'security'
|
|
38
|
+
Description-Content-Type: text/markdown
|
|
39
|
+
|
|
40
|
+
# MoAI-ADK (Agentic Development Kit)
|
|
41
|
+
|
|
42
|
+
[](https://pypi.org/project/moai-adk/)
|
|
43
|
+
[](https://opensource.org/licenses/MIT)
|
|
44
|
+
[](https://www.python.org/)
|
|
45
|
+
[](https://github.com/modu-ai/moai-adk/actions/workflows/moai-gitflow.yml)
|
|
46
|
+
[](https://codecov.io/gh/modu-ai/moai-adk)
|
|
47
|
+
[](https://github.com/modu-ai/moai-adk)
|
|
48
|
+
|
|
49
|
+
> **MoAI-ADK는 AI와 함께 명세(SPEC) → 테스트(TDD) → 코드 → 문서를 자연스럽게 잇는 개발 워크플로우를 제공합니다.**
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 1. MoAI-ADK 한눈에 보기
|
|
54
|
+
|
|
55
|
+
| 질문 | 바로 보기 |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| 처음 접했는데 무엇인가요? | [MoAI-ADK란?](#moai-adk란) |
|
|
58
|
+
| 어떻게 시작하나요? | [5분 Quick Start](#5-분-quick-start) |
|
|
59
|
+
| 기본 흐름이 궁금해요 | [기본 워크플로우 (0 → 3)](#기본-워크플로우-0--3) |
|
|
60
|
+
| Plan / Run / Sync 명령은 무엇을 하나요? | [핵심 명령 요약](#핵심-명령-요약) |
|
|
61
|
+
| SPEC·TDD·TAG가 뭐죠? | [핵심 개념 쉽게 이해하기](#핵심-개념-쉽게-이해하기) |
|
|
62
|
+
| 에이전트/Skills가 궁금해요 | [Sub-agent & Skills 개요](#sub-agent--skills-개요) |
|
|
63
|
+
| 더 깊이 공부하고 싶어요 | [추가 자료](#추가-자료) |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## MoAI-ADK란?
|
|
68
|
+
|
|
69
|
+
MoAI-ADK(MoAI Agentic Development Kit)는 **AI가 개발 과정 전체를 도와주는 오픈소스 툴킷**입니다. “먼저 SPEC(요구사항 명세)을 만들고, 테스트(TDD)로 확인한 뒤, 문서와 코드가 항상 동기화된다”는 원칙을 Alfred SuperAgent가 대신 지켜 줍니다.
|
|
70
|
+
|
|
71
|
+
입문자라도 다음 세 가지만 기억하면 됩니다.
|
|
72
|
+
|
|
73
|
+
1. **무엇을 만들지(SPEC)** 먼저 말한다.
|
|
74
|
+
2. **테스트 먼저 작성(TDD)** 후 코드를 채운다.
|
|
75
|
+
3. **문서/README/CHANGELOG**까지 자동으로 맞춰 둔다.
|
|
76
|
+
|
|
77
|
+
이 과정을 `/alfred` 명령 네 가지로 반복하면 전체 프로젝트가 일관되게 정리됩니다.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 왜 필요한가요?
|
|
82
|
+
|
|
83
|
+
| 고민 | MoAI-ADK가 도와주는 방법 |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| “AI가 만든 코드를 믿기 어렵다” | 명세 → 테스트 → 구현 → 문서가 한 TAG 체인으로 연결됩니다. |
|
|
86
|
+
| “프로젝트 전체 맥락이 없어서 같은 질문을 반복한다” | Alfred가 핵심 문서와 히스토리를 기억하고 다시 안내합니다. |
|
|
87
|
+
| “프롬프트 작성이 어렵다” | `/alfred` 명령과 준비된 Skills가 표준화된 프롬프트를 대신 제공합니다. |
|
|
88
|
+
| “문서와 코드가 따로 놀아요” | `/alfred:3-sync`가 README/CHANGELOG/Living Doc을 자동으로 맞춥니다. |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 5-분 Quick Start
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# 1. (선택) uv 설치 — pip보다 훨씬 빠른 Python 패키지 관리자
|
|
96
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
97
|
+
|
|
98
|
+
# 2. 가상환경 생성 (권장)
|
|
99
|
+
uv venv .venv
|
|
100
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
101
|
+
|
|
102
|
+
# 3. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
103
|
+
uv tool install moai-adk
|
|
104
|
+
|
|
105
|
+
# 4. 새 프로젝트 시작
|
|
106
|
+
moai-adk init my-project
|
|
107
|
+
cd my-project
|
|
108
|
+
|
|
109
|
+
# 5. Claude Code(또는 CLI)에서 Alfred 호출
|
|
110
|
+
claude # Claude Code 실행 후 아래 명령 사용
|
|
111
|
+
/alfred:0-project "프로젝트 이름"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
> 🔍 확인용 명령: `moai-adk doctor` — Python/uv 버전, `.moai/` 구조, 에이전트/Skills 구성이 모두 준비됐는지 점검합니다.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 기본 워크플로우 (0 → 3)
|
|
119
|
+
|
|
120
|
+
Alfred는 네 개의 명령으로 프로젝트를 반복 개발합니다.
|
|
121
|
+
|
|
122
|
+
```mermaid
|
|
123
|
+
%%{init: {'theme':'neutral'}}%%
|
|
124
|
+
graph TD
|
|
125
|
+
Start([사용자 요청]) --> Init[0. Init<br/>/alfred:0-project]
|
|
126
|
+
Init --> Plan[1. Plan & SPEC<br/>/alfred:1-plan]
|
|
127
|
+
Plan --> Run[2. Run & TDD<br/>/alfred:2-run]
|
|
128
|
+
Run --> Sync[3. Sync & Docs<br/>/alfred:3-sync]
|
|
129
|
+
Sync --> Plan
|
|
130
|
+
Sync -.-> End([릴리스])
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 0. INIT — 프로젝트 준비
|
|
134
|
+
- 프로젝트 소개, 타깃, 언어, 모드(locale) 질문
|
|
135
|
+
- `.moai/config.json`, `.moai/project/*` 문서 5종 자동 생성
|
|
136
|
+
- 언어 감지 및 추천 Skill Pack 배치 (Foundation + Essentials + Domain/Language)
|
|
137
|
+
- 템플릿 정리, 초깃 Git/백업 체크
|
|
138
|
+
|
|
139
|
+
### 1. PLAN — 무엇을 만들지 합의
|
|
140
|
+
- EARS 템플릿으로 SPEC 작성 (`@SPEC:ID` 포함)
|
|
141
|
+
- Plan Board, 구현 아이디어, 위험 요소 정리
|
|
142
|
+
- Team 모드라면 브랜치/초기 Draft PR 자동 생성
|
|
143
|
+
|
|
144
|
+
### 2. RUN — 테스트 주도 개발(TDD)
|
|
145
|
+
- Phase 1 `implementation-planner`: 라이브러리, 폴더, TAG 설계
|
|
146
|
+
- Phase 2 `tdd-implementer`: RED(실패 테스트) → GREEN(최소 구현) → REFACTOR(정리)
|
|
147
|
+
- quality-gate가 TRUST 5 원칙, 커버리지 변화를 검증
|
|
148
|
+
|
|
149
|
+
### 3. SYNC — 문서 & PR 정리
|
|
150
|
+
- Living Document, README, CHANGELOG 등 문서 동기화
|
|
151
|
+
- TAG 체인 검증 및 orphan TAG 복구
|
|
152
|
+
- Sync Report 생성, Draft → Ready for Review 전환, `--auto-merge` 옵션 지원
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 핵심 명령 요약
|
|
157
|
+
|
|
158
|
+
| 명령 | 무엇을 하나요? | 대표 산출물 |
|
|
159
|
+
| --- | --- | --- |
|
|
160
|
+
| `/alfred:0-project` | 프로젝트 설명 수집, 설정·문서 생성, Skill 추천 | `.moai/config.json`, `.moai/project/*`, 초기 보고서 |
|
|
161
|
+
| `/alfred:1-plan <설명>` | 요구사항 분석, SPEC 초안, Plan Board 작성 | `.moai/specs/SPEC-*/spec.md`, plan/acceptance 문서, feature 브랜치 |
|
|
162
|
+
| `/alfred:2-run <SPEC-ID>` | TDD 실행, 테스트/구현/리팩토링, 품질 검증 | `tests/`, `src/` 구현, 품질 리포트, TAG 연결 |
|
|
163
|
+
| `/alfred:3-sync` | 문서/README/CHANGELOG 동기화, TAG/PR 상태 정리 | `docs/`, `.moai/reports/sync-report.md`, Ready PR |
|
|
164
|
+
|
|
165
|
+
> ❗ 모든 명령은 **Phase 0(선택) → Phase 1 → Phase 2 → Phase 3** 순환 구조를 유지합니다. 실행 중 상태와 다음 단계 제안은 Alfred가 자동으로 보고합니다.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 핵심 개념 쉽게 이해하기
|
|
170
|
+
|
|
171
|
+
### SPEC-First (요구사항 먼저)
|
|
172
|
+
- **왜?** 집을 짓기 전에 설계도가 필요하듯, 구현 전에 무엇을 만들지 정리합니다.
|
|
173
|
+
- **어떻게?** `/alfred:1-plan`이 EARS 형식으로 “WHEN… THEN…“ 구조를 갖춘 SPEC을 만들어 줍니다.
|
|
174
|
+
- **결과**: `@SPEC:ID` 태그가 있는 문서 + Plan Board + Acceptance 기준.
|
|
175
|
+
|
|
176
|
+
### TDD (Test-Driven Development)
|
|
177
|
+
- **RED**: 실패하는 테스트를 먼저 작성합니다.
|
|
178
|
+
- **GREEN**: 테스트가 통과하도록 가장 단순한 코드를 작성합니다.
|
|
179
|
+
- **REFACTOR**: 코드 구조를 다듬고 중복을 제거합니다.
|
|
180
|
+
- `/alfred:2-run`이 이 과정을 자동으로 진행하며 RED/GREEN/REFACTOR 커밋 로그를 남깁니다.
|
|
181
|
+
|
|
182
|
+
### TAG 시스템
|
|
183
|
+
- `@SPEC:ID` → `@TEST:ID` → `@CODE:ID` → `@DOC:ID` 순서로 연결됩니다.
|
|
184
|
+
- 코드 어디에서든 TAG만 검색하면 관련 SPEC·테스트·문서를 한 번에 추적할 수 있습니다.
|
|
185
|
+
- `/alfred:3-sync`가 TAG 인벤토리를 점검하고 orphan TAG를 알려줍니다.
|
|
186
|
+
|
|
187
|
+
### TRUST 5 원칙
|
|
188
|
+
1. **Test First** — 테스트는 항상 먼저 작성
|
|
189
|
+
2. **Readable** — 짧은 함수, 일관된 스타일 유지
|
|
190
|
+
3. **Unified** — 아키텍처와 타입/계약을 일관되게 유지
|
|
191
|
+
4. **Secured** — 입력 검증, 비밀정보 보호, 정적 분석 수행
|
|
192
|
+
5. **Trackable** — TAG, Git 히스토리, 문서가 함께 움직임
|
|
193
|
+
|
|
194
|
+
> 더 자세한 규칙은 `.moai/memory/development-guide.md`에서 확인하세요.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 첫 번째 실습: Todo API 예제
|
|
199
|
+
|
|
200
|
+
1. **Plan**
|
|
201
|
+
```bash
|
|
202
|
+
/alfred:1-plan "할 일 추가, 조회, 수정, 삭제 API"
|
|
203
|
+
```
|
|
204
|
+
Alfred가 SPEC(`.moai/specs/SPEC-TODO-001/spec.md`)과 plan/acceptance 문서를 만들어 줍니다.
|
|
205
|
+
|
|
206
|
+
2. **Run**
|
|
207
|
+
```bash
|
|
208
|
+
/alfred:2-run TODO-001
|
|
209
|
+
```
|
|
210
|
+
테스트(`tests/test_todo_api.py`), 구현(`src/todo/`), 리포트가 자동 생성됩니다.
|
|
211
|
+
|
|
212
|
+
3. **Sync**
|
|
213
|
+
```bash
|
|
214
|
+
/alfred:3-sync
|
|
215
|
+
```
|
|
216
|
+
`docs/api/todo.md`, TAG 체인, Sync Report가 업데이트됩니다.
|
|
217
|
+
|
|
218
|
+
4. **검증 명령**
|
|
219
|
+
```bash
|
|
220
|
+
rg '@(SPEC|TEST|CODE|DOC):TODO-001' -n
|
|
221
|
+
pytest tests/test_todo_api.py -v
|
|
222
|
+
cat docs/api/todo.md
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
> 15분이면 SPEC → TDD → 문서가 모두 연결된 Todo API가 완성됩니다.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Sub-agent & Skills 개요
|
|
230
|
+
|
|
231
|
+
Alfred는 **19명의 팀**(SuperAgent 1 + Core Sub-agent 10 + 0-project Sub-agent 6 + Built-in 2)과 **44개의 Claude Skills**를 조합해 작업합니다.
|
|
232
|
+
|
|
233
|
+
### Core Sub-agents (Plan → Run → Sync)
|
|
234
|
+
|
|
235
|
+
| Sub-agent | 모델 | 역할 |
|
|
236
|
+
| --- | --- | --- |
|
|
237
|
+
| project-manager 📋 | Sonnet | 프로젝트 초기화, 메타데이터 인터뷰 |
|
|
238
|
+
| spec-builder 🏗️ | Sonnet | Plan 보드, EARS SPEC 작성 |
|
|
239
|
+
| code-builder 💎 | Sonnet | `implementation-planner` + `tdd-implementer`로 TDD 전체 수행 |
|
|
240
|
+
| doc-syncer 📖 | Haiku | Living Doc, README, CHANGELOG 동기화 |
|
|
241
|
+
| tag-agent 🏷️ | Haiku | TAG 인벤토리, orphan 탐지 |
|
|
242
|
+
| git-manager 🚀 | Haiku | GitFlow, Draft/Ready, Auto Merge |
|
|
243
|
+
| debug-helper 🔍 | Sonnet | 실패 분석, fix-forward 전략 |
|
|
244
|
+
| trust-checker ✅ | Haiku | TRUST 5 품질 게이트 |
|
|
245
|
+
| quality-gate 🛡️ | Haiku | 커버리지 변화 및 릴리스 차단 조건 검토 |
|
|
246
|
+
| cc-manager 🛠️ | Sonnet | Claude Code 세션 최적화, Skill 배포 |
|
|
247
|
+
|
|
248
|
+
### Skills (Progressive Disclosure)
|
|
249
|
+
- **Foundation (6)**: TRUST, TAG, SPEC, EARS, Git, Language 감지
|
|
250
|
+
- **Essentials (4)**: Debug, Refactor, Review, Performance
|
|
251
|
+
- **Domain (10)**: Backend, Web API, Security, Data, Mobile 등
|
|
252
|
+
- **Language (23)**: Python, TypeScript, Go, Rust, Java, Swift 등 주요 언어 패키지
|
|
253
|
+
- **Claude Code Ops (1)**: 세션 설정, Output Style 관리
|
|
254
|
+
|
|
255
|
+
> Skills는 `.claude/skills/` 디렉터리에 저장된 500단어 이하 가이드입니다. 필요할 때만 로드되어 컨텍스트 비용을 줄입니다.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## AI 모델 선택 가이드
|
|
260
|
+
|
|
261
|
+
| 상황 | 기본 모델 | 이유 |
|
|
262
|
+
| --- | --- | --- |
|
|
263
|
+
| 명세/설계/리팩토링/문제 해결 | **Claude 4.5 Sonnet** | 깊은 추론과 구조화된 작성에 강함 |
|
|
264
|
+
| 문서 동기화, TAG 검사, Git 자동화 | **Claude 4.5 Haiku** | 빠른 반복 작업, 문자열 처리에 강함 |
|
|
265
|
+
|
|
266
|
+
- 패턴화된 작업은 Haiku로 시작하고, 복잡한 판단이 필요하면 Sonnet으로 전환하세요.
|
|
267
|
+
- 수동으로 모델을 변경했다면 “왜 전환했는지” 로그에 남겨두면 협업에 도움이 됩니다.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 자주 묻는 질문 (FAQ)
|
|
272
|
+
|
|
273
|
+
- **Q. 기존 프로젝트에 설치해도 되나요?**
|
|
274
|
+
- A. 가능합니다. `moai-adk init .` 을 실행하면 기존 코드를 건드리지 않고 `.moai/` 구조만 추가합니다.
|
|
275
|
+
- **Q. 테스트 실행은 어떻게 하나요?**
|
|
276
|
+
- A. `/alfred:2-run`이 먼저 실행하고, 필요하면 `pytest`, `pnpm test` 등 언어별 명령을 다시 실행하세요.
|
|
277
|
+
- **Q. 문서가 항상 최신인지 확인하는 방법은?**
|
|
278
|
+
- A. `/alfred:3-sync`가 Sync Report를 생성합니다. Pull Request에서 보고서를 확인하세요.
|
|
279
|
+
- **Q. 수동으로 진행할 수도 있나요?**
|
|
280
|
+
- A. 가능하지만, SPEC → TEST → CODE → DOC 순서를 지키고 TAG를 꼭 남겨야 합니다.
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## 추가 자료
|
|
285
|
+
|
|
286
|
+
| 목적 | 리소스 |
|
|
287
|
+
| --- | --- |
|
|
288
|
+
| Skills 세부 구조 | `docs/skills/overview.md` 및 Tier별 문서 |
|
|
289
|
+
| Sub-agent 상세 | `docs/agents/overview.md` |
|
|
290
|
+
| 워크플로우 가이드 | `docs/guides/workflow/` (Plan/Run/Sync) |
|
|
291
|
+
| 개발 가드라인 | `.moai/memory/development-guide.md`, `.moai/memory/spec-metadata.md` |
|
|
292
|
+
| 업데이트 계획 | `CHANGELOG.md`, `UPDATE-PLAN-0.4.0.md` |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 커뮤니티 & 지원
|
|
297
|
+
|
|
298
|
+
- GitHub Repo: <https://github.com/modu-ai/moai-adk>
|
|
299
|
+
- Issues & Discussions: 버그, 기능 요청, 아이디어 공유 환영합니다.
|
|
300
|
+
- PyPI: <https://pypi.org/project/moai-adk/>
|
|
301
|
+
- 문의: 프로젝트 내 `CONTRIBUTING.md` 가이드를 참고하세요.
|
|
302
|
+
|
|
303
|
+
> 🙌 “SPEC 없이는 CODE도 없다” — Alfred와 함께 일관된 AI 개발 문화를 경험해 보세요.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
moai_adk/__init__.py,sha256=a3tz_rtUQqtGpEtvwTC2VrYqgg7AOB4isLc6BV_vJjU,216
|
|
2
|
+
moai_adk/__main__.py,sha256=vDQDlH6B9Pvp0dZBopngY1ctWubDdkB7uRyDFEjBxmM,2424
|
|
3
|
+
moai_adk/cli/__init__.py,sha256=tidIaJnd4Pje_5QYRq7OvRRst4T3kaPlkw5QcPQ3l1Y,135
|
|
4
|
+
moai_adk/cli/main.py,sha256=mHACHi27AP2N7fg7zhzOo1tlF1Jrlw1_AcbxMfpGLVE,306
|
|
5
|
+
moai_adk/cli/commands/__init__.py,sha256=TrAIWcJRGXh1mY8itSzWm-W0nnybzQIFOuh6oksKWO0,680
|
|
6
|
+
moai_adk/cli/commands/backup.py,sha256=Hzf3zc7NhfChAJu2OTN_0xARtUbNaB32fmPczchbrC4,1652
|
|
7
|
+
moai_adk/cli/commands/doctor.py,sha256=rDwXEV2q29pNCFvk5ZULsBePVozjGPk-yRDzk5SbQYY,8563
|
|
8
|
+
moai_adk/cli/commands/init.py,sha256=SUpQUPDtKGnIcNjiamg6HGkv9Hp92kXvwTPim1lfyxI,10565
|
|
9
|
+
moai_adk/cli/commands/status.py,sha256=BA8b85PKUmzXCO0bXZzdbjpodnw1lwjJs3cj5qTlr_s,2282
|
|
10
|
+
moai_adk/cli/commands/update.py,sha256=41aGS-9h6NGWwxstyVkZZITV1NHnz7LvvbwDAZd1gAQ,13301
|
|
11
|
+
moai_adk/cli/prompts/__init__.py,sha256=a4_ctS4KEvGtmM9j7z8XIlMkpftohjVb9woUwZu38gE,136
|
|
12
|
+
moai_adk/cli/prompts/init_prompts.py,sha256=aYUumB6LKDHBVfxUN2EG94Gue8nIagQfkcgkHrFVEbo,5236
|
|
13
|
+
moai_adk/core/__init__.py,sha256=1sJO-PHEKF1NmYjeOPPPzn_HRgYln3CKlCpUH4E2Jrs,129
|
|
14
|
+
moai_adk/core/diagnostics/__init__.py,sha256=aF-qC2CW0wxZDpxnlh-TILYs3kqwOIj2EjXYEXY-2j8,387
|
|
15
|
+
moai_adk/core/diagnostics/slash_commands.py,sha256=cEH96M5RLxa1JLyoeoRqziBMzAbnN30j04YjNjxM7Ro,4682
|
|
16
|
+
moai_adk/core/git/__init__.py,sha256=Kpq2yU5X5bBBUV8ySYIB1_vMPvfdFS6hTYx2Ue-CoeQ,697
|
|
17
|
+
moai_adk/core/git/branch.py,sha256=BqbH20MT7NeSPwv8HbxJA29oXumLQWS_0f8gAjolfZo,617
|
|
18
|
+
moai_adk/core/git/branch_manager.py,sha256=K6SyO3vtVv111D2dudbSgyKBLlDX2aWTPj1qJV4PSMg,4143
|
|
19
|
+
moai_adk/core/git/checkpoint.py,sha256=tk23Wx5RtErwqCi6yRv_aaB92j2Z2rOiOule-DI1f9s,4358
|
|
20
|
+
moai_adk/core/git/commit.py,sha256=WBs6PucPoX3shVJqski7q7Is0n2Szku75jLA-JY-m_8,2038
|
|
21
|
+
moai_adk/core/git/event_detector.py,sha256=MI9byiAYZcUuXnXE6FZ1Lx7kG4EuJJxlBS7K_b1w0t0,2319
|
|
22
|
+
moai_adk/core/git/manager.py,sha256=pNqdW4ZON5OCXyrNxynR-ewzIDHYm9_NrgM9aOAOLKg,3634
|
|
23
|
+
moai_adk/core/project/__init__.py,sha256=w_VdJ6lJDkTMdYYEwj0Io6Ay3ekqsLO3qXInSfXX7Vs,134
|
|
24
|
+
moai_adk/core/project/backup_utils.py,sha256=JgjQNQs_O7RrZRdHKZ02adnEIqcwp2-8SDj8eBvh5UI,2124
|
|
25
|
+
moai_adk/core/project/checker.py,sha256=tN1A2OWsTafDCEWcafDJ4JXM217FUUdLYdnLtWpdDgs,9533
|
|
26
|
+
moai_adk/core/project/detector.py,sha256=ON2t0KYyaop3lxBcbEq5HIJGmnBLluA8k6GErmr4IM8,3733
|
|
27
|
+
moai_adk/core/project/initializer.py,sha256=iFTb7d5537WL_zumY4kqV7UPSvUd1ZJQClvycJXF40E,6073
|
|
28
|
+
moai_adk/core/project/phase_executor.py,sha256=1sm_2_xtwplKQAQBw3vmdK7Xc5uEkZpDt28_YZPF160,10485
|
|
29
|
+
moai_adk/core/project/validator.py,sha256=gH9ywTMQTwqtqBVrMWj5_bPYFrVzjHuFoU4QdeVa1O4,5756
|
|
30
|
+
moai_adk/core/quality/__init__.py,sha256=9Lbm62VEaHx89bEunr_DKacW5psbe2f10odklA92Dms,215
|
|
31
|
+
moai_adk/core/quality/trust_checker.py,sha256=BcPV0YV9M5mt3hkYl7SLQbJHsE7EdHkmerrdMZbf718,15213
|
|
32
|
+
moai_adk/core/quality/validators/__init__.py,sha256=c4x55wzrQ_XqJBDb24b_QxzO4eRm6thOntsqi-HYQHs,191
|
|
33
|
+
moai_adk/core/quality/validators/base_validator.py,sha256=9AHOKc_mPsjWuBAlJhjYoDfoCnxxjIlBuzL1zVUrF-I,442
|
|
34
|
+
moai_adk/core/template/__init__.py,sha256=BB65Zkar2Oywt1_RFtQKIup6HXq20VNQrYqXD_Qp1_g,354
|
|
35
|
+
moai_adk/core/template/backup.py,sha256=VWjChfu-eJvyXzSQJzup_GJ5SqH-b_8BkinMm1ENMC8,3112
|
|
36
|
+
moai_adk/core/template/config.py,sha256=ZJU9UKSGF2tkPiwSFReoCkAHGQ0aN2jKmIIQt88x5-o,3532
|
|
37
|
+
moai_adk/core/template/languages.py,sha256=V0wLcxCIOve9Q_0_NhrHGQevSIN_MB612GwrOWZowL4,1653
|
|
38
|
+
moai_adk/core/template/merger.py,sha256=0KxgOfUFlzWsHrk53C1n-mGjUjiKovuAluMb83TxR68,6932
|
|
39
|
+
moai_adk/core/template/processor.py,sha256=47RvR_a5w29h2MzsSCUJn7qP7HXBj9rks2CBmUGL_Lk,17019
|
|
40
|
+
moai_adk/templates/.gitignore,sha256=6VNKResdDpyaii3cmJA4pOLwK2PhYARIWkUODYtKyxg,310
|
|
41
|
+
moai_adk/templates/CLAUDE.md,sha256=65dEmZwuwVVH9dYDJFCkRe0pbpoLUR4k6Adaw8MpJJE,21460
|
|
42
|
+
moai_adk/templates/__init__.py,sha256=6MV1gCB7PLZMiL4gaD_dZSKxtcQyo45MMTuN8fVdchA,104
|
|
43
|
+
moai_adk/templates/.claude/settings.json,sha256=5y0IO9Q7-_vHp2Mkw6zeIQY-k-tdBB8CZ2H5NT1PVcY,2283
|
|
44
|
+
moai_adk/templates/.claude/agents/alfred/cc-manager.md,sha256=gEEeBW8LRYBp4TR3psPfprSKCqaZE8A2l-MrDM-uFYc,34240
|
|
45
|
+
moai_adk/templates/.claude/agents/alfred/debug-helper.md,sha256=DkRK4eTqXi195OOagx-Y4mRiUDdw9Z7DXTDmGr4IlgM,6288
|
|
46
|
+
moai_adk/templates/.claude/agents/alfred/doc-syncer.md,sha256=cVjFPmuNbMrW00GTi1GZCzjKCZ7Gm234dsggCXDkpxU,7587
|
|
47
|
+
moai_adk/templates/.claude/agents/alfred/git-manager.md,sha256=grtyYv0nc2sN857LgVgeZi9Op1xfhxHF_3pPFI6jecU,12854
|
|
48
|
+
moai_adk/templates/.claude/agents/alfred/implementation-planner.md,sha256=5vy0TiMGU-FbvYZo9un-8CWkFDWUSuwUiEvHGxcqT1o,10512
|
|
49
|
+
moai_adk/templates/.claude/agents/alfred/project-manager.md,sha256=xfshOFcY2TptbuOgygD-d_UUoAFo1M9zBOrMHrIiqrc,13730
|
|
50
|
+
moai_adk/templates/.claude/agents/alfred/quality-gate.md,sha256=NAt_ewFK7qxJpsdUdjFGuOHgy8S8gWBkehMwljCV7-Q,10582
|
|
51
|
+
moai_adk/templates/.claude/agents/alfred/spec-builder.md,sha256=u3-wlUQdeDLFkJDo-uUSH2y6dyuuKeBjzZ778dMhtR8,11612
|
|
52
|
+
moai_adk/templates/.claude/agents/alfred/tag-agent.md,sha256=Lh1ElEaGQQ9LfQByvAmGy93_pg6gEhtipQYGdf3T37g,9262
|
|
53
|
+
moai_adk/templates/.claude/agents/alfred/tdd-implementer.md,sha256=Dh9qKQDdZ1HW5T0Yn9TAu7iLMCd9DyUHmOo0DayQ8nY,9265
|
|
54
|
+
moai_adk/templates/.claude/agents/alfred/trust-checker.md,sha256=e7u2nfaZi0kqlEL1NE8rX17P0TP1dg3iHWW5Bu4X7PU,13312
|
|
55
|
+
moai_adk/templates/.claude/commands/alfred/0-project.md,sha256=21ggSEPWu2dcF-WGWGhZ6NVkIF6uthUrbEoYw6w8fE4,39509
|
|
56
|
+
moai_adk/templates/.claude/commands/alfred/1-plan.md,sha256=eAa4ycxoI1bkF_B0Z4kMxBucBBpJNdi7jI542ERXKww,22231
|
|
57
|
+
moai_adk/templates/.claude/commands/alfred/2-run.md,sha256=Q-VX1Xg7TQZtsxwZaSMbjPk91_HzCC4rdO1TkwYrr5Q,19690
|
|
58
|
+
moai_adk/templates/.claude/commands/alfred/3-sync.md,sha256=Bk9lb2oXJGx11bjRjQuy93QsUXD8s3CdqqqVQ17zK5U,21213
|
|
59
|
+
moai_adk/templates/.claude/hooks/alfred/README.md,sha256=8JirNg3Jn2OUFmHySYBd8QxQgPkG7kcev86Zkf80asY,6852
|
|
60
|
+
moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py,sha256=ZgAtZ3sorerMefQzTa-b3DApzct8MDCK0MIRRbgqMgQ,6972
|
|
61
|
+
moai_adk/templates/.claude/hooks/alfred/core/__init__.py,sha256=LhCQ82B6ZqhVsbQi98G6E_Hfkbm5C2io93aO3KZfF8s,2767
|
|
62
|
+
moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py,sha256=dsvFDSXQNSQlaQLpvhqFbytGOrOivyovi43Y18EmNeI,8483
|
|
63
|
+
moai_adk/templates/.claude/hooks/alfred/core/context.py,sha256=RQd6yk8OGT-twgYtUiNmJIL-UEt_h4oktxqiRP_wXAI,2103
|
|
64
|
+
moai_adk/templates/.claude/hooks/alfred/core/project.py,sha256=XVm-Y5TVjBBznW8AkFhk_uVg-EF1lZ2wx59Rxt_LOBA,9125
|
|
65
|
+
moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py,sha256=j5L7nayKt7tnFQOZuO5sWiie815vmbmYJOn2VRiidLY,569
|
|
66
|
+
moai_adk/templates/.claude/hooks/alfred/handlers/notification.py,sha256=8TcEqGlz4EpLf2lpouaIuhVbpKOVeY31KPmIq2snt9U,662
|
|
67
|
+
moai_adk/templates/.claude/hooks/alfred/handlers/session.py,sha256=tnHPDn_iofxDkS2AylZ5avvEnrw-iaHuCBrSqY-lWnc,3388
|
|
68
|
+
moai_adk/templates/.claude/hooks/alfred/handlers/tool.py,sha256=Rs0BPHU3ZFmj1pgZ8bRY6MZSLAcNtRjnn1rVuiJIeNs,2192
|
|
69
|
+
moai_adk/templates/.claude/hooks/alfred/handlers/user.py,sha256=XFLVvSI2RN_RxOKP8Mju0NJMUvtZp8APLWiXejh6_XM,1273
|
|
70
|
+
moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md,sha256=f_NSh4FaG9RoKmuQY4OX8YAuwTHnXS_T9O92OiR33MI,19365
|
|
71
|
+
moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md,sha256=dNudWbFO8prMWqiBjs0EQ7QrBZvhOeL8Ai36g2FK2kY,17283
|
|
72
|
+
moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md,sha256=l21sWGYYimpTFrvtsma9pGfdW81Lft2NdbdQNh17yUw,12340
|
|
73
|
+
moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md,sha256=wkJLITyqBv7dNf2WbbHSUcHxej107nVjvxpUvrIHwws,3147
|
|
74
|
+
moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md,sha256=Q0QJZrARYJbpAh1OPWlnqaWWo-YaHk1cp15I0FWfzEo,3212
|
|
75
|
+
moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md,sha256=buqeHaToi4Zvzf9A7prSoWRUTVjEXCf5cARjdKDv1bM,3405
|
|
76
|
+
moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md,sha256=S6C0UnmVaTU_AItGhMb-sFSzJoQhUQHS4Kpi9GiEamU,3039
|
|
77
|
+
moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md,sha256=OqOCYVTrobe4VDcLbra9UnvUPIOyMOmcaNkt509RUQ0,3364
|
|
78
|
+
moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md,sha256=ITNVcJEAp2K7CGtdgUj23HOromWT-FaxAritES7EGFs,3443
|
|
79
|
+
moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md,sha256=QaaX1enrphDadsa0G5WZ7qISxrfidcYyDJEgHulhWKw,3105
|
|
80
|
+
moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md,sha256=LI8ZP1DXGDWsg-oL1XGSDwFih5ce4mTGoQbwk8PaByY,2983
|
|
81
|
+
moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md,sha256=H3IhkK26v0Hsj8IU1I830Z8GEX4uAhHKYK_AQbokrxA,2872
|
|
82
|
+
moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md,sha256=x17KWEiGqXSHbN8auHufAx1Q1bei_8gHIS031YDe7K4,2956
|
|
83
|
+
moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md,sha256=wzw9lE7kK0l1CYMhjkcHEgns1mvL3AOWBJ9_KXnxipE,3907
|
|
84
|
+
moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md,sha256=xlxOF5wAfScKpGsTbJ7MwaXweD-30Ng9bDnKBvGZEDo,1652
|
|
85
|
+
moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md,sha256=nHOgp8nQo113WHWBCU2Fupwr7j1op8pktfCDb20xE9c,4264
|
|
86
|
+
moai_adk/templates/.claude/skills/moai-claude-code/examples.md,sha256=MiNCwF-YIfOpfNSYN1dRDsyZzLzJ1_UbYVaSPP3BlZQ,9862
|
|
87
|
+
moai_adk/templates/.claude/skills/moai-claude-code/reference.md,sha256=4r_SeYlACi0UhArP30E7GNOkiacfLllC5VJmDGEynwY,10604
|
|
88
|
+
moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md,sha256=8teY8mUW-Ta5j2RZCzAtDKeNr_WYUlrrWKod4EvAfX8,7596
|
|
89
|
+
moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md,sha256=a0F911x3WEnqsbR2h1x7XOwm7Z-v-tc85wJUvAcYKYc,8191
|
|
90
|
+
moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json,sha256=lbZvUL6kjUbX4aS6ocZBn72yHxB1StCRWP1TxbxS_wo,13158
|
|
91
|
+
moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json,sha256=ioBmzvJ9Q_8-owzIWKZZ_s4uSaGEFP7BSV1uebC1ZTI,20670
|
|
92
|
+
moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md,sha256=1rXLyTJ_wODS1Ma6sTndg-ShwIvk-T2kN1V6HMv0v2E,9389
|
|
93
|
+
moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md,sha256=3Bw0ka3KVxjBCbTm40N9uLD6RtX33sNEbS8ZHQOH3Xc,3296
|
|
94
|
+
moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md,sha256=afQhGe1oiIiCQkHikIh6rVn7E0OsLy90UCUM752ybY8,3178
|
|
95
|
+
moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md,sha256=BKjY55nLbZpWTrgiKj1JaR38mUOj5XmOZ_7MPXVVBDE,3331
|
|
96
|
+
moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md,sha256=2myyCKsrrTYx7o48ezbudCYUE9wzm7B4EG09VJwqLxQ,3279
|
|
97
|
+
moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md,sha256=yvSbV06zZd1BXiFh3LdCpISK6eJdsW6gDb6xAz1SaFg,3415
|
|
98
|
+
moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md,sha256=2ZLYpj-Iwtf7dToRJim3pTOwhiYlqxwcPaVx9POj4Z0,3352
|
|
99
|
+
moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md,sha256=jCImkE0nQIiGwy3QNZw-LYXMUFks4h-1fNPJi4ALY5c,3309
|
|
100
|
+
moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md,sha256=wihwkNZPO1j13l9YN8wE2_QgWtPCCQzbyDruXchUVow,3216
|
|
101
|
+
moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md,sha256=J0HkDay5cg3_ANmI8Sw7UiuPbiz2X5CaNa0sGZb-mUU,3692
|
|
102
|
+
moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md,sha256=lG0Se74-uNd5L7XtyGvjnFSVbMjC8wxDo2WNIKg_U64,3357
|
|
103
|
+
moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md,sha256=-Qrs_2oIuhWh2Fqx9rhKrJapAv-xfcHGPgTq1tYqGvo,3179
|
|
104
|
+
moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md,sha256=3Zm2152e6dZi4jXPfQj7a7cTo3kUaQhiIy8p1IzONWQ,3369
|
|
105
|
+
moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md,sha256=YZ7a9zfwFX07Vc7SBVkma43x2G5KQa6CBl-pUYn8GTc,3061
|
|
106
|
+
moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md,sha256=1-djoQEAPRz5QYAebWwtqRy5W7rlSj1Ca-VqpdefSAI,3200
|
|
107
|
+
moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md,sha256=u2xGI8Vdb-zIRZWrg_5yJXTQKgV9db_7IyOTx-Tcvpw,3303
|
|
108
|
+
moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md,sha256=InoSdqT4ZQpFhols1PhPbOoqQYDZppMtjDgh-r2BAbM,2863
|
|
109
|
+
moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md,sha256=QdXlLUWVYKriWZ8hl1-nuy5WoG7GY3vfHMl3NAkzbYI,3232
|
|
110
|
+
moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md,sha256=UecZwHoMrdsYRqRJkRYNlD8lv1BtUmdmoR-zVct1b0Q,2856
|
|
111
|
+
moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md,sha256=dgTTQdxXf38U68x3EjqAkjjO9_dIhF_e2Ofs3IjHGMs,2711
|
|
112
|
+
moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md,sha256=TIYzb1uPNsR7C38J48pKSO6bOM4UlQJ4XaTRs3asWig,2742
|
|
113
|
+
moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md,sha256=ydnOUa88RDjRq5Uvf4EGpa7wg6J4ArCq7W6tBa8mh7M,3152
|
|
114
|
+
moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md,sha256=PtUx58mv7FbE0Pi-nVhgrIvKYTxXiWZliLNJc68zV6c,3382
|
|
115
|
+
moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md,sha256=Hgwcm3DBBIphUrNnEbFXIXBDbAfOI2cu1427_gnrHk0,3401
|
|
116
|
+
moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md,sha256=_ANAINerPAh8OTuU-a83XDWPHidjit0pMtrYoQ01c_U,3329
|
|
117
|
+
moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md,sha256=kLX1t0ICMtzFgGawX_5AT9MPcdt85QF9tfUaE7MlR48,3272
|
|
118
|
+
moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md,sha256=qtcuHQ7Qh-VPtDLYBcpyDN_gbBTTtATnm71r9cAl49c,3192
|
|
119
|
+
moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md,sha256=dlPopPdMh2-i67OoZYFg9r31OiAKAhirzMcUedTwPl8,3331
|
|
120
|
+
moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md,sha256=XNP5caFBWywJLsU5ZPDLoPtynBXhy1ib52UIrvWBgqA,3287
|
|
121
|
+
moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md,sha256=vrBO18rMq3U3Q8MS8on2YpCRFuCt9-BWbicNW-MUhaE,3307
|
|
122
|
+
moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md,sha256=ty1NU_ciavJ3xhTUCkD5R3t4ssyBf-CQegBETgKj1BU,3209
|
|
123
|
+
moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md,sha256=DiVIsSKbmGVkNUsTqnp8MpJqu0g4ib0D3yHlueTvB7M,3361
|
|
124
|
+
moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md,sha256=uIR2yIdxue321blnxXOAVS6nIHKZfIsUNiVfitSmuFw,3394
|
|
125
|
+
moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md,sha256=6VXM1UfnTdouH1EYu-UIehw3Zs2J05v7y0NPDzI0GKk,3115
|
|
126
|
+
moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md,sha256=lstt0_6Akl003Aq2XPlN_soOZSQJdYT22aGdB9x5YEE,3148
|
|
127
|
+
moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md,sha256=fMLivbDvEX2xhO5vQtM2R63ZNUoPY3guKqxNi5kCIbY,3273
|
|
128
|
+
moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md,sha256=lTbKgpslcNRzERqWCpyBmlUzOOZI7dcj2ob3mi4SG3M,3145
|
|
129
|
+
moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md,sha256=JgDTaftgKXraNg543FFpzPC9Njz5v4ywizQ4p0BmVZc,3286
|
|
130
|
+
moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md,sha256=X7HPcYJZvtay-jK78WivPhsYMAHPbwkt5Pj2R6UtJEc,3423
|
|
131
|
+
moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md,sha256=9vVatE1CHvI8ANVyoHfUpFarz06ZgQpK-WRYqa1vpCE,3128
|
|
132
|
+
moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md,sha256=hvdrMvdtrn_L_7oKdQ_MnCNQDNHy64pdhuVUQqRla4o,3312
|
|
133
|
+
moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md,sha256=gma95ZL-KfR386h4lfGdVIGAID7Tzs4bg9vvad4FSH8,3390
|
|
134
|
+
moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md,sha256=cILeJUCCJQ4rAWJz1NJsl72z82JJIhnHjY52lm7MQc4,3437
|
|
135
|
+
moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md,sha256=inYszdQWe2iGcM20M6T-ydrQsmBSHF3o4PRUDYTih7k,3318
|
|
136
|
+
moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md,sha256=q753rSPFZfylgwh6HkEP2ggEqB9qK-VnoLuXTxueTzw,2146
|
|
137
|
+
moai_adk/templates/.github/workflows/moai-gitflow.yml,sha256=D9ob1O7tzsUvk3WQPPaHFx1Oo6_RxnbCb5WHJ6DWyrI,8589
|
|
138
|
+
moai_adk/templates/.moai/config.json,sha256=XLbCOlu373TirPty1mB9F8lh3gmXbydMpVhmCBk8It8,2182
|
|
139
|
+
moai_adk/templates/.moai/memory/development-guide.md,sha256=q4tYQ3r-4KeTiNxnxqxcXTEge373iorPsA7bNYMoeG4,14534
|
|
140
|
+
moai_adk/templates/.moai/memory/gitflow-protection-policy.md,sha256=tm2ZOmNMvomAhh4_AGTUNjmSsc-eKzo1SGshojx2QL0,6228
|
|
141
|
+
moai_adk/templates/.moai/memory/spec-metadata.md,sha256=-sN63OwwHGe6lm4ESwlLC-sFUqAAyPUKlq_S4sYYFZE,7166
|
|
142
|
+
moai_adk/templates/.moai/project/product.md,sha256=IrRSqhu0o5KNfn453DUWoUKzdoO3m6013iYCwaHYCxM,5166
|
|
143
|
+
moai_adk/templates/.moai/project/structure.md,sha256=YWZ4ggmfzveKx8SQGFQWXdDUh5mxOLkEyy5yVdR3Rn0,4791
|
|
144
|
+
moai_adk/templates/.moai/project/tech.md,sha256=REecMv8wOvutt-pQZ5nlGk5YdReTan7AHcKJ2Yes6RM,5758
|
|
145
|
+
moai_adk/utils/__init__.py,sha256=VnVfQzzKHvKw4bNdEw5xdscnRQYFrnr-v_TOBr3naPs,225
|
|
146
|
+
moai_adk/utils/banner.py,sha256=znppKd5yo-tTqgyhgPVJjstrTrfcy_v3X1_RFQxP4Fk,1878
|
|
147
|
+
moai_adk/utils/logger.py,sha256=g-m07PGKjK2bKRIInfSn6m-024Bedai-pV_WjZKDeu8,5064
|
|
148
|
+
moai_adk-0.4.1.dist-info/METADATA,sha256=CTNnPd0EJoNf-GNHluAi7tCKd6PTzsSVkIBil66nD10,13575
|
|
149
|
+
moai_adk-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
150
|
+
moai_adk-0.4.1.dist-info/entry_points.txt,sha256=P9no1794UipqH72LP-ltdyfVd_MeB1WKJY_6-JQgV3U,52
|
|
151
|
+
moai_adk-0.4.1.dist-info/licenses/LICENSE,sha256=M1M2b07fWcSWRM6_P3wbZKndZvyfHyYk_Wu9bS8F7o8,1069
|
|
152
|
+
moai_adk-0.4.1.dist-info/RECORD,,
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: alfred:1-spec
|
|
3
|
-
description: "[DEPRECATED] /alfred:1-plan 을 사용하세요 - 하위 호환성을 위한 별칭"
|
|
4
|
-
argument-hint: "제목1 제목2 ... | SPEC-ID 수정내용"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- SlashCommand
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# ⚠️ 명령어 변경 안내
|
|
10
|
-
|
|
11
|
-
`/alfred:1-spec` 명령어는 `/alfred:1-plan`으로 변경되었습니다.
|
|
12
|
-
|
|
13
|
-
## 🔄 변경 이유
|
|
14
|
-
|
|
15
|
-
- **"spec"**은 명세 작성만을 의미하지만, 실제로는 **계획 수립 전반**을 지원합니다
|
|
16
|
-
- **새로운 워크플로우**: **계획(Plan)** → 실행(Run) → 동기화(Sync)
|
|
17
|
-
- **철학**: "항상 계획을 먼저 세우고 진행한다"
|
|
18
|
-
- SPEC 작성, 브레인스토밍, 설계 논의 등 **계획 수립 전반** 지원
|
|
19
|
-
|
|
20
|
-
## ✅ 새로운 명령어로 자동 전환
|
|
21
|
-
|
|
22
|
-
아래 명령어를 자동으로 실행합니다:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
/alfred:1-plan $ARGUMENTS
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
**이 별칭은 하위 호환성을 위해 제공되며, 향후 제거될 예정입니다.**
|
|
31
|
-
**가능한 빨리 `/alfred:1-plan`을 사용해주세요.**
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: alfred:2-build
|
|
3
|
-
description: "[DEPRECATED] /alfred:2-run 을 사용하세요 - 하위 호환성을 위한 별칭"
|
|
4
|
-
argument-hint: "SPEC-ID"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- SlashCommand
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# ⚠️ 명령어 변경 안내
|
|
10
|
-
|
|
11
|
-
`/alfred:2-build` 명령어는 `/alfred:2-run`으로 변경되었습니다.
|
|
12
|
-
|
|
13
|
-
## 🔄 변경 이유
|
|
14
|
-
|
|
15
|
-
- **"build"**는 코드 빌드만을 의미하지만, 실제로는 **계획 수행 전반**을 지원합니다
|
|
16
|
-
- **새로운 워크플로우**: 계획(Plan) → **실행(Run)** → 동기화(Sync)
|
|
17
|
-
- TDD 구현, 프로토타입 제작, 문서화 작업 등 **다양한 실행 시나리오** 지원
|
|
18
|
-
|
|
19
|
-
## ✅ 새로운 명령어로 자동 전환
|
|
20
|
-
|
|
21
|
-
아래 명령어를 자동으로 실행합니다:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
/alfred:2-run $ARGUMENTS
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
**이 별칭은 하위 호환성을 위해 제공되며, 향후 제거될 예정입니다.**
|
|
30
|
-
**가능한 빨리 `/alfred:2-run`을 사용해주세요.**
|