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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Project Template Optimizer
|
|
2
|
+
|
|
3
|
+
Handle template comparison and optimization workflows including backup detection, smart merging, and update completion reporting.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Manages intelligent template comparison and optimization workflows, detecting existing backups, comparing template versions, and performing smart merges that preserve user customizations while maintaining the latest template structure.
|
|
8
|
+
|
|
9
|
+
## Core Workflow
|
|
10
|
+
|
|
11
|
+
1. **Backup Discovery** - Find and analyze existing project backups
|
|
12
|
+
2. **Template Comparison** - Compare current files with backup and package templates
|
|
13
|
+
3. **Smart Merge** - Preserve user customizations while applying template updates
|
|
14
|
+
4. **Update Completion** - Report changes and maintain synchronization
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
- After moai-adk version updates
|
|
19
|
+
- When template conflicts are detected
|
|
20
|
+
- During project optimization workflows
|
|
21
|
+
- When synchronizing local and package templates
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Run template optimization
|
|
27
|
+
Skill("moai-project-template-optimizer")
|
|
28
|
+
|
|
29
|
+
# Alfred will:
|
|
30
|
+
# 1. Scan for backups in .moai-backups/
|
|
31
|
+
# 2. Compare template versions
|
|
32
|
+
# 3. Propose smart merge strategy
|
|
33
|
+
# 4. Execute with user approval
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- **Automatic Backup Detection** - Finds existing project backups
|
|
39
|
+
- **Intelligent Comparison** - Analyzes differences between versions
|
|
40
|
+
- **Smart Merging** - Preserves user customizations
|
|
41
|
+
- **Conflict Resolution** - Handles template vs user content conflicts
|
|
42
|
+
- **Update Reporting** - Comprehensive change documentation
|
|
43
|
+
|
|
44
|
+
## Files Structure
|
|
45
|
+
|
|
46
|
+
- `SKILL.md` - Complete workflow documentation
|
|
47
|
+
- `examples.md` - Practical usage examples
|
|
48
|
+
- `reference.md` - Technical implementation details
|
|
49
|
+
- `README.md` - This overview
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-project-template-optimizer
|
|
3
|
+
description: Handle template comparison and optimization workflows including backup detection, smart merging, and update completion reporting
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
freedom: medium
|
|
6
|
+
type: project
|
|
7
|
+
tags: [project, template, optimization, backup, merge, comparison]
|
|
8
|
+
tier: alfred
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# MoAI Project Template Optimizer
|
|
12
|
+
|
|
13
|
+
This skill manages intelligent template comparison and optimization workflows, detecting existing backups, comparing template versions, and performing smart merges that preserve user customizations while maintaining the latest template structure.
|
|
14
|
+
|
|
15
|
+
## Core Responsibility
|
|
16
|
+
|
|
17
|
+
Handle comprehensive template optimization workflows including:
|
|
18
|
+
- Backup discovery and analysis in `.moai-backups/` directory
|
|
19
|
+
- Template comparison between current files and backup versions
|
|
20
|
+
- Smart merge procedures that preserve user customizations
|
|
21
|
+
- Template default detection and user content extraction
|
|
22
|
+
- Version management and HISTORY section updates
|
|
23
|
+
- Configuration updates with optimization flags
|
|
24
|
+
- Rollback capability and restore operations
|
|
25
|
+
|
|
26
|
+
## Workflow Phases
|
|
27
|
+
|
|
28
|
+
### Phase 1: Backup Discovery & Analysis
|
|
29
|
+
|
|
30
|
+
**Purpose**: Automatically discover and analyze existing project backups
|
|
31
|
+
**Trigger**: Skill invocation or moai-adk version update detection
|
|
32
|
+
|
|
33
|
+
**Process**:
|
|
34
|
+
1. **Backup Directory Scan**
|
|
35
|
+
```bash
|
|
36
|
+
# Check for .moai-backups/ directory
|
|
37
|
+
if [ -d ".moai-backups/" ]; then
|
|
38
|
+
# List available backups with timestamps
|
|
39
|
+
ls -la .moai-backups/ | grep "backup-"
|
|
40
|
+
fi
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
2. **Backup Content Analysis**
|
|
44
|
+
- Read backup metadata and configuration files
|
|
45
|
+
- Identify template files vs user customizations
|
|
46
|
+
- Analyze backup creation timestamps and versions
|
|
47
|
+
- Detect backup completeness and integrity
|
|
48
|
+
|
|
49
|
+
3. **Backup Selection Strategy**
|
|
50
|
+
- Most recent backup (default)
|
|
51
|
+
- User-specified backup version
|
|
52
|
+
- Backup with specific features or configurations
|
|
53
|
+
|
|
54
|
+
### Phase 2: Template Comparison Engine
|
|
55
|
+
|
|
56
|
+
**Purpose**: Detect differences between current templates and backup versions
|
|
57
|
+
**Method**: Intelligent file comparison with template-aware parsing
|
|
58
|
+
|
|
59
|
+
**Comparison Matrix**:
|
|
60
|
+
```
|
|
61
|
+
File Type | Comparison Strategy | Merge Priority
|
|
62
|
+
------------------ | ----------------------- | --------------
|
|
63
|
+
.claude/settings.json | Structured JSON diff | Template defaults
|
|
64
|
+
.moai/config.json | User config preservation | User customizations
|
|
65
|
+
CLAUDE.md | Section-based diff | User content
|
|
66
|
+
Hook files | Code-aware diff | Template updates
|
|
67
|
+
Skills | Content analysis | Template defaults
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Difference Detection**:
|
|
71
|
+
1. **Template Default Detection**: Identify original template content
|
|
72
|
+
2. **User Customization Extraction**: Isolate user modifications
|
|
73
|
+
3. **Version Compatibility Check**: Ensure merge compatibility
|
|
74
|
+
4. **Conflict Identification**: Flag unresolvable differences
|
|
75
|
+
|
|
76
|
+
### Phase 3: Smart Merge Algorithm
|
|
77
|
+
|
|
78
|
+
**Purpose**: Preserve user customizations while updating template structure
|
|
79
|
+
**Strategy**: Three-way merge with intelligence
|
|
80
|
+
|
|
81
|
+
**Merge Process**:
|
|
82
|
+
1. **Extraction Phase**
|
|
83
|
+
```python
|
|
84
|
+
# Extract user customizations from backup
|
|
85
|
+
user_customizations = extract_user_content(backup_files)
|
|
86
|
+
|
|
87
|
+
# Get latest template defaults
|
|
88
|
+
template_defaults = get_current_templates()
|
|
89
|
+
|
|
90
|
+
# Analyze current project state
|
|
91
|
+
current_state = analyze_current_project()
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
2. **Merge Strategy**
|
|
95
|
+
- **Template defaults**: Always use latest template version
|
|
96
|
+
- **User configurations**: Preserve from backup with compatibility updates
|
|
97
|
+
- **Custom content**: Extract and merge with new structure
|
|
98
|
+
- **Deprecated features**: Flag and offer migration options
|
|
99
|
+
|
|
100
|
+
3. **Conflict Resolution**
|
|
101
|
+
- Template conflicts: Prefer latest template
|
|
102
|
+
- User config conflicts: Preserve user choice with warnings
|
|
103
|
+
- Structural conflicts: Create merge report with resolution options
|
|
104
|
+
|
|
105
|
+
### Phase 4: Template Default Detection
|
|
106
|
+
|
|
107
|
+
**Purpose**: Identify and preserve only non-template content during updates
|
|
108
|
+
**Method**: Pattern recognition and content analysis
|
|
109
|
+
|
|
110
|
+
**Detection Patterns**:
|
|
111
|
+
```
|
|
112
|
+
Template Indicators | User Content Indicators
|
|
113
|
+
---------------------------- | -------------------------
|
|
114
|
+
"{{PROJECT_NAME}}" | Specific project names
|
|
115
|
+
"{{CONVERSATION_LANGUAGE}}" | Actual language codes
|
|
116
|
+
"src/moai_adk/templates/" | Custom file paths
|
|
117
|
+
Template placeholders | Real configuration values
|
|
118
|
+
Default examples | Custom implementations
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Content Classification**:
|
|
122
|
+
1. **Template Content**: Default placeholders, examples, standard structure
|
|
123
|
+
2. **User Content**: Custom configurations, specific implementations, personal settings
|
|
124
|
+
3. **Mixed Content**: Template files with user modifications (requires careful extraction)
|
|
125
|
+
|
|
126
|
+
### Phase 5: Version Management & History
|
|
127
|
+
|
|
128
|
+
**Purpose**: Maintain version tracking and update history sections
|
|
129
|
+
**Output**: Comprehensive update reports and history tracking
|
|
130
|
+
|
|
131
|
+
**Version Tracking**:
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"template_version": "0.17.0",
|
|
135
|
+
"previous_version": "0.16.0",
|
|
136
|
+
"update_timestamp": "2025-11-05T12:00:00Z",
|
|
137
|
+
"backup_used": "backup-2025-10-15-v0.16.0",
|
|
138
|
+
"optimization_applied": true
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**HISTORY Section Updates**:
|
|
143
|
+
- Document template version changes
|
|
144
|
+
- Track optimization procedures applied
|
|
145
|
+
- Record user customizations preserved
|
|
146
|
+
- Note any manual interventions required
|
|
147
|
+
|
|
148
|
+
### Phase 6: Configuration Updates
|
|
149
|
+
|
|
150
|
+
**Purpose**: Update project configuration with optimization flags and metadata
|
|
151
|
+
**Target**: `.moai/config.json` and related configuration files
|
|
152
|
+
|
|
153
|
+
**Optimization Configuration**:
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"template_optimization": {
|
|
157
|
+
"last_optimized": "2025-11-05T12:00:00Z",
|
|
158
|
+
"backup_version": "backup-2025-10-15-v0.16.0",
|
|
159
|
+
"template_version": "0.17.0",
|
|
160
|
+
"customizations_preserved": ["language", "team_settings", "domains"],
|
|
161
|
+
"optimization_flags": {
|
|
162
|
+
"merge_applied": true,
|
|
163
|
+
"conflicts_resolved": 0,
|
|
164
|
+
"user_content_extracted": true
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Usage Patterns
|
|
171
|
+
|
|
172
|
+
### Standard Template Optimization
|
|
173
|
+
```python
|
|
174
|
+
# Complete optimization workflow
|
|
175
|
+
Skill("moai-project-template-optimizer")
|
|
176
|
+
|
|
177
|
+
# Executes: Backup Discovery → Template Comparison → Smart Merge → Configuration Update
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Backup Analysis Only
|
|
181
|
+
```python
|
|
182
|
+
# Analyze existing backups without making changes
|
|
183
|
+
Skill("moai-project-template-optimizer", mode="analyze_only")
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Specific Backup Restoration
|
|
187
|
+
```python
|
|
188
|
+
# Restore from specific backup
|
|
189
|
+
Skill("moai-project-template-optimizer",
|
|
190
|
+
mode="restore",
|
|
191
|
+
backup="backup-2025-10-15-v0.16.0")
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Rollback Operation
|
|
195
|
+
```python
|
|
196
|
+
# Rollback to previous state
|
|
197
|
+
Skill("moai-project-template-optimizer", mode="rollback")
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Error Handling & Validation
|
|
201
|
+
|
|
202
|
+
### Backup Validation
|
|
203
|
+
- Backup directory existence and accessibility
|
|
204
|
+
- Backup file integrity and completeness
|
|
205
|
+
- Version compatibility checks
|
|
206
|
+
- Required file presence validation
|
|
207
|
+
|
|
208
|
+
### Merge Validation
|
|
209
|
+
- Template version compatibility matrix
|
|
210
|
+
- User configuration validation
|
|
211
|
+
- File permission and accessibility checks
|
|
212
|
+
- Dependency verification for updated templates
|
|
213
|
+
|
|
214
|
+
### Rollback Validation
|
|
215
|
+
- Rollback point availability
|
|
216
|
+
- State restoration verification
|
|
217
|
+
- Configuration consistency checks
|
|
218
|
+
- Error recovery mechanisms
|
|
219
|
+
|
|
220
|
+
## Integration Points
|
|
221
|
+
|
|
222
|
+
### With Alfred Commands
|
|
223
|
+
- `/alfred:0-project`: Post-initialization template optimization
|
|
224
|
+
- `/alfred:3-sync`: Template synchronization after updates
|
|
225
|
+
- moai-adk update workflows: Automatic optimization triggers
|
|
226
|
+
|
|
227
|
+
### With Other Skills
|
|
228
|
+
- `moai-alfred-autofixes`: Uses auto-fix safety protocols
|
|
229
|
+
- `moai-project-language-initializer`: Preserves language configurations
|
|
230
|
+
- `moai-alfred-ask-user-questions`: User confirmation workflows
|
|
231
|
+
|
|
232
|
+
### With Package Templates
|
|
233
|
+
- Template source: `src/moai_adk/templates/`
|
|
234
|
+
- Synchronization: Local project paths
|
|
235
|
+
- Version tracking: Template version management
|
|
236
|
+
|
|
237
|
+
## Best Practices
|
|
238
|
+
|
|
239
|
+
### For Template Updates
|
|
240
|
+
- Always create backup before optimization
|
|
241
|
+
- Verify user customizations preservation
|
|
242
|
+
- Test merge results before finalizing
|
|
243
|
+
- Document all changes for audit trail
|
|
244
|
+
|
|
245
|
+
### For Backup Management
|
|
246
|
+
- Regular backup creation schedules
|
|
247
|
+
- Automated cleanup of old backups
|
|
248
|
+
- Backup integrity verification
|
|
249
|
+
- Version labeling consistency
|
|
250
|
+
|
|
251
|
+
### For User Experience
|
|
252
|
+
- Clear progress reporting during optimization
|
|
253
|
+
- Detailed before/after analysis reports
|
|
254
|
+
- User confirmation for major changes
|
|
255
|
+
- Rollback options always available
|
|
256
|
+
|
|
257
|
+
## Performance Optimizations
|
|
258
|
+
|
|
259
|
+
### Efficient Comparison
|
|
260
|
+
- Hash-based file comparison for speed
|
|
261
|
+
- Incremental backup analysis
|
|
262
|
+
- Parallel file processing for large projects
|
|
263
|
+
- Caching of template default patterns
|
|
264
|
+
|
|
265
|
+
### Smart Merge Optimization
|
|
266
|
+
- Conflict prediction and prevention
|
|
267
|
+
- User customization pattern caching
|
|
268
|
+
- Template version compatibility matrix
|
|
269
|
+
- Merge operation batching
|
|
270
|
+
|
|
271
|
+
## Reporting & Analytics
|
|
272
|
+
|
|
273
|
+
### Optimization Reports
|
|
274
|
+
```
|
|
275
|
+
Template Optimization Report
|
|
276
|
+
Generated: 2025-11-05T12:00:00Z
|
|
277
|
+
|
|
278
|
+
Backup Analysis:
|
|
279
|
+
- Backups found: 3
|
|
280
|
+
- Selected backup: backup-2025-10-15-v0.16.0
|
|
281
|
+
- Backup integrity: 100%
|
|
282
|
+
|
|
283
|
+
Template Comparison:
|
|
284
|
+
- Files compared: 47
|
|
285
|
+
- Differences found: 12
|
|
286
|
+
- Conflicts detected: 0
|
|
287
|
+
|
|
288
|
+
Smart Merge Results:
|
|
289
|
+
- User customizations preserved: 8
|
|
290
|
+
- Template updates applied: 12
|
|
291
|
+
- Files modified: 15
|
|
292
|
+
|
|
293
|
+
Configuration Updates:
|
|
294
|
+
- Optimization flags set: true
|
|
295
|
+
- Version tracking updated: true
|
|
296
|
+
- History section updated: true
|
|
297
|
+
|
|
298
|
+
Performance:
|
|
299
|
+
- Total time: 2.3 seconds
|
|
300
|
+
- Success rate: 100%
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Analytics Tracking
|
|
304
|
+
- Optimization frequency and success rates
|
|
305
|
+
- Common customization patterns
|
|
306
|
+
- Template update adoption metrics
|
|
307
|
+
- User satisfaction indicators
|
|
308
|
+
|
|
309
|
+
## Implementation Notes
|
|
310
|
+
|
|
311
|
+
This skill consolidates complex template optimization workflows into a focused, intelligent system that:
|
|
312
|
+
|
|
313
|
+
- **Reduces complexity**: From 700+ lines to optimized skill implementation
|
|
314
|
+
- **Improves reliability**: Automated backup and merge procedures
|
|
315
|
+
- **Enhances user experience**: Smart customization preservation
|
|
316
|
+
- **Maintains traceability**: Comprehensive version tracking and reporting
|
|
317
|
+
- **Provides flexibility**: Multiple operation modes and rollback options
|
|
318
|
+
|
|
319
|
+
The skill serves as the foundation for template lifecycle management and can be extended with additional optimization patterns as template structures evolve.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Examples
|
|
2
|
+
|
|
3
|
+
## Template Optimization Workflow
|
|
4
|
+
|
|
5
|
+
### Basic Template Comparison
|
|
6
|
+
```bash
|
|
7
|
+
# Detect available backups
|
|
8
|
+
ls -la .moai-backups/
|
|
9
|
+
# backup-20251105-143022.tar.gz
|
|
10
|
+
|
|
11
|
+
# Start optimization workflow
|
|
12
|
+
Skill("moai-project-template-optimizer")
|
|
13
|
+
|
|
14
|
+
# Alfred will:
|
|
15
|
+
# 1. Detect backup files
|
|
16
|
+
# 2. Compare with current templates
|
|
17
|
+
# 3. Identify differences
|
|
18
|
+
# 4. Propose smart merge strategy
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Smart Merge Example
|
|
22
|
+
```python
|
|
23
|
+
# Template optimization decision process
|
|
24
|
+
def optimize_templates():
|
|
25
|
+
backup = find_latest_backup()
|
|
26
|
+
current = read_current_templates()
|
|
27
|
+
package = read_package_templates()
|
|
28
|
+
|
|
29
|
+
# Analyze differences
|
|
30
|
+
differences = compare_all(backup, current, package)
|
|
31
|
+
|
|
32
|
+
# Smart merge strategy
|
|
33
|
+
for diff in differences:
|
|
34
|
+
if diff.type == "user_customization":
|
|
35
|
+
# Preserve user changes
|
|
36
|
+
preserve_user_content(diff)
|
|
37
|
+
elif diff.type == "template_update":
|
|
38
|
+
# Apply package template updates
|
|
39
|
+
apply_template_update(diff)
|
|
40
|
+
elif diff.type == "conflict":
|
|
41
|
+
# Ask user for resolution
|
|
42
|
+
resolve_with_user_input(diff)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Backup Analysis Example
|
|
46
|
+
```
|
|
47
|
+
Detected backup: backup-20251105-143022.tar.gz
|
|
48
|
+
Created: 2025-11-05 14:30:22
|
|
49
|
+
Size: 2.4MB
|
|
50
|
+
Contents: 15 files, 3 directories
|
|
51
|
+
|
|
52
|
+
Analysis:
|
|
53
|
+
- 5 files have user customizations
|
|
54
|
+
- 3 files need template updates
|
|
55
|
+
- 2 files have conflicts requiring resolution
|
|
56
|
+
|
|
57
|
+
Recommended action: Smart merge with user confirmation
|
|
58
|
+
```
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Reference
|
|
2
|
+
|
|
3
|
+
## Template Optimization Process
|
|
4
|
+
|
|
5
|
+
### Phase 1: Backup Discovery
|
|
6
|
+
```bash
|
|
7
|
+
# Find backup files
|
|
8
|
+
find .moai-backups/ -name "backup-*.tar.gz" -type f
|
|
9
|
+
|
|
10
|
+
# Analyze backup contents
|
|
11
|
+
tar -tzf backup-20251105-143022.tar.gz | head -20
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Phase 2: Comparison Analysis
|
|
15
|
+
```python
|
|
16
|
+
def compare_templates(backup_path, current_path, package_path):
|
|
17
|
+
"""Compare template versions"""
|
|
18
|
+
|
|
19
|
+
comparison = {
|
|
20
|
+
"backup_only": [], # Files only in backup
|
|
21
|
+
"current_only": [], # Files only in current
|
|
22
|
+
"package_only": [], # Files only in package
|
|
23
|
+
"all_three": [], # Files in all versions
|
|
24
|
+
"differences": [] # Files with content differences
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Perform detailed comparison
|
|
28
|
+
# ... comparison logic
|
|
29
|
+
|
|
30
|
+
return comparison
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Phase 3: Smart Merge Strategy
|
|
34
|
+
```python
|
|
35
|
+
def smart_merge_strategy(comparison_result):
|
|
36
|
+
"""Determine optimal merge approach"""
|
|
37
|
+
|
|
38
|
+
strategy = {
|
|
39
|
+
"preserve_user": [], # Keep user customizations
|
|
40
|
+
"update_template": [], # Apply template updates
|
|
41
|
+
"resolve_conflict": [] # Need user input
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
for file_info in comparison_result.differences:
|
|
45
|
+
if file_info.has_user_customizations:
|
|
46
|
+
if file_info.template_has_updates:
|
|
47
|
+
strategy["resolve_conflict"].append(file_info)
|
|
48
|
+
else:
|
|
49
|
+
strategy["preserve_user"].append(file_info)
|
|
50
|
+
else:
|
|
51
|
+
strategy["update_template"].append(file_info)
|
|
52
|
+
|
|
53
|
+
return strategy
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Integration Points
|
|
57
|
+
|
|
58
|
+
### With Alfred Commands
|
|
59
|
+
- `/alfred:0-project` - Initial project setup optimization
|
|
60
|
+
- Template updates - Automatic detection and optimization
|
|
61
|
+
- Version upgrades - Template migration workflows
|
|
62
|
+
|
|
63
|
+
### With Template System
|
|
64
|
+
- Package templates - Source of truth for latest versions
|
|
65
|
+
- Local templates - User customizations and modifications
|
|
66
|
+
- Backup system - Rollback and recovery capabilities
|
|
67
|
+
|
|
68
|
+
## File Locations
|
|
69
|
+
|
|
70
|
+
### Template Paths
|
|
71
|
+
- **Package Templates**: `src/moai_adk/templates/.claude/`
|
|
72
|
+
- **Local Templates**: `.claude/`
|
|
73
|
+
- **Backup Storage**: `.moai-backups/`
|
|
74
|
+
|
|
75
|
+
### Critical Files to Monitor
|
|
76
|
+
- `.claude/settings.json` - Claude Code configuration
|
|
77
|
+
- `.claude/hooks/` - Hook scripts
|
|
78
|
+
- `.moai/config.json` - MoAI project configuration
|
|
79
|
+
- Template directories and files
|
|
80
|
+
|
|
81
|
+
## Conflict Resolution Patterns
|
|
82
|
+
|
|
83
|
+
### User Customizations vs Template Updates
|
|
84
|
+
```python
|
|
85
|
+
def resolve_template_conflict(file_path, backup_content, current_content, template_content):
|
|
86
|
+
"""Resolve conflicts between user customizations and template updates"""
|
|
87
|
+
|
|
88
|
+
# Identify user customizations
|
|
89
|
+
user_changes = diff_files(backup_content, current_content)
|
|
90
|
+
|
|
91
|
+
# Identify template updates
|
|
92
|
+
template_changes = diff_files(backup_content, template_content)
|
|
93
|
+
|
|
94
|
+
# Check for conflicts
|
|
95
|
+
conflicts = find_conflicts(user_changes, template_changes)
|
|
96
|
+
|
|
97
|
+
if not conflicts:
|
|
98
|
+
# No conflicts - merge both
|
|
99
|
+
return merge_changes(current_content, template_changes)
|
|
100
|
+
else:
|
|
101
|
+
# Conflicts exist - need user input
|
|
102
|
+
return request_user_resolution(file_path, conflicts)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Configuration File Merging
|
|
106
|
+
```python
|
|
107
|
+
def merge_config_files(backup_config, current_config, template_config):
|
|
108
|
+
"""Smart merge for configuration files"""
|
|
109
|
+
|
|
110
|
+
merged = {}
|
|
111
|
+
|
|
112
|
+
# Preserve user settings
|
|
113
|
+
for key, value in current_config.items():
|
|
114
|
+
if key not in template_config or current_config[key] != template_config[key]:
|
|
115
|
+
merged[key] = value
|
|
116
|
+
|
|
117
|
+
# Add new template settings
|
|
118
|
+
for key, value in template_config.items():
|
|
119
|
+
if key not in merged:
|
|
120
|
+
merged[key] = value
|
|
121
|
+
|
|
122
|
+
return merged
|
|
123
|
+
```
|