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.

Files changed (152) hide show
  1. {moai_adk-0.4.1 → moai_adk-0.4.5}/PKG-INFO +74 -8
  2. {moai_adk-0.4.1 → moai_adk-0.4.5}/README.md +73 -7
  3. {moai_adk-0.4.1 → moai_adk-0.4.5}/pyproject.toml +1 -1
  4. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/__init__.py +7 -1
  5. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/update.py +1 -1
  6. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/prompts/init_prompts.py +2 -2
  7. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/backup_utils.py +1 -11
  8. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/checker.py +2 -2
  9. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/phase_executor.py +8 -13
  10. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/__init__.py +1 -1
  11. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/trust_checker.py +63 -63
  12. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/validators/__init__.py +1 -1
  13. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/quality/validators/base_validator.py +1 -1
  14. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/backup.py +10 -5
  15. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/merger.py +2 -5
  16. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/processor.py +3 -3
  17. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +5 -2
  18. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +17 -9
  19. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/0-project.md +96 -13
  20. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/1-plan.md +7 -6
  21. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/2-run.md +10 -8
  22. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +33 -12
  23. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/memory/spec-metadata.md +80 -0
  24. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/CLAUDE.md +227 -0
  25. {moai_adk-0.4.1 → moai_adk-0.4.5}/.gitignore +0 -0
  26. {moai_adk-0.4.1 → moai_adk-0.4.5}/LICENSE +0 -0
  27. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/__main__.py +0 -0
  28. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/__init__.py +0 -0
  29. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/__init__.py +0 -0
  30. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/backup.py +0 -0
  31. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/doctor.py +0 -0
  32. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/init.py +0 -0
  33. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/commands/status.py +0 -0
  34. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/main.py +0 -0
  35. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/cli/prompts/__init__.py +0 -0
  36. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/__init__.py +0 -0
  37. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/diagnostics/__init__.py +0 -0
  38. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/diagnostics/slash_commands.py +0 -0
  39. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/__init__.py +0 -0
  40. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/branch.py +0 -0
  41. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/branch_manager.py +0 -0
  42. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/checkpoint.py +0 -0
  43. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/commit.py +0 -0
  44. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/event_detector.py +0 -0
  45. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/git/manager.py +0 -0
  46. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/__init__.py +0 -0
  47. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/detector.py +0 -0
  48. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/initializer.py +0 -0
  49. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/project/validator.py +0 -0
  50. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/__init__.py +0 -0
  51. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/config.py +0 -0
  52. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/core/template/languages.py +0 -0
  53. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -0
  54. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -0
  55. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -0
  56. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -0
  57. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -0
  58. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -0
  59. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -0
  60. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -0
  61. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -0
  62. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/README.md +0 -0
  63. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -0
  64. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -0
  65. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +0 -0
  66. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -0
  67. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -0
  68. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -0
  69. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -0
  70. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -0
  71. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -0
  72. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -0
  73. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -0
  74. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -0
  75. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -0
  76. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/settings.json +0 -0
  77. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +0 -0
  78. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -0
  79. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -0
  80. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -0
  81. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -0
  82. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -0
  83. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -0
  84. {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
  85. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -0
  86. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -0
  87. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -0
  88. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -0
  89. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -0
  90. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -0
  91. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -0
  92. {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
  93. {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
  94. {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
  95. {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
  96. {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
  97. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -0
  98. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -0
  99. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -0
  100. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -0
  101. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -0
  102. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -0
  103. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -0
  104. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -0
  105. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -0
  106. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -0
  107. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -0
  108. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -0
  109. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -0
  110. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -0
  111. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -0
  112. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -0
  113. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -0
  114. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -0
  115. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -0
  116. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -0
  117. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -0
  118. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -0
  119. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -0
  120. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -0
  121. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -0
  122. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -0
  123. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -0
  124. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -0
  125. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -0
  126. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -0
  127. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -0
  128. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -0
  129. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -0
  130. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -0
  131. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -0
  132. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -0
  133. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -0
  134. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -0
  135. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -0
  136. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -0
  137. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -0
  138. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -0
  139. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -0
  140. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  141. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
  142. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.gitignore +0 -0
  143. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/config.json +0 -0
  144. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/memory/development-guide.md +0 -0
  145. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -0
  146. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/project/product.md +0 -0
  147. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/project/structure.md +0 -0
  148. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/.moai/project/tech.md +0 -0
  149. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/templates/__init__.py +0 -0
  150. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/utils/__init__.py +0 -0
  151. {moai_adk-0.4.1 → moai_adk-0.4.5}/src/moai_adk/utils/banner.py +0 -0
  152. {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.1
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
  [![PyPI version](https://img.shields.io/pypi/v/moai-adk)](https://pypi.org/project/moai-adk/)
43
45
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44
46
  [![Python](https://img.shields.io/badge/Python-3.13+-blue)](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
- # 4. 새 프로젝트 시작
103
+ # 3. 새 프로젝트 시작
106
104
  moai-adk init my-project
107
105
  cd my-project
108
106
 
109
- # 5. Claude Code(또는 CLI)에서 Alfred 호출
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
  [![PyPI version](https://img.shields.io/pypi/v/moai-adk)](https://pypi.org/project/moai-adk/)
4
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
7
  [![Python](https://img.shields.io/badge/Python-3.13+-blue)](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
- # 4. 새 프로젝트 시작
64
+ # 3. 새 프로젝트 시작
67
65
  moai-adk init my-project
68
66
  cd my-project
69
67
 
70
- # 5. Claude Code(또는 CLI)에서 Alfred 호출
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는 네 개의 명령으로 프로젝트를 반복 개발합니다.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "moai-adk"
3
- version = "0.4.1"
3
+ version = "0.4.5"
4
4
  description = "MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -4,5 +4,11 @@
4
4
  SPEC-First TDD Framework with Alfred SuperAgent
5
5
  """
6
6
 
7
- __version__ = "0.4.0"
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 (기본값, /alfred:0-project에서 변경 가능)"
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/{timestamp}/ (v0.3.0)
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"관리자 권한으로 실행하거나 '{path}' 디렉토리 속성에서 권한을 확인하세요"
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.3.0)
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/{timestamp}/, keep only latest)
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 selective backup (v0.3.0).
231
+ """Create a single backup (v0.4.2).
233
232
 
234
- Keep only the latest backup in .moai-backups/{timestamp}/.
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 all existing backups (keep only latest)
243
- if backups_dir.exists():
244
- for item in backups_dir.iterdir():
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
@@ -1,5 +1,5 @@
1
1
  # @CODE:TRUST-001 | SPEC: SPEC-TRUST-001/spec.md | TEST: tests/unit/core/quality/
2
- """TRUST 원칙 자동 검증 시스템"""
2
+ """TRUST principle automated validation system"""
3
3
 
4
4
  from moai_adk.core.quality.trust_checker import TrustChecker
5
5