moai-adk 0.4.5__py3-none-any.whl → 0.20.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +1 -1
- moai_adk/__main__.py +74 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/analyze.py +119 -0
- moai_adk/cli/commands/backup.py +25 -1
- moai_adk/cli/commands/doctor.py +31 -5
- moai_adk/cli/commands/improve_user_experience.py +307 -0
- moai_adk/cli/commands/init.py +111 -10
- moai_adk/cli/commands/status.py +33 -3
- moai_adk/cli/commands/update.py +921 -130
- moai_adk/cli/commands/validate_links.py +120 -0
- moai_adk/cli/prompts/init_prompts.py +22 -87
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +388 -0
- moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
- moai_adk/core/analysis/tag_chain_repair.py +879 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/migration.py +235 -0
- moai_adk/core/git/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/commit.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/issue_creator.py +313 -0
- moai_adk/core/mcp/setup.py +56 -0
- moai_adk/core/mcp/setup_old.py +296 -0
- moai_adk/core/project/backup_utils.py +1 -1
- moai_adk/core/project/checker.py +2 -2
- moai_adk/core/project/detector.py +211 -12
- moai_adk/core/project/initializer.py +85 -15
- moai_adk/core/project/phase_executor.py +76 -13
- moai_adk/core/project/validator.py +13 -13
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/tags/__init__.py +86 -0
- moai_adk/core/tags/auto_corrector.py +693 -0
- moai_adk/core/tags/ci_validator.py +463 -0
- moai_adk/core/tags/cli.py +283 -0
- moai_adk/core/tags/generator.py +109 -0
- moai_adk/core/tags/inserter.py +99 -0
- moai_adk/core/tags/mapper.py +126 -0
- moai_adk/core/tags/parser.py +76 -0
- moai_adk/core/tags/policy_validator.py +580 -0
- moai_adk/core/tags/pre_commit_validator.py +421 -0
- moai_adk/core/tags/reporter.py +956 -0
- moai_adk/core/tags/rollback_manager.py +525 -0
- moai_adk/core/tags/tags.py +149 -0
- moai_adk/core/tags/validator.py +897 -0
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +1 -1
- moai_adk/core/template/merger.py +50 -1
- moai_adk/core/template/processor.py +119 -13
- moai_adk/core/template_engine.py +268 -0
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
- moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
- moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
- moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
- moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
- moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
- moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
- moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
- moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
- moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
- moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
- moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
- moai_adk/templates/.claude/settings.json +96 -14
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
- moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
- moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
- moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
- moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
- moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
- moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +255 -0
- moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
- moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
- moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
- moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
- moai_adk/templates/.github/workflows/release.yml +118 -0
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/tag-report.yml +269 -0
- moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
- moai_adk/templates/.mcp.json +31 -0
- moai_adk/templates/.moai/config.json +80 -7
- moai_adk/templates/CLAUDE.md +562 -546
- moai_adk/utils/banner.py +5 -5
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +235 -0
- moai_adk/utils/logger.py +8 -8
- moai_adk/utils/user_experience.py +451 -0
- moai_adk-0.20.1.dist-info/METADATA +233 -0
- moai_adk-0.20.1.dist-info/RECORD +404 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
- moai_adk/templates/.moai/memory/development-guide.md +0 -344
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
- moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk/templates/__init__.py +0 -2
- moai_adk-0.4.5.dist-info/METADATA +0 -369
- moai_adk-0.4.5.dist-info/RECORD +0 -152
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,433 +0,0 @@
|
|
|
1
|
-
# Claude Code component writing guide
|
|
2
|
-
|
|
3
|
-
> **A complete guide to writing 5 components**
|
|
4
|
-
>
|
|
5
|
-
> Agent, Command, Skill, Plugin, Settings
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 📋 Table of Contents
|
|
10
|
-
|
|
11
|
-
1. [Agent writing guide](#1-agent-writing-guide)
|
|
12
|
-
2. [Command writing guide](#2-command-writing-guide)
|
|
13
|
-
3. [Skill writing guide](#3-skill-writing-guide)
|
|
14
|
-
4. [Plugin setting guide](#4-plugin-setting-guide)
|
|
15
|
-
5. [Settings settings guide](#5-settings-settings-guide)
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## 1. Agent writing guide
|
|
20
|
-
|
|
21
|
-
### 📐 File Structure
|
|
22
|
-
|
|
23
|
-
**Location**: `.claude/agents/{agent-name}.md`
|
|
24
|
-
|
|
25
|
-
**YAML Frontmatter** (required):
|
|
26
|
-
```yaml
|
|
27
|
-
---
|
|
28
|
-
name: {agent-name} # kebab-case
|
|
29
|
-
description: "Use when: {trigger}" # "Use when:" pattern required
|
|
30
|
-
tools: Read, Write, Edit # Only necessary tools
|
|
31
|
-
model: sonnet # sonnet|haiku
|
|
32
|
-
---
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 🎭 Agent Persona
|
|
36
|
-
|
|
37
|
-
**Required elements**:
|
|
38
|
-
- **Icon**: Visual identifier (emoji)
|
|
39
|
-
- **Duties**: IT professional duties (System Architect, QA Lead, etc.)
|
|
40
|
-
- **Area of expertise**: Specific area of expertise
|
|
41
|
-
- **Role**: Agent responsibilities
|
|
42
|
-
- **Goals**: what you want to achieve
|
|
43
|
-
|
|
44
|
-
**example**:
|
|
45
|
-
```markdown
|
|
46
|
-
## 🎭 Agent Persona
|
|
47
|
-
|
|
48
|
-
**Icon**: 🏗️
|
|
49
|
-
**Job**: System Architect
|
|
50
|
-
**Area of Expertise**: SPEC writing, EARS specification, requirements analysis
|
|
51
|
-
**Role**: Convert business requirements into systematic SPEC
|
|
52
|
-
**Goal**: Clear and testable SPEC Write a document
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### ⚙️ Model selection guide
|
|
56
|
-
|
|
57
|
-
| model | When to use | Example |
|
|
58
|
-
|------|----------|------|
|
|
59
|
-
| **sonnet** | Complex judgment, design, creativity | SPEC writing, TDD strategy, debugging |
|
|
60
|
-
| **haiku** | Fast processing, pattern-based operation | Document synchronization, TAG scanning, linting |
|
|
61
|
-
|
|
62
|
-
### 🛠️ Tool Selection Guide
|
|
63
|
-
|
|
64
|
-
| Job type | Essential Tools |
|
|
65
|
-
|----------|----------|
|
|
66
|
-
| **Analysis** | Read, Grep, Glob |
|
|
67
|
-
| **Create Document** | Read, Write, Edit |
|
|
68
|
-
| **Code Implementation** | Read, Write, Edit, MultiEdit |
|
|
69
|
-
| **Git Operations** | Read, Bash(git:*) |
|
|
70
|
-
| **Verification** | Read, Grep, Bash |
|
|
71
|
-
|
|
72
|
-
### ✅ Verification Checklist
|
|
73
|
-
|
|
74
|
-
- [ ] YAML frontmatter exists
|
|
75
|
-
- [ ] `name`: kebab-case
|
|
76
|
-
- [ ] `description`: Contains the “Use when:” pattern
|
|
77
|
-
- [ ] `tools`: Only the tools you need
|
|
78
|
-
- [ ] `model`: sonnet or haiku
|
|
79
|
-
- [ ] Contains the agent persona section
|
|
80
|
-
- [ ] Contains workflow specific steps
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 2. Command writing guide
|
|
85
|
-
|
|
86
|
-
### 📐 File Structure
|
|
87
|
-
|
|
88
|
-
**Location**: `.claude/commands/{command-name}.md`
|
|
89
|
-
|
|
90
|
-
**YAML Frontmatter** (required):
|
|
91
|
-
```yaml
|
|
92
|
-
---
|
|
93
|
-
name: {command-name} # kebab-case
|
|
94
|
-
description: {one-line description} # Clear purpose
|
|
95
|
-
argument-hint: [{param}] # Optional
|
|
96
|
-
allowed-tools: # Only the tools you need
|
|
97
|
-
- Read
|
|
98
|
-
- Write
|
|
99
|
-
- Task
|
|
100
|
-
---
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 🔧 Naming Conventions
|
|
104
|
-
|
|
105
|
-
- Use **kebab-case**
|
|
106
|
-
- **Start with a verb** (run, check, deploy, create)
|
|
107
|
-
- **Clear and specific**
|
|
108
|
-
|
|
109
|
-
**Correct Example**:
|
|
110
|
-
- ✅ `deploy-production`
|
|
111
|
-
- ✅ `run-tests`
|
|
112
|
-
- ✅ `alfred:1-spec`
|
|
113
|
-
|
|
114
|
-
**Incorrect example**:
|
|
115
|
-
- ❌ `doSomething` (camelCase)
|
|
116
|
-
- ❌ `cmd1` (unclear)
|
|
117
|
-
|
|
118
|
-
### 📋 Standard section structure
|
|
119
|
-
|
|
120
|
-
```markdown
|
|
121
|
-
# {Command Title}
|
|
122
|
-
|
|
123
|
-
{Brief description}
|
|
124
|
-
|
|
125
|
-
## 🎯 Command Purpose
|
|
126
|
-
{Detailed purpose}
|
|
127
|
-
|
|
128
|
-
## 💡 Example of use
|
|
129
|
-
\`\`\`bash
|
|
130
|
-
/{command-name} {example-args}
|
|
131
|
-
\`\`\`
|
|
132
|
-
|
|
133
|
-
## 📋 Execution flow
|
|
134
|
-
1. **Phase 1**: {Planning}
|
|
135
|
-
2. **Phase 2**: {Execution}
|
|
136
|
-
|
|
137
|
-
## 🔗 Associated Agent
|
|
138
|
-
- **Primary**: {agent-name} - {role}
|
|
139
|
-
|
|
140
|
-
## ⚠️ Precautions
|
|
141
|
-
- {Warning 1}
|
|
142
|
-
|
|
143
|
-
## 📋 Next steps
|
|
144
|
-
- {Next step}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### ✅ Verification Checklist
|
|
148
|
-
|
|
149
|
-
- [ ] YAML frontmatter exists
|
|
150
|
-
- [ ] `name`: kebab-case
|
|
151
|
-
- [ ] `description`: One-line description
|
|
152
|
-
- [ ] `allowed-tools`: Array format
|
|
153
|
-
- [ ] Specific patterns when using Bash tools (`Bash(git:*)`)
|
|
154
|
-
- [ ] Include usage examples
|
|
155
|
-
- [ ] Specify execution flow
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## 3. Skill creation guide
|
|
160
|
-
|
|
161
|
-
### 📐 File Structure
|
|
162
|
-
|
|
163
|
-
**Location**: `.claude/skills/{skill-name}/SKILL.md`
|
|
164
|
-
|
|
165
|
-
**YAML Frontmatter** (required fields + optional `allowed-tools`):
|
|
166
|
-
```yaml
|
|
167
|
-
---
|
|
168
|
-
name: {skill-name} # kebab-case, ≤64 chars
|
|
169
|
-
description: {What it does + when to use (≤1024 chars)}
|
|
170
|
-
allowed-tools:
|
|
171
|
-
- Read # optional, enforce least privilege
|
|
172
|
-
- Bash
|
|
173
|
-
---
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### 🎯 How to write a description
|
|
177
|
-
|
|
178
|
-
**Important**: Key field that determines when Claude will call the skill (<=1024 chars; aim for ≤200 for clarity)
|
|
179
|
-
|
|
180
|
-
**Good example**:
|
|
181
|
-
- ✅ "Directly scan TAG markers and create inventory (CODE-FIRST principle)"
|
|
182
|
-
- ✅ "Select optimal features by project type (37 skills → automatically filter 3-5)"
|
|
183
|
-
|
|
184
|
-
**Bad example**:
|
|
185
|
-
- ❌ “This skill does something” (too vague)
|
|
186
|
-
- ❌ “This skill does something” (non-specific)
|
|
187
|
-
|
|
188
|
-
### 📁 Optional file structure
|
|
189
|
-
|
|
190
|
-
```
|
|
191
|
-
.claude/skills/{skill-name}/
|
|
192
|
-
├── SKILL.md (required)
|
|
193
|
-
├── reference.md (optional)
|
|
194
|
-
├── examples.md (optional)
|
|
195
|
-
├── scripts/ (optional)
|
|
196
|
-
│ └── helper.py
|
|
197
|
-
└── templates/ (optional)
|
|
198
|
-
└── template.txt
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### ✅ Verification Checklist
|
|
202
|
-
|
|
203
|
-
- [ ] YAML frontmatter exists
|
|
204
|
-
- [ ] `name`: kebab-case, ≤64 chars, gerund style preferred
|
|
205
|
-
- [ ] `description`: Explains capability + trigger keywords
|
|
206
|
-
- [ ] `allowed-tools`: Lists only tools required by the workflow
|
|
207
|
-
- [ ] Title (# {Skill Title}) exists
|
|
208
|
-
- [ ] Include purpose section
|
|
209
|
-
|
|
210
|
-
### ✨ Anthropic best practices (2024-12)
|
|
211
|
-
|
|
212
|
-
- **Stay concise**: Keep SKILL.md lean so Claude reads only what it needs. Move lengthy procedures into referenced files and keep body <500 lines.
|
|
213
|
-
Source: [Skill authoring best practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices)
|
|
214
|
-
- **Progressive disclosure**: Link reference files (reference.md, examples.md, scripts/) directly from SKILL.md and avoid multi-hop chains. Claude loads each file on demand.
|
|
215
|
-
- **Right-sized guidance**: Match specificity to risk—high-level checklists for flexible tasks, prescriptive scripts for fragile flows.
|
|
216
|
-
- **Consistent naming**: Use gerund or action-oriented names (“Processing PDFs”) and include trigger phrases in descriptions to improve discovery.
|
|
217
|
-
- **Test across models**: Validate behavior with the models you plan to run (Haiku, Sonnet, Opus) to ensure instructions are neither too sparse nor verbose.
|
|
218
|
-
- **Security posture**: Audit bundled scripts, restrict `allowed-tools`, and document any prerequisites or packages.
|
|
219
|
-
|
|
220
|
-
### 📂 Discovery rules
|
|
221
|
-
|
|
222
|
-
- Personal skills live in `~/.claude/skills/{skill-name}/SKILL.md`
|
|
223
|
-
- Project skills live in `.claude/skills/{skill-name}/SKILL.md` and should be committed to git
|
|
224
|
-
- Claude expects each skill as a first-level directory under `skills/`; nested categories like `.claude/skills/domain/backend/SKILL.md` are **not** auto-discovered (per [Agent Skills - Claude Docs](https://docs.claude.com/en/docs/claude-code/skills))
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## 4. Plugin setup guide
|
|
229
|
-
|
|
230
|
-
### 📐 File Structure
|
|
231
|
-
|
|
232
|
-
**Location**: `.claude/settings.json` (mcpServers section)
|
|
233
|
-
|
|
234
|
-
**Basic structure**:
|
|
235
|
-
```json
|
|
236
|
-
{
|
|
237
|
-
"mcpServers": {
|
|
238
|
-
"{plugin-name}": {
|
|
239
|
-
"command": "npx",
|
|
240
|
-
"args": ["-y", "{plugin-package}"],
|
|
241
|
-
"env": {
|
|
242
|
-
"API_KEY": "${API_KEY}"
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### 🌟 Recommended Plugin
|
|
250
|
-
|
|
251
|
-
| Plugin | Use | Utilizing MoAI-ADK |
|
|
252
|
-
|--------|------|--------------|
|
|
253
|
-
| **@modelcontextprotocol/server-github** | GitHub API | Automatically generate PR/Issue |
|
|
254
|
-
| **@modelcontextprotocol/server-filesystem** | file system | `.moai/` safe access |
|
|
255
|
-
| **@modelcontextprotocol/server-brave-search** | web search | See technical documentation |
|
|
256
|
-
|
|
257
|
-
### 🔒 Security Principles
|
|
258
|
-
|
|
259
|
-
#### Essential checklist
|
|
260
|
-
- [ ] Use of environment variables (no hardcoding)
|
|
261
|
-
- [ ] Restrict paths (Filesystem MCP)
|
|
262
|
-
- [ ] Minimum privileges
|
|
263
|
-
- [ ] Block sensitive information (`.env`, `secrets/`)
|
|
264
|
-
- [ ] Source reliability (official or verified plugin)
|
|
265
|
-
|
|
266
|
-
#### Secure settings
|
|
267
|
-
```json
|
|
268
|
-
{
|
|
269
|
-
"mcpServers": {
|
|
270
|
-
"github": {
|
|
271
|
-
"env": {
|
|
272
|
-
"GITHUB_TOKEN": "${GITHUB_TOKEN}" // ✅ Environment variable
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
"filesystem": {
|
|
276
|
-
"args": [
|
|
277
|
-
"-y",
|
|
278
|
-
"@modelcontextprotocol/server-filesystem",
|
|
279
|
-
"${CLAUDE_PROJECT_DIR}/.moai", // ✅ Restricted path
|
|
280
|
-
"${CLAUDE_PROJECT_DIR}/src"
|
|
281
|
-
]
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### ✅ Verification Checklist
|
|
288
|
-
|
|
289
|
-
- [ ] No JSON syntax errors
|
|
290
|
-
- [ ] Use of environment variables (no hard coding)
|
|
291
|
-
- [ ] Restrictions on file system path
|
|
292
|
-
- [ ] Completed setting of necessary environment variables
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
## 5. Settings Setting Guide
|
|
297
|
-
|
|
298
|
-
### 📐 File Structure
|
|
299
|
-
|
|
300
|
-
**Location**: `.claude/settings.json`
|
|
301
|
-
|
|
302
|
-
**Main sections**:
|
|
303
|
-
```json
|
|
304
|
-
{
|
|
305
|
-
"permissions": {
|
|
306
|
-
"defaultMode": "default",
|
|
307
|
-
"allow": [...],
|
|
308
|
-
"ask": [...],
|
|
309
|
-
"deny": [...]
|
|
310
|
-
},
|
|
311
|
-
"hooks": {
|
|
312
|
-
"SessionStart": [...],
|
|
313
|
-
"PreToolUse": [...]
|
|
314
|
-
},
|
|
315
|
-
"mcpServers": {...}
|
|
316
|
-
}
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### 🔒 3-level permission management
|
|
320
|
-
|
|
321
|
-
#### 1. `allow` - Automatic approval
|
|
322
|
-
Allow only safe and essential tools:
|
|
323
|
-
```json
|
|
324
|
-
"allow": [
|
|
325
|
-
"Read",
|
|
326
|
-
"Write",
|
|
327
|
-
"Edit",
|
|
328
|
-
"Grep",
|
|
329
|
-
"Glob",
|
|
330
|
-
"Bash(git:*)",
|
|
331
|
-
"Bash(pytest:*)"
|
|
332
|
-
]
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
#### 2. `ask` - User confirmation
|
|
336
|
-
Important or potentially changeable actions:
|
|
337
|
-
```json
|
|
338
|
-
"ask": [
|
|
339
|
-
"Bash(git push:*)",
|
|
340
|
-
"Bash(pip install:*)",
|
|
341
|
-
"Bash(rm:*)"
|
|
342
|
-
]
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
#### 3. `deny` - Absolutely prohibited
|
|
346
|
-
Block dangerous or sensitive operations:
|
|
347
|
-
```json
|
|
348
|
-
"deny": [
|
|
349
|
-
"Read(./.env)",
|
|
350
|
-
"Read(./secrets/**)",
|
|
351
|
-
"Bash(sudo:*)",
|
|
352
|
-
"Bash(rm -rf:*)"
|
|
353
|
-
]
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### 🪝 Hook system
|
|
357
|
-
|
|
358
|
-
#### SessionStart hook
|
|
359
|
-
Display project information when session starts:
|
|
360
|
-
```json
|
|
361
|
-
{
|
|
362
|
-
"hooks": {
|
|
363
|
-
"SessionStart": [
|
|
364
|
-
{
|
|
365
|
-
"hooks": [
|
|
366
|
-
{
|
|
367
|
-
"command": "node $CLAUDE_PROJECT_DIR/.claude/hooks/alfred/session-notice.cjs",
|
|
368
|
-
"type": "command"
|
|
369
|
-
}
|
|
370
|
-
],
|
|
371
|
-
"matcher": "*"
|
|
372
|
-
}
|
|
373
|
-
]
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
#### PreToolUse hook
|
|
379
|
-
Verify and block before executing the tool:
|
|
380
|
-
```json
|
|
381
|
-
{
|
|
382
|
-
"hooks": {
|
|
383
|
-
"PreToolUse": [
|
|
384
|
-
{
|
|
385
|
-
"hooks": [
|
|
386
|
-
{
|
|
387
|
-
"command": "node $CLAUDE_PROJECT_DIR/.claude/hooks/alfred/pre-write-guard.cjs",
|
|
388
|
-
"type": "command"
|
|
389
|
-
}
|
|
390
|
-
],
|
|
391
|
-
"matcher": "Edit|Write|MultiEdit"
|
|
392
|
-
}
|
|
393
|
-
]
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
### ✅ Verification Checklist
|
|
399
|
-
|
|
400
|
-
- [ ] No JSON syntax errors
|
|
401
|
-
- [ ] `allow`: Only essential tools
|
|
402
|
-
- [ ] `ask`: Critical tasks
|
|
403
|
-
- [ ] `deny`: Sensitive files/commands
|
|
404
|
-
- [ ] Bash pattern refinement (`Bash(git:*)`)
|
|
405
|
-
- [ ] Hook file existence and execution permissions
|
|
406
|
-
|
|
407
|
-
---
|
|
408
|
-
|
|
409
|
-
## 📊 Best Practices
|
|
410
|
-
|
|
411
|
-
### Common principles
|
|
412
|
-
|
|
413
|
-
1. **Principle of least privilege**
|
|
414
|
-
- Specify only necessary tools
|
|
415
|
-
- Specific patterns when using Bash
|
|
416
|
-
|
|
417
|
-
2. **Compliant with official standards**
|
|
418
|
-
- YAML frontmatter required fields
|
|
419
|
-
- Filename convention (kebab-case)
|
|
420
|
-
|
|
421
|
-
3. **Security priority**
|
|
422
|
-
- Manage sensitive information as environmental variable
|
|
423
|
-
- Block dangerous operations
|
|
424
|
-
|
|
425
|
-
4. **Documentation**
|
|
426
|
-
- Clear explanation
|
|
427
|
-
- Concrete examples
|
|
428
|
-
- Verification methods
|
|
429
|
-
|
|
430
|
-
---
|
|
431
|
-
|
|
432
|
-
**Last update**: 2025-10-19
|
|
433
|
-
**Author**: @Alfred
|