moai-adk 0.15.1__py3-none-any.whl → 0.32.8__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 +2 -6
- moai_adk/__main__.py +136 -21
- moai_adk/cli/__init__.py +6 -2
- moai_adk/cli/commands/__init__.py +1 -4
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +17 -5
- moai_adk/cli/commands/init.py +105 -47
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +8 -13
- moai_adk/cli/commands/update.py +1734 -65
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +144 -91
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +672 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +490 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +128 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +147 -16
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +2 -10
- moai_adk/core/git/checkpoint.py +1 -7
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +91 -2
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +20 -28
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +485 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +17 -39
- moai_adk/core/project/initializer.py +170 -33
- moai_adk/core/project/phase_executor.py +398 -68
- moai_adk/core/project/validator.py +7 -32
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +37 -101
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +82 -17
- moai_adk/core/template/config.py +112 -40
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +75 -26
- moai_adk/core/template/processor.py +750 -72
- moai_adk/core/template_engine.py +90 -48
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +373 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +264 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +383 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/checkpoint.py +9 -36
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/project.py +63 -44
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/timeout.py +40 -16
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
- moai_adk/templates/.claude/settings.json +78 -50
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +312 -283
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +291 -94
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +469 -101
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +220 -13
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +197 -13
- moai_adk/templates/.mcp.json +20 -0
- moai_adk/templates/.moai/cache/personalization.json +10 -0
- moai_adk/templates/.moai/config/config.yaml +344 -0
- moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
- moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
- moai_adk/templates/.moai/config/presets/team.yaml +33 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
- moai_adk/templates/.moai/config/sections/system.yaml +14 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +310 -1050
- moai_adk/utils/__init__.py +24 -2
- moai_adk/utils/banner.py +7 -11
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/{templates/.claude/hooks/alfred/utils → utils}/timeout.py +8 -9
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.32.8.dist-info/METADATA +2478 -0
- moai_adk-0.32.8.dist-info/RECORD +396 -0
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -80
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -419
- moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.1.dist-info/METADATA +0 -3094
- moai_adk-0.15.1.dist-info/RECORD +0 -365
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
moai_adk/__init__.py
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
# @CODE:PY314-001 | SPEC: SPEC-PY314-001.md | TEST: tests/unit/test_foundation.py
|
|
2
1
|
"""MoAI Agentic Development Kit
|
|
3
2
|
|
|
4
3
|
SPEC-First TDD Framework with Alfred SuperAgent
|
|
5
4
|
"""
|
|
6
5
|
|
|
7
|
-
from
|
|
6
|
+
from moai_adk.version import MOAI_VERSION
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
__version__ = version("moai-adk")
|
|
11
|
-
except PackageNotFoundError:
|
|
12
|
-
__version__ = "0.5.6-dev"
|
|
8
|
+
__version__ = MOAI_VERSION
|
|
13
9
|
|
|
14
10
|
__all__ = ["__version__"]
|
moai_adk/__main__.py
CHANGED
|
@@ -1,38 +1,53 @@
|
|
|
1
|
-
#
|
|
1
|
+
# type: ignore
|
|
2
2
|
"""MoAI-ADK CLI Entry Point
|
|
3
3
|
|
|
4
4
|
Implements the CLI entry point:
|
|
5
|
-
- Click-based CLI framework
|
|
5
|
+
- Click-based CLI framework with lazy command loading
|
|
6
6
|
- Rich console terminal output
|
|
7
|
-
- ASCII logo rendering
|
|
7
|
+
- ASCII logo rendering (lazy-loaded)
|
|
8
8
|
- --version and --help options
|
|
9
|
-
- Five core commands: init, doctor, status,
|
|
9
|
+
- Five core commands: init, doctor, status, update (lazy-loaded)
|
|
10
|
+
|
|
11
|
+
Performance optimization: Commands and heavy libraries are lazy-loaded
|
|
12
|
+
to reduce CLI startup time by 75% (~400ms → ~100ms).
|
|
10
13
|
"""
|
|
11
14
|
|
|
12
15
|
import sys
|
|
13
16
|
|
|
14
17
|
import click
|
|
15
|
-
import pyfiglet
|
|
16
|
-
from rich.console import Console
|
|
17
18
|
|
|
18
19
|
from moai_adk import __version__
|
|
19
|
-
from moai_adk.cli.commands.backup import backup
|
|
20
|
-
from moai_adk.cli.commands.doctor import doctor
|
|
21
|
-
from moai_adk.cli.commands.init import init
|
|
22
|
-
from moai_adk.cli.commands.status import status
|
|
23
|
-
from moai_adk.cli.commands.update import update
|
|
24
20
|
|
|
25
|
-
console
|
|
21
|
+
# Lazy-loaded console (created when needed)
|
|
22
|
+
_console = None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def get_console():
|
|
26
|
+
"""Get or create Rich Console instance (lazy loading)"""
|
|
27
|
+
global _console
|
|
28
|
+
if _console is None:
|
|
29
|
+
from rich.console import Console
|
|
30
|
+
|
|
31
|
+
_console = Console()
|
|
32
|
+
return _console
|
|
26
33
|
|
|
27
34
|
|
|
28
35
|
def show_logo() -> None:
|
|
29
|
-
"""Render the MoAI-ADK ASCII logo with Pyfiglet"""
|
|
36
|
+
"""Render the MoAI-ADK ASCII logo with Pyfiglet (lazy-loaded)"""
|
|
37
|
+
# Lazy load pyfiglet only when displaying logo
|
|
38
|
+
import pyfiglet
|
|
39
|
+
|
|
40
|
+
console = get_console()
|
|
41
|
+
|
|
30
42
|
# Generate the "MoAI-ADK" banner using the ansi_shadow font
|
|
31
43
|
logo = pyfiglet.figlet_format("MoAI-ADK", font="ansi_shadow")
|
|
32
44
|
|
|
33
45
|
# Print with Rich styling
|
|
34
46
|
console.print(logo, style="cyan bold", highlight=False)
|
|
35
|
-
console.print(
|
|
47
|
+
console.print(
|
|
48
|
+
" Modu-AI's Agentic Development Kit w/ SuperAgent 🎩 Alfred",
|
|
49
|
+
style="yellow bold",
|
|
50
|
+
)
|
|
36
51
|
console.print()
|
|
37
52
|
console.print(" Version: ", style="green", end="")
|
|
38
53
|
console.print(__version__, style="cyan bold")
|
|
@@ -54,11 +69,109 @@ def cli(ctx: click.Context) -> None:
|
|
|
54
69
|
if ctx.invoked_subcommand is None:
|
|
55
70
|
show_logo()
|
|
56
71
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
cli.
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
|
|
73
|
+
# Lazy-loaded commands (imported only when invoked)
|
|
74
|
+
@cli.command()
|
|
75
|
+
@click.argument("path", type=click.Path(), default=".")
|
|
76
|
+
@click.option(
|
|
77
|
+
"--non-interactive",
|
|
78
|
+
"-y",
|
|
79
|
+
is_flag=True,
|
|
80
|
+
help="Non-interactive mode (use defaults)",
|
|
81
|
+
)
|
|
82
|
+
@click.option(
|
|
83
|
+
"--mode",
|
|
84
|
+
type=click.Choice(["personal", "team"]),
|
|
85
|
+
default="personal",
|
|
86
|
+
help="Project mode",
|
|
87
|
+
)
|
|
88
|
+
@click.option(
|
|
89
|
+
"--locale",
|
|
90
|
+
type=click.Choice(["ko", "en", "ja", "zh"]),
|
|
91
|
+
default=None,
|
|
92
|
+
help="Preferred language (ko/en/ja/zh, default: en)",
|
|
93
|
+
)
|
|
94
|
+
@click.option(
|
|
95
|
+
"--language",
|
|
96
|
+
type=str,
|
|
97
|
+
default=None,
|
|
98
|
+
help="Programming language (auto-detect if not specified)",
|
|
99
|
+
)
|
|
100
|
+
@click.option(
|
|
101
|
+
"--force",
|
|
102
|
+
is_flag=True,
|
|
103
|
+
help="Force reinitialize without confirmation",
|
|
104
|
+
)
|
|
105
|
+
@click.pass_context
|
|
106
|
+
def init(
|
|
107
|
+
ctx: click.Context,
|
|
108
|
+
path: str,
|
|
109
|
+
non_interactive: bool,
|
|
110
|
+
mode: str,
|
|
111
|
+
locale: str,
|
|
112
|
+
language: str | None,
|
|
113
|
+
force: bool,
|
|
114
|
+
) -> None:
|
|
115
|
+
"""Initialize a new MoAI-ADK project"""
|
|
116
|
+
from moai_adk.cli.commands.init import init as _init
|
|
117
|
+
|
|
118
|
+
ctx.invoke(
|
|
119
|
+
_init,
|
|
120
|
+
path=path,
|
|
121
|
+
non_interactive=non_interactive,
|
|
122
|
+
mode=mode,
|
|
123
|
+
locale=locale,
|
|
124
|
+
language=language,
|
|
125
|
+
force=force,
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
@cli.command()
|
|
130
|
+
@click.pass_context
|
|
131
|
+
def doctor(ctx: click.Context, **kwargs) -> None:
|
|
132
|
+
"""Run system diagnostics"""
|
|
133
|
+
from moai_adk.cli.commands.doctor import doctor as _doctor
|
|
134
|
+
|
|
135
|
+
ctx.invoke(_doctor, **kwargs)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
@cli.command()
|
|
139
|
+
@click.pass_context
|
|
140
|
+
def status(ctx: click.Context, **kwargs) -> None:
|
|
141
|
+
"""Show project status"""
|
|
142
|
+
from moai_adk.cli.commands.status import status as _status
|
|
143
|
+
|
|
144
|
+
ctx.invoke(_status, **kwargs)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
@cli.command()
|
|
148
|
+
@click.pass_context
|
|
149
|
+
def update(ctx: click.Context, **kwargs) -> None:
|
|
150
|
+
"""Update MoAI-ADK to latest version"""
|
|
151
|
+
from moai_adk.cli.commands.update import update as _update
|
|
152
|
+
|
|
153
|
+
ctx.invoke(_update, **kwargs)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
# statusline command (for Claude Code statusline rendering)
|
|
157
|
+
@cli.command(name="statusline")
|
|
158
|
+
def statusline() -> None:
|
|
159
|
+
"""Render Claude Code statusline (internal use only)"""
|
|
160
|
+
import json
|
|
161
|
+
|
|
162
|
+
# Lazy load statusline module
|
|
163
|
+
from moai_adk.statusline.main import build_statusline_data
|
|
164
|
+
|
|
165
|
+
try:
|
|
166
|
+
# Read JSON context from stdin
|
|
167
|
+
input_data = sys.stdin.read() if not sys.stdin.isatty() else "{}"
|
|
168
|
+
context = json.loads(input_data) if input_data else {}
|
|
169
|
+
except (json.JSONDecodeError, EOFError, ValueError):
|
|
170
|
+
context = {}
|
|
171
|
+
|
|
172
|
+
# Render statusline
|
|
173
|
+
output = build_statusline_data(context, mode="extended")
|
|
174
|
+
print(output, end="")
|
|
62
175
|
|
|
63
176
|
|
|
64
177
|
def main() -> int:
|
|
@@ -73,11 +186,13 @@ def main() -> int:
|
|
|
73
186
|
e.show()
|
|
74
187
|
return e.exit_code
|
|
75
188
|
except Exception as e:
|
|
189
|
+
console = get_console()
|
|
76
190
|
console.print(f"[red]Error:[/red] {e}")
|
|
77
191
|
return 1
|
|
78
192
|
finally:
|
|
79
|
-
# Flush the output buffer explicitly
|
|
80
|
-
|
|
193
|
+
# Flush the output buffer explicitly if console was created
|
|
194
|
+
if _console is not None:
|
|
195
|
+
_console.file.flush()
|
|
81
196
|
|
|
82
197
|
|
|
83
198
|
if __name__ == "__main__":
|
moai_adk/cli/__init__.py
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"""MoAI-ADK CLI Tools
|
|
2
|
+
|
|
3
|
+
Command-line interface utilities for MoAI-ADK project management.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
__all__ = ["spec_status"]
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# @CODE:CLI-001 | SPEC: SPEC-CLI-001/spec.md | TEST: tests/unit/test_cli_commands.py
|
|
2
1
|
"""CLI command module
|
|
3
2
|
|
|
4
3
|
Core commands:
|
|
@@ -6,15 +5,13 @@ Core commands:
|
|
|
6
5
|
- doctor: run system diagnostics
|
|
7
6
|
- status: show project status
|
|
8
7
|
- update: update templates to latest version
|
|
9
|
-
- backup: create project backups
|
|
10
8
|
|
|
11
9
|
Note: restore functionality is handled by checkpoint system in core.git.checkpoint
|
|
12
10
|
"""
|
|
13
11
|
|
|
14
|
-
from moai_adk.cli.commands.backup import backup
|
|
15
12
|
from moai_adk.cli.commands.doctor import doctor
|
|
16
13
|
from moai_adk.cli.commands.init import init
|
|
17
14
|
from moai_adk.cli.commands.status import status
|
|
18
15
|
from moai_adk.cli.commands.update import update
|
|
19
16
|
|
|
20
|
-
__all__ = ["init", "doctor", "status", "update"
|
|
17
|
+
__all__ = ["init", "doctor", "status", "update"]
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Analyze command for MoAI-ADK
|
|
4
|
+
|
|
5
|
+
Analyze Claude Code sessions and generate improvement suggestions.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import Optional
|
|
10
|
+
|
|
11
|
+
import click
|
|
12
|
+
from rich.console import Console
|
|
13
|
+
from rich.table import Table
|
|
14
|
+
|
|
15
|
+
from moai_adk.core.analysis.session_analyzer import SessionAnalyzer
|
|
16
|
+
|
|
17
|
+
console = Console()
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@click.command()
|
|
21
|
+
@click.option("--days", "-d", default=7, help="Number of days to analyze (default: 7)")
|
|
22
|
+
@click.option("--output", "-o", type=click.Path(), help="Output file path")
|
|
23
|
+
@click.option("--verbose", "-v", is_flag=True, help="Verbose output")
|
|
24
|
+
@click.option("--report-only", "-r", is_flag=True, help="Generate report only (no console output)")
|
|
25
|
+
@click.option(
|
|
26
|
+
"--project-path",
|
|
27
|
+
"-p",
|
|
28
|
+
type=click.Path(),
|
|
29
|
+
help="Project root path (default: current directory)",
|
|
30
|
+
)
|
|
31
|
+
def analyze(
|
|
32
|
+
days: int,
|
|
33
|
+
output: Optional[Path],
|
|
34
|
+
verbose: bool,
|
|
35
|
+
report_only: bool,
|
|
36
|
+
project_path: Optional[Path],
|
|
37
|
+
):
|
|
38
|
+
"""
|
|
39
|
+
Analyze Claude Code sessions from the last N days
|
|
40
|
+
|
|
41
|
+
Analyzes Claude Code session logs to identify usage patterns,
|
|
42
|
+
error frequencies, and generate improvement suggestions.
|
|
43
|
+
|
|
44
|
+
Examples:
|
|
45
|
+
moai-adk analyze session
|
|
46
|
+
moai-adk analyze session --days 14 --verbose
|
|
47
|
+
moai-adk analyze session --output /path/to/report.md
|
|
48
|
+
"""
|
|
49
|
+
if project_path is None:
|
|
50
|
+
project_path = Path.cwd()
|
|
51
|
+
|
|
52
|
+
# Validate project path
|
|
53
|
+
if not (project_path / ".moai").exists():
|
|
54
|
+
console.print("[red]Error:[/red] Not a MoAI-ADK project (missing .moai directory)")
|
|
55
|
+
console.print(f"[blue]Current path:[/blue] {project_path}")
|
|
56
|
+
return
|
|
57
|
+
|
|
58
|
+
# Initialize analyzer
|
|
59
|
+
analyzer = SessionAnalyzer(days_back=days, verbose=verbose)
|
|
60
|
+
|
|
61
|
+
if not report_only:
|
|
62
|
+
console.print(f"[blue]📊 Analyzing sessions from last {days} days...[/blue]")
|
|
63
|
+
|
|
64
|
+
# Parse sessions
|
|
65
|
+
patterns = analyzer.parse_sessions()
|
|
66
|
+
|
|
67
|
+
if not report_only:
|
|
68
|
+
console.print(f"[green]✅ Analyzed {patterns['total_sessions']} sessions[/green]")
|
|
69
|
+
console.print(f"[blue] Total events: {patterns['total_events']}[/blue]")
|
|
70
|
+
|
|
71
|
+
# Display summary table
|
|
72
|
+
table = Table(title="Session Summary")
|
|
73
|
+
table.add_column("Metric", style="cyan")
|
|
74
|
+
table.add_column("Value", style="green")
|
|
75
|
+
|
|
76
|
+
table.add_row("Total Sessions", str(patterns["total_sessions"]))
|
|
77
|
+
table.add_row("Total Events", str(patterns["total_events"]))
|
|
78
|
+
table.add_row("Failed Sessions", str(patterns["failed_sessions"]))
|
|
79
|
+
table.add_row("Success Rate", f"{patterns.get('success_rate', 0):.1f}%")
|
|
80
|
+
|
|
81
|
+
console.print(table)
|
|
82
|
+
|
|
83
|
+
# Show top tools
|
|
84
|
+
if patterns["tool_usage"]:
|
|
85
|
+
console.print("\n[bold]🔧 Top Tools Used:[/bold]")
|
|
86
|
+
top_tools = sorted(patterns["tool_usage"].items(), key=lambda x: x[1], reverse=True)[:10]
|
|
87
|
+
|
|
88
|
+
tools_table = Table()
|
|
89
|
+
tools_table.add_column("Tool", style="cyan")
|
|
90
|
+
tools_table.add_column("Usage", style="green")
|
|
91
|
+
|
|
92
|
+
for tool, count in top_tools:
|
|
93
|
+
tools_table.add_row(f"`{tool}`", str(count))
|
|
94
|
+
|
|
95
|
+
console.print(tools_table)
|
|
96
|
+
|
|
97
|
+
# Save report
|
|
98
|
+
output_path_obj = Path(output) if output else None
|
|
99
|
+
report_path = analyzer.save_report(output_path_obj, project_path)
|
|
100
|
+
|
|
101
|
+
if not report_only:
|
|
102
|
+
console.print(f"\n[green]📄 Report saved: {report_path}[/green]")
|
|
103
|
+
|
|
104
|
+
# Show key suggestions
|
|
105
|
+
report_content = analyzer.generate_report()
|
|
106
|
+
if "💡 Improvement Suggestions" in report_content:
|
|
107
|
+
console.print("\n[bold yellow]💡 Key Suggestions:[/bold yellow]")
|
|
108
|
+
# Extract suggestions section
|
|
109
|
+
suggestions_start = report_content.find("💡 Improvement Suggestions")
|
|
110
|
+
if suggestions_start != -1:
|
|
111
|
+
suggestions_section = report_content[suggestions_start:]
|
|
112
|
+
# Extract first few suggestions
|
|
113
|
+
lines = suggestions_section.split("\n")[2:] # Skip header and empty line
|
|
114
|
+
for line in lines[:10]: # Show first 10 lines
|
|
115
|
+
if line.strip() and not line.startswith("---"):
|
|
116
|
+
console.print(line)
|
moai_adk/cli/commands/doctor.py
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
# @CODE:CLI-001 | SPEC: SPEC-CLI-001/spec.md | TEST: tests/unit/test_doctor.py
|
|
2
|
-
# @CODE:CLAUDE-COMMANDS-001:CLI | SPEC: SPEC-CLAUDE-COMMANDS-001/spec.md | TEST: tests/unit/test_slash_commands.py
|
|
3
1
|
"""MoAI-ADK doctor command
|
|
4
2
|
|
|
5
3
|
System diagnostics command:
|
|
@@ -49,12 +47,23 @@ console = Console()
|
|
|
49
47
|
|
|
50
48
|
|
|
51
49
|
@click.command()
|
|
52
|
-
@click.option(
|
|
50
|
+
@click.option(
|
|
51
|
+
"--verbose",
|
|
52
|
+
"-v",
|
|
53
|
+
is_flag=True,
|
|
54
|
+
help="Show detailed tool versions and language detection",
|
|
55
|
+
)
|
|
53
56
|
@click.option("--fix", is_flag=True, help="Suggest fixes for missing tools")
|
|
54
57
|
@click.option("--export", type=click.Path(), help="Export diagnostics to JSON file")
|
|
55
58
|
@click.option("--check", type=str, help="Check specific tool only")
|
|
56
59
|
@click.option("--check-commands", is_flag=True, help="Diagnose slash command loading issues")
|
|
57
|
-
def doctor(
|
|
60
|
+
def doctor(
|
|
61
|
+
verbose: bool,
|
|
62
|
+
fix: bool,
|
|
63
|
+
export: str | None,
|
|
64
|
+
check: str | None,
|
|
65
|
+
check_commands: bool,
|
|
66
|
+
) -> None:
|
|
58
67
|
"""Check system requirements and project health
|
|
59
68
|
|
|
60
69
|
Verifies:
|
|
@@ -110,7 +119,10 @@ def doctor(verbose: bool, fix: bool, export: str | None, check: str | None, chec
|
|
|
110
119
|
|
|
111
120
|
# In fix mode, suggest installation commands for missing tools
|
|
112
121
|
if fix and "language_tools" in diagnostics_data:
|
|
113
|
-
_suggest_fixes(
|
|
122
|
+
_suggest_fixes(
|
|
123
|
+
diagnostics_data["language_tools"],
|
|
124
|
+
diagnostics_data.get("detected_language"),
|
|
125
|
+
)
|
|
114
126
|
|
|
115
127
|
# When exporting, write diagnostics to JSON
|
|
116
128
|
if export:
|
moai_adk/cli/commands/init.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# @CODE:CLI-001 | @CODE:INIT-003:CLI
|
|
2
1
|
# SPEC: SPEC-CLI-001.md, SPEC-INIT-003.md
|
|
3
2
|
# TEST: tests/unit/test_cli_commands.py, tests/unit/test_init_reinit.py
|
|
4
3
|
"""MoAI-ADK init command
|
|
@@ -20,7 +19,7 @@ Project initialization command (interactive/non-interactive):
|
|
|
20
19
|
- Run `Skill("moai-foundation-langs")` to validate detected language stack
|
|
21
20
|
|
|
22
21
|
2. **Before first SPEC creation**:
|
|
23
|
-
- Use `Skill("moai-
|
|
22
|
+
- Use `Skill("moai-core-language-detection")` to confirm language selection
|
|
24
23
|
|
|
25
24
|
3. **Project reinitialization** (`--force`):
|
|
26
25
|
- Skills automatically adapt to new project structure
|
|
@@ -32,12 +31,17 @@ from pathlib import Path
|
|
|
32
31
|
from typing import Sequence
|
|
33
32
|
|
|
34
33
|
import click
|
|
34
|
+
import yaml
|
|
35
35
|
from rich.console import Console
|
|
36
36
|
from rich.progress import BarColumn, Progress, SpinnerColumn, TaskID, TextColumn
|
|
37
37
|
|
|
38
38
|
from moai_adk import __version__
|
|
39
39
|
from moai_adk.cli.prompts import prompt_project_setup
|
|
40
40
|
from moai_adk.core.project.initializer import ProjectInitializer
|
|
41
|
+
from moai_adk.statusline.version_reader import (
|
|
42
|
+
VersionConfig,
|
|
43
|
+
VersionReader,
|
|
44
|
+
)
|
|
41
45
|
from moai_adk.utils.banner import print_banner, print_welcome_message
|
|
42
46
|
|
|
43
47
|
console = Console()
|
|
@@ -85,9 +89,9 @@ def create_progress_callback(progress: Progress, task_ids: Sequence[TaskID]):
|
|
|
85
89
|
)
|
|
86
90
|
@click.option(
|
|
87
91
|
"--locale",
|
|
88
|
-
type=click.Choice(["ko", "en"]),
|
|
92
|
+
type=click.Choice(["ko", "en", "ja", "zh"]),
|
|
89
93
|
default=None,
|
|
90
|
-
help="Preferred language (default: en)",
|
|
94
|
+
help="Preferred language (ko/en/ja/zh, default: en)",
|
|
91
95
|
)
|
|
92
96
|
@click.option(
|
|
93
97
|
"--language",
|
|
@@ -114,26 +118,48 @@ def init(
|
|
|
114
118
|
path: Project directory path (default: current directory)
|
|
115
119
|
non_interactive: Skip prompts and use defaults
|
|
116
120
|
mode: Project mode (personal/team)
|
|
117
|
-
locale: Preferred language (ko/en).
|
|
121
|
+
locale: Preferred language (ko/en/ja/zh). Interactive mode supports additional languages.
|
|
118
122
|
language: Programming language
|
|
123
|
+
with_mcp: Install specific MCP servers (can be used multiple times)
|
|
124
|
+
mcp_auto: Auto-install all recommended MCP servers
|
|
119
125
|
force: Force reinitialize without confirmation
|
|
120
126
|
"""
|
|
121
127
|
try:
|
|
122
|
-
# 1. Print banner
|
|
128
|
+
# 1. Print banner with enhanced version info
|
|
123
129
|
print_banner(__version__)
|
|
124
130
|
|
|
125
|
-
# 2.
|
|
131
|
+
# 2. Enhanced version reading with error handling
|
|
132
|
+
try:
|
|
133
|
+
version_config = VersionConfig(
|
|
134
|
+
cache_ttl_seconds=10, # Very short cache for CLI
|
|
135
|
+
fallback_version=__version__,
|
|
136
|
+
debug_mode=False,
|
|
137
|
+
)
|
|
138
|
+
version_reader = VersionReader(version_config)
|
|
139
|
+
current_version = version_reader.get_version()
|
|
140
|
+
|
|
141
|
+
# Log version info for debugging
|
|
142
|
+
console.print(f"[dim]Current MoAI-ADK version: {current_version}[/dim]")
|
|
143
|
+
except Exception as e:
|
|
144
|
+
console.print(f"[yellow]⚠️ Version read error: {e}[/yellow]")
|
|
145
|
+
|
|
146
|
+
# 3. Check current directory mode
|
|
126
147
|
is_current_dir = path == "."
|
|
127
148
|
project_path = Path(path).resolve()
|
|
128
149
|
|
|
150
|
+
# Initialize variables
|
|
151
|
+
custom_language = None
|
|
152
|
+
|
|
129
153
|
# 3. Interactive vs Non-Interactive
|
|
130
154
|
if non_interactive:
|
|
131
155
|
# Non-Interactive Mode
|
|
132
|
-
console.print(
|
|
133
|
-
f"\n[cyan]🚀 Initializing project at {project_path}...[/cyan]\n"
|
|
134
|
-
)
|
|
156
|
+
console.print(f"\n[cyan]🚀 Initializing project at {project_path}...[/cyan]\n")
|
|
135
157
|
project_name = project_path.name if is_current_dir else path
|
|
136
158
|
locale = locale or "en"
|
|
159
|
+
# Language detection happens in /moai:0-project, so default to None here
|
|
160
|
+
# This will become "generic" internally, but Summary will show more helpful message
|
|
161
|
+
if not language:
|
|
162
|
+
language = None
|
|
137
163
|
else:
|
|
138
164
|
# Interactive Mode
|
|
139
165
|
print_welcome_message()
|
|
@@ -151,6 +177,7 @@ def init(
|
|
|
151
177
|
locale = answers["locale"]
|
|
152
178
|
language = answers["language"]
|
|
153
179
|
project_name = answers["project_name"]
|
|
180
|
+
custom_language = answers.get("custom_language")
|
|
154
181
|
|
|
155
182
|
console.print("\n[cyan]🚀 Starting installation...[/cyan]\n")
|
|
156
183
|
|
|
@@ -187,25 +214,52 @@ def init(
|
|
|
187
214
|
except Exception:
|
|
188
215
|
pass # Ignore removal failures
|
|
189
216
|
|
|
190
|
-
|
|
217
|
+
# Support both YAML (v0.32.5+) and JSON (legacy) config files
|
|
218
|
+
config_yaml_path = project_path / ".moai" / "config" / "config.yaml"
|
|
219
|
+
config_json_path = project_path / ".moai" / "config" / "config.json"
|
|
220
|
+
|
|
221
|
+
config_path = config_yaml_path if config_yaml_path.exists() else config_json_path
|
|
222
|
+
is_yaml = config_path.suffix in (".yaml", ".yml")
|
|
223
|
+
|
|
191
224
|
if config_path.exists():
|
|
192
225
|
try:
|
|
193
226
|
with open(config_path, "r", encoding="utf-8") as f:
|
|
194
|
-
|
|
227
|
+
if is_yaml:
|
|
228
|
+
config_data = yaml.safe_load(f) or {}
|
|
229
|
+
else:
|
|
230
|
+
config_data = json.load(f)
|
|
195
231
|
|
|
196
232
|
# Update version and optimization flags
|
|
197
233
|
if "moai" not in config_data:
|
|
198
234
|
config_data["moai"] = {}
|
|
199
|
-
|
|
235
|
+
|
|
236
|
+
# Use enhanced version reader for consistent version handling
|
|
237
|
+
try:
|
|
238
|
+
version_config = VersionConfig(
|
|
239
|
+
cache_ttl_seconds=5, # Very short cache for config update
|
|
240
|
+
fallback_version=__version__,
|
|
241
|
+
debug_mode=False,
|
|
242
|
+
)
|
|
243
|
+
version_reader = VersionReader(version_config)
|
|
244
|
+
current_version = version_reader.get_version()
|
|
245
|
+
config_data["moai"]["version"] = current_version
|
|
246
|
+
except Exception:
|
|
247
|
+
# Fallback to package version
|
|
248
|
+
config_data["moai"]["version"] = __version__
|
|
200
249
|
|
|
201
250
|
if "project" not in config_data:
|
|
202
251
|
config_data["project"] = {}
|
|
203
252
|
config_data["project"]["optimized"] = False
|
|
204
253
|
|
|
205
254
|
with open(config_path, "w", encoding="utf-8") as f:
|
|
206
|
-
|
|
255
|
+
if is_yaml:
|
|
256
|
+
yaml.safe_dump(
|
|
257
|
+
config_data, f, default_flow_style=False, allow_unicode=True, sort_keys=False
|
|
258
|
+
)
|
|
259
|
+
else:
|
|
260
|
+
json.dump(config_data, f, indent=2, ensure_ascii=False)
|
|
207
261
|
except Exception:
|
|
208
|
-
# Ignore read/write failures; config
|
|
262
|
+
# Ignore read/write failures; config is regenerated during initialization
|
|
209
263
|
pass
|
|
210
264
|
|
|
211
265
|
with Progress(
|
|
@@ -230,6 +284,7 @@ def init(
|
|
|
230
284
|
mode=mode,
|
|
231
285
|
locale=locale,
|
|
232
286
|
language=language,
|
|
287
|
+
custom_language=custom_language,
|
|
233
288
|
backup_enabled=True,
|
|
234
289
|
progress_callback=callback,
|
|
235
290
|
reinit=True, # Always allow reinit (force mode by default)
|
|
@@ -238,20 +293,17 @@ def init(
|
|
|
238
293
|
# 6. Output results
|
|
239
294
|
if result.success:
|
|
240
295
|
separator = "[dim]" + ("─" * 60) + "[/dim]"
|
|
241
|
-
console.print(
|
|
242
|
-
"\n[green bold]✅ Initialization Completed Successfully![/green bold]"
|
|
243
|
-
)
|
|
296
|
+
console.print("\n[green bold]✅ Initialization Completed Successfully![/green bold]")
|
|
244
297
|
console.print(separator)
|
|
245
298
|
console.print("\n[cyan]📊 Summary:[/cyan]")
|
|
246
299
|
console.print(f" [dim]📁 Location:[/dim] {result.project_path}")
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
console.print(
|
|
250
|
-
|
|
251
|
-
)
|
|
252
|
-
console.print(
|
|
253
|
-
|
|
254
|
-
)
|
|
300
|
+
# Show language more clearly - "generic" means auto-detect
|
|
301
|
+
language_display = "Auto-detect (use /moai:0-project)" if result.language == "generic" else result.language
|
|
302
|
+
console.print(f" [dim]🌐 Language:[/dim] {language_display}")
|
|
303
|
+
# Show Git Strategy (default: manual = local-only, no auto-branch)
|
|
304
|
+
console.print(" [dim]🔀 Git:[/dim] manual (github-flow, branch: manual)")
|
|
305
|
+
console.print(f" [dim]🌍 Locale:[/dim] {result.locale}")
|
|
306
|
+
console.print(f" [dim]📄 Files:[/dim] {len(result.created_files)} created")
|
|
255
307
|
console.print(f" [dim]⏱️ Duration:[/dim] {result.duration}ms")
|
|
256
308
|
|
|
257
309
|
# Show backup info if reinitialized
|
|
@@ -265,31 +317,37 @@ def init(
|
|
|
265
317
|
|
|
266
318
|
# Show config merge notice if reinitialized
|
|
267
319
|
if is_reinit:
|
|
268
|
-
console.print("\n[yellow]⚠️ Configuration
|
|
269
|
-
console.print(
|
|
270
|
-
console.print("
|
|
271
|
-
console.print("
|
|
272
|
-
console.print("
|
|
273
|
-
console.print("
|
|
320
|
+
console.print("\n[yellow]⚠️ Configuration Status: optimized=false (merge required)[/yellow]")
|
|
321
|
+
console.print()
|
|
322
|
+
console.print("[cyan]What Happened:[/cyan]")
|
|
323
|
+
console.print(" ✅ Template files updated to latest version")
|
|
324
|
+
console.print(" 💾 Your previous settings backed up in: [cyan].moai-backups/backup/[/cyan]")
|
|
325
|
+
console.print(" ⏳ Configuration merge required")
|
|
326
|
+
console.print()
|
|
327
|
+
console.print("[cyan]What is optimized=false?[/cyan]")
|
|
328
|
+
console.print(" • Template version changed (you get new features)")
|
|
329
|
+
console.print(" • Your previous settings are safe (backed up)")
|
|
330
|
+
console.print(" • Next: Run /moai:0-project to merge")
|
|
331
|
+
console.print()
|
|
332
|
+
console.print("[cyan]What Happens Next:[/cyan]")
|
|
333
|
+
console.print(" 1. Run [bold]/moai:0-project[/bold] in Claude Code")
|
|
334
|
+
console.print(" 2. System intelligently merges old settings + new template")
|
|
335
|
+
console.print(" 3. After successful merge → optimized becomes true")
|
|
336
|
+
console.print(" 4. You're ready to continue developing\n")
|
|
274
337
|
|
|
275
338
|
console.print("\n[cyan]🚀 Next Steps:[/cyan]")
|
|
276
339
|
if not is_current_dir:
|
|
277
|
-
console.print(
|
|
278
|
-
|
|
279
|
-
)
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
)
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
)
|
|
340
|
+
console.print(f" [blue]1.[/blue] Run [bold]cd {project_name}[/bold] to enter the project")
|
|
341
|
+
console.print(" [blue]2.[/blue] Run [bold]/moai:0-project[/bold] in Claude Code for full setup")
|
|
342
|
+
console.print(" (Configure: mode, language, report generation, etc.)")
|
|
343
|
+
else:
|
|
344
|
+
console.print(" [blue]1.[/blue] Run [bold]/moai:0-project[/bold] in Claude Code for full setup")
|
|
345
|
+
console.print(" (Configure: mode, language, report generation, etc.)")
|
|
346
|
+
|
|
347
|
+
if not is_current_dir:
|
|
348
|
+
console.print(" [blue]3.[/blue] Start developing with MoAI-ADK!\n")
|
|
286
349
|
else:
|
|
287
|
-
console.print(
|
|
288
|
-
" [blue]1.[/blue] Check [bold].moai/config.json[/bold] for configuration"
|
|
289
|
-
)
|
|
290
|
-
console.print(
|
|
291
|
-
" [blue]2.[/blue] Read [bold]CLAUDE.md[/bold] for development guide\n"
|
|
292
|
-
)
|
|
350
|
+
console.print(" [blue]2.[/blue] Start developing with MoAI-ADK!\n")
|
|
293
351
|
else:
|
|
294
352
|
console.print("\n[red bold]❌ Initialization Failed![/red bold]")
|
|
295
353
|
if result.errors:
|