moai-adk 0.10.1__tar.gz → 0.11.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.10.1 → moai_adk-0.11.0}/.gitignore +2 -1
- {moai_adk-0.10.1 → moai_adk-0.11.0}/PKG-INFO +28 -13
- {moai_adk-0.10.1 → moai_adk-0.11.0}/README.md +22 -11
- {moai_adk-0.10.1 → moai_adk-0.11.0}/pyproject.toml +8 -4
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/phase_executor.py +4 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/ci_validator.py +33 -3
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template_engine.py +6 -2
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +6 -1
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/release.yml +6 -2
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/tag-validation.yml +53 -8
- moai_adk-0.11.0/src/moai_adk/templates/CLAUDE.md +763 -0
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -350
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -273
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -287
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -287
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -326
- moai_adk-0.10.1/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk-0.10.1/src/moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1189
- moai_adk-0.10.1/src/moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -728
- moai_adk-0.10.1/src/moai_adk/templates/.claude/commands/alfred/2-run.md +0 -545
- moai_adk-0.10.1/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -683
- moai_adk-0.10.1/src/moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -209
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -750
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +0 -102
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -102
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -108
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -102
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -102
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -756
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -198
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -25
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -175
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -90
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +0 -102
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +0 -102
- moai_adk-0.10.1/src/moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -120
- moai_adk-0.10.1/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
- moai_adk-0.10.1/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
- moai_adk-0.10.1/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
- moai_adk-0.10.1/src/moai_adk/templates/.claude/settings.json +0 -144
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -431
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -127
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -482
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -278
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -477
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -271
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -583
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -465
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -285
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -278
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -219
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
- moai_adk-0.10.1/src/moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
- moai_adk-0.10.1/src/moai_adk/templates/.moai/config.json +0 -113
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -208
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -369
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -539
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/ISSUE-LABEL-MAPPING.md +0 -150
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -218
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -330
- moai_adk-0.10.1/src/moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk-0.10.1/src/moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk-0.10.1/src/moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk-0.10.1/src/moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk-0.10.1/src/moai_adk/templates/CLAUDE.md +0 -372
- {moai_adk-0.10.1 → moai_adk-0.11.0}/LICENSE +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/__main__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/commands/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/commands/backup.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/commands/doctor.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/commands/init.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/commands/status.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/commands/update.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/main.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/prompts/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/cli/prompts/init_prompts.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/config/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/config/migration.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/diagnostics/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/diagnostics/slash_commands.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/branch.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/branch_manager.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/checkpoint.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/commit.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/event_detector.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/git/manager.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/issue_creator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/backup_utils.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/checker.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/detector.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/initializer.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/project/validator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/quality/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/quality/trust_checker.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/quality/validators/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/quality/validators/base_validator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/cli.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/generator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/inserter.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/mapper.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/parser.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/pre_commit_validator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/reporter.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/tags.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/tags/validator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template/backup.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template/config.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template/languages.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template/merger.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/core/template/processor.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.git-hooks/pre-push +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/moai-release-create.yml +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.gitignore +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/README.md +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/src/moai_adk/core/tags/pre_commit_validator.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/src/moai_adk/core/tags/reporter.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/utils/__init__.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/utils/banner.py +0 -0
- {moai_adk-0.10.1 → moai_adk-0.11.0}/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.
|
|
3
|
+
Version: 0.11.0
|
|
4
4
|
Summary: MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent & Complete Skills v2.0
|
|
5
5
|
Project-URL: Homepage, https://github.com/modu-ai/moai-adk
|
|
6
6
|
Project-URL: Repository, https://github.com/modu-ai/moai-adk
|
|
@@ -14,17 +14,21 @@ Classifier: Development Status :: 4 - Beta
|
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
15
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
21
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
20
22
|
Classifier: Topic :: Software Development :: Testing
|
|
21
|
-
Requires-Python: >=3.
|
|
23
|
+
Requires-Python: >=3.11
|
|
22
24
|
Requires-Dist: click>=8.1.0
|
|
23
25
|
Requires-Dist: gitpython>=3.1.45
|
|
26
|
+
Requires-Dist: jinja2>=3.0.0
|
|
24
27
|
Requires-Dist: packaging>=21.0
|
|
25
28
|
Requires-Dist: pyfiglet>=1.0.2
|
|
26
29
|
Requires-Dist: pyyaml>=6.0
|
|
27
30
|
Requires-Dist: questionary>=2.0.0
|
|
31
|
+
Requires-Dist: requests>=2.28.0
|
|
28
32
|
Requires-Dist: rich>=13.0.0
|
|
29
33
|
Provides-Extra: dev
|
|
30
34
|
Requires-Dist: mypy>=1.7.0; extra == 'dev'
|
|
@@ -158,6 +162,22 @@ From the moment you adopt MoAI-ADK, you'll feel:
|
|
|
158
162
|
|
|
159
163
|
---
|
|
160
164
|
|
|
165
|
+
## 🖥️ Platform Support
|
|
166
|
+
|
|
167
|
+
### Supported Platforms
|
|
168
|
+
- ✅ **macOS** (11.0+)
|
|
169
|
+
- ✅ **Linux** (Ubuntu 20.04+, Debian 11+, etc.)
|
|
170
|
+
- ✅ **Windows** (10/11) - Full support as of v0.11.0
|
|
171
|
+
- Note: Hooks system requires Python 3.11+
|
|
172
|
+
- All hook features work seamlessly on Windows with cross-platform timeout handling
|
|
173
|
+
|
|
174
|
+
### System Requirements
|
|
175
|
+
- **Python**: 3.11 or higher
|
|
176
|
+
- **Git**: 2.30+
|
|
177
|
+
- **GitHub CLI** (`gh`): Optional, required for PR automation in team mode
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
161
181
|
## ⚡ 3-Minute Lightning Start
|
|
162
182
|
|
|
163
183
|
Get your first MoAI-ADK project running in **3 simple steps**. Beginners can finish in under 5 minutes.
|
|
@@ -390,11 +410,6 @@ my-project/
|
|
|
390
410
|
│ ├── hooks/ # Event-driven automation
|
|
391
411
|
│ │ └── alfred/
|
|
392
412
|
│ │ └── alfred_hooks.py # 5 hooks (Session, PreTool, etc.)
|
|
393
|
-
│ ├── output-styles/ # Response styles
|
|
394
|
-
│ │ └── alfred/
|
|
395
|
-
│ │ ├── agentic-coding.md # Professional development mode
|
|
396
|
-
│ │ ├── moai-adk-learning.md # Educational explanations mode
|
|
397
|
-
│ │ └── study-with-alfred.md # Interactive learning mode
|
|
398
413
|
│ └── settings.json # Claude Code settings
|
|
399
414
|
├── src/ # Implementation code
|
|
400
415
|
├── tests/ # Test code
|
|
@@ -1770,7 +1785,7 @@ The **implementation-planner** Sub-agent decides:
|
|
|
1770
1785
|
|
|
1771
1786
|
```python
|
|
1772
1787
|
# tests/test_todo_api.py
|
|
1773
|
-
# @TEST:TODO
|
|
1788
|
+
# @TEST:README-EXAMPLE-TODO | SPEC: SPEC-TODO-001.md
|
|
1774
1789
|
|
|
1775
1790
|
import pytest
|
|
1776
1791
|
from src.todo.api import create_todo, get_todos
|
|
@@ -1911,7 +1926,7 @@ git commit -m "♻️ refactor(TODO-001): add database models and validation"
|
|
|
1911
1926
|
|
|
1912
1927
|
```bash
|
|
1913
1928
|
✅ @SPEC:TODO-001 → .moai/specs/SPEC-TODO-001/spec.md
|
|
1914
|
-
✅ @TEST:TODO
|
|
1929
|
+
✅ @TEST:README-EXAMPLE-TODO → tests/test_todo_api.py
|
|
1915
1930
|
✅ @CODE:TODO-001 → src/todo/ (3 files)
|
|
1916
1931
|
✅ @DOC:TODO-001 → docs/api/todo.md (auto-generated)
|
|
1917
1932
|
|
|
@@ -1937,7 +1952,7 @@ git commit -m "♻️ refactor(TODO-001): add database models and validation"
|
|
|
1937
1952
|
- Request: {"title": "string (1-200 chars)"}
|
|
1938
1953
|
- Response: 201 Created with todo object
|
|
1939
1954
|
- Implemented in: @CODE:TODO-001:API
|
|
1940
|
-
- Tested in: @TEST:TODO
|
|
1955
|
+
- Tested in: @TEST:README-EXAMPLE-TODO
|
|
1941
1956
|
|
|
1942
1957
|
### Get All Todos
|
|
1943
1958
|
|
|
@@ -1988,7 +2003,7 @@ rg '@(SPEC|TEST|CODE|DOC):TODO-001' -n
|
|
|
1988
2003
|
|
|
1989
2004
|
# Output:
|
|
1990
2005
|
# .moai/specs/SPEC-TODO-001/spec.md:1: # @SPEC:TODO-001: Todo Management API
|
|
1991
|
-
# tests/test_todo_api.py:2: # @TEST:TODO
|
|
2006
|
+
# tests/test_todo_api.py:2: # @TEST:README-EXAMPLE-TODO | SPEC: SPEC-TODO-001.md
|
|
1992
2007
|
# src/todo/api.py:5: # @CODE:TODO-001:API | SPEC: SPEC-TODO-001.md
|
|
1993
2008
|
# src/todo/models.py:5: # @CODE:TODO-001:MODEL | SPEC: SPEC-TODO-001.md
|
|
1994
2009
|
# docs/api/todo.md:1: # @DOC:TODO-001: Todo Management API
|
|
@@ -2028,7 +2043,7 @@ git log --oneline | head -5
|
|
|
2028
2043
|
└─ 🔴 RED: Tests written first
|
|
2029
2044
|
└─ 🟢 GREEN: Minimal implementation
|
|
2030
2045
|
└─ ♻️ REFACTOR: Quality improvement
|
|
2031
|
-
└─ @TEST:TODO
|
|
2046
|
+
└─ @TEST:README-EXAMPLE-TODO, @CODE:TODO-001 TAGs assigned
|
|
2032
2047
|
└─ 87% coverage, TRUST 5 principles verified
|
|
2033
2048
|
|
|
2034
2049
|
✅ Documentation sync (1 minute)
|
|
@@ -2599,7 +2614,7 @@ rg '@SPEC:HELLO-001' -n .moai/specs/
|
|
|
2599
2614
|
/alfred:1-plan "feature description"
|
|
2600
2615
|
|
|
2601
2616
|
# Or fix TAG in test file
|
|
2602
|
-
# Edit tests/test_hello.py: @TEST:HELLO-001 → @TEST:HELLO
|
|
2617
|
+
# Edit tests/test_hello.py: @TEST:HELLO-001 → @TEST:README-EXAMPLE-HELLO
|
|
2603
2618
|
|
|
2604
2619
|
# 4. Sync
|
|
2605
2620
|
/alfred:3-sync
|
|
@@ -118,6 +118,22 @@ From the moment you adopt MoAI-ADK, you'll feel:
|
|
|
118
118
|
|
|
119
119
|
---
|
|
120
120
|
|
|
121
|
+
## 🖥️ Platform Support
|
|
122
|
+
|
|
123
|
+
### Supported Platforms
|
|
124
|
+
- ✅ **macOS** (11.0+)
|
|
125
|
+
- ✅ **Linux** (Ubuntu 20.04+, Debian 11+, etc.)
|
|
126
|
+
- ✅ **Windows** (10/11) - Full support as of v0.11.0
|
|
127
|
+
- Note: Hooks system requires Python 3.11+
|
|
128
|
+
- All hook features work seamlessly on Windows with cross-platform timeout handling
|
|
129
|
+
|
|
130
|
+
### System Requirements
|
|
131
|
+
- **Python**: 3.11 or higher
|
|
132
|
+
- **Git**: 2.30+
|
|
133
|
+
- **GitHub CLI** (`gh`): Optional, required for PR automation in team mode
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
121
137
|
## ⚡ 3-Minute Lightning Start
|
|
122
138
|
|
|
123
139
|
Get your first MoAI-ADK project running in **3 simple steps**. Beginners can finish in under 5 minutes.
|
|
@@ -350,11 +366,6 @@ my-project/
|
|
|
350
366
|
│ ├── hooks/ # Event-driven automation
|
|
351
367
|
│ │ └── alfred/
|
|
352
368
|
│ │ └── alfred_hooks.py # 5 hooks (Session, PreTool, etc.)
|
|
353
|
-
│ ├── output-styles/ # Response styles
|
|
354
|
-
│ │ └── alfred/
|
|
355
|
-
│ │ ├── agentic-coding.md # Professional development mode
|
|
356
|
-
│ │ ├── moai-adk-learning.md # Educational explanations mode
|
|
357
|
-
│ │ └── study-with-alfred.md # Interactive learning mode
|
|
358
369
|
│ └── settings.json # Claude Code settings
|
|
359
370
|
├── src/ # Implementation code
|
|
360
371
|
├── tests/ # Test code
|
|
@@ -1730,7 +1741,7 @@ The **implementation-planner** Sub-agent decides:
|
|
|
1730
1741
|
|
|
1731
1742
|
```python
|
|
1732
1743
|
# tests/test_todo_api.py
|
|
1733
|
-
# @TEST:TODO
|
|
1744
|
+
# @TEST:README-EXAMPLE-TODO | SPEC: SPEC-TODO-001.md
|
|
1734
1745
|
|
|
1735
1746
|
import pytest
|
|
1736
1747
|
from src.todo.api import create_todo, get_todos
|
|
@@ -1871,7 +1882,7 @@ git commit -m "♻️ refactor(TODO-001): add database models and validation"
|
|
|
1871
1882
|
|
|
1872
1883
|
```bash
|
|
1873
1884
|
✅ @SPEC:TODO-001 → .moai/specs/SPEC-TODO-001/spec.md
|
|
1874
|
-
✅ @TEST:TODO
|
|
1885
|
+
✅ @TEST:README-EXAMPLE-TODO → tests/test_todo_api.py
|
|
1875
1886
|
✅ @CODE:TODO-001 → src/todo/ (3 files)
|
|
1876
1887
|
✅ @DOC:TODO-001 → docs/api/todo.md (auto-generated)
|
|
1877
1888
|
|
|
@@ -1897,7 +1908,7 @@ git commit -m "♻️ refactor(TODO-001): add database models and validation"
|
|
|
1897
1908
|
- Request: {"title": "string (1-200 chars)"}
|
|
1898
1909
|
- Response: 201 Created with todo object
|
|
1899
1910
|
- Implemented in: @CODE:TODO-001:API
|
|
1900
|
-
- Tested in: @TEST:TODO
|
|
1911
|
+
- Tested in: @TEST:README-EXAMPLE-TODO
|
|
1901
1912
|
|
|
1902
1913
|
### Get All Todos
|
|
1903
1914
|
|
|
@@ -1948,7 +1959,7 @@ rg '@(SPEC|TEST|CODE|DOC):TODO-001' -n
|
|
|
1948
1959
|
|
|
1949
1960
|
# Output:
|
|
1950
1961
|
# .moai/specs/SPEC-TODO-001/spec.md:1: # @SPEC:TODO-001: Todo Management API
|
|
1951
|
-
# tests/test_todo_api.py:2: # @TEST:TODO
|
|
1962
|
+
# tests/test_todo_api.py:2: # @TEST:README-EXAMPLE-TODO | SPEC: SPEC-TODO-001.md
|
|
1952
1963
|
# src/todo/api.py:5: # @CODE:TODO-001:API | SPEC: SPEC-TODO-001.md
|
|
1953
1964
|
# src/todo/models.py:5: # @CODE:TODO-001:MODEL | SPEC: SPEC-TODO-001.md
|
|
1954
1965
|
# docs/api/todo.md:1: # @DOC:TODO-001: Todo Management API
|
|
@@ -1988,7 +1999,7 @@ git log --oneline | head -5
|
|
|
1988
1999
|
└─ 🔴 RED: Tests written first
|
|
1989
2000
|
└─ 🟢 GREEN: Minimal implementation
|
|
1990
2001
|
└─ ♻️ REFACTOR: Quality improvement
|
|
1991
|
-
└─ @TEST:TODO
|
|
2002
|
+
└─ @TEST:README-EXAMPLE-TODO, @CODE:TODO-001 TAGs assigned
|
|
1992
2003
|
└─ 87% coverage, TRUST 5 principles verified
|
|
1993
2004
|
|
|
1994
2005
|
✅ Documentation sync (1 minute)
|
|
@@ -2559,7 +2570,7 @@ rg '@SPEC:HELLO-001' -n .moai/specs/
|
|
|
2559
2570
|
/alfred:1-plan "feature description"
|
|
2560
2571
|
|
|
2561
2572
|
# Or fix TAG in test file
|
|
2562
|
-
# Edit tests/test_hello.py: @TEST:HELLO-001 → @TEST:HELLO
|
|
2573
|
+
# Edit tests/test_hello.py: @TEST:HELLO-001 → @TEST:README-EXAMPLE-HELLO
|
|
2563
2574
|
|
|
2564
2575
|
# 4. Sync
|
|
2565
2576
|
/alfred:3-sync
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "moai-adk"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.11.0"
|
|
4
4
|
description = "MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent & Complete Skills v2.0"
|
|
5
5
|
readme = "README.md"
|
|
6
|
-
requires-python = ">=3.
|
|
6
|
+
requires-python = ">=3.11"
|
|
7
7
|
license = {text = "MIT"}
|
|
8
8
|
authors = [
|
|
9
9
|
{name = "MoAI Team", email = "support@moduai.kr"}
|
|
@@ -14,6 +14,8 @@ classifiers = [
|
|
|
14
14
|
"Intended Audience :: Developers",
|
|
15
15
|
"License :: OSI Approved :: MIT License",
|
|
16
16
|
"Programming Language :: Python :: 3",
|
|
17
|
+
"Programming Language :: Python :: 3.11",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
17
19
|
"Programming Language :: Python :: 3.13",
|
|
18
20
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
19
21
|
"Topic :: Software Development :: Quality Assurance",
|
|
@@ -26,7 +28,9 @@ dependencies = [
|
|
|
26
28
|
"questionary>=2.0.0",
|
|
27
29
|
"gitpython>=3.1.45",
|
|
28
30
|
"packaging>=21.0",
|
|
29
|
-
"pyyaml>=6.0"
|
|
31
|
+
"pyyaml>=6.0",
|
|
32
|
+
"jinja2>=3.0.0",
|
|
33
|
+
"requests>=2.28.0"
|
|
30
34
|
]
|
|
31
35
|
|
|
32
36
|
[project.optional-dependencies]
|
|
@@ -64,7 +68,7 @@ fail_under = 85
|
|
|
64
68
|
|
|
65
69
|
[tool.ruff]
|
|
66
70
|
line-length = 120
|
|
67
|
-
target-version = "
|
|
71
|
+
target-version = "py311"
|
|
68
72
|
|
|
69
73
|
[tool.ruff.lint]
|
|
70
74
|
select = ["E", "F", "W", "I", "N"]
|
|
@@ -312,8 +312,12 @@ class PhaseExecutor:
|
|
|
312
312
|
cwd=project_path,
|
|
313
313
|
check=True,
|
|
314
314
|
capture_output=True,
|
|
315
|
+
timeout=30, # Default timeout for git operations
|
|
315
316
|
)
|
|
316
317
|
# Intentionally avoid printing to keep progress output clean
|
|
318
|
+
except subprocess.TimeoutExpired:
|
|
319
|
+
# Timeout is non-fatal
|
|
320
|
+
pass
|
|
317
321
|
except subprocess.CalledProcessError:
|
|
318
322
|
# Only log on error; failures are non-fatal
|
|
319
323
|
pass
|
|
@@ -16,6 +16,8 @@ import os
|
|
|
16
16
|
from typing import Any, Dict, List, Optional
|
|
17
17
|
|
|
18
18
|
import requests
|
|
19
|
+
from requests.adapters import HTTPAdapter
|
|
20
|
+
from urllib3.util import Retry
|
|
19
21
|
|
|
20
22
|
from .pre_commit_validator import (
|
|
21
23
|
PreCommitValidator,
|
|
@@ -87,16 +89,44 @@ class CIValidator(PreCommitValidator):
|
|
|
87
89
|
'Accept': 'application/vnd.github.v3+json'
|
|
88
90
|
}
|
|
89
91
|
|
|
92
|
+
# Create session with retry strategy
|
|
93
|
+
session = requests.Session()
|
|
94
|
+
retry = Retry(
|
|
95
|
+
total=3,
|
|
96
|
+
backoff_factor=0.5,
|
|
97
|
+
status_forcelist=[500, 502, 503, 504],
|
|
98
|
+
allowed_methods=["GET"]
|
|
99
|
+
)
|
|
100
|
+
adapter = HTTPAdapter(max_retries=retry)
|
|
101
|
+
session.mount("https://", adapter)
|
|
102
|
+
|
|
90
103
|
try:
|
|
91
|
-
|
|
104
|
+
# Dual timeout: (connect_timeout, read_timeout)
|
|
105
|
+
response = session.get(
|
|
106
|
+
url,
|
|
107
|
+
headers=headers,
|
|
108
|
+
timeout=(5, 10)
|
|
109
|
+
)
|
|
92
110
|
response.raise_for_status()
|
|
93
111
|
|
|
94
112
|
files_data = response.json()
|
|
95
113
|
return [file_info['filename'] for file_info in files_data]
|
|
96
114
|
|
|
97
|
-
except
|
|
98
|
-
#
|
|
115
|
+
except requests.exceptions.Timeout:
|
|
116
|
+
# Network timeout - return empty list gracefully
|
|
117
|
+
return []
|
|
118
|
+
except requests.exceptions.HTTPError as e:
|
|
119
|
+
# HTTP error (4xx, 5xx)
|
|
120
|
+
if e.response.status_code == 404:
|
|
121
|
+
# PR not found
|
|
122
|
+
return []
|
|
123
|
+
# Other HTTP errors: log but continue
|
|
124
|
+
return []
|
|
125
|
+
except requests.exceptions.RequestException:
|
|
126
|
+
# Network/connection errors
|
|
99
127
|
return []
|
|
128
|
+
finally:
|
|
129
|
+
session.close()
|
|
100
130
|
|
|
101
131
|
def validate_pr_changes(
|
|
102
132
|
self,
|
|
@@ -31,13 +31,17 @@ class TemplateEngine:
|
|
|
31
31
|
- File-based and string-based template rendering
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
-
def __init__(self, strict_undefined: bool =
|
|
34
|
+
def __init__(self, strict_undefined: bool = True):
|
|
35
35
|
"""
|
|
36
36
|
Initialize the template engine.
|
|
37
37
|
|
|
38
38
|
Args:
|
|
39
|
-
strict_undefined: If True, raise error on undefined variables.
|
|
39
|
+
strict_undefined: If True, raise error on undefined variables (default: True).
|
|
40
40
|
If False, render undefined variables as empty strings.
|
|
41
|
+
|
|
42
|
+
Note:
|
|
43
|
+
Changed to strict_undefined=True (v0.10.2+) for safer template rendering.
|
|
44
|
+
Variables must be explicitly provided to avoid silent template failures.
|
|
41
45
|
"""
|
|
42
46
|
self.strict_undefined = strict_undefined
|
|
43
47
|
self.undefined_behavior = StrictUndefined if strict_undefined else None
|
{moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml
RENAMED
|
@@ -13,6 +13,11 @@ jobs:
|
|
|
13
13
|
moai-pipeline:
|
|
14
14
|
name: "{{PROJECT_NAME}} Pipeline"
|
|
15
15
|
runs-on: ubuntu-latest
|
|
16
|
+
|
|
17
|
+
strategy:
|
|
18
|
+
matrix:
|
|
19
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
20
|
+
|
|
16
21
|
steps:
|
|
17
22
|
- name: Checkout
|
|
18
23
|
uses: actions/checkout@v4
|
|
@@ -22,7 +27,7 @@ jobs:
|
|
|
22
27
|
if: ${{ hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '' || hashFiles('setup.py') != '' }}
|
|
23
28
|
uses: actions/setup-python@v5
|
|
24
29
|
with:
|
|
25
|
-
python-version:
|
|
30
|
+
python-version: ${{ matrix.python-version }}
|
|
26
31
|
|
|
27
32
|
- name: Setup Node.js
|
|
28
33
|
if: ${{ hashFiles('package.json') != '' }}
|
|
@@ -10,14 +10,18 @@ jobs:
|
|
|
10
10
|
name: 📦 Deploy to PyPI
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
16
|
+
|
|
13
17
|
steps:
|
|
14
18
|
- name: 📥 Checkout code
|
|
15
19
|
uses: actions/checkout@v4
|
|
16
20
|
|
|
17
|
-
- name: 🐍 Setup Python
|
|
21
|
+
- name: 🐍 Setup Python ${{ matrix.python-version }}
|
|
18
22
|
uses: actions/setup-python@v5
|
|
19
23
|
with:
|
|
20
|
-
python-version:
|
|
24
|
+
python-version: ${{ matrix.python-version }}
|
|
21
25
|
|
|
22
26
|
- name: 📦 Install uv
|
|
23
27
|
uses: astral-sh/setup-uv@v2
|
{moai_adk-0.10.1 → moai_adk-0.11.0}/src/moai_adk/templates/.github/workflows/tag-validation.yml
RENAMED
|
@@ -10,9 +10,39 @@ on:
|
|
|
10
10
|
branches: [main, develop, "feature/**"]
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
|
+
detect-language:
|
|
14
|
+
name: 🔍 Detect Project Language
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
outputs:
|
|
17
|
+
language: ${{ steps.detect.outputs.language }}
|
|
18
|
+
is-python: ${{ steps.detect.outputs.is-python }}
|
|
19
|
+
is-javascript: ${{ steps.detect.outputs.is-javascript }}
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout code
|
|
23
|
+
uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
- name: Detect language
|
|
26
|
+
id: detect
|
|
27
|
+
run: |
|
|
28
|
+
if [ -f "pyproject.toml" ] || [ -f "setup.py" ] || [ -f "requirements.txt" ]; then
|
|
29
|
+
echo "language=python" >> $GITHUB_OUTPUT
|
|
30
|
+
echo "is-python=true" >> $GITHUB_OUTPUT
|
|
31
|
+
echo "is-javascript=false" >> $GITHUB_OUTPUT
|
|
32
|
+
elif [ -f "package.json" ]; then
|
|
33
|
+
echo "language=javascript" >> $GITHUB_OUTPUT
|
|
34
|
+
echo "is-python=false" >> $GITHUB_OUTPUT
|
|
35
|
+
echo "is-javascript=true" >> $GITHUB_OUTPUT
|
|
36
|
+
else
|
|
37
|
+
echo "language=unknown" >> $GITHUB_OUTPUT
|
|
38
|
+
echo "is-python=false" >> $GITHUB_OUTPUT
|
|
39
|
+
echo "is-javascript=false" >> $GITHUB_OUTPUT
|
|
40
|
+
fi
|
|
41
|
+
|
|
13
42
|
validate-tags:
|
|
14
43
|
name: 🏷️ Validate TAG Annotations
|
|
15
44
|
runs-on: ubuntu-latest
|
|
45
|
+
needs: detect-language
|
|
16
46
|
|
|
17
47
|
# Skip validation on draft PRs (allow WIP)
|
|
18
48
|
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
@@ -21,26 +51,41 @@ jobs:
|
|
|
21
51
|
contents: read
|
|
22
52
|
pull-requests: write
|
|
23
53
|
|
|
54
|
+
strategy:
|
|
55
|
+
matrix:
|
|
56
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
57
|
+
node-version: ["18", "20"]
|
|
58
|
+
|
|
24
59
|
steps:
|
|
25
60
|
- name: Checkout code
|
|
26
61
|
uses: actions/checkout@v4
|
|
27
62
|
with:
|
|
28
63
|
fetch-depth: 0 # Fetch all history for comprehensive validation
|
|
29
64
|
|
|
30
|
-
- name: Setup Python
|
|
65
|
+
- name: Setup Python (if Python project)
|
|
66
|
+
if: needs.detect-language.outputs.is-python == 'true'
|
|
31
67
|
uses: actions/setup-python@v5
|
|
32
68
|
with:
|
|
33
|
-
python-version:
|
|
69
|
+
python-version: ${{ matrix.python-version }}
|
|
34
70
|
|
|
35
|
-
- name:
|
|
36
|
-
|
|
71
|
+
- name: Setup Node.js (if JavaScript project)
|
|
72
|
+
if: needs.detect-language.outputs.is-javascript == 'true'
|
|
73
|
+
uses: actions/setup-node@v4
|
|
37
74
|
with:
|
|
38
|
-
version:
|
|
75
|
+
node-version: ${{ matrix.node-version }}
|
|
76
|
+
|
|
77
|
+
- name: Install dependencies (Python)
|
|
78
|
+
if: needs.detect-language.outputs.is-python == 'true'
|
|
79
|
+
run: |
|
|
80
|
+
python -m pip install --upgrade pip
|
|
81
|
+
pip install -e .
|
|
82
|
+
pip install requests
|
|
39
83
|
|
|
40
|
-
- name: Install dependencies
|
|
84
|
+
- name: Install dependencies (JavaScript)
|
|
85
|
+
if: needs.detect-language.outputs.is-javascript == 'true'
|
|
41
86
|
run: |
|
|
42
|
-
|
|
43
|
-
|
|
87
|
+
npm ci
|
|
88
|
+
npm install requests 2>/dev/null || true
|
|
44
89
|
|
|
45
90
|
- name: Get PR number
|
|
46
91
|
id: pr
|