moai-adk 0.4.1__tar.gz → 0.4.5__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.4.1 → moai_adk-0.4.5}/PKG-INFO +74 -8
- {moai_adk-0.4.1 → moai_adk-0.4.5}/README.md +73 -7
- {moai_adk-0.4.1 → moai_adk-0.4.5}/pyproject.toml +1 -1
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/__init__.py +7 -1
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/update.py +1 -1
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/prompts/init_prompts.py +2 -2
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/backup_utils.py +1 -11
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/checker.py +2 -2
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/phase_executor.py +8 -13
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/__init__.py +1 -1
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/trust_checker.py +63 -63
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/validators/__init__.py +1 -1
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/validators/base_validator.py +1 -1
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/backup.py +10 -5
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/merger.py +2 -5
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/processor.py +3 -3
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +5 -2
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +17 -9
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/0-project.md +96 -13
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/1-plan.md +7 -6
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/2-run.md +10 -8
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +33 -12
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/memory/spec-metadata.md +80 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/CLAUDE.md +227 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/.gitignore +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/LICENSE +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/__main__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/backup.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/doctor.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/init.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/status.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/main.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/prompts/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/diagnostics/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/diagnostics/slash_commands.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/branch.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/branch_manager.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/checkpoint.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/commit.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/event_detector.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/manager.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/detector.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/initializer.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/validator.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/config.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/languages.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/README.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/settings.json +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.gitignore +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/config.json +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/memory/development-guide.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/project/product.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/project/structure.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/project/tech.md +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/utils/__init__.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/utils/banner.py +0 -0
- {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/utils/logger.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: moai-adk
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5
|
|
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
|
|
@@ -39,6 +39,8 @@ Description-Content-Type: text/markdown
|
|
|
39
39
|
|
|
40
40
|
# MoAI-ADK (Agentic Development Kit)
|
|
41
41
|
|
|
42
|
+
[한국어](README.md) | [English](README.en.md) | [ไทย](README.th.md) | [日本語](README.ja.md) | [中文](README.zh.md) | [हिन्दी](README.hi.md)
|
|
43
|
+
|
|
42
44
|
[](https://pypi.org/project/moai-adk/)
|
|
43
45
|
[](https://opensource.org/licenses/MIT)
|
|
44
46
|
[](https://www.python.org/)
|
|
@@ -95,18 +97,14 @@ MoAI-ADK(MoAI Agentic Development Kit)는 **AI가 개발 과정 전체를 도와
|
|
|
95
97
|
# 1. (선택) uv 설치 — pip보다 훨씬 빠른 Python 패키지 관리자
|
|
96
98
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
97
99
|
|
|
98
|
-
# 2.
|
|
99
|
-
uv venv .venv
|
|
100
|
-
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
101
|
-
|
|
102
|
-
# 3. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
100
|
+
# 2. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
103
101
|
uv tool install moai-adk
|
|
104
102
|
|
|
105
|
-
#
|
|
103
|
+
# 3. 새 프로젝트 시작
|
|
106
104
|
moai-adk init my-project
|
|
107
105
|
cd my-project
|
|
108
106
|
|
|
109
|
-
#
|
|
107
|
+
# 4. Claude Code(또는 CLI)에서 Alfred 호출
|
|
110
108
|
claude # Claude Code 실행 후 아래 명령 사용
|
|
111
109
|
/alfred:0-project "프로젝트 이름"
|
|
112
110
|
```
|
|
@@ -115,6 +113,74 @@ claude # Claude Code 실행 후 아래 명령 사용
|
|
|
115
113
|
|
|
116
114
|
---
|
|
117
115
|
|
|
116
|
+
## MoAI-ADK 최신 버전 유지하기
|
|
117
|
+
|
|
118
|
+
### 버전 확인
|
|
119
|
+
```bash
|
|
120
|
+
# 현재 설치된 버전 확인
|
|
121
|
+
moai-adk --version
|
|
122
|
+
|
|
123
|
+
# PyPI에서 최신 버전 확인
|
|
124
|
+
uv tool list # moai-adk의 현재 버전 확인
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 업그레이드 하기
|
|
128
|
+
|
|
129
|
+
#### 방법 1: moai-adk 자체 업데이트 명령어 (가장 간단)
|
|
130
|
+
```bash
|
|
131
|
+
# MoAI-ADK 자체 업데이트 명령어 - 에이전트/Skills 템플릿도 함께 업데이트
|
|
132
|
+
moai-adk update
|
|
133
|
+
|
|
134
|
+
# 업데이트 후 프로젝트에 새 템플릿 적용 (선택)
|
|
135
|
+
moai-adk init .
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### 방법 2: uv tool 명령어로 업그레이드
|
|
139
|
+
|
|
140
|
+
**특정 도구만 업그레이드 (권장)**
|
|
141
|
+
```bash
|
|
142
|
+
# moai-adk만 최신 버전으로 업그레이드
|
|
143
|
+
uv tool upgrade moai-adk
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**모든 설치된 도구 업그레이드**
|
|
147
|
+
```bash
|
|
148
|
+
# 모든 uv tool 도구를 최신 버전으로 업그레이트
|
|
149
|
+
uv tool update
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**특정 버전으로 설치**
|
|
153
|
+
```bash
|
|
154
|
+
# 특정 버전으로 재설치 (예: 0.4.2)
|
|
155
|
+
uv tool install moai-adk==0.4.2
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 업데이트 후 확인
|
|
159
|
+
```bash
|
|
160
|
+
# 1. 설치된 버전 확인
|
|
161
|
+
moai-adk --version
|
|
162
|
+
|
|
163
|
+
# 2. 프로젝트 정상 작동 확인
|
|
164
|
+
moai-adk doctor
|
|
165
|
+
|
|
166
|
+
# 3. 기존 프로젝트에 새 템플릿 적용 (필요한 경우)
|
|
167
|
+
cd your-project
|
|
168
|
+
moai-adk init . # 기존 코드는 유지, .moai/ 구조와 템플릿만 업데이트
|
|
169
|
+
|
|
170
|
+
# 4. Alfred에서 업데이트된 기능 확인
|
|
171
|
+
cd your-project
|
|
172
|
+
claude
|
|
173
|
+
/alfred:0-project # 새로운 언어 선택 기능 등을 확인
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
> 💡 **Tip**:
|
|
177
|
+
> - `moai-adk update`: MoAI-ADK 패키지 버전 업데이트 + 에이전트/Skills 템플릿 동기화
|
|
178
|
+
> - `moai-adk init .`: 기존 프로젝트에 새 템플릿 적용 (코드는 안전하게 유지)
|
|
179
|
+
> - 두 명령을 함께 실행하면 완전한 업데이트가 완료됩니다.
|
|
180
|
+
> - 주요 업데이트(minor/major)가 나오면 위 절차를 실행하여 새로운 에이전트/Skills를 활용할 수 있습니다.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
118
184
|
## 기본 워크플로우 (0 → 3)
|
|
119
185
|
|
|
120
186
|
Alfred는 네 개의 명령으로 프로젝트를 반복 개발합니다.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# MoAI-ADK (Agentic Development Kit)
|
|
2
2
|
|
|
3
|
+
[한국어](README.md) | [English](README.en.md) | [ไทย](README.th.md) | [日本語](README.ja.md) | [中文](README.zh.md) | [हिन्दी](README.hi.md)
|
|
4
|
+
|
|
3
5
|
[](https://pypi.org/project/moai-adk/)
|
|
4
6
|
[](https://opensource.org/licenses/MIT)
|
|
5
7
|
[](https://www.python.org/)
|
|
@@ -56,18 +58,14 @@ MoAI-ADK(MoAI Agentic Development Kit)는 **AI가 개발 과정 전체를 도와
|
|
|
56
58
|
# 1. (선택) uv 설치 — pip보다 훨씬 빠른 Python 패키지 관리자
|
|
57
59
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
58
60
|
|
|
59
|
-
# 2.
|
|
60
|
-
uv venv .venv
|
|
61
|
-
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
62
|
-
|
|
63
|
-
# 3. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
61
|
+
# 2. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
64
62
|
uv tool install moai-adk
|
|
65
63
|
|
|
66
|
-
#
|
|
64
|
+
# 3. 새 프로젝트 시작
|
|
67
65
|
moai-adk init my-project
|
|
68
66
|
cd my-project
|
|
69
67
|
|
|
70
|
-
#
|
|
68
|
+
# 4. Claude Code(또는 CLI)에서 Alfred 호출
|
|
71
69
|
claude # Claude Code 실행 후 아래 명령 사용
|
|
72
70
|
/alfred:0-project "프로젝트 이름"
|
|
73
71
|
```
|
|
@@ -76,6 +74,74 @@ claude # Claude Code 실행 후 아래 명령 사용
|
|
|
76
74
|
|
|
77
75
|
---
|
|
78
76
|
|
|
77
|
+
## MoAI-ADK 최신 버전 유지하기
|
|
78
|
+
|
|
79
|
+
### 버전 확인
|
|
80
|
+
```bash
|
|
81
|
+
# 현재 설치된 버전 확인
|
|
82
|
+
moai-adk --version
|
|
83
|
+
|
|
84
|
+
# PyPI에서 최신 버전 확인
|
|
85
|
+
uv tool list # moai-adk의 현재 버전 확인
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 업그레이드 하기
|
|
89
|
+
|
|
90
|
+
#### 방법 1: moai-adk 자체 업데이트 명령어 (가장 간단)
|
|
91
|
+
```bash
|
|
92
|
+
# MoAI-ADK 자체 업데이트 명령어 - 에이전트/Skills 템플릿도 함께 업데이트
|
|
93
|
+
moai-adk update
|
|
94
|
+
|
|
95
|
+
# 업데이트 후 프로젝트에 새 템플릿 적용 (선택)
|
|
96
|
+
moai-adk init .
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### 방법 2: uv tool 명령어로 업그레이드
|
|
100
|
+
|
|
101
|
+
**특정 도구만 업그레이드 (권장)**
|
|
102
|
+
```bash
|
|
103
|
+
# moai-adk만 최신 버전으로 업그레이드
|
|
104
|
+
uv tool upgrade moai-adk
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**모든 설치된 도구 업그레이드**
|
|
108
|
+
```bash
|
|
109
|
+
# 모든 uv tool 도구를 최신 버전으로 업그레이트
|
|
110
|
+
uv tool update
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**특정 버전으로 설치**
|
|
114
|
+
```bash
|
|
115
|
+
# 특정 버전으로 재설치 (예: 0.4.2)
|
|
116
|
+
uv tool install moai-adk==0.4.2
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 업데이트 후 확인
|
|
120
|
+
```bash
|
|
121
|
+
# 1. 설치된 버전 확인
|
|
122
|
+
moai-adk --version
|
|
123
|
+
|
|
124
|
+
# 2. 프로젝트 정상 작동 확인
|
|
125
|
+
moai-adk doctor
|
|
126
|
+
|
|
127
|
+
# 3. 기존 프로젝트에 새 템플릿 적용 (필요한 경우)
|
|
128
|
+
cd your-project
|
|
129
|
+
moai-adk init . # 기존 코드는 유지, .moai/ 구조와 템플릿만 업데이트
|
|
130
|
+
|
|
131
|
+
# 4. Alfred에서 업데이트된 기능 확인
|
|
132
|
+
cd your-project
|
|
133
|
+
claude
|
|
134
|
+
/alfred:0-project # 새로운 언어 선택 기능 등을 확인
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
> 💡 **Tip**:
|
|
138
|
+
> - `moai-adk update`: MoAI-ADK 패키지 버전 업데이트 + 에이전트/Skills 템플릿 동기화
|
|
139
|
+
> - `moai-adk init .`: 기존 프로젝트에 새 템플릿 적용 (코드는 안전하게 유지)
|
|
140
|
+
> - 두 명령을 함께 실행하면 완전한 업데이트가 완료됩니다.
|
|
141
|
+
> - 주요 업데이트(minor/major)가 나오면 위 절차를 실행하여 새로운 에이전트/Skills를 활용할 수 있습니다.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
79
145
|
## 기본 워크플로우 (0 → 3)
|
|
80
146
|
|
|
81
147
|
Alfred는 네 개의 명령으로 프로젝트를 반복 개발합니다.
|
|
@@ -4,5 +4,11 @@
|
|
|
4
4
|
SPEC-First TDD Framework with Alfred SuperAgent
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
__version__ = version("moai-adk")
|
|
11
|
+
except PackageNotFoundError:
|
|
12
|
+
__version__ = "0.4.1-dev"
|
|
13
|
+
|
|
8
14
|
__all__ = ["__version__"]
|
|
@@ -315,7 +315,7 @@ def update(path: str, force: bool, check: bool) -> None:
|
|
|
315
315
|
console.print("\n[cyan]💾 Creating backup...[/cyan]")
|
|
316
316
|
processor = TemplateProcessor(project_path)
|
|
317
317
|
backup_path = processor.create_backup()
|
|
318
|
-
console.print(f"[green]✓ Backup completed: {backup_path.relative_to(project_path)}[/green]")
|
|
318
|
+
console.print(f"[green]✓ Backup completed: {backup_path.relative_to(project_path)}/[/green]")
|
|
319
319
|
else:
|
|
320
320
|
console.print("\n[yellow]⚠ Skipping backup (--force)[/yellow]")
|
|
321
321
|
|
|
@@ -93,11 +93,11 @@ def prompt_project_setup(
|
|
|
93
93
|
answers["locale"] = initial_locale or "en"
|
|
94
94
|
if initial_locale:
|
|
95
95
|
console.print(
|
|
96
|
-
f"[cyan]🌐 Preferred Language:[/cyan] {answers['locale']} (CLI
|
|
96
|
+
f"[cyan]🌐 Preferred Language:[/cyan] {answers['locale']} (specified via CLI option)"
|
|
97
97
|
)
|
|
98
98
|
else:
|
|
99
99
|
console.print(
|
|
100
|
-
"[cyan]🌐 Preferred Language:[/cyan] en (
|
|
100
|
+
"[cyan]🌐 Preferred Language:[/cyan] en (default, changeable in /alfred:0-project)"
|
|
101
101
|
)
|
|
102
102
|
|
|
103
103
|
# 3. Programming language (auto-detect or manual)
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
Selective backup strategy:
|
|
5
5
|
- Back up only the required files (OR condition)
|
|
6
|
-
- Backup path: .moai-backups/
|
|
6
|
+
- Backup path: .moai-backups/backup/ (v0.4.2)
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
from datetime import datetime
|
|
10
9
|
from pathlib import Path
|
|
11
10
|
|
|
12
11
|
# Backup targets (OR condition - back up when any exist)
|
|
@@ -59,15 +58,6 @@ def get_backup_targets(project_path: Path) -> list[str]:
|
|
|
59
58
|
return targets
|
|
60
59
|
|
|
61
60
|
|
|
62
|
-
def generate_backup_dir_name() -> str:
|
|
63
|
-
"""Generate a timestamp-based backup directory name (v0.3.0).
|
|
64
|
-
|
|
65
|
-
Returns:
|
|
66
|
-
Timestamp formatted as YYYYMMDD-HHMMSS.
|
|
67
|
-
Note: callers use .moai-backups/{timestamp}/ format.
|
|
68
|
-
"""
|
|
69
|
-
timestamp = datetime.now().strftime("%Y%m%d-%H%M%S")
|
|
70
|
-
return timestamp
|
|
71
61
|
|
|
72
62
|
|
|
73
63
|
def is_protected_path(rel_path: Path) -> bool:
|
|
@@ -298,5 +298,5 @@ def get_permission_fix_message(path: str) -> str:
|
|
|
298
298
|
Platform-specific fix instructions.
|
|
299
299
|
"""
|
|
300
300
|
if platform.system() == "Windows":
|
|
301
|
-
return f"
|
|
302
|
-
return f"chmod 755 {path}
|
|
301
|
+
return f"Run with administrator privileges or verify permissions in the properties of the '{path}' directory"
|
|
302
|
+
return f"Run 'chmod 755 {path}' and try again"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @CODE:INIT-003:PHASE | SPEC: .moai/specs/SPEC-INIT-003/spec.md | TEST: tests/unit/test_init_reinit.py
|
|
2
|
-
"""Phase-based installation executor (SPEC-INIT-003 v0.
|
|
2
|
+
"""Phase-based installation executor (SPEC-INIT-003 v0.4.2)
|
|
3
3
|
|
|
4
4
|
Runs the project initialization across five phases:
|
|
5
|
-
- Phase 1: Preparation (create backup at .moai-backups/
|
|
5
|
+
- Phase 1: Preparation (create single backup at .moai-backups/backup/)
|
|
6
6
|
- Phase 2: Directory (build directory structure)
|
|
7
7
|
- Phase 3: Resource (copy templates while preserving user content)
|
|
8
8
|
- Phase 4: Configuration (generate configuration files)
|
|
@@ -20,7 +20,6 @@ from rich.console import Console
|
|
|
20
20
|
|
|
21
21
|
from moai_adk import __version__
|
|
22
22
|
from moai_adk.core.project.backup_utils import (
|
|
23
|
-
generate_backup_dir_name,
|
|
24
23
|
get_backup_targets,
|
|
25
24
|
has_any_moai_files,
|
|
26
25
|
is_protected_path,
|
|
@@ -229,25 +228,21 @@ class PhaseExecutor:
|
|
|
229
228
|
self._initialize_git(project_path)
|
|
230
229
|
|
|
231
230
|
def _create_backup(self, project_path: Path) -> None:
|
|
232
|
-
"""Create a
|
|
231
|
+
"""Create a single backup (v0.4.2).
|
|
233
232
|
|
|
234
|
-
|
|
233
|
+
Maintains only one backup at .moai-backups/backup/.
|
|
235
234
|
|
|
236
235
|
Args:
|
|
237
236
|
project_path: Project path.
|
|
238
237
|
"""
|
|
239
238
|
# Define backup directory
|
|
240
239
|
backups_dir = project_path / ".moai-backups"
|
|
240
|
+
backup_path = backups_dir / "backup"
|
|
241
241
|
|
|
242
|
-
# Remove
|
|
243
|
-
if
|
|
244
|
-
|
|
245
|
-
if item.is_dir():
|
|
246
|
-
shutil.rmtree(item)
|
|
242
|
+
# Remove existing backup if present
|
|
243
|
+
if backup_path.exists():
|
|
244
|
+
shutil.rmtree(backup_path)
|
|
247
245
|
|
|
248
|
-
# Create new backup directory (.moai-backups/{timestamp}/)
|
|
249
|
-
timestamp = generate_backup_dir_name()
|
|
250
|
-
backup_path = backups_dir / timestamp
|
|
251
246
|
backup_path.mkdir(parents=True, exist_ok=True)
|
|
252
247
|
|
|
253
248
|
# Collect backup targets
|