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,112 +1,212 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
2
|
name: moai-alfred-code-reviewer
|
|
4
|
-
description:
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- TodoWrite
|
|
3
|
+
description: "Systematic code review guidance and automation. Apply TRUST 5 principles, check code quality, validate SOLID principles, identify security issues, and ensure maintainability. Use when conducting code reviews, setting review standards, or implementing review automation."
|
|
4
|
+
allowed-tools: "Read, Write, Edit, Glob, Bash"
|
|
11
5
|
---
|
|
12
6
|
|
|
13
|
-
# Alfred Code Reviewer
|
|
14
|
-
|
|
15
7
|
## Skill Metadata
|
|
8
|
+
|
|
16
9
|
| Field | Value |
|
|
17
10
|
| ----- | ----- |
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
11
|
+
| Version | 1.0.0 |
|
|
12
|
+
| Tier | Quality |
|
|
13
|
+
| Auto-load | When conducting code reviews or quality checks |
|
|
21
14
|
|
|
22
|
-
## What
|
|
15
|
+
## What It Does
|
|
23
16
|
|
|
24
|
-
|
|
17
|
+
체계적인 코드 리뷰 프로세스와 자동화 가이드를 제공합니다. TRUST 5 원칙 적용, 코드 품질 검증, SOLID 원칙 준수, 보안 이슈 식별, 유지보수성 보장을 다룹니다.
|
|
25
18
|
|
|
26
|
-
## When to
|
|
19
|
+
## When to Use
|
|
27
20
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
21
|
+
- 코드 리뷰를 수행할 때
|
|
22
|
+
- 리뷰 표준과 가이드라인을 설정할 때
|
|
23
|
+
- 코드 품질 자동화를 구현할 때
|
|
24
|
+
- 팀의 코드 리뷰 문화를 개선할 때
|
|
32
25
|
|
|
33
|
-
## How it works
|
|
34
26
|
|
|
35
|
-
|
|
36
|
-
- File ≤300 LOC
|
|
37
|
-
- Function ≤50 LOC
|
|
38
|
-
- Parameters ≤5
|
|
39
|
-
- Cyclomatic complexity ≤10
|
|
27
|
+
# Systematic Code Review with TRUST 5 Principles
|
|
40
28
|
|
|
41
|
-
|
|
42
|
-
- Single Responsibility
|
|
43
|
-
- Open/Closed
|
|
44
|
-
- Liskov Substitution
|
|
45
|
-
- Interface Segregation
|
|
46
|
-
- Dependency Inversion
|
|
29
|
+
Code review is a quality assurance process that ensures code meets standards, follows best practices, and maintains long-term maintainability. This skill provides systematic guidance for conducting thorough, effective code reviews.
|
|
47
30
|
|
|
48
|
-
|
|
49
|
-
- Long Method
|
|
50
|
-
- Large Class
|
|
51
|
-
- Duplicate Code
|
|
52
|
-
- Dead Code
|
|
53
|
-
- Magic Numbers
|
|
31
|
+
## Code Review Framework
|
|
54
32
|
|
|
55
|
-
|
|
56
|
-
- Python: List comprehension, type hints, PEP 8
|
|
57
|
-
- TypeScript: Strict typing, async/await, error handling
|
|
58
|
-
- Java: Streams API, Optional, Design patterns
|
|
33
|
+
### The TRUST 5 Review Framework
|
|
59
34
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
35
|
+
| Principle | Review Focus | Key Questions | Tools |
|
|
36
|
+
|-----------|--------------|---------------|-------|
|
|
37
|
+
| **T** - Test First | Test coverage & quality | Are tests comprehensive? Do they test edge cases? | pytest coverage, jest --coverage |
|
|
38
|
+
| **R** - Readable | Code clarity & maintainability | Is code self-documenting? Are names meaningful? | linters, code formatters |
|
|
39
|
+
| **U** - Unified | Consistency & standards | Does it follow team patterns? Is it cohesive? | style guides, architectural patterns |
|
|
40
|
+
| **S** - Secured | Security & vulnerabilities | Are inputs validated? Are secrets handled properly? | security scanners, static analysis |
|
|
41
|
+
| **T** - Trackable | Documentation & traceability | Is code linked to requirements? Are changes documented? | @TAG system, git history |
|
|
63
42
|
|
|
64
|
-
|
|
65
|
-
1. **src/auth/service.py:45** - Function too long (85 > 50 LOC)
|
|
66
|
-
2. **src/api/handler.ts:120** - Missing error handling
|
|
67
|
-
3. **src/db/repository.java:200** - Magic number
|
|
43
|
+
## High-Freedom: Review Strategy & Philosophy
|
|
68
44
|
|
|
69
|
-
###
|
|
70
|
-
1. **src/utils/helper.py:30** - Unused import
|
|
45
|
+
### When to Review vs When to Trust
|
|
71
46
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
47
|
+
```markdown
|
|
48
|
+
## Review Decision Matrix
|
|
49
|
+
|
|
50
|
+
| Change Type | Review Level | Automation | Focus Areas |
|
|
51
|
+
|-------------|--------------|------------|-------------|
|
|
52
|
+
| Critical security | 🔴 Mandatory | Full scan | Vulnerabilities, input validation |
|
|
53
|
+
| Core architecture | 🟡 Deep review | Partial | Design patterns, scalability |
|
|
54
|
+
| Bug fixes | 🟢 Standard | Automated | Root cause, test coverage |
|
|
55
|
+
| Documentation | 🟢 Light | Basic | Accuracy, completeness |
|
|
56
|
+
| Configuration | 🟢 Automated | Full | Security, best practices |
|
|
75
57
|
```
|
|
76
58
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
59
|
+
### Review Culture Principles
|
|
60
|
+
|
|
61
|
+
✅ **Psychological Safety**: Reviews are about code, not people
|
|
62
|
+
✅ **Learning Opportunity**: Reviews transfer knowledge and standards
|
|
63
|
+
✅ **Constructive Feedback**: Focus on improvement, not criticism
|
|
64
|
+
✅ **Consistent Standards**: Apply same criteria to all code
|
|
65
|
+
✅ **Efficient Process**: Automated checks first, human review for value-add
|
|
66
|
+
|
|
67
|
+
### Review Anti-patterns to Avoid
|
|
68
|
+
|
|
69
|
+
❌ **Nitpicking**: Focus on style over substance
|
|
70
|
+
❌ **Authoritarian**: "Do it this way because I said so"
|
|
71
|
+
❌ **Incomplete**: "Looks good" without specific feedback
|
|
72
|
+
❌ **Delayed**: Reviews blocking progress for days
|
|
73
|
+
❌ **Inconsistent**: Different standards for different people
|
|
74
|
+
|
|
75
|
+
## Medium-Freedom: Review Process & Checklists
|
|
76
|
+
|
|
77
|
+
### Structured Review Process
|
|
78
|
+
|
|
79
|
+
```pseudocode
|
|
80
|
+
## Review Workflow
|
|
81
|
+
|
|
82
|
+
1. PRE-REVIEW AUTOMATION (2-5 min)
|
|
83
|
+
a. Run linters and formatters
|
|
84
|
+
b. Execute test suite with coverage
|
|
85
|
+
c. Scan for security vulnerabilities
|
|
86
|
+
d. Check for @TAG compliance
|
|
87
|
+
|
|
88
|
+
2. CODE COMPREHENSION (5-10 min)
|
|
89
|
+
a. Read commit message and PR description
|
|
90
|
+
b. Understand the problem being solved
|
|
91
|
+
c. Identify affected components
|
|
92
|
+
d. Review test changes first
|
|
93
|
+
|
|
94
|
+
3. DETAILED REVIEW (10-20 min)
|
|
95
|
+
a. Apply TRUST 5 framework systematically
|
|
96
|
+
b. Check architectural consistency
|
|
97
|
+
c. Validate error handling
|
|
98
|
+
d. Assess performance implications
|
|
99
|
+
|
|
100
|
+
4. FEEDBACK SYNTHESIS (5 min)
|
|
101
|
+
a. Categorize issues: Must-fix, Should-fix, Nice-to-have
|
|
102
|
+
b. Provide specific, actionable feedback
|
|
103
|
+
c. Explain reasoning behind suggestions
|
|
104
|
+
d. Offer to discuss complex changes
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Code Review Checklist Template
|
|
80
108
|
|
|
81
|
-
## Examples
|
|
82
109
|
```markdown
|
|
83
|
-
|
|
84
|
-
|
|
110
|
+
## Code Review Checklist
|
|
111
|
+
|
|
112
|
+
### 🧪 Test Coverage (T)
|
|
113
|
+
- [ ] New features have corresponding tests
|
|
114
|
+
- [ ] Test coverage ≥ 85% (or team standard)
|
|
115
|
+
- [ ] Edge cases and error conditions tested
|
|
116
|
+
- [ ] Integration tests included where appropriate
|
|
117
|
+
- [ ] Tests are readable and maintainable
|
|
118
|
+
|
|
119
|
+
### 📖 Readability (R)
|
|
120
|
+
- [ ] Function and variable names are descriptive
|
|
121
|
+
- [ ] Complex logic is commented or extracted
|
|
122
|
+
- [ ] File length ≤ 300 LOC (or team standard)
|
|
123
|
+
- [ ] Function length ≤ 50 LOC (or team standard)
|
|
124
|
+
- [ ] No magic numbers or hardcoded values
|
|
125
|
+
|
|
126
|
+
### 🔗 Unity (U)
|
|
127
|
+
- [ ] Follows established team patterns
|
|
128
|
+
- [ ] Consistent with existing codebase style
|
|
129
|
+
- [ ] Uses shared utilities and libraries
|
|
130
|
+
- [ ] Architecture aligns with project structure
|
|
131
|
+
- [ ] Imports and dependencies are organized
|
|
132
|
+
|
|
133
|
+
### 🔒 Security (S)
|
|
134
|
+
- [ ] Input validation for all user inputs
|
|
135
|
+
- [ ] No hardcoded secrets or credentials
|
|
136
|
+
- [ ] Proper error handling without information leakage
|
|
137
|
+
- [ ] Authentication and authorization checked
|
|
138
|
+
- [ ] SQL injection and XSS protection in place
|
|
139
|
+
|
|
140
|
+
### 🏷️ Traceability (T)
|
|
141
|
+
- [ ] Code changes linked to SPEC or issue
|
|
142
|
+
- [ ] @TAG references are correct and complete
|
|
143
|
+
- [ ] Commit message is clear and descriptive
|
|
144
|
+
- [ ] Documentation updated as needed
|
|
145
|
+
- [ ] Breaking changes are documented
|
|
85
146
|
```
|
|
86
147
|
|
|
87
|
-
##
|
|
88
|
-
|
|
89
|
-
-
|
|
148
|
+
## Low-Freedom: Automated Review Scripts
|
|
149
|
+
|
|
150
|
+
### Pre-commit Review Automation
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
#!/bin/bash
|
|
154
|
+
# .claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh
|
|
90
155
|
|
|
91
|
-
|
|
92
|
-
- Reports, checklists or recommendations for your Alfred workflow.
|
|
93
|
-
- Structured data for subsequent subagent calls.
|
|
156
|
+
set -e
|
|
94
157
|
|
|
95
|
-
|
|
96
|
-
- When required input documents are missing or permissions are limited.
|
|
97
|
-
- When disruptive changes are required without user approval.
|
|
158
|
+
echo "🔍 Running automated code review checks..."
|
|
98
159
|
|
|
99
|
-
|
|
100
|
-
|
|
160
|
+
# Test Coverage Check
|
|
161
|
+
echo "📊 Checking test coverage..."
|
|
162
|
+
python -m pytest --cov=src --cov-fail-under=85 --cov-report=term-missing
|
|
101
163
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
-
|
|
164
|
+
# Code Quality Checks
|
|
165
|
+
echo "🧹 Running linters..."
|
|
166
|
+
python -m ruff check src/ --show-source
|
|
167
|
+
python -m mypy src/ --strict
|
|
105
168
|
|
|
106
|
-
|
|
107
|
-
|
|
169
|
+
# Security Scanning
|
|
170
|
+
echo "🔒 Scanning for security issues..."
|
|
171
|
+
python -m bandit -r src/ -f json -o bandit-report.json
|
|
108
172
|
|
|
109
|
-
|
|
173
|
+
echo "✅ All automated checks passed!"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Integration with Development Workflow
|
|
177
|
+
|
|
178
|
+
### Pre-commit Integration
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
# .pre-commit-config.yaml
|
|
182
|
+
repos:
|
|
183
|
+
- repo: local
|
|
184
|
+
hooks:
|
|
185
|
+
- id: security-review
|
|
186
|
+
name: Security Review
|
|
187
|
+
entry: .claude/skills/moai-alfred-code-reviewer/scripts/security_review.py
|
|
188
|
+
language: script
|
|
189
|
+
args: [src/]
|
|
190
|
+
pass_filenames: false
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Review Best Practices Summary
|
|
194
|
+
|
|
195
|
+
### For Reviewers
|
|
196
|
+
✅ **Start with understanding**: Read the PR description first
|
|
197
|
+
✅ **Automate first**: Let tools catch the obvious issues
|
|
198
|
+
✅ **Focus on value**: Spend time on architectural and security concerns
|
|
199
|
+
✅ **Be specific**: Provide exact locations and suggestions
|
|
200
|
+
✅ **Explain why**: Help the author understand the reasoning
|
|
201
|
+
|
|
202
|
+
### For Authors
|
|
203
|
+
✅ **Self-review first**: Run all automated checks before submitting
|
|
204
|
+
✅ **Write clear descriptions**: Explain what and why
|
|
205
|
+
✅ **Keep PRs small**: Large changes are harder to review effectively
|
|
206
|
+
✅ **Respond promptly**: Address feedback in a timely manner
|
|
207
|
+
✅ **Learn from feedback**: Use reviews as learning opportunities
|
|
208
|
+
|
|
209
|
+
---
|
|
110
210
|
|
|
111
|
-
|
|
112
|
-
|
|
211
|
+
**Reference**: Code Review Best Practices, TRUST 5 Principles
|
|
212
|
+
**Version**: 1.0.0
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Code Review Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: Basic Code Review Process
|
|
4
|
+
|
|
5
|
+
```python
|
|
6
|
+
# Before invoking the skill
|
|
7
|
+
# You have a pull request that needs review
|
|
8
|
+
|
|
9
|
+
# Invoke the skill
|
|
10
|
+
Skill("moai-alfred-code-reviewer")
|
|
11
|
+
|
|
12
|
+
# The skill provides:
|
|
13
|
+
# 1. Automated review checklist
|
|
14
|
+
# 2. TRUST 5 framework guidance
|
|
15
|
+
# 3. Security review scripts
|
|
16
|
+
# 4. Review comment templates
|
|
17
|
+
|
|
18
|
+
# Run automated checks
|
|
19
|
+
bash .claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh
|
|
20
|
+
|
|
21
|
+
# Review output example:
|
|
22
|
+
# 🔍 Running automated code review checks...
|
|
23
|
+
# 📊 Checking test coverage...
|
|
24
|
+
# ✅ Test coverage meets requirements (92%)
|
|
25
|
+
# 🧹 Running ruff linter...
|
|
26
|
+
# ✅ Ruff checks passed
|
|
27
|
+
# 🔍 Running type checks...
|
|
28
|
+
# ✅ Type checks passed
|
|
29
|
+
# 🔒 Scanning for security issues...
|
|
30
|
+
# ✅ Security scan completed
|
|
31
|
+
# 🎉 Automated review checks completed!
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Example 2: Security-focused Review
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
# When reviewing code with security implications
|
|
38
|
+
Skill("moai-alfred-code-reviewer")
|
|
39
|
+
|
|
40
|
+
# Focus on security checklist items:
|
|
41
|
+
# - Input validation for all user inputs
|
|
42
|
+
# - No hardcoded secrets or credentials
|
|
43
|
+
# - Proper error handling without information leakage
|
|
44
|
+
# - Authentication and authorization checked
|
|
45
|
+
# - SQL injection and XSS protection in place
|
|
46
|
+
|
|
47
|
+
# Example security issues found:
|
|
48
|
+
# ❌ Potential SQL injection in user_query() function
|
|
49
|
+
# ❌ Hardcoded API key in config.py
|
|
50
|
+
# ❌ Debug mode enabled in production
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Example 3: Integration with GitHub Actions
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
# .github/workflows/code-review.yml
|
|
57
|
+
name: Automated Code Review
|
|
58
|
+
|
|
59
|
+
on:
|
|
60
|
+
pull_request:
|
|
61
|
+
types: [opened, synchronize]
|
|
62
|
+
|
|
63
|
+
jobs:
|
|
64
|
+
automated-review:
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
steps:
|
|
67
|
+
- uses: actions/checkout@v3
|
|
68
|
+
|
|
69
|
+
- name: Run Code Review Skill
|
|
70
|
+
run: |
|
|
71
|
+
# Skill provides automation scripts
|
|
72
|
+
bash .claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh
|
|
73
|
+
|
|
74
|
+
- name: Security Review
|
|
75
|
+
run: |
|
|
76
|
+
python .claude/skills/moai-alfred-code-reviewer/scripts/security_review.py src/
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Example 4: Team Review Standards
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
# Setting up team review standards
|
|
83
|
+
Skill("moai-alfred-code-reviewer")
|
|
84
|
+
|
|
85
|
+
# Provides templates for:
|
|
86
|
+
# 1. Review checklist customization
|
|
87
|
+
# 2. Comment templates by severity
|
|
88
|
+
# 3. Review metrics tracking
|
|
89
|
+
# 4. Quality gates automation
|
|
90
|
+
|
|
91
|
+
# Custom checklist example:
|
|
92
|
+
## Frontend Review Standards
|
|
93
|
+
- [ ] Component follows design system
|
|
94
|
+
- [ ] Accessibility (WCAG 2.1) compliance
|
|
95
|
+
- [ ] Performance metrics met (Lighthouse score > 90)
|
|
96
|
+
- [ ] Responsive design tested
|
|
97
|
+
- [ ] Cross-browser compatibility verified
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Example 5: Review Quality Metrics
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
# Track review quality over time
|
|
104
|
+
Skill("moai-alfred-code-reviewer")
|
|
105
|
+
|
|
106
|
+
# Provides metrics calculation:
|
|
107
|
+
# - Review coverage percentage
|
|
108
|
+
# - Average review time
|
|
109
|
+
# - Issue detection rate
|
|
110
|
+
# - Reviewer consistency
|
|
111
|
+
|
|
112
|
+
# Example metrics dashboard:
|
|
113
|
+
Review Coverage: 95% ✅
|
|
114
|
+
Average Review Time: 4.2 hours
|
|
115
|
+
Critical Issues Found: 12
|
|
116
|
+
Quality Score: 8.7/10
|
|
117
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Pre-review automation script for code quality checks
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "🔍 Running automated code review checks..."
|
|
7
|
+
|
|
8
|
+
# Check if we're in a git repository
|
|
9
|
+
if ! git rev-parse --git-dir > /dev/null 2>&1; then
|
|
10
|
+
echo "❌ Not in a git repository"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
# Test Coverage Check (if pytest available)
|
|
15
|
+
if command -v pytest &> /dev/null; then
|
|
16
|
+
echo "📊 Checking test coverage..."
|
|
17
|
+
if pytest --cov=src --cov-fail-under=85 --cov-report=term-missing 2>/dev/null; then
|
|
18
|
+
echo "✅ Test coverage meets requirements"
|
|
19
|
+
else
|
|
20
|
+
echo "⚠️ Test coverage below 85% or pytest configuration missing"
|
|
21
|
+
fi
|
|
22
|
+
else
|
|
23
|
+
echo "⚠️ pytest not available, skipping coverage check"
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
# Code Quality Checks (if ruff available)
|
|
27
|
+
if command -v ruff &> /dev/null; then
|
|
28
|
+
echo "🧹 Running ruff linter..."
|
|
29
|
+
if ruff check src/ --show-source; then
|
|
30
|
+
echo "✅ Ruff checks passed"
|
|
31
|
+
else
|
|
32
|
+
echo "⚠️ Ruff found issues"
|
|
33
|
+
fi
|
|
34
|
+
else
|
|
35
|
+
echo "⚠️ ruff not available, skipping linting"
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# Type checking (if mypy available)
|
|
39
|
+
if command -v mypy &> /dev/null; then
|
|
40
|
+
echo "🔍 Running type checks..."
|
|
41
|
+
if mypy src/ --strict 2>/dev/null; then
|
|
42
|
+
echo "✅ Type checks passed"
|
|
43
|
+
else
|
|
44
|
+
echo "⚠️ Type checking found issues"
|
|
45
|
+
fi
|
|
46
|
+
else
|
|
47
|
+
echo "⚠️ mypy not available, skipping type checking"
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# Security Scanning (if bandit available)
|
|
51
|
+
if command -v bandit &> /dev/null; then
|
|
52
|
+
echo "🔒 Scanning for security issues..."
|
|
53
|
+
if bandit -r src/ -f json -o bandit-report.json 2>/dev/null; then
|
|
54
|
+
echo "✅ Security scan completed"
|
|
55
|
+
else
|
|
56
|
+
echo "⚠️ Security scanner found issues or failed to run"
|
|
57
|
+
fi
|
|
58
|
+
else
|
|
59
|
+
echo "⚠️ bandit not available, skipping security scan"
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
echo "🎉 Automated review checks completed!"
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-alfred-config-schema
|
|
3
|
+
description: ".moai/config.json official schema documentation, structure validation, project metadata, language settings, and configuration migration guide. Use when setting up project configuration or understanding config.json structure."
|
|
4
|
+
allowed-tools: "Read, Grep"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What It Does
|
|
8
|
+
|
|
9
|
+
`.moai/config.json` 파일의 공식 스키마와 각 필드의 목적, 유효한 값, 마이그레이션 규칙을 정의합니다.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- ✅ Project 초기화 후 config.json 설정
|
|
14
|
+
- ✅ config.json 스키마 이해
|
|
15
|
+
- ✅ Language settings, git strategy, TAG configuration 변경
|
|
16
|
+
- ✅ Legacy config 마이그레이션
|
|
17
|
+
|
|
18
|
+
## Schema Overview
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"version": "0.17.0",
|
|
23
|
+
"project": {
|
|
24
|
+
"name": "ProjectName",
|
|
25
|
+
"codebase_language": "python",
|
|
26
|
+
"conversation_language": "ko",
|
|
27
|
+
"conversation_language_name": "Korean"
|
|
28
|
+
},
|
|
29
|
+
"language": {
|
|
30
|
+
"conversation_language": "ko",
|
|
31
|
+
"conversation_language_name": "Korean"
|
|
32
|
+
},
|
|
33
|
+
"git": {
|
|
34
|
+
"strategy": "github-pr",
|
|
35
|
+
"main_branch": "main",
|
|
36
|
+
"protected": true,
|
|
37
|
+
"auto_delete_branches": true,
|
|
38
|
+
"spec_git_workflow": "feature_branch"
|
|
39
|
+
},
|
|
40
|
+
"report_generation": {
|
|
41
|
+
"enabled": true,
|
|
42
|
+
"auto_create": false,
|
|
43
|
+
"warn_user": true
|
|
44
|
+
},
|
|
45
|
+
"tag": {
|
|
46
|
+
"prefix_style": "DOMAIN-###"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Top-Level Sections
|
|
52
|
+
|
|
53
|
+
- **version**: Configuration version (do not edit)
|
|
54
|
+
- **project**: Name, codebase language, conversation language
|
|
55
|
+
- **language**: Multi-language support settings
|
|
56
|
+
- **git**: GitHub workflow strategy, branch auto-cleanup, SPEC workflow mode
|
|
57
|
+
- **report_generation**: Document generation frequency control (v0.17.0+)
|
|
58
|
+
- **tag**: TAG system configuration
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## v0.17.0 New Features
|
|
63
|
+
|
|
64
|
+
### 1. Report Generation Control
|
|
65
|
+
|
|
66
|
+
**Section**: `report_generation` (new in v0.17.0)
|
|
67
|
+
|
|
68
|
+
Controls automatic document generation frequency to manage token usage:
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"report_generation": {
|
|
73
|
+
"enabled": true,
|
|
74
|
+
"auto_create": false,
|
|
75
|
+
"warn_user": true,
|
|
76
|
+
"user_choice": "Minimal",
|
|
77
|
+
"allowed_locations": [
|
|
78
|
+
".moai/docs/",
|
|
79
|
+
".moai/reports/",
|
|
80
|
+
".moai/analysis/",
|
|
81
|
+
".moai/specs/SPEC-*/"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Fields**:
|
|
88
|
+
- `enabled` (boolean): Turn report generation on/off (0 tokens when disabled)
|
|
89
|
+
- `auto_create` (boolean): Auto-create full reports vs essential only
|
|
90
|
+
- `warn_user` (boolean): Show token/time warnings in surveys
|
|
91
|
+
- `user_choice` (string): User's selected level (Enable/Minimal/Disable)
|
|
92
|
+
- `allowed_locations` (array): Where auto-generated reports are placed
|
|
93
|
+
|
|
94
|
+
**Token Savings**:
|
|
95
|
+
- Enable (full reports): 50-60 tokens per report
|
|
96
|
+
- Minimal (essential only): 20-30 tokens per report
|
|
97
|
+
- Disable (no reports): 0 tokens (100% savings)
|
|
98
|
+
|
|
99
|
+
### 2. SPEC Git Workflow Mode (Team Mode)
|
|
100
|
+
|
|
101
|
+
**Section**: `git.spec_git_workflow` (new in v0.17.0)
|
|
102
|
+
|
|
103
|
+
Controls how features are developed in team mode:
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"git": {
|
|
108
|
+
"spec_git_workflow": "feature_branch"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Valid Values**:
|
|
114
|
+
1. **`feature_branch`** (recommended for team mode)
|
|
115
|
+
- Create feature/SPEC-{ID} branch
|
|
116
|
+
- PR to develop with review
|
|
117
|
+
- Auto-merge after approval
|
|
118
|
+
|
|
119
|
+
2. **`develop_direct`** (recommended for rapid development)
|
|
120
|
+
- Skip branching, commit directly to develop
|
|
121
|
+
- No PR review needed
|
|
122
|
+
- Fastest path to integration
|
|
123
|
+
|
|
124
|
+
3. **`per_spec`** (maximum flexibility)
|
|
125
|
+
- Ask user per SPEC which workflow to use
|
|
126
|
+
- Combine both approaches in single project
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
Learn more in `reference.md` for complete schema reference, validation rules, and migration examples.
|
|
131
|
+
|
|
132
|
+
**Related Skills**: moai-foundation-git, moai-foundation-specs
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Config.json Examples
|
|
2
|
+
|
|
3
|
+
## Example: Korean Project Setup
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"version": "0.7.0",
|
|
8
|
+
"project": {
|
|
9
|
+
"name": "MyKoreanProject",
|
|
10
|
+
"codebase_language": "python",
|
|
11
|
+
"conversation_language": "ko",
|
|
12
|
+
"conversation_language_name": "Korean"
|
|
13
|
+
},
|
|
14
|
+
"language": {
|
|
15
|
+
"conversation_language": "ko",
|
|
16
|
+
"conversation_language_name": "Korean"
|
|
17
|
+
},
|
|
18
|
+
"git": {
|
|
19
|
+
"strategy": "github-pr",
|
|
20
|
+
"main_branch": "main",
|
|
21
|
+
"protected": true
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
Learn more in `reference.md`.
|