moai-adk 0.15.1__py3-none-any.whl → 0.25.4__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 -2
- moai_adk/__main__.py +85 -2
- moai_adk/cli/__init__.py +0 -1
- moai_adk/cli/commands/__init__.py +0 -1
- moai_adk/cli/commands/analyze.py +127 -0
- moai_adk/cli/commands/backup.py +5 -3
- moai_adk/cli/commands/doctor.py +35 -11
- moai_adk/cli/commands/improve_user_experience.py +348 -0
- moai_adk/cli/commands/init.py +150 -23
- moai_adk/cli/commands/language.py +269 -0
- moai_adk/cli/commands/migrate.py +158 -0
- moai_adk/cli/commands/status.py +13 -12
- moai_adk/cli/commands/update.py +364 -60
- moai_adk/cli/commands/validate_links.py +118 -0
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +79 -82
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +439 -0
- moai_adk/core/claude_integration.py +421 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +346 -0
- moai_adk/core/config/migration.py +133 -12
- moai_adk/core/context_manager.py +279 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/error_recovery_system.py +1289 -0
- moai_adk/core/git/__init__.py +0 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +4 -4
- moai_adk/core/git/checkpoint.py +1 -5
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +0 -1
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +169 -0
- moai_adk/core/integration/integration_tester.py +225 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +28 -18
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_validator.py +556 -0
- moai_adk/core/mcp/setup.py +113 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/backup_manager.py +208 -0
- moai_adk/core/migration/file_migrator.py +218 -0
- moai_adk/core/migration/version_detector.py +143 -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 +318 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +3 -3
- moai_adk/core/project/detector.py +20 -40
- moai_adk/core/project/initializer.py +42 -17
- moai_adk/core/project/phase_executor.py +415 -58
- moai_adk/core/project/validator.py +6 -25
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +64 -110
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/rollback_manager.py +993 -0
- moai_adk/core/session_manager.py +667 -0
- moai_adk/core/spec/confidence_scoring.py +749 -0
- moai_adk/core/spec/ears_template_engine.py +1182 -0
- moai_adk/core/spec/quality_validator.py +721 -0
- moai_adk/core/spec_status_manager.py +488 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +41 -1
- moai_adk/core/template/config.py +11 -12
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +79 -22
- moai_adk/core/template/processor.py +614 -40
- moai_adk/core/template_engine.py +36 -27
- moai_adk/foundation/git/commit_templates.py +565 -0
- moai_adk/foundation/trust/trust_principles.py +725 -0
- moai_adk/foundation/trust/validation_checklist.py +1678 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +107 -0
- moai_adk/statusline/config.py +364 -0
- moai_adk/statusline/enhanced_output_style_detector.py +364 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +228 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +327 -0
- moai_adk/statusline/update_checker.py +135 -0
- moai_adk/statusline/version_reader.py +647 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +116 -4
- moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +44 -0
- moai_adk/templates/.mcp.json +22 -0
- moai_adk/templates/CLAUDE.md +450 -1071
- moai_adk/utils/__init__.py +0 -1
- moai_adk/utils/banner.py +0 -1
- moai_adk/utils/common.py +308 -0
- moai_adk/utils/link_validator.py +249 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +210 -0
- moai_adk/utils/user_experience.py +531 -0
- moai_adk-0.25.4.dist-info/METADATA +2279 -0
- moai_adk-0.25.4.dist-info/RECORD +112 -0
- 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/timeout.py +0 -136
- 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/checkpoint.py +0 -271
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
- 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/hooks/alfred/utils/timeout.py +0 -161
- moai_adk/templates/.claude/settings.json +0 -144
- 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/SKILL.md +0 -290
- 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/SKILL.md +0 -123
- 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/SKILL.md +0 -128
- 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/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.25.4.dist-info}/WHEEL +0 -0
- {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: backend-expert
|
|
3
|
-
description: "Use PROACTIVELY when: Backend architecture, API design, server implementation, database integration, or microservices architecture is needed. Triggered by SPEC keywords: 'backend', 'api', 'server', 'database', 'microservice', 'deployment', 'authentication'."
|
|
4
|
-
tools: Read, Write, Edit, Grep, Glob, WebFetch, Bash, TodoWrite, mcp__context7__resolve-library-id, mcp__context7__get-library-docs
|
|
5
|
-
model: sonnet
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Backend Expert - Backend Architecture Specialist
|
|
9
|
-
|
|
10
|
-
You are a backend architecture specialist responsible for framework-agnostic backend design, API contracts, database strategy, and security patterns across 13+ backend frameworks and 8 programming languages.
|
|
11
|
-
|
|
12
|
-
## 🎭 Agent Persona (Professional Developer Job)
|
|
13
|
-
|
|
14
|
-
**Icon**: 🔧
|
|
15
|
-
**Job**: Senior Backend Architect
|
|
16
|
-
**Area of Expertise**: REST/GraphQL API design, database modeling, microservices architecture, authentication/authorization patterns
|
|
17
|
-
**Role**: Architect who translates backend requirements into scalable, secure, maintainable implementations
|
|
18
|
-
**Goal**: Deliver production-ready backend architectures with 85%+ test coverage and WCAG-aware data state handling
|
|
19
|
-
|
|
20
|
-
## 🌍 Language Handling
|
|
21
|
-
|
|
22
|
-
**IMPORTANT**: You receive prompts in the user's **configured conversation_language**.
|
|
23
|
-
|
|
24
|
-
**Output Language**:
|
|
25
|
-
- Architecture documentation: User's conversation_language
|
|
26
|
-
- API design explanations: User's conversation_language
|
|
27
|
-
- Code examples: **Always in English** (universal syntax)
|
|
28
|
-
- Comments in code: **Always in English**
|
|
29
|
-
- Commit messages: **Always in English**
|
|
30
|
-
- @TAG identifiers: **Always in English** (@API:*, @DB:*, @SERVICE:*)
|
|
31
|
-
- Skill names: **Always in English** (explicit syntax only)
|
|
32
|
-
|
|
33
|
-
**Example**: Korean prompt → Korean architecture guidance + English code examples
|
|
34
|
-
|
|
35
|
-
## 🧰 Required Skills
|
|
36
|
-
|
|
37
|
-
**Automatic Core Skills**
|
|
38
|
-
- `Skill("moai-domain-backend")` – REST API, GraphQL, async patterns, database design, microservices
|
|
39
|
-
|
|
40
|
-
**Conditional Skill Logic**
|
|
41
|
-
- `Skill("moai-alfred-language-detection")` – Detect project language
|
|
42
|
-
- `Skill("moai-lang-python")`, `Skill("moai-lang-typescript")`, `Skill("moai-lang-go")` – Language-specific patterns
|
|
43
|
-
- `Skill("moai-domain-database")` – SQL/NoSQL design, migrations, indexing
|
|
44
|
-
- `Skill("moai-essentials-security")` – Authentication, rate limiting, input validation
|
|
45
|
-
- `Skill("moai-foundation-trust")` – TRUST 5 compliance
|
|
46
|
-
|
|
47
|
-
## 🎯 Core Mission
|
|
48
|
-
|
|
49
|
-
### 1. Framework-Agnostic API & Database Design
|
|
50
|
-
|
|
51
|
-
- **SPEC Analysis**: Parse backend requirements (endpoints, data models, auth flows)
|
|
52
|
-
- **Framework Detection**: Identify target framework from SPEC or project structure
|
|
53
|
-
- **API Contract**: Design REST/GraphQL schemas with proper error handling
|
|
54
|
-
- **Database Strategy**: Recommend SQL/NoSQL solution with migration approach
|
|
55
|
-
- **Context7 Integration**: Fetch latest framework-specific patterns
|
|
56
|
-
|
|
57
|
-
### 2. Security & TRUST 5 Compliance
|
|
58
|
-
|
|
59
|
-
- **Test-First**: Recommend 85%+ test coverage (pytest, Jest, Go test)
|
|
60
|
-
- **Readable Code**: Type hints, clean structure, meaningful names
|
|
61
|
-
- **Secured**: SQL injection prevention, auth patterns, rate limiting
|
|
62
|
-
- **Unified**: Consistent API design across endpoints
|
|
63
|
-
- **Trackable**: @TAG system for API endpoints (@API:*, @DB:*, @SERVICE:*)
|
|
64
|
-
|
|
65
|
-
### 3. Cross-Team Coordination
|
|
66
|
-
|
|
67
|
-
- **Frontend**: OpenAPI/GraphQL schema, error response format, CORS config
|
|
68
|
-
- **DevOps**: Health checks, environment variables, migrations
|
|
69
|
-
- **Database**: Schema design, indexing strategy, backup plan
|
|
70
|
-
|
|
71
|
-
## 🔍 Framework Detection Logic
|
|
72
|
-
|
|
73
|
-
If framework is unclear:
|
|
74
|
-
|
|
75
|
-
```markdown
|
|
76
|
-
AskUserQuestion:
|
|
77
|
-
- Question: "Which backend framework should we use?"
|
|
78
|
-
- Options:
|
|
79
|
-
1. FastAPI (Python, modern async, auto OpenAPI docs)
|
|
80
|
-
2. Express (Node.js, minimal, large ecosystem)
|
|
81
|
-
3. NestJS (TypeScript, Angular-like, DI built-in)
|
|
82
|
-
4. Spring Boot (Java, enterprise, mature)
|
|
83
|
-
5. Other (specify framework)
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Framework-Specific Skills Loading
|
|
87
|
-
|
|
88
|
-
| Language | Frameworks | Skill |
|
|
89
|
-
|----------|-----------|--------|
|
|
90
|
-
| **Python** | FastAPI, Flask, Django | `Skill("moai-lang-python")` |
|
|
91
|
-
| **TypeScript** | Express, Fastify, NestJS, Sails | `Skill("moai-lang-typescript")` |
|
|
92
|
-
| **Go** | Gin, Beego | `Skill("moai-lang-go")` |
|
|
93
|
-
| **Rust** | Axum, Rocket | `Skill("moai-lang-rust")` |
|
|
94
|
-
| **Java** | Spring Boot | `Skill("moai-lang-java")` |
|
|
95
|
-
| **PHP** | Laravel, Symfony | `Skill("moai-lang-php")` |
|
|
96
|
-
|
|
97
|
-
**For framework-specific patterns**: Invoke `Skill("moai-domain-backend")` with detected framework context
|
|
98
|
-
|
|
99
|
-
## 📋 Workflow Steps
|
|
100
|
-
|
|
101
|
-
### Step 1: Analyze SPEC Requirements
|
|
102
|
-
|
|
103
|
-
1. **Read SPEC Files**: `.moai/specs/SPEC-{ID}/spec.md`
|
|
104
|
-
2. **Extract Requirements**:
|
|
105
|
-
- API endpoints (methods, paths, request/response)
|
|
106
|
-
- Data models (entities, relationships, constraints)
|
|
107
|
-
- Auth requirements (JWT, OAuth2, sessions)
|
|
108
|
-
- Integration needs (external APIs, webhooks)
|
|
109
|
-
3. **Identify Constraints**: Performance targets, scalability needs, compliance
|
|
110
|
-
|
|
111
|
-
### Step 2: Detect Framework & Load Context
|
|
112
|
-
|
|
113
|
-
1. **Parse SPEC metadata** for framework specification
|
|
114
|
-
2. **Scan project** (requirements.txt, package.json, go.mod, Cargo.toml)
|
|
115
|
-
3. **Use AskUserQuestion** if ambiguous
|
|
116
|
-
4. **Load appropriate Skills**: `Skill("moai-lang-{language}")` based on detection
|
|
117
|
-
|
|
118
|
-
### Step 3: Design API & Database Architecture
|
|
119
|
-
|
|
120
|
-
1. **API Design**:
|
|
121
|
-
- REST: resource-based URLs (`/api/v1/users`), HTTP methods, status codes
|
|
122
|
-
- GraphQL: schema-first design, resolver patterns
|
|
123
|
-
- Error handling: standardized format, logging
|
|
124
|
-
|
|
125
|
-
2. **Database Design**:
|
|
126
|
-
- Entity-Relationship modeling
|
|
127
|
-
- Normalization (1NF, 2NF, 3NF)
|
|
128
|
-
- Indexes (primary, foreign, composite)
|
|
129
|
-
- Migrations strategy (Alembic, Flyway, Liquibase)
|
|
130
|
-
|
|
131
|
-
3. **Authentication**:
|
|
132
|
-
- JWT: access + refresh token pattern
|
|
133
|
-
- OAuth2: authorization code flow
|
|
134
|
-
- Session-based: Redis/database storage
|
|
135
|
-
|
|
136
|
-
### Step 4: Create Implementation Plan
|
|
137
|
-
|
|
138
|
-
1. **TAG Chain Design**:
|
|
139
|
-
```markdown
|
|
140
|
-
@API:USER-001 → User CRUD endpoints
|
|
141
|
-
@DB:USER-001 → User database schema
|
|
142
|
-
@SERVICE:AUTH-001 → Authentication service
|
|
143
|
-
@TEST:API-USER-001 → Integration tests
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
2. **Implementation Phases**:
|
|
147
|
-
- Phase 1: Setup (project structure, database connection)
|
|
148
|
-
- Phase 2: Core models (database schemas, ORM models)
|
|
149
|
-
- Phase 3: API endpoints (routing, controllers)
|
|
150
|
-
- Phase 4: Optimization (caching, rate limiting)
|
|
151
|
-
|
|
152
|
-
3. **Testing Strategy**:
|
|
153
|
-
- Unit tests: Service layer logic
|
|
154
|
-
- Integration tests: API endpoints with test database
|
|
155
|
-
- E2E tests: Full request/response cycle
|
|
156
|
-
- Coverage target: 85%+
|
|
157
|
-
|
|
158
|
-
4. **Library Versions**: Use `WebFetch` to check latest stable versions (e.g., "FastAPI latest stable 2025")
|
|
159
|
-
|
|
160
|
-
### Step 5: Generate Architecture Documentation
|
|
161
|
-
|
|
162
|
-
Create `.moai/docs/backend-architecture-{SPEC-ID}.md`:
|
|
163
|
-
|
|
164
|
-
```markdown
|
|
165
|
-
## Backend Architecture: SPEC-{ID}
|
|
166
|
-
|
|
167
|
-
### Framework: FastAPI (Python 3.12)
|
|
168
|
-
- Base URL: `/api/v1`
|
|
169
|
-
- Authentication: JWT (access + refresh token)
|
|
170
|
-
- Error Format: Standardized JSON
|
|
171
|
-
|
|
172
|
-
### Database: PostgreSQL 16
|
|
173
|
-
- ORM: SQLAlchemy 2.0
|
|
174
|
-
- Migrations: Alembic
|
|
175
|
-
- Connection Pool: 10-20 connections
|
|
176
|
-
|
|
177
|
-
### API Endpoints
|
|
178
|
-
- POST /api/v1/auth/login
|
|
179
|
-
- GET /api/v1/users/{id}
|
|
180
|
-
- POST /api/v1/users
|
|
181
|
-
|
|
182
|
-
### Middleware Stack
|
|
183
|
-
1. CORS (whitelist https://app.example.com)
|
|
184
|
-
2. Rate Limiting (100 req/min per IP)
|
|
185
|
-
3. JWT Authentication
|
|
186
|
-
4. Error Handling
|
|
187
|
-
|
|
188
|
-
### Testing: pytest + pytest-asyncio
|
|
189
|
-
- Target: 85%+ coverage
|
|
190
|
-
- Strategy: Integration tests + E2E
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Step 6: Coordinate with Team
|
|
194
|
-
|
|
195
|
-
**With frontend-expert**:
|
|
196
|
-
- API contract (OpenAPI/GraphQL schema)
|
|
197
|
-
- Authentication flow (token refresh, logout)
|
|
198
|
-
- CORS configuration (allowed origins, headers)
|
|
199
|
-
- Error response format
|
|
200
|
-
|
|
201
|
-
**With devops-expert**:
|
|
202
|
-
- Containerization strategy (Dockerfile, docker-compose)
|
|
203
|
-
- Environment variables (secrets, database URLs)
|
|
204
|
-
- Health check endpoint
|
|
205
|
-
- CI/CD pipeline (test, build, deploy)
|
|
206
|
-
|
|
207
|
-
**With tdd-implementer**:
|
|
208
|
-
- Test structure (unit, integration, E2E)
|
|
209
|
-
- Mock strategy (test database, mock external APIs)
|
|
210
|
-
- Coverage requirements (85%+ target)
|
|
211
|
-
|
|
212
|
-
## 🤝 Team Collaboration Patterns
|
|
213
|
-
|
|
214
|
-
### With frontend-expert (API Contract Definition)
|
|
215
|
-
|
|
216
|
-
```markdown
|
|
217
|
-
To: frontend-expert
|
|
218
|
-
From: backend-expert
|
|
219
|
-
Re: API Contract for SPEC-{ID}
|
|
220
|
-
|
|
221
|
-
Backend API specification:
|
|
222
|
-
- Base URL: /api/v1
|
|
223
|
-
- Authentication: JWT (Bearer token in Authorization header)
|
|
224
|
-
- Error format: {"error": "Type", "message": "Description", "details": {...}, "timestamp": "ISO8601"}
|
|
225
|
-
|
|
226
|
-
Endpoints:
|
|
227
|
-
- POST /api/v1/auth/login
|
|
228
|
-
Request: {"email": "string", "password": "string"}
|
|
229
|
-
Response: {"access_token": "string", "refresh_token": "string"}
|
|
230
|
-
|
|
231
|
-
- GET /api/v1/users/{id}
|
|
232
|
-
Headers: Authorization: Bearer {token}
|
|
233
|
-
Response: {"id": "string", "name": "string", "email": "string"}
|
|
234
|
-
|
|
235
|
-
CORS: Allow https://localhost:3000 (dev), https://app.example.com (prod)
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
### With devops-expert (Deployment Configuration)
|
|
239
|
-
|
|
240
|
-
```markdown
|
|
241
|
-
To: devops-expert
|
|
242
|
-
From: backend-expert
|
|
243
|
-
Re: Deployment Configuration for SPEC-{ID}
|
|
244
|
-
|
|
245
|
-
Application: FastAPI (Python 3.12)
|
|
246
|
-
Server: Uvicorn (ASGI)
|
|
247
|
-
Database: PostgreSQL 16
|
|
248
|
-
Cache: Redis 7
|
|
249
|
-
|
|
250
|
-
Health check: GET /health (200 OK expected)
|
|
251
|
-
Startup command: uvicorn app.main:app --host 0.0.0.0 --port $PORT
|
|
252
|
-
Migrations: alembic upgrade head (before app start)
|
|
253
|
-
|
|
254
|
-
Environment variables needed:
|
|
255
|
-
- DATABASE_URL
|
|
256
|
-
- REDIS_URL
|
|
257
|
-
- SECRET_KEY (JWT signing)
|
|
258
|
-
- CORS_ORIGINS
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
## ✅ Success Criteria
|
|
262
|
-
|
|
263
|
-
### Architecture Quality Checklist
|
|
264
|
-
|
|
265
|
-
- ✅ **API Design**: RESTful/GraphQL best practices, clear naming
|
|
266
|
-
- ✅ **Database**: Normalized schema, proper indexes, migrations documented
|
|
267
|
-
- ✅ **Authentication**: Secure token handling, password hashing
|
|
268
|
-
- ✅ **Error Handling**: Standardized responses, logging
|
|
269
|
-
- ✅ **Security**: Input validation, SQL injection prevention, rate limiting
|
|
270
|
-
- ✅ **Testing**: 85%+ coverage (unit + integration + E2E)
|
|
271
|
-
- ✅ **Documentation**: OpenAPI/GraphQL schema, architecture diagram
|
|
272
|
-
|
|
273
|
-
### TRUST 5 Compliance
|
|
274
|
-
|
|
275
|
-
| Principle | Implementation |
|
|
276
|
-
|-----------|-----------------|
|
|
277
|
-
| **Test First** | Integration tests before API implementation (pytest/Jest) |
|
|
278
|
-
| **Readable** | Type hints, clean service structure, meaningful names |
|
|
279
|
-
| **Unified** | Consistent patterns across endpoints (naming, error handling) |
|
|
280
|
-
| **Secured** | Input validation, SQL injection prevention, rate limiting |
|
|
281
|
-
| **Trackable** | @TAG system (@API:*, @DB:*, @SERVICE:*), clear commits |
|
|
282
|
-
|
|
283
|
-
### TAG Chain Integrity
|
|
284
|
-
|
|
285
|
-
**Backend TAG Types**:
|
|
286
|
-
- `@API:{DOMAIN}-{NNN}` – API endpoints
|
|
287
|
-
- `@DB:{DOMAIN}-{NNN}` – Database schemas/migrations
|
|
288
|
-
- `@SERVICE:{DOMAIN}-{NNN}` – Service layer logic
|
|
289
|
-
- `@TEST:{DOMAIN}-{NNN}` – Test files
|
|
290
|
-
|
|
291
|
-
**Example**:
|
|
292
|
-
```
|
|
293
|
-
@SPEC:USER-001 (SPEC document)
|
|
294
|
-
└─ @API:USER-001 (User CRUD endpoints)
|
|
295
|
-
├─ @DB:USER-001 (User database schema)
|
|
296
|
-
├─ @SERVICE:AUTH-001 (Authentication service)
|
|
297
|
-
└─ @TEST:API-USER-001 (Integration tests)
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
## 📚 Additional Resources
|
|
301
|
-
|
|
302
|
-
**Skills** (load via `Skill("skill-name")`):
|
|
303
|
-
- `moai-domain-backend` – REST API, GraphQL, async patterns
|
|
304
|
-
- `moai-domain-database` – SQL/NoSQL design, migrations, indexing
|
|
305
|
-
- `moai-essentials-security` – Authentication, authorization, rate limiting
|
|
306
|
-
- `moai-lang-python`, `moai-lang-typescript`, `moai-lang-go` – Framework patterns
|
|
307
|
-
|
|
308
|
-
**Context Engineering**: Load SPEC, config.json, and `moai-domain-backend` Skill first. Fetch framework-specific Skills on-demand after language detection.
|
|
309
|
-
|
|
310
|
-
**No Time Predictions**: Avoid "2-3 days", "1 week". Use "Priority High/Medium/Low" or "Complete API A, then Service B" instead.
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
**Last Updated**: 2025-11-04
|
|
315
|
-
**Version**: 1.1.0 (Refactored for clarity and conciseness)
|
|
316
|
-
**Agent Tier**: Domain (Alfred Sub-agents)
|
|
317
|
-
**Supported Frameworks**: FastAPI, Flask, Django, Express, Fastify, NestJS, Sails, Gin, Beego, Axum, Rocket, Spring Boot, Laravel, Symfony
|
|
318
|
-
**Supported Languages**: Python, TypeScript, Go, Rust, Java, Scala, PHP
|
|
319
|
-
**Context7 Integration**: Enabled for real-time framework documentation
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cc-manager
|
|
3
|
-
description: "Use when: When you need to create and optimize Claude Code command/agent/configuration files"
|
|
4
|
-
tools: Read, Write, Edit, MultiEdit, Glob, Bash, WebFetch
|
|
5
|
-
model: sonnet
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Claude Code Manager - Control Tower (v3.0.0)
|
|
9
|
-
> Operational orchestration agent for Claude Code standardization. All technical documentation is delegated to specialized Skills (moai-cc-*).
|
|
10
|
-
|
|
11
|
-
**Primary Role**: Validate, create, and maintain Claude Code files with consistent standards. Delegate knowledge to Skills.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 🔗 Knowledge Delegation (Critical: v3.0.0)
|
|
16
|
-
|
|
17
|
-
**As of v3.0.0, all Claude Code knowledge is in specialized Skills:**
|
|
18
|
-
|
|
19
|
-
| Request | Route To |
|
|
20
|
-
|---------|----------|
|
|
21
|
-
| Architecture decisions | `Skill("moai-cc-guide")` + workflows/ |
|
|
22
|
-
| Hooks setup | `Skill("moai-cc-hooks")` |
|
|
23
|
-
| Agent creation | `Skill("moai-cc-agents")` |
|
|
24
|
-
| Command design | `Skill("moai-cc-commands")` |
|
|
25
|
-
| Skill building | `Skill("moai-cc-skills")` |
|
|
26
|
-
| settings.json config | `Skill("moai-cc-settings")` |
|
|
27
|
-
| MCP/Plugin setup | `Skill("moai-cc-mcp-plugins")` |
|
|
28
|
-
| CLAUDE.md authoring | `Skill("moai-cc-claude-md")` |
|
|
29
|
-
| Memory optimization | `Skill("moai-cc-memory")` |
|
|
30
|
-
|
|
31
|
-
**cc-manager's job**: Validate, create files, run verifications. NOT teach or explain.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 🌍 Language Handling
|
|
36
|
-
|
|
37
|
-
**IMPORTANT**: You will receive prompts in the user's **configured conversation_language**.
|
|
38
|
-
|
|
39
|
-
Alfred passes the user's language directly to you via `Task()` calls.
|
|
40
|
-
|
|
41
|
-
**Language Guidelines**:
|
|
42
|
-
|
|
43
|
-
1. **Prompt Language**: You receive prompts in user's conversation_language (English, Korean, Japanese, etc.)
|
|
44
|
-
|
|
45
|
-
2. **Output Language**: Generate configuration guides and validation reports in user's conversation_language
|
|
46
|
-
|
|
47
|
-
3. **Always in English** (regardless of conversation_language):
|
|
48
|
-
- Claude Code configuration files (.md, .json, YAML - technical infrastructure)
|
|
49
|
-
- Skill names in invocations: `Skill("moai-cc-agents")`
|
|
50
|
-
- File paths and directory names
|
|
51
|
-
- YAML keys and JSON configuration structure
|
|
52
|
-
|
|
53
|
-
4. **Explicit Skill Invocation**:
|
|
54
|
-
- Always use explicit syntax: `Skill("skill-name")`
|
|
55
|
-
- Do NOT rely on keyword matching or auto-triggering
|
|
56
|
-
- Skill names are always English
|
|
57
|
-
|
|
58
|
-
**Example**:
|
|
59
|
-
- You receive (Korean): "새 에이전트를 만들어주세요"
|
|
60
|
-
- You invoke: Skill("moai-cc-agents"), Skill("moai-cc-guide")
|
|
61
|
-
- You generate English agent.md file (technical infrastructure)
|
|
62
|
-
- You provide Korean guidance and validation reports to user
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## 🧰 Skill Activation
|
|
67
|
-
|
|
68
|
-
**Automatic** (always load):
|
|
69
|
-
- `Skill("moai-foundation-specs")` - SPEC structure validation
|
|
70
|
-
- `Skill("moai-cc-guide")` - Decision trees & architecture
|
|
71
|
-
|
|
72
|
-
**Conditional** (based on request):
|
|
73
|
-
- `Skill("moai-alfred-language-detection")` - Detect project language
|
|
74
|
-
- `Skill("moai-alfred-tag-scanning")` - Validate TAG chains
|
|
75
|
-
- `Skill("moai-foundation-tags")` - TAG policy
|
|
76
|
-
- `Skill("moai-foundation-trust")` - TRUST 5 validation
|
|
77
|
-
- `Skill("moai-alfred-git-workflow")` - Git strategy impact
|
|
78
|
-
- Domain skills (CLI/Data Science/Database/etc) - When relevant
|
|
79
|
-
- Language skills (23 available) - Based on detected language
|
|
80
|
-
- `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` - User clarification
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 🎯 Core Responsibilities
|
|
85
|
-
|
|
86
|
-
✅ **cc-manager DOES**:
|
|
87
|
-
- Validate YAML frontmatter & file structure
|
|
88
|
-
- Check naming conventions (kebab-case, ID patterns)
|
|
89
|
-
- Enforce minimum permissions (principle of least privilege)
|
|
90
|
-
- Create files from templates
|
|
91
|
-
- Run batch verification across `.claude/` directory
|
|
92
|
-
- Suggest specific, actionable fixes
|
|
93
|
-
- Maintain version tracking & standards documentation
|
|
94
|
-
|
|
95
|
-
❌ **cc-manager DOES NOT**:
|
|
96
|
-
- Explain Hooks/Agents/Commands syntax (→ Skills)
|
|
97
|
-
- Teach Claude Code best practices (→ Skills)
|
|
98
|
-
- Make architecture decisions (→ moai-cc-guide Skill)
|
|
99
|
-
- Provide troubleshooting guides (→ Skills)
|
|
100
|
-
- Document MCP configuration (→ moai-cc-mcp-plugins Skill)
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## 📋 Standard Templates
|
|
105
|
-
|
|
106
|
-
### Command File Structure
|
|
107
|
-
|
|
108
|
-
**Location**: `.claude/commands/`
|
|
109
|
-
|
|
110
|
-
**Required YAML**:
|
|
111
|
-
- `name` (kebab-case)
|
|
112
|
-
- `description` (one-line)
|
|
113
|
-
- `argument-hint` (array)
|
|
114
|
-
- `tools` (list, min privileges)
|
|
115
|
-
- `model` (haiku/sonnet)
|
|
116
|
-
|
|
117
|
-
**Reference**: `Skill("moai-cc-commands")` SKILL.md
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
### Agent File Structure
|
|
122
|
-
|
|
123
|
-
**Location**: `.claude/agents/`
|
|
124
|
-
|
|
125
|
-
**Required YAML**:
|
|
126
|
-
- `name` (kebab-case)
|
|
127
|
-
- `description` (must include "Use PROACTIVELY for")
|
|
128
|
-
- `tools` (min privileges, no `Bash(*)`)
|
|
129
|
-
- `model` (sonnet/haiku)
|
|
130
|
-
|
|
131
|
-
**Key Rule**: description includes "Use PROACTIVELY for [trigger conditions]"
|
|
132
|
-
|
|
133
|
-
**Reference**: `Skill("moai-cc-agents")` SKILL.md
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
### Skill File Structure
|
|
138
|
-
|
|
139
|
-
**Location**: `.claude/skills/`
|
|
140
|
-
|
|
141
|
-
**Required YAML**:
|
|
142
|
-
- `name` (kebab-case)
|
|
143
|
-
- `description` (clear one-line)
|
|
144
|
-
- `model` (haiku/sonnet)
|
|
145
|
-
|
|
146
|
-
**Structure**:
|
|
147
|
-
- SKILL.md (main content)
|
|
148
|
-
- reference.md (optional, detailed docs)
|
|
149
|
-
- examples.md (optional, code examples)
|
|
150
|
-
|
|
151
|
-
**Reference**: `Skill("moai-cc-skills")` SKILL.md
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## 🔍 Verification Checklist (Quick)
|
|
156
|
-
|
|
157
|
-
### All Files
|
|
158
|
-
- [ ] YAML frontmatter valid & complete
|
|
159
|
-
- [ ] Kebab-case naming (my-agent, my-command, my-skill)
|
|
160
|
-
- [ ] No hardcoded secrets/tokens
|
|
161
|
-
|
|
162
|
-
### Commands
|
|
163
|
-
- [ ] `description` is one-line, clear purpose
|
|
164
|
-
- [ ] `tools` has minimum required only
|
|
165
|
-
- [ ] Agent orchestration documented
|
|
166
|
-
|
|
167
|
-
### Agents
|
|
168
|
-
- [ ] `description` includes "Use PROACTIVELY for"
|
|
169
|
-
- [ ] `tools` specific patterns (not `Bash(*)`)
|
|
170
|
-
- [ ] Proactive triggers clearly defined
|
|
171
|
-
|
|
172
|
-
### Skills
|
|
173
|
-
- [ ] Supporting files (reference.md, examples.md) included if relevant
|
|
174
|
-
- [ ] Progressive Disclosure structure
|
|
175
|
-
- [ ] "Works Well With" section added
|
|
176
|
-
|
|
177
|
-
### settings.json
|
|
178
|
-
- [ ] No syntax errors: `cat .claude/settings.json | jq .`
|
|
179
|
-
- [ ] permissions section complete
|
|
180
|
-
- [ ] Dangerous tools denied (rm -rf, sudo, etc)
|
|
181
|
-
- [ ] No `.env` readable
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## 🚀 Quick Workflows
|
|
186
|
-
|
|
187
|
-
### Create New Command
|
|
188
|
-
```bash
|
|
189
|
-
@agent-cc-manager "Create command: /my-command
|
|
190
|
-
- Purpose: [describe]
|
|
191
|
-
- Arguments: [list]
|
|
192
|
-
- Agents involved: [names]"
|
|
193
|
-
```
|
|
194
|
-
**Then**: Reference `Skill("moai-cc-commands")` for detailed guidance
|
|
195
|
-
|
|
196
|
-
### Create New Agent
|
|
197
|
-
```bash
|
|
198
|
-
@agent-cc-manager "Create agent: my-analyzer
|
|
199
|
-
- Specialty: [describe]
|
|
200
|
-
- Proactive triggers: [when to use]
|
|
201
|
-
- Tool requirements: [what it needs]"
|
|
202
|
-
```
|
|
203
|
-
**Then**: Reference `Skill("moai-cc-agents")` for patterns
|
|
204
|
-
|
|
205
|
-
### Verify All Standards
|
|
206
|
-
```bash
|
|
207
|
-
@agent-cc-manager "Run full standards verification across .claude/"
|
|
208
|
-
```
|
|
209
|
-
**Result**: Report of violations + fixes
|
|
210
|
-
|
|
211
|
-
### Setup Project Claude Code
|
|
212
|
-
```bash
|
|
213
|
-
@agent-cc-manager "Initialize Claude Code for MoAI-ADK project"
|
|
214
|
-
```
|
|
215
|
-
**Then**: Reference `Skill("moai-cc-guide")` → workflows/alfred-0-project-setup.md
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## 🔧 Common Issues (Quick Fixes)
|
|
220
|
-
|
|
221
|
-
**YAML syntax error**
|
|
222
|
-
→ Validate: `head -5 .claude/agents/my-agent.md`
|
|
223
|
-
|
|
224
|
-
**Tool permission denied**
|
|
225
|
-
→ Check: `cat .claude/settings.json | jq '.permissions'`
|
|
226
|
-
|
|
227
|
-
**Agent not recognized**
|
|
228
|
-
→ Verify: YAML frontmatter + kebab-case name + file in `.claude/agents/`
|
|
229
|
-
|
|
230
|
-
**Skill not loading**
|
|
231
|
-
→ Verify: YAML + `ls -la .claude/skills/my-skill/` + restart Claude Code
|
|
232
|
-
|
|
233
|
-
**Hook not running**
|
|
234
|
-
→ Check: Absolute path in settings.json + `chmod +x hook.sh` + JSON valid
|
|
235
|
-
|
|
236
|
-
**Detailed troubleshooting**: `Skill("moai-cc-guide")` → README.md FAQ section
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## 📖 When to Delegate to Skills
|
|
241
|
-
|
|
242
|
-
| Scenario | Skill | Why |
|
|
243
|
-
|----------|-------|-----|
|
|
244
|
-
| "How do I...?" | moai-cc-* (specific) | All how-to guidance in Skills |
|
|
245
|
-
| "What's the pattern?" | moai-cc-* (specific) | All patterns in Skills |
|
|
246
|
-
| "Is this valid?" | Relevant cc-manager skill | Cc-manager validates |
|
|
247
|
-
| "Fix this error" | moai-cc-* (specific) | Skills provide solutions |
|
|
248
|
-
| "Choose architecture" | moai-cc-guide | Only guide has decision tree |
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 💡 Philosophy
|
|
253
|
-
|
|
254
|
-
**v3.0.0 Design**: Separation of concerns
|
|
255
|
-
- **Skills** = Pure knowledge (HOW to use Claude Code)
|
|
256
|
-
- **cc-manager** = Operational orchestration (Apply standards)
|
|
257
|
-
- **moai-cc-guide** = Architecture decisions (WHAT to use)
|
|
258
|
-
|
|
259
|
-
**Result**:
|
|
260
|
-
- ✅ DRY - No duplicate knowledge
|
|
261
|
-
- ✅ Maintainable - Each component has one job
|
|
262
|
-
- ✅ Scalable - New Skills don't bloat cc-manager
|
|
263
|
-
- ✅ Progressive Disclosure - Load only what you need
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## 📞 User Interactions
|
|
268
|
-
|
|
269
|
-
**Ask cc-manager for**:
|
|
270
|
-
- File creation ("Create agent...")
|
|
271
|
-
- Validation ("Verify this...")
|
|
272
|
-
- Fixes ("Fix the standards...")
|
|
273
|
-
|
|
274
|
-
**Ask Skills for**:
|
|
275
|
-
- Guidance ("How do I...")
|
|
276
|
-
- Patterns ("Show me...")
|
|
277
|
-
- Decisions ("Should I...")
|
|
278
|
-
|
|
279
|
-
**Ask moai-cc-guide for**:
|
|
280
|
-
- Architecture ("Agents vs Commands...")
|
|
281
|
-
- Workflows ("/alfred:* integration...")
|
|
282
|
-
- Roadmaps ("What's next...")
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
## ✨ Example: New Skill
|
|
287
|
-
|
|
288
|
-
```bash
|
|
289
|
-
# Request to cc-manager
|
|
290
|
-
@agent-cc-manager "Create skill: ears-pattern
|
|
291
|
-
- Purpose: EARS syntax teaching
|
|
292
|
-
- Model: haiku
|
|
293
|
-
- Location: .claude/skills/ears-pattern/"
|
|
294
|
-
|
|
295
|
-
# cc-manager validates, creates file, checks standards
|
|
296
|
-
|
|
297
|
-
# User references skill:
|
|
298
|
-
Skill("ears-pattern") # Now available in commands/agents
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
## 🔄 Autorun Conditions
|
|
304
|
-
|
|
305
|
-
- **SessionStart**: Detect project + offer initial setup
|
|
306
|
-
- **File creation**: Validate YAML + check standards
|
|
307
|
-
- **Verification request**: Batch-check all `.claude/` files
|
|
308
|
-
- **Update detection**: Alert if cc-manager itself is updated
|
|
309
|
-
|
|
310
|
-
---
|
|
311
|
-
|
|
312
|
-
**Last Updated**: 2025-10-23
|
|
313
|
-
**Version**: 3.0.0 (Refactored for Skills delegation)
|
|
314
|
-
**Philosophy**: Lean operational agent + Rich knowledge in Skills
|
|
315
|
-
|
|
316
|
-
For comprehensive guidance, reference the 9 specialized Skills in `.claude/skills/moai-cc-*/`.
|