moai-adk 0.4.5__py3-none-any.whl → 0.20.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +1 -1
- moai_adk/__main__.py +74 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/analyze.py +119 -0
- moai_adk/cli/commands/backup.py +25 -1
- moai_adk/cli/commands/doctor.py +31 -5
- moai_adk/cli/commands/improve_user_experience.py +307 -0
- moai_adk/cli/commands/init.py +111 -10
- moai_adk/cli/commands/status.py +33 -3
- moai_adk/cli/commands/update.py +921 -130
- moai_adk/cli/commands/validate_links.py +120 -0
- moai_adk/cli/prompts/init_prompts.py +22 -87
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +388 -0
- moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
- moai_adk/core/analysis/tag_chain_repair.py +879 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/migration.py +235 -0
- moai_adk/core/git/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/commit.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/issue_creator.py +313 -0
- moai_adk/core/mcp/setup.py +56 -0
- moai_adk/core/mcp/setup_old.py +296 -0
- moai_adk/core/project/backup_utils.py +1 -1
- moai_adk/core/project/checker.py +2 -2
- moai_adk/core/project/detector.py +211 -12
- moai_adk/core/project/initializer.py +85 -15
- moai_adk/core/project/phase_executor.py +76 -13
- moai_adk/core/project/validator.py +13 -13
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/tags/__init__.py +86 -0
- moai_adk/core/tags/auto_corrector.py +693 -0
- moai_adk/core/tags/ci_validator.py +463 -0
- moai_adk/core/tags/cli.py +283 -0
- moai_adk/core/tags/generator.py +109 -0
- moai_adk/core/tags/inserter.py +99 -0
- moai_adk/core/tags/mapper.py +126 -0
- moai_adk/core/tags/parser.py +76 -0
- moai_adk/core/tags/policy_validator.py +580 -0
- moai_adk/core/tags/pre_commit_validator.py +421 -0
- moai_adk/core/tags/reporter.py +956 -0
- moai_adk/core/tags/rollback_manager.py +525 -0
- moai_adk/core/tags/tags.py +149 -0
- moai_adk/core/tags/validator.py +897 -0
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +1 -1
- moai_adk/core/template/merger.py +50 -1
- moai_adk/core/template/processor.py +119 -13
- moai_adk/core/template_engine.py +268 -0
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
- moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
- moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
- moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
- moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
- moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
- moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
- moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
- moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
- moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
- moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
- moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
- moai_adk/templates/.claude/settings.json +96 -14
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
- moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
- moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
- moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
- moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
- moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
- moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +255 -0
- moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
- moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
- moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
- moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
- moai_adk/templates/.github/workflows/release.yml +118 -0
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/tag-report.yml +269 -0
- moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
- moai_adk/templates/.mcp.json +31 -0
- moai_adk/templates/.moai/config.json +80 -7
- moai_adk/templates/CLAUDE.md +562 -546
- moai_adk/utils/banner.py +5 -5
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +235 -0
- moai_adk/utils/logger.py +8 -8
- moai_adk/utils/user_experience.py +451 -0
- moai_adk-0.20.1.dist-info/METADATA +233 -0
- moai_adk-0.20.1.dist-info/RECORD +404 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
- moai_adk/templates/.moai/memory/development-guide.md +0 -344
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
- moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk/templates/__init__.py +0 -2
- moai_adk-0.4.5.dist-info/METADATA +0 -369
- moai_adk-0.4.5.dist-info/RECORD +0 -152
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
moai_adk/cli/commands/init.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @CODE:CLI-
|
|
1
|
+
# @CODE:CLI-003 | @CODE:INIT-005:CLI
|
|
2
2
|
# SPEC: SPEC-CLI-001.md, SPEC-INIT-003.md
|
|
3
3
|
# TEST: tests/unit/test_cli_commands.py, tests/unit/test_init_reinit.py
|
|
4
4
|
"""MoAI-ADK init command
|
|
@@ -6,6 +6,25 @@
|
|
|
6
6
|
Project initialization command (interactive/non-interactive):
|
|
7
7
|
- Interactive Mode: Ask user for project settings
|
|
8
8
|
- Non-Interactive Mode: Use defaults or CLI options
|
|
9
|
+
|
|
10
|
+
## Skill Invocation Guide (English-Only)
|
|
11
|
+
|
|
12
|
+
### Related Skills
|
|
13
|
+
- **moai-foundation-langs**: For language detection and stack configuration
|
|
14
|
+
- Trigger: When language parameter is not specified (auto-detection)
|
|
15
|
+
- Invocation: Called implicitly during project initialization for language matrix detection
|
|
16
|
+
|
|
17
|
+
### When to Invoke Skills in Related Workflows
|
|
18
|
+
1. **After project initialization**:
|
|
19
|
+
- Run `Skill("moai-foundation-trust")` to verify project structure and toolchain
|
|
20
|
+
- Run `Skill("moai-foundation-langs")` to validate detected language stack
|
|
21
|
+
|
|
22
|
+
2. **Before first SPEC creation**:
|
|
23
|
+
- Use `Skill("moai-alfred-language-detection")` to confirm language selection
|
|
24
|
+
|
|
25
|
+
3. **Project reinitialization** (`--force`):
|
|
26
|
+
- Skills automatically adapt to new project structure
|
|
27
|
+
- No manual intervention required
|
|
9
28
|
"""
|
|
10
29
|
|
|
11
30
|
import json
|
|
@@ -18,6 +37,7 @@ from rich.progress import BarColumn, Progress, SpinnerColumn, TaskID, TextColumn
|
|
|
18
37
|
|
|
19
38
|
from moai_adk import __version__
|
|
20
39
|
from moai_adk.cli.prompts import prompt_project_setup
|
|
40
|
+
from moai_adk.core.mcp.setup import MCPSetupManager
|
|
21
41
|
from moai_adk.core.project.initializer import ProjectInitializer
|
|
22
42
|
from moai_adk.utils.banner import print_banner, print_welcome_message
|
|
23
43
|
|
|
@@ -76,6 +96,17 @@ def create_progress_callback(progress: Progress, task_ids: Sequence[TaskID]):
|
|
|
76
96
|
default=None,
|
|
77
97
|
help="Programming language (auto-detect if not specified)",
|
|
78
98
|
)
|
|
99
|
+
@click.option(
|
|
100
|
+
"--with-mcp",
|
|
101
|
+
multiple=True,
|
|
102
|
+
type=click.Choice(["context7", "figma", "playwright", "sequential-thinking"]),
|
|
103
|
+
help="Install MCP servers automatically (can be used multiple times)",
|
|
104
|
+
)
|
|
105
|
+
@click.option(
|
|
106
|
+
"--mcp-auto",
|
|
107
|
+
is_flag=True,
|
|
108
|
+
help="Auto-install all recommended MCP servers",
|
|
109
|
+
)
|
|
79
110
|
@click.option(
|
|
80
111
|
"--force",
|
|
81
112
|
is_flag=True,
|
|
@@ -87,6 +118,8 @@ def init(
|
|
|
87
118
|
mode: str,
|
|
88
119
|
locale: str,
|
|
89
120
|
language: str | None,
|
|
121
|
+
with_mcp: tuple,
|
|
122
|
+
mcp_auto: bool,
|
|
90
123
|
force: bool,
|
|
91
124
|
) -> None:
|
|
92
125
|
"""Initialize a new MoAI-ADK project
|
|
@@ -97,6 +130,8 @@ def init(
|
|
|
97
130
|
mode: Project mode (personal/team)
|
|
98
131
|
locale: Preferred language (ko/en). When omitted, defaults to en.
|
|
99
132
|
language: Programming language
|
|
133
|
+
with_mcp: Install specific MCP servers (can be used multiple times)
|
|
134
|
+
mcp_auto: Auto-install all recommended MCP servers
|
|
100
135
|
force: Force reinitialize without confirmation
|
|
101
136
|
"""
|
|
102
137
|
try:
|
|
@@ -115,10 +150,29 @@ def init(
|
|
|
115
150
|
)
|
|
116
151
|
project_name = project_path.name if is_current_dir else path
|
|
117
152
|
locale = locale or "en"
|
|
153
|
+
# Language detection happens in /alfred:0-project, so default to None here
|
|
154
|
+
# This will become "generic" internally, but Summary will show more helpful message
|
|
155
|
+
if not language:
|
|
156
|
+
language = None
|
|
157
|
+
|
|
158
|
+
# Handle MCP options in non-interactive mode
|
|
159
|
+
if mcp_auto:
|
|
160
|
+
mcp_servers = ["context7", "playwright", "sequential-thinking"]
|
|
161
|
+
console.print("[cyan]🔧 MCP servers:[/cyan] Auto-installing all recommended servers")
|
|
162
|
+
elif with_mcp:
|
|
163
|
+
mcp_servers = list(with_mcp)
|
|
164
|
+
console.print(f"[cyan]🔧 MCP servers:[/cyan] {', '.join(mcp_servers)}")
|
|
165
|
+
else:
|
|
166
|
+
mcp_servers = []
|
|
118
167
|
else:
|
|
119
168
|
# Interactive Mode
|
|
120
169
|
print_welcome_message()
|
|
121
170
|
|
|
171
|
+
# Check for MCP CLI options in interactive mode (warn user)
|
|
172
|
+
if mcp_auto or with_mcp:
|
|
173
|
+
console.print("[yellow]⚠️ MCP options ignored in interactive mode[/yellow]")
|
|
174
|
+
console.print(" Please use the interactive prompts instead.\n")
|
|
175
|
+
|
|
122
176
|
# Interactive prompt
|
|
123
177
|
answers = prompt_project_setup(
|
|
124
178
|
project_name=None if is_current_dir else path,
|
|
@@ -132,6 +186,7 @@ def init(
|
|
|
132
186
|
locale = answers["locale"]
|
|
133
187
|
language = answers["language"]
|
|
134
188
|
project_name = answers["project_name"]
|
|
189
|
+
mcp_servers = answers.get("mcp_servers", [])
|
|
135
190
|
|
|
136
191
|
console.print("\n[cyan]🚀 Starting installation...[/cyan]\n")
|
|
137
192
|
|
|
@@ -148,7 +203,7 @@ def init(
|
|
|
148
203
|
else:
|
|
149
204
|
# Interactive mode: Simple notification
|
|
150
205
|
console.print("\n[cyan]🔄 Reinitializing project...[/cyan]")
|
|
151
|
-
console.print(" Backup will be created at .moai-backups/
|
|
206
|
+
console.print(" Backup will be created at .moai-backups/backup/\n")
|
|
152
207
|
|
|
153
208
|
# 5. Initialize project (Progress Bar with 5 phases)
|
|
154
209
|
# Always allow reinit (force mode by default)
|
|
@@ -156,6 +211,18 @@ def init(
|
|
|
156
211
|
|
|
157
212
|
# Reinit mode: set config.json optimized to false (v0.3.1+)
|
|
158
213
|
if is_reinit:
|
|
214
|
+
# Migration: Remove old hook files (Issue #163)
|
|
215
|
+
old_hook_files = [
|
|
216
|
+
".claude/hooks/alfred/session_start__startup.py", # v0.8.0 deprecated
|
|
217
|
+
]
|
|
218
|
+
for old_file in old_hook_files:
|
|
219
|
+
old_path = project_path / old_file
|
|
220
|
+
if old_path.exists():
|
|
221
|
+
try:
|
|
222
|
+
old_path.unlink() # Remove old file
|
|
223
|
+
except Exception:
|
|
224
|
+
pass # Ignore removal failures
|
|
225
|
+
|
|
159
226
|
config_path = project_path / ".moai" / "config.json"
|
|
160
227
|
if config_path.exists():
|
|
161
228
|
try:
|
|
@@ -163,10 +230,12 @@ def init(
|
|
|
163
230
|
config_data = json.load(f)
|
|
164
231
|
|
|
165
232
|
# Update version and optimization flags
|
|
233
|
+
if "moai" not in config_data:
|
|
234
|
+
config_data["moai"] = {}
|
|
235
|
+
config_data["moai"]["version"] = __version__
|
|
236
|
+
|
|
166
237
|
if "project" not in config_data:
|
|
167
238
|
config_data["project"] = {}
|
|
168
|
-
|
|
169
|
-
config_data["project"]["moai_adk_version"] = __version__
|
|
170
239
|
config_data["project"]["optimized"] = False
|
|
171
240
|
|
|
172
241
|
with open(config_path, "w", encoding="utf-8") as f:
|
|
@@ -211,7 +280,13 @@ def init(
|
|
|
211
280
|
console.print(separator)
|
|
212
281
|
console.print("\n[cyan]📊 Summary:[/cyan]")
|
|
213
282
|
console.print(f" [dim]📁 Location:[/dim] {result.project_path}")
|
|
214
|
-
|
|
283
|
+
# Show language more clearly - "generic" means auto-detect
|
|
284
|
+
language_display = (
|
|
285
|
+
"Auto-detect (use /alfred:0-project)"
|
|
286
|
+
if result.language == "generic"
|
|
287
|
+
else result.language
|
|
288
|
+
)
|
|
289
|
+
console.print(f" [dim]🌐 Language:[/dim] {language_display}")
|
|
215
290
|
console.print(f" [dim]🔧 Mode:[/dim] {result.mode}")
|
|
216
291
|
console.print(
|
|
217
292
|
f" [dim]🌍 Locale:[/dim] {result.locale}"
|
|
@@ -221,6 +296,18 @@ def init(
|
|
|
221
296
|
)
|
|
222
297
|
console.print(f" [dim]⏱️ Duration:[/dim] {result.duration}ms")
|
|
223
298
|
|
|
299
|
+
# Show MCP setup info
|
|
300
|
+
if mcp_servers:
|
|
301
|
+
console.print(f" [dim]🔧 MCP Servers:[/dim] {', '.join(mcp_servers)}")
|
|
302
|
+
|
|
303
|
+
# MCP Setup (if servers selected)
|
|
304
|
+
if mcp_servers:
|
|
305
|
+
console.print("\n[cyan]🔧 Setting up MCP servers...[/cyan]")
|
|
306
|
+
mcp_manager = MCPSetupManager(project_path)
|
|
307
|
+
mcp_success = mcp_manager.setup_mcp_servers(mcp_servers)
|
|
308
|
+
if not mcp_success:
|
|
309
|
+
console.print("[yellow]⚠️ MCP setup completed with warnings[/yellow]")
|
|
310
|
+
|
|
224
311
|
# Show backup info if reinitialized
|
|
225
312
|
if is_reinit:
|
|
226
313
|
backup_dir = project_path / ".moai-backups"
|
|
@@ -234,7 +321,7 @@ def init(
|
|
|
234
321
|
if is_reinit:
|
|
235
322
|
console.print("\n[yellow]⚠️ Configuration Notice:[/yellow]")
|
|
236
323
|
console.print(" All template files have been [bold]force overwritten[/bold]")
|
|
237
|
-
console.print(" Previous files are backed up in [cyan].moai-backups/
|
|
324
|
+
console.print(" Previous files are backed up in [cyan].moai-backups/backup/[/cyan]")
|
|
238
325
|
console.print("\n [cyan]To merge your previous config:[/cyan]")
|
|
239
326
|
console.print(" Run [bold]/alfred:0-project[/bold] command in Claude Code")
|
|
240
327
|
console.print(" It will merge backup config when [dim]optimized=false[/dim]\n")
|
|
@@ -245,18 +332,32 @@ def init(
|
|
|
245
332
|
f" [blue]1.[/blue] Run [bold]cd {project_name}[/bold] to enter the project"
|
|
246
333
|
)
|
|
247
334
|
console.print(
|
|
248
|
-
" [blue]2.[/blue]
|
|
335
|
+
" [blue]2.[/blue] Run [bold]/alfred:0-project[/bold] in Claude Code for full setup"
|
|
249
336
|
)
|
|
250
337
|
console.print(
|
|
251
|
-
"
|
|
338
|
+
" (Configure: mode, language, report generation, etc.)"
|
|
252
339
|
)
|
|
253
340
|
else:
|
|
254
341
|
console.print(
|
|
255
|
-
" [blue]1.[/blue]
|
|
342
|
+
" [blue]1.[/blue] Run [bold]/alfred:0-project[/bold] in Claude Code for full setup"
|
|
256
343
|
)
|
|
257
344
|
console.print(
|
|
258
|
-
"
|
|
345
|
+
" (Configure: mode, language, report generation, etc.)"
|
|
259
346
|
)
|
|
347
|
+
|
|
348
|
+
# Figma token setup guidance
|
|
349
|
+
if mcp_servers and "figma" in mcp_servers:
|
|
350
|
+
console.print("\n[yellow]🔐 Figma Access Token Setup:[/yellow]")
|
|
351
|
+
console.print(" [dim]Figma MCP requires an access token to function:[/dim]")
|
|
352
|
+
console.print(" 1. Visit: https://www.figma.com/developers/api#access-tokens")
|
|
353
|
+
console.print(" 2. Create a new access token")
|
|
354
|
+
console.print(" 3. Run [bold]/alfred:0-project[/bold] and follow the Figma setup prompts")
|
|
355
|
+
console.print(" 4. The token will be securely stored in your environment\n")
|
|
356
|
+
|
|
357
|
+
if not is_current_dir:
|
|
358
|
+
console.print(" [blue]3.[/blue] Start developing with MoAI-ADK!\n")
|
|
359
|
+
else:
|
|
360
|
+
console.print(" [blue]2.[/blue] Start developing with MoAI-ADK!\n")
|
|
260
361
|
else:
|
|
261
362
|
console.print("\n[red bold]❌ Initialization Failed![/red bold]")
|
|
262
363
|
if result.errors:
|
moai_adk/cli/commands/status.py
CHANGED
|
@@ -1,10 +1,38 @@
|
|
|
1
|
-
# @CODE:CLI-001 | SPEC: SPEC-CLI-001/spec.md | TEST: tests/unit/test_cli_commands.py
|
|
1
|
+
# @CODE:CLI-STATUS-001 | SPEC: SPEC-CLI-001/spec.md | TEST: tests/unit/test_cli_commands.py
|
|
2
2
|
"""MoAI-ADK status command
|
|
3
3
|
|
|
4
4
|
Project status display:
|
|
5
5
|
- Read project information from config.json
|
|
6
6
|
- Show the number of SPEC documents
|
|
7
7
|
- Summarize the Git status
|
|
8
|
+
|
|
9
|
+
## Skill Invocation Guide (English-Only)
|
|
10
|
+
|
|
11
|
+
### Related Skills
|
|
12
|
+
- **moai-foundation-tags**: For detailed TAG inventory and orphan detection
|
|
13
|
+
- Trigger: When you need to verify TAG chain integrity beyond what status shows
|
|
14
|
+
- Invocation: `Skill("moai-foundation-tags")` to scan full project for orphan TAGs
|
|
15
|
+
|
|
16
|
+
- **moai-foundation-trust**: For comprehensive TRUST 5-principles verification
|
|
17
|
+
- Trigger: After status shows SPECs exist, to validate code quality
|
|
18
|
+
- Invocation: `Skill("moai-foundation-trust")` to verify all quality gates
|
|
19
|
+
|
|
20
|
+
- **moai-foundation-git**: For detailed Git workflow information
|
|
21
|
+
- Trigger: When Git status shows "Modified" and you need workflow guidance
|
|
22
|
+
- Invocation: `Skill("moai-foundation-git")` for GitFlow automation details
|
|
23
|
+
|
|
24
|
+
### When to Invoke Skills in Related Workflows
|
|
25
|
+
1. **Before starting new SPEC creation**:
|
|
26
|
+
- Run `Skill("moai-foundation-tags")` to verify no orphan TAGs exist from previous work
|
|
27
|
+
- Check the SPEC count from status command
|
|
28
|
+
|
|
29
|
+
2. **After modifications to code/docs**:
|
|
30
|
+
- If status shows "Modified", run `Skill("moai-foundation-git")` for commit strategy
|
|
31
|
+
- Follow up with `Skill("moai-foundation-trust")` to validate code quality
|
|
32
|
+
|
|
33
|
+
3. **Periodic health checks**:
|
|
34
|
+
- Run status command regularly
|
|
35
|
+
- When SPEC count grows, verify with `Skill("moai-foundation-tags")` and `Skill("moai-foundation-trust")`
|
|
8
36
|
"""
|
|
9
37
|
|
|
10
38
|
import json
|
|
@@ -48,8 +76,10 @@ def status() -> None:
|
|
|
48
76
|
table.add_column("Key", style="cyan")
|
|
49
77
|
table.add_column("Value", style="bold")
|
|
50
78
|
|
|
51
|
-
|
|
52
|
-
|
|
79
|
+
# Read from project section (with legacy fallback)
|
|
80
|
+
project = config.get("project", {})
|
|
81
|
+
table.add_row("Mode", project.get("mode") or config.get("mode", "unknown"))
|
|
82
|
+
table.add_row("Locale", project.get("locale") or config.get("locale", "unknown"))
|
|
53
83
|
table.add_row("SPECs", str(spec_count))
|
|
54
84
|
|
|
55
85
|
# Optionally include Git information
|