moai-adk 0.3.13__tar.gz → 0.4.0__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.
- {moai_adk-0.3.13 → moai_adk-0.4.0}/PKG-INFO +231 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/README.md +229 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/pyproject.toml +3 -2
- moai_adk-0.4.0/src/moai_adk/__init__.py +15 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/__main__.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/commands/__init__.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/commands/doctor.py +2 -2
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/commands/status.py +1 -1
- moai_adk-0.4.0/src/moai_adk/cli/commands/update.py +198 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/prompts/init_prompts.py +1 -1
- moai_adk-0.4.0/src/moai_adk/core/__init__.py +2 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/branch.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/manager.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/quality/__init__.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/quality/trust_checker.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/quality/validators/__init__.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/quality/validators/base_validator.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/template/__init__.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/template/backup.py +2 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/template/config.py +24 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/template/languages.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/template/merger.py +58 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/template/processor.py +41 -12
- moai_adk-0.4.0/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +1029 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/commands/alfred/0-project.md +480 -12
- moai_adk-0.3.13/src/moai_adk/templates/.claude/commands/alfred/1-spec.md → moai_adk-0.4.0/src/moai_adk/templates/.claude/commands/alfred/1-plan.md +65 -34
- moai_adk-0.4.0/src/moai_adk/templates/.claude/commands/alfred/1-spec.md +31 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/commands/alfred/2-build.md +30 -0
- moai_adk-0.3.13/src/moai_adk/templates/.claude/commands/alfred/2-build.md → moai_adk-0.4.0/src/moai_adk/templates/.claude/commands/alfred/2-run.md +92 -64
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +10 -31
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/examples.md +513 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/reference.md +419 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +332 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +384 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +349 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +552 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +499 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +64 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +69 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +69 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +62 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +74 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +59 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +76 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +61 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +63 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +64 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +61 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +54 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +46 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +69 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +64 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +65 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +65 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +64 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +66 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +68 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +67 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +64 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/scripts/standardize_skills.py +166 -0
- moai_adk-0.4.0/src/moai_adk/templates/.claude/skills/scripts/verify_standardization.sh +43 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/CLAUDE.md +153 -0
- moai_adk-0.4.0/src/moai_adk/templates/__init__.py +2 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/utils/__init__.py +1 -1
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/utils/banner.py +7 -7
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/utils/logger.py +1 -1
- moai_adk-0.3.13/src/moai_adk/__init__.py +0 -8
- moai_adk-0.3.13/src/moai_adk/cli/commands/update.py +0 -152
- moai_adk-0.3.13/src/moai_adk/core/__init__.py +0 -2
- moai_adk-0.3.13/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -474
- moai_adk-0.3.13/src/moai_adk/templates/__init__.py +0 -2
- {moai_adk-0.3.13 → moai_adk-0.4.0}/.gitignore +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/LICENSE +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/commands/backup.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/commands/init.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/main.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/cli/prompts/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/diagnostics/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/diagnostics/slash_commands.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/branch_manager.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/checkpoint.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/commit.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/git/event_detector.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/backup_utils.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/checker.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/detector.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/initializer.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/phase_executor.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/core/project/validator.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/README.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.claude/settings.json +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.gitignore +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/config.json +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/hooks/pre-push.sample +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/memory/development-guide.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/memory/spec-metadata.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/project/product.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/project/structure.md +0 -0
- {moai_adk-0.3.13 → moai_adk-0.4.0}/src/moai_adk/templates/.moai/project/tech.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: moai-adk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
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
|
|
@@ -23,6 +23,7 @@ Requires-Dist: click>=8.1.0
|
|
|
23
23
|
Requires-Dist: gitpython>=3.1.45
|
|
24
24
|
Requires-Dist: packaging>=21.0
|
|
25
25
|
Requires-Dist: pyfiglet>=1.0.2
|
|
26
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
26
27
|
Requires-Dist: questionary>=2.0.0
|
|
27
28
|
Requires-Dist: rich>=13.0.0
|
|
28
29
|
Provides-Extra: dev
|
|
@@ -63,6 +64,7 @@ Description-Content-Type: text/markdown
|
|
|
63
64
|
- [Quick Start](#quick-start-3분-실전)
|
|
64
65
|
- [첫 번째 프로젝트: Todo API](#첫-번째-프로젝트-todo-api-만들기)
|
|
65
66
|
- [3단계 워크플로우](#3단계-워크플로우)
|
|
67
|
+
- [v0.4.0: Skills Revolution (계획 중)](#v040-skills-revolution-계획-중)
|
|
66
68
|
- [실전 시나리오](#실전-시나리오)
|
|
67
69
|
- [AI 모델 선택 가이드](#ai-모델-선택-가이드)
|
|
68
70
|
- [CLI Reference](#cli-reference)
|
|
@@ -708,6 +710,234 @@ graph TD
|
|
|
708
710
|
|
|
709
711
|
---
|
|
710
712
|
|
|
713
|
+
## ■ v0.4.0: Skills Revolution (진행 중)
|
|
714
|
+
|
|
715
|
+
> **📍 현재 진행 상태**: v0.4.0 Skills 표준화 Phase 1 완료, SPEC-SKILLS-REDESIGN-001 v0.1.0 완료
|
|
716
|
+
>
|
|
717
|
+
> 모든 44개 Skills 재구성 완료, 4-Tier 아키텍처 구현 완료, Progressive Disclosure 메커니즘 활성화
|
|
718
|
+
>
|
|
719
|
+
> 상세 진행도는 [UPDATE-PLAN-0.4.0.md](UPDATE-PLAN-0.4.0.md) 및 [SPEC-SKILLS-REDESIGN-001](.moai/specs/SPEC-SKILLS-REDESIGN-001/spec.md)를 참고하세요.
|
|
720
|
+
|
|
721
|
+
MoAI-ADK v0.4.0은 **Claude Code Skills** 시스템을 도입하여 개발자 경험을 혁신합니다.
|
|
722
|
+
|
|
723
|
+
### 🎯 핵심 비전
|
|
724
|
+
|
|
725
|
+
> **"Commands는 진입점, Skills는 능력, Sub-agents는 두뇌"**
|
|
726
|
+
|
|
727
|
+
v0.4.0은 Claude Code의 **Agent Skills 기능**을 핵심 실행 계층으로 도입하여 **4-Layer 아키텍처**로 전환합니다. Progressive Disclosure 메커니즘으로 **Effectively Unbounded Context**를 실현하며, 개발자는 명령어를 암기하지 않고 **자연어 대화**만으로 **레고 블록처럼 조립 가능한 개발 워크플로우**를 경험합니다.
|
|
728
|
+
|
|
729
|
+
### 🔑 핵심 변경사항
|
|
730
|
+
|
|
731
|
+
| 변경 사항 | Before (v0.3.x) | After (v0.4.0) |
|
|
732
|
+
|-----------|-----------------|----------------|
|
|
733
|
+
| **아키텍처** | 3-Layer (Commands/Agents/Hooks) | **4-Layer (Commands/Sub-agents/Skills/Hooks)** |
|
|
734
|
+
| **용어** | "Agents" (혼동) | **"Sub-agents" (Claude Code 표준)** |
|
|
735
|
+
| **컨텍스트 전략** | Always Loaded | **Progressive Disclosure (Effectively Unbounded)** |
|
|
736
|
+
| **재사용성** | 프로젝트 전용 | **전역 (모든 프로젝트 공유)** |
|
|
737
|
+
| **Hooks 성능** | SessionStart 220ms | **<100ms (50% 단축)** |
|
|
738
|
+
| **조합 가능성** | 없음 (단독 실행) | **Composable (Skills 자동 조합)** |
|
|
739
|
+
|
|
740
|
+
### 🏗️ 4-Layer 아키텍처
|
|
741
|
+
|
|
742
|
+
```mermaid
|
|
743
|
+
%%{init: {'theme':'neutral'}}%%
|
|
744
|
+
graph TD
|
|
745
|
+
User([사용자]) --> L1[Layer 1: Commands<br/>워크플로우 진입점]
|
|
746
|
+
L1 --> L2[Layer 2: Sub-agents<br/>복잡한 추론 & 판단]
|
|
747
|
+
L2 --> L3[Layer 3: Skills ⭐<br/>재사용 가능한 지식]
|
|
748
|
+
L3 --> L4[Layer 4: Hooks<br/>가드레일 & JIT Context]
|
|
749
|
+
|
|
750
|
+
L1 -.직접 참조.-> L3
|
|
751
|
+
|
|
752
|
+
style L3 fill:#e1f5ff,stroke:#0066cc,stroke-width:3px
|
|
753
|
+
style L1 fill:#fff4e1,stroke:#cc6600
|
|
754
|
+
style L2 fill:#f0e1ff,stroke:#6600cc
|
|
755
|
+
style L4 fill:#e1ffe1,stroke:#00cc66
|
|
756
|
+
```
|
|
757
|
+
|
|
758
|
+
**4-Layer 상세**:
|
|
759
|
+
|
|
760
|
+
| Layer | 역할 | 예시 | 특징 |
|
|
761
|
+
|-------|------|------|------|
|
|
762
|
+
| **Layer 1: Commands** | 워크플로우 진입점 | `/alfred:1-plan`, `/alfred:2-run` | 사용자 요청 해석, Skills/Sub-agents 조율 |
|
|
763
|
+
| **Layer 2: Sub-agents** | 복잡한 추론 & 판단 | spec-builder, tdd-implementer | Task tool 호출, 독립 컨텍스트 |
|
|
764
|
+
| **Layer 3: Skills ⭐** | 재사용 가능한 지식 | moai-spec-writer, python-expert | Progressive Disclosure, 전역 재사용 |
|
|
765
|
+
| **Layer 4: Hooks** | 가드레일 & JIT Context | SessionStart, PreToolUse | 위험 작업 차단, 빠른 실행 (<100ms) |
|
|
766
|
+
|
|
767
|
+
### ▶ Progressive Disclosure - 게임 체인저
|
|
768
|
+
|
|
769
|
+
**3-Layer 로딩 메커니즘**:
|
|
770
|
+
|
|
771
|
+
```text
|
|
772
|
+
┌──────────────────────────────────────────────┐
|
|
773
|
+
│ Layer 1: Metadata (Startup) │
|
|
774
|
+
│ - name + description만 사전 로드 │
|
|
775
|
+
│ - 각 Skill당 ≈50 토큰만 소비 │
|
|
776
|
+
│ - 다수의 Skills 설치 시에도 부담 적음 │
|
|
777
|
+
└──────────────────────────────────────────────┘
|
|
778
|
+
↓ Claude가 관련성 판단
|
|
779
|
+
┌──────────────────────────────────────────────┐
|
|
780
|
+
│ Layer 2: SKILL.md (On-Demand) │
|
|
781
|
+
│ - 관련 있는 Skill만 전체 내용 로드 │
|
|
782
|
+
│ - 필요 시에만 로드 (≈500 토큰) │
|
|
783
|
+
│ - 여러 Skills 동시 로드 가능 │
|
|
784
|
+
└──────────────────────────────────────────────┘
|
|
785
|
+
↓ 추가 정보 필요 시
|
|
786
|
+
┌──────────────────────────────────────────────┐
|
|
787
|
+
│ Layer 3: Additional Files (Lazy Loading) │
|
|
788
|
+
│ - templates/, scripts/, resources/ │
|
|
789
|
+
│ - 필요한 파일만 선택적 로드 │
|
|
790
|
+
│ - 대용량 참고 자료를 효율적으로 관리 │
|
|
791
|
+
└──────────────────────────────────────────────┘
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
**효과**:
|
|
795
|
+
- ✅ **Effectively Unbounded Context** (Anthropic 공식 표현)
|
|
796
|
+
- ✅ **컨텍스트 사용량 30% 절감** (Skills 재사용)
|
|
797
|
+
- ✅ **응답 속도 50% 단축** (Hooks 경량화: 220ms→100ms)
|
|
798
|
+
|
|
799
|
+
### ▶ Composability - 레고 블록처럼 조립
|
|
800
|
+
|
|
801
|
+
Claude가 자동으로 필요한 Skills를 식별하고 조합합니다.
|
|
802
|
+
|
|
803
|
+
**예시: 모바일 앱 개발**
|
|
804
|
+
|
|
805
|
+
```text
|
|
806
|
+
사용자: "Flutter로 Todo 앱 만들어줘"
|
|
807
|
+
|
|
808
|
+
Alfred가 자동 조합:
|
|
809
|
+
✅ moai-spec-writer (SPEC 작성)
|
|
810
|
+
✅ dart-expert (Dart 베스트 프랙티스)
|
|
811
|
+
✅ mobile-app-expert (iOS/Android 설계)
|
|
812
|
+
✅ moai-tdd-orchestrator (TDD 구현)
|
|
813
|
+
|
|
814
|
+
사용자: "Firebase 인증도 추가해줘"
|
|
815
|
+
|
|
816
|
+
Alfred가 자동 조합:
|
|
817
|
+
✅ firebase-expert (새로 추가)
|
|
818
|
+
✅ dart-expert (이미 로드됨, 재사용)
|
|
819
|
+
✅ security-expert (자동 추가)
|
|
820
|
+
```
|
|
821
|
+
|
|
822
|
+
**조합 원리**:
|
|
823
|
+
- **Automatic Coordination**: Claude가 자동으로 필요한 Skills 식별
|
|
824
|
+
- **No Explicit Reference**: Skills는 서로를 명시적으로 참조하지 않아도 됨
|
|
825
|
+
- **Multiple Skills Together**: 동시에 여러 Skills 활성화 가능
|
|
826
|
+
|
|
827
|
+
### ▶ Commands 명칭 변경 철학
|
|
828
|
+
|
|
829
|
+
#### `/alfred:1-spec` → `/alfred:1-plan` ⭐ 핵심 변경
|
|
830
|
+
|
|
831
|
+
**철학적 배경**:
|
|
832
|
+
- **"항상 계획을 먼저 세우고 진행한다"** - 계획 우선 원칙 강조
|
|
833
|
+
- SPEC 문서 생성뿐만 아니라 **브레인스토밍 모드**로 확장
|
|
834
|
+
- 아이디어 구상, 요구사항 정리, 설계 논의 등 **계획 수립 전반** 지원
|
|
835
|
+
|
|
836
|
+
**사용 시나리오**:
|
|
837
|
+
|
|
838
|
+
```bash
|
|
839
|
+
# 시나리오 1: SPEC 문서 생성 (기존 방식)
|
|
840
|
+
/alfred:1-plan "JWT 인증 시스템"
|
|
841
|
+
→ SPEC-AUTH-001 생성, EARS 구문, 브랜치/PR
|
|
842
|
+
|
|
843
|
+
# 시나리오 2: 브레인스토밍 모드 (신규)
|
|
844
|
+
/alfred:1-plan "프로젝트 아키텍처 설계 논의"
|
|
845
|
+
→ Alfred와 대화형 브레인스토밍
|
|
846
|
+
→ 아이디어 정리 → SPEC 후보 도출
|
|
847
|
+
|
|
848
|
+
# 시나리오 3: 기술 선택 논의 (신규)
|
|
849
|
+
/alfred:1-plan "인증 방식 비교 (JWT vs Session)"
|
|
850
|
+
→ 장단점 분석 → 의사결정 지원 → SPEC 문서화
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
**핵심 가치**:
|
|
854
|
+
- ✅ **Think First, Code Later** (생각 먼저, 코딩 나중)
|
|
855
|
+
- ✅ **Collaborative Planning** (Alfred와 함께 계획 수립)
|
|
856
|
+
- ✅ **SPEC-First 유지** (최종적으로 SPEC 문서 생성)
|
|
857
|
+
|
|
858
|
+
#### `/alfred:2-build` → `/alfred:2-run` ⭐ 핵심 변경
|
|
859
|
+
|
|
860
|
+
**철학적 배경**:
|
|
861
|
+
- **"계획(Plan) → 실행(Run) → 동기화(Sync)"** - 명확한 워크플로우
|
|
862
|
+
- "build"는 코드 빌드만을 의미하지만, 실제로는 **계획 수행 전반** 지원
|
|
863
|
+
- TDD 구현, 테스트 실행, 리팩토링, 문서 초안 등 **다양한 실행 작업**
|
|
864
|
+
|
|
865
|
+
**사용 시나리오**:
|
|
866
|
+
|
|
867
|
+
```bash
|
|
868
|
+
# 시나리오 1: TDD 구현 (주 사용 방식)
|
|
869
|
+
/alfred:2-run SPEC-AUTH-001
|
|
870
|
+
→ RED → GREEN → REFACTOR
|
|
871
|
+
|
|
872
|
+
# 시나리오 2: 프로토타입 제작
|
|
873
|
+
/alfred:2-run SPEC-PROTO-001
|
|
874
|
+
→ 빠른 검증을 위한 프로토타입 구현
|
|
875
|
+
|
|
876
|
+
# 시나리오 3: 문서화 작업
|
|
877
|
+
/alfred:2-run SPEC-DOCS-001
|
|
878
|
+
→ 문서 작성 및 샘플 코드 생성
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
**핵심 가치**:
|
|
882
|
+
- ✅ **Plan First, Run Next** (계획 먼저, 실행 나중)
|
|
883
|
+
- ✅ **Flexible Execution** (TDD뿐 아니라 다양한 실행 작업)
|
|
884
|
+
- ✅ **SPEC-Driven** (SPEC 기반 실행)
|
|
885
|
+
|
|
886
|
+
#### `/alfred:3-sync` - 유지
|
|
887
|
+
|
|
888
|
+
- **이유**: "sync(동기화)"가 문서-코드-TAG 동기화 의미를 정확히 전달
|
|
889
|
+
- **기능**: Living Document 갱신, TAG 체인 검증, PR Ready 전환
|
|
890
|
+
|
|
891
|
+
### ▶ 10개 Foundation Skills
|
|
892
|
+
|
|
893
|
+
v0.4.0 Phase 1에서 도입되는 핵심 Skills:
|
|
894
|
+
|
|
895
|
+
| Skill | 역할 | 기존 대응 | 특징 |
|
|
896
|
+
|-------|------|----------|------|
|
|
897
|
+
| `moai-spec-writer` | EARS 명세 작성 | spec-builder 일부 | SPEC 문서 생성, EARS 구문 |
|
|
898
|
+
| `moai-tdd-orchestrator` | TDD 오케스트레이션 | tdd-implementer 일부 | RED-GREEN-REFACTOR 사이클 |
|
|
899
|
+
| `moai-tag-validator` | TAG 무결성 검증 | tag-agent 일부 | TAG 체인 검증, 고아 TAG 탐지 |
|
|
900
|
+
| `moai-doc-syncer` | Living Document 동기 | doc-syncer 일부 | 문서 자동 업데이트 |
|
|
901
|
+
| `moai-git-flow` | GitFlow 자동화 | git-manager 일부 | 브랜치/PR 생성, 커밋 자동화 |
|
|
902
|
+
| `moai-quality-gate` | TRUST 5원칙 검증 | trust-checker 일부 | 품질 게이트, 자동 검증 |
|
|
903
|
+
| `python-expert` | Python 전문가 | (신규) | pytest, mypy, ruff |
|
|
904
|
+
| `typescript-expert` | TypeScript 전문가 | (신규) | Vitest, Biome |
|
|
905
|
+
| `web-api-expert` | REST/GraphQL 전문가 | (신규) | API 설계, 보안 |
|
|
906
|
+
| `mobile-app-expert` | 모바일 전문가 | (신규) | iOS, Android, Flutter |
|
|
907
|
+
|
|
908
|
+
**Phase 2 이후**: 추가 35개 Skills (Language 18개 + Domain 8개 + Advanced 9개)
|
|
909
|
+
|
|
910
|
+
### ▶ Before/After 개발 시간 비교
|
|
911
|
+
|
|
912
|
+
| 작업 | 기존 (Commands + Agents) | Skills 기반 (v0.4.0) | 개선율 |
|
|
913
|
+
| ------------------- | ------------------------ | -------------------- | ------ |
|
|
914
|
+
| **SPEC 작성** | 2~3분 | 1~2분 | 40%↓ |
|
|
915
|
+
| **TDD 구현** | 5~7분 | 3~4분 | 43%↓ |
|
|
916
|
+
| **문서 동기화** | 1~2분 | 30초~1분 | 50%↓ |
|
|
917
|
+
| **전체 사이클** | 8~12분 | 4.5~7분 | **44%↓** |
|
|
918
|
+
| **학습 곡선** | 3개 커맨드 + 12개 에이전트 | 자연어만 | **90%↓** |
|
|
919
|
+
|
|
920
|
+
**실제 개발자 경험**:
|
|
921
|
+
|
|
922
|
+
```text
|
|
923
|
+
# 기존: 커맨드 이름 외우기
|
|
924
|
+
개발자: "/alfred:1-spec 뭐였더라... /alfred:0-project? 아니면 /alfred:1-spec?"
|
|
925
|
+
→ 커맨드 참조 → 실행 (학습 부담)
|
|
926
|
+
|
|
927
|
+
# Skills: 그냥 말하기
|
|
928
|
+
개발자: "사용자 인증 SPEC 작성해줘"
|
|
929
|
+
→ Alfred: "moai-spec-writer + web-api-expert 조합하겠습니다"
|
|
930
|
+
→ 즉시 실행 (학습 불필요)
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
### ▶ 자세한 정보
|
|
934
|
+
|
|
935
|
+
v0.4.0 전체 계획, 아키텍처 설계, 마이그레이션 전략은 다음 문서를 참고하세요:
|
|
936
|
+
|
|
937
|
+
📖 **[UPDATE-PLAN-0.4.0.md](UPDATE-PLAN-0.4.0.md)** - 전체 상세 분석 문서
|
|
938
|
+
|
|
939
|
+
---
|
|
940
|
+
|
|
711
941
|
## ■ 실전 시나리오
|
|
712
942
|
|
|
713
943
|
### 시나리오 1: 긴급 버그 수정 (Hotfix)
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
- [Quick Start](#quick-start-3분-실전)
|
|
26
26
|
- [첫 번째 프로젝트: Todo API](#첫-번째-프로젝트-todo-api-만들기)
|
|
27
27
|
- [3단계 워크플로우](#3단계-워크플로우)
|
|
28
|
+
- [v0.4.0: Skills Revolution (계획 중)](#v040-skills-revolution-계획-중)
|
|
28
29
|
- [실전 시나리오](#실전-시나리오)
|
|
29
30
|
- [AI 모델 선택 가이드](#ai-모델-선택-가이드)
|
|
30
31
|
- [CLI Reference](#cli-reference)
|
|
@@ -670,6 +671,234 @@ graph TD
|
|
|
670
671
|
|
|
671
672
|
---
|
|
672
673
|
|
|
674
|
+
## ■ v0.4.0: Skills Revolution (진행 중)
|
|
675
|
+
|
|
676
|
+
> **📍 현재 진행 상태**: v0.4.0 Skills 표준화 Phase 1 완료, SPEC-SKILLS-REDESIGN-001 v0.1.0 완료
|
|
677
|
+
>
|
|
678
|
+
> 모든 44개 Skills 재구성 완료, 4-Tier 아키텍처 구현 완료, Progressive Disclosure 메커니즘 활성화
|
|
679
|
+
>
|
|
680
|
+
> 상세 진행도는 [UPDATE-PLAN-0.4.0.md](UPDATE-PLAN-0.4.0.md) 및 [SPEC-SKILLS-REDESIGN-001](.moai/specs/SPEC-SKILLS-REDESIGN-001/spec.md)를 참고하세요.
|
|
681
|
+
|
|
682
|
+
MoAI-ADK v0.4.0은 **Claude Code Skills** 시스템을 도입하여 개발자 경험을 혁신합니다.
|
|
683
|
+
|
|
684
|
+
### 🎯 핵심 비전
|
|
685
|
+
|
|
686
|
+
> **"Commands는 진입점, Skills는 능력, Sub-agents는 두뇌"**
|
|
687
|
+
|
|
688
|
+
v0.4.0은 Claude Code의 **Agent Skills 기능**을 핵심 실행 계층으로 도입하여 **4-Layer 아키텍처**로 전환합니다. Progressive Disclosure 메커니즘으로 **Effectively Unbounded Context**를 실현하며, 개발자는 명령어를 암기하지 않고 **자연어 대화**만으로 **레고 블록처럼 조립 가능한 개발 워크플로우**를 경험합니다.
|
|
689
|
+
|
|
690
|
+
### 🔑 핵심 변경사항
|
|
691
|
+
|
|
692
|
+
| 변경 사항 | Before (v0.3.x) | After (v0.4.0) |
|
|
693
|
+
|-----------|-----------------|----------------|
|
|
694
|
+
| **아키텍처** | 3-Layer (Commands/Agents/Hooks) | **4-Layer (Commands/Sub-agents/Skills/Hooks)** |
|
|
695
|
+
| **용어** | "Agents" (혼동) | **"Sub-agents" (Claude Code 표준)** |
|
|
696
|
+
| **컨텍스트 전략** | Always Loaded | **Progressive Disclosure (Effectively Unbounded)** |
|
|
697
|
+
| **재사용성** | 프로젝트 전용 | **전역 (모든 프로젝트 공유)** |
|
|
698
|
+
| **Hooks 성능** | SessionStart 220ms | **<100ms (50% 단축)** |
|
|
699
|
+
| **조합 가능성** | 없음 (단독 실행) | **Composable (Skills 자동 조합)** |
|
|
700
|
+
|
|
701
|
+
### 🏗️ 4-Layer 아키텍처
|
|
702
|
+
|
|
703
|
+
```mermaid
|
|
704
|
+
%%{init: {'theme':'neutral'}}%%
|
|
705
|
+
graph TD
|
|
706
|
+
User([사용자]) --> L1[Layer 1: Commands<br/>워크플로우 진입점]
|
|
707
|
+
L1 --> L2[Layer 2: Sub-agents<br/>복잡한 추론 & 판단]
|
|
708
|
+
L2 --> L3[Layer 3: Skills ⭐<br/>재사용 가능한 지식]
|
|
709
|
+
L3 --> L4[Layer 4: Hooks<br/>가드레일 & JIT Context]
|
|
710
|
+
|
|
711
|
+
L1 -.직접 참조.-> L3
|
|
712
|
+
|
|
713
|
+
style L3 fill:#e1f5ff,stroke:#0066cc,stroke-width:3px
|
|
714
|
+
style L1 fill:#fff4e1,stroke:#cc6600
|
|
715
|
+
style L2 fill:#f0e1ff,stroke:#6600cc
|
|
716
|
+
style L4 fill:#e1ffe1,stroke:#00cc66
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
**4-Layer 상세**:
|
|
720
|
+
|
|
721
|
+
| Layer | 역할 | 예시 | 특징 |
|
|
722
|
+
|-------|------|------|------|
|
|
723
|
+
| **Layer 1: Commands** | 워크플로우 진입점 | `/alfred:1-plan`, `/alfred:2-run` | 사용자 요청 해석, Skills/Sub-agents 조율 |
|
|
724
|
+
| **Layer 2: Sub-agents** | 복잡한 추론 & 판단 | spec-builder, tdd-implementer | Task tool 호출, 독립 컨텍스트 |
|
|
725
|
+
| **Layer 3: Skills ⭐** | 재사용 가능한 지식 | moai-spec-writer, python-expert | Progressive Disclosure, 전역 재사용 |
|
|
726
|
+
| **Layer 4: Hooks** | 가드레일 & JIT Context | SessionStart, PreToolUse | 위험 작업 차단, 빠른 실행 (<100ms) |
|
|
727
|
+
|
|
728
|
+
### ▶ Progressive Disclosure - 게임 체인저
|
|
729
|
+
|
|
730
|
+
**3-Layer 로딩 메커니즘**:
|
|
731
|
+
|
|
732
|
+
```text
|
|
733
|
+
┌──────────────────────────────────────────────┐
|
|
734
|
+
│ Layer 1: Metadata (Startup) │
|
|
735
|
+
│ - name + description만 사전 로드 │
|
|
736
|
+
│ - 각 Skill당 ≈50 토큰만 소비 │
|
|
737
|
+
│ - 다수의 Skills 설치 시에도 부담 적음 │
|
|
738
|
+
└──────────────────────────────────────────────┘
|
|
739
|
+
↓ Claude가 관련성 판단
|
|
740
|
+
┌──────────────────────────────────────────────┐
|
|
741
|
+
│ Layer 2: SKILL.md (On-Demand) │
|
|
742
|
+
│ - 관련 있는 Skill만 전체 내용 로드 │
|
|
743
|
+
│ - 필요 시에만 로드 (≈500 토큰) │
|
|
744
|
+
│ - 여러 Skills 동시 로드 가능 │
|
|
745
|
+
└──────────────────────────────────────────────┘
|
|
746
|
+
↓ 추가 정보 필요 시
|
|
747
|
+
┌──────────────────────────────────────────────┐
|
|
748
|
+
│ Layer 3: Additional Files (Lazy Loading) │
|
|
749
|
+
│ - templates/, scripts/, resources/ │
|
|
750
|
+
│ - 필요한 파일만 선택적 로드 │
|
|
751
|
+
│ - 대용량 참고 자료를 효율적으로 관리 │
|
|
752
|
+
└──────────────────────────────────────────────┘
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
**효과**:
|
|
756
|
+
- ✅ **Effectively Unbounded Context** (Anthropic 공식 표현)
|
|
757
|
+
- ✅ **컨텍스트 사용량 30% 절감** (Skills 재사용)
|
|
758
|
+
- ✅ **응답 속도 50% 단축** (Hooks 경량화: 220ms→100ms)
|
|
759
|
+
|
|
760
|
+
### ▶ Composability - 레고 블록처럼 조립
|
|
761
|
+
|
|
762
|
+
Claude가 자동으로 필요한 Skills를 식별하고 조합합니다.
|
|
763
|
+
|
|
764
|
+
**예시: 모바일 앱 개발**
|
|
765
|
+
|
|
766
|
+
```text
|
|
767
|
+
사용자: "Flutter로 Todo 앱 만들어줘"
|
|
768
|
+
|
|
769
|
+
Alfred가 자동 조합:
|
|
770
|
+
✅ moai-spec-writer (SPEC 작성)
|
|
771
|
+
✅ dart-expert (Dart 베스트 프랙티스)
|
|
772
|
+
✅ mobile-app-expert (iOS/Android 설계)
|
|
773
|
+
✅ moai-tdd-orchestrator (TDD 구현)
|
|
774
|
+
|
|
775
|
+
사용자: "Firebase 인증도 추가해줘"
|
|
776
|
+
|
|
777
|
+
Alfred가 자동 조합:
|
|
778
|
+
✅ firebase-expert (새로 추가)
|
|
779
|
+
✅ dart-expert (이미 로드됨, 재사용)
|
|
780
|
+
✅ security-expert (자동 추가)
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
**조합 원리**:
|
|
784
|
+
- **Automatic Coordination**: Claude가 자동으로 필요한 Skills 식별
|
|
785
|
+
- **No Explicit Reference**: Skills는 서로를 명시적으로 참조하지 않아도 됨
|
|
786
|
+
- **Multiple Skills Together**: 동시에 여러 Skills 활성화 가능
|
|
787
|
+
|
|
788
|
+
### ▶ Commands 명칭 변경 철학
|
|
789
|
+
|
|
790
|
+
#### `/alfred:1-spec` → `/alfred:1-plan` ⭐ 핵심 변경
|
|
791
|
+
|
|
792
|
+
**철학적 배경**:
|
|
793
|
+
- **"항상 계획을 먼저 세우고 진행한다"** - 계획 우선 원칙 강조
|
|
794
|
+
- SPEC 문서 생성뿐만 아니라 **브레인스토밍 모드**로 확장
|
|
795
|
+
- 아이디어 구상, 요구사항 정리, 설계 논의 등 **계획 수립 전반** 지원
|
|
796
|
+
|
|
797
|
+
**사용 시나리오**:
|
|
798
|
+
|
|
799
|
+
```bash
|
|
800
|
+
# 시나리오 1: SPEC 문서 생성 (기존 방식)
|
|
801
|
+
/alfred:1-plan "JWT 인증 시스템"
|
|
802
|
+
→ SPEC-AUTH-001 생성, EARS 구문, 브랜치/PR
|
|
803
|
+
|
|
804
|
+
# 시나리오 2: 브레인스토밍 모드 (신규)
|
|
805
|
+
/alfred:1-plan "프로젝트 아키텍처 설계 논의"
|
|
806
|
+
→ Alfred와 대화형 브레인스토밍
|
|
807
|
+
→ 아이디어 정리 → SPEC 후보 도출
|
|
808
|
+
|
|
809
|
+
# 시나리오 3: 기술 선택 논의 (신규)
|
|
810
|
+
/alfred:1-plan "인증 방식 비교 (JWT vs Session)"
|
|
811
|
+
→ 장단점 분석 → 의사결정 지원 → SPEC 문서화
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
**핵심 가치**:
|
|
815
|
+
- ✅ **Think First, Code Later** (생각 먼저, 코딩 나중)
|
|
816
|
+
- ✅ **Collaborative Planning** (Alfred와 함께 계획 수립)
|
|
817
|
+
- ✅ **SPEC-First 유지** (최종적으로 SPEC 문서 생성)
|
|
818
|
+
|
|
819
|
+
#### `/alfred:2-build` → `/alfred:2-run` ⭐ 핵심 변경
|
|
820
|
+
|
|
821
|
+
**철학적 배경**:
|
|
822
|
+
- **"계획(Plan) → 실행(Run) → 동기화(Sync)"** - 명확한 워크플로우
|
|
823
|
+
- "build"는 코드 빌드만을 의미하지만, 실제로는 **계획 수행 전반** 지원
|
|
824
|
+
- TDD 구현, 테스트 실행, 리팩토링, 문서 초안 등 **다양한 실행 작업**
|
|
825
|
+
|
|
826
|
+
**사용 시나리오**:
|
|
827
|
+
|
|
828
|
+
```bash
|
|
829
|
+
# 시나리오 1: TDD 구현 (주 사용 방식)
|
|
830
|
+
/alfred:2-run SPEC-AUTH-001
|
|
831
|
+
→ RED → GREEN → REFACTOR
|
|
832
|
+
|
|
833
|
+
# 시나리오 2: 프로토타입 제작
|
|
834
|
+
/alfred:2-run SPEC-PROTO-001
|
|
835
|
+
→ 빠른 검증을 위한 프로토타입 구현
|
|
836
|
+
|
|
837
|
+
# 시나리오 3: 문서화 작업
|
|
838
|
+
/alfred:2-run SPEC-DOCS-001
|
|
839
|
+
→ 문서 작성 및 샘플 코드 생성
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
**핵심 가치**:
|
|
843
|
+
- ✅ **Plan First, Run Next** (계획 먼저, 실행 나중)
|
|
844
|
+
- ✅ **Flexible Execution** (TDD뿐 아니라 다양한 실행 작업)
|
|
845
|
+
- ✅ **SPEC-Driven** (SPEC 기반 실행)
|
|
846
|
+
|
|
847
|
+
#### `/alfred:3-sync` - 유지
|
|
848
|
+
|
|
849
|
+
- **이유**: "sync(동기화)"가 문서-코드-TAG 동기화 의미를 정확히 전달
|
|
850
|
+
- **기능**: Living Document 갱신, TAG 체인 검증, PR Ready 전환
|
|
851
|
+
|
|
852
|
+
### ▶ 10개 Foundation Skills
|
|
853
|
+
|
|
854
|
+
v0.4.0 Phase 1에서 도입되는 핵심 Skills:
|
|
855
|
+
|
|
856
|
+
| Skill | 역할 | 기존 대응 | 특징 |
|
|
857
|
+
|-------|------|----------|------|
|
|
858
|
+
| `moai-spec-writer` | EARS 명세 작성 | spec-builder 일부 | SPEC 문서 생성, EARS 구문 |
|
|
859
|
+
| `moai-tdd-orchestrator` | TDD 오케스트레이션 | tdd-implementer 일부 | RED-GREEN-REFACTOR 사이클 |
|
|
860
|
+
| `moai-tag-validator` | TAG 무결성 검증 | tag-agent 일부 | TAG 체인 검증, 고아 TAG 탐지 |
|
|
861
|
+
| `moai-doc-syncer` | Living Document 동기 | doc-syncer 일부 | 문서 자동 업데이트 |
|
|
862
|
+
| `moai-git-flow` | GitFlow 자동화 | git-manager 일부 | 브랜치/PR 생성, 커밋 자동화 |
|
|
863
|
+
| `moai-quality-gate` | TRUST 5원칙 검증 | trust-checker 일부 | 품질 게이트, 자동 검증 |
|
|
864
|
+
| `python-expert` | Python 전문가 | (신규) | pytest, mypy, ruff |
|
|
865
|
+
| `typescript-expert` | TypeScript 전문가 | (신규) | Vitest, Biome |
|
|
866
|
+
| `web-api-expert` | REST/GraphQL 전문가 | (신규) | API 설계, 보안 |
|
|
867
|
+
| `mobile-app-expert` | 모바일 전문가 | (신규) | iOS, Android, Flutter |
|
|
868
|
+
|
|
869
|
+
**Phase 2 이후**: 추가 35개 Skills (Language 18개 + Domain 8개 + Advanced 9개)
|
|
870
|
+
|
|
871
|
+
### ▶ Before/After 개발 시간 비교
|
|
872
|
+
|
|
873
|
+
| 작업 | 기존 (Commands + Agents) | Skills 기반 (v0.4.0) | 개선율 |
|
|
874
|
+
| ------------------- | ------------------------ | -------------------- | ------ |
|
|
875
|
+
| **SPEC 작성** | 2~3분 | 1~2분 | 40%↓ |
|
|
876
|
+
| **TDD 구현** | 5~7분 | 3~4분 | 43%↓ |
|
|
877
|
+
| **문서 동기화** | 1~2분 | 30초~1분 | 50%↓ |
|
|
878
|
+
| **전체 사이클** | 8~12분 | 4.5~7분 | **44%↓** |
|
|
879
|
+
| **학습 곡선** | 3개 커맨드 + 12개 에이전트 | 자연어만 | **90%↓** |
|
|
880
|
+
|
|
881
|
+
**실제 개발자 경험**:
|
|
882
|
+
|
|
883
|
+
```text
|
|
884
|
+
# 기존: 커맨드 이름 외우기
|
|
885
|
+
개발자: "/alfred:1-spec 뭐였더라... /alfred:0-project? 아니면 /alfred:1-spec?"
|
|
886
|
+
→ 커맨드 참조 → 실행 (학습 부담)
|
|
887
|
+
|
|
888
|
+
# Skills: 그냥 말하기
|
|
889
|
+
개발자: "사용자 인증 SPEC 작성해줘"
|
|
890
|
+
→ Alfred: "moai-spec-writer + web-api-expert 조합하겠습니다"
|
|
891
|
+
→ 즉시 실행 (학습 불필요)
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
### ▶ 자세한 정보
|
|
895
|
+
|
|
896
|
+
v0.4.0 전체 계획, 아키텍처 설계, 마이그레이션 전략은 다음 문서를 참고하세요:
|
|
897
|
+
|
|
898
|
+
📖 **[UPDATE-PLAN-0.4.0.md](UPDATE-PLAN-0.4.0.md)** - 전체 상세 분석 문서
|
|
899
|
+
|
|
900
|
+
---
|
|
901
|
+
|
|
673
902
|
## ■ 실전 시나리오
|
|
674
903
|
|
|
675
904
|
### 시나리오 1: 긴급 버그 수정 (Hotfix)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "moai-adk"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.0"
|
|
4
4
|
description = "MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13"
|
|
@@ -25,7 +25,8 @@ dependencies = [
|
|
|
25
25
|
"pyfiglet>=1.0.2",
|
|
26
26
|
"questionary>=2.0.0",
|
|
27
27
|
"gitpython>=3.1.45",
|
|
28
|
-
"packaging>=21.0"
|
|
28
|
+
"packaging>=21.0",
|
|
29
|
+
"pyyaml>=6.0.0"
|
|
29
30
|
]
|
|
30
31
|
|
|
31
32
|
[project.optional-dependencies]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# @CODE:PY314-001 | SPEC: SPEC-PY314-001.md | TEST: tests/unit/test_foundation.py
|
|
2
|
+
"""MoAI Agentic Development Kit
|
|
3
|
+
|
|
4
|
+
SPEC-First TDD Framework with Alfred SuperAgent
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from importlib.metadata import version, PackageNotFoundError
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
__version__ = version("moai-adk")
|
|
11
|
+
except PackageNotFoundError:
|
|
12
|
+
# Development mode fallback
|
|
13
|
+
__version__ = "0.4.0-dev"
|
|
14
|
+
|
|
15
|
+
__all__ = ["__version__"]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# @CODE:CLI-001 | SPEC: SPEC-CLI-001.md | TEST: tests/unit/test_doctor.py
|
|
2
|
-
# @CODE:CLAUDE-COMMANDS-001:CLI | SPEC: SPEC-CLAUDE-COMMANDS-001.md | TEST: tests/unit/test_slash_commands.py
|
|
1
|
+
# @CODE:CLI-001 | SPEC: SPEC-CLI-001/spec.md | TEST: tests/unit/test_doctor.py
|
|
2
|
+
# @CODE:CLAUDE-COMMANDS-001:CLI | SPEC: SPEC-CLAUDE-COMMANDS-001/spec.md | TEST: tests/unit/test_slash_commands.py
|
|
3
3
|
"""MoAI-ADK doctor command
|
|
4
4
|
|
|
5
5
|
System diagnostics command:
|