moai-adk 0.15.0__py3-none-any.whl → 0.25.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +1 -2
- moai_adk/__main__.py +85 -2
- moai_adk/cli/__init__.py +0 -1
- moai_adk/cli/commands/__init__.py +0 -1
- moai_adk/cli/commands/analyze.py +127 -0
- moai_adk/cli/commands/backup.py +5 -3
- moai_adk/cli/commands/doctor.py +35 -11
- moai_adk/cli/commands/improve_user_experience.py +348 -0
- moai_adk/cli/commands/init.py +150 -23
- moai_adk/cli/commands/language.py +269 -0
- moai_adk/cli/commands/migrate.py +158 -0
- moai_adk/cli/commands/status.py +13 -12
- moai_adk/cli/commands/update.py +364 -60
- moai_adk/cli/commands/validate_links.py +118 -0
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +79 -82
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +439 -0
- moai_adk/core/claude_integration.py +421 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +346 -0
- moai_adk/core/config/migration.py +133 -12
- moai_adk/core/context_manager.py +279 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/error_recovery_system.py +1289 -0
- moai_adk/core/git/__init__.py +0 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +4 -4
- moai_adk/core/git/checkpoint.py +1 -5
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +0 -1
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +169 -0
- moai_adk/core/integration/integration_tester.py +225 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +28 -18
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_validator.py +556 -0
- moai_adk/core/mcp/setup.py +113 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/backup_manager.py +208 -0
- moai_adk/core/migration/file_migrator.py +218 -0
- moai_adk/core/migration/version_detector.py +143 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +318 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +3 -3
- moai_adk/core/project/detector.py +20 -40
- moai_adk/core/project/initializer.py +42 -17
- moai_adk/core/project/phase_executor.py +415 -58
- moai_adk/core/project/validator.py +6 -25
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +64 -110
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/rollback_manager.py +993 -0
- moai_adk/core/session_manager.py +667 -0
- moai_adk/core/spec/confidence_scoring.py +749 -0
- moai_adk/core/spec/ears_template_engine.py +1182 -0
- moai_adk/core/spec/quality_validator.py +721 -0
- moai_adk/core/spec_status_manager.py +488 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +41 -1
- moai_adk/core/template/config.py +11 -12
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +79 -22
- moai_adk/core/template/processor.py +614 -40
- moai_adk/core/template_engine.py +36 -27
- moai_adk/foundation/git/commit_templates.py +565 -0
- moai_adk/foundation/trust/trust_principles.py +725 -0
- moai_adk/foundation/trust/validation_checklist.py +1678 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +107 -0
- moai_adk/statusline/config.py +364 -0
- moai_adk/statusline/enhanced_output_style_detector.py +364 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +228 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +327 -0
- moai_adk/statusline/update_checker.py +135 -0
- moai_adk/statusline/version_reader.py +647 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +116 -4
- moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +44 -0
- moai_adk/templates/.mcp.json +22 -0
- moai_adk/templates/CLAUDE.md +450 -1071
- moai_adk/utils/__init__.py +0 -1
- moai_adk/utils/banner.py +0 -1
- moai_adk/utils/common.py +308 -0
- moai_adk/utils/link_validator.py +249 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +210 -0
- moai_adk/utils/user_experience.py +531 -0
- moai_adk-0.25.4.dist-info/METADATA +2279 -0
- moai_adk-0.25.4.dist-info/RECORD +112 -0
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -392
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1525
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -802
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -709
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1009
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -136
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -161
- moai_adk/templates/.claude/settings.json +0 -144
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -128
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.0.dist-info/METADATA +0 -3079
- moai_adk-0.15.0.dist-info/RECORD +0 -365
- {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/WHEEL +0 -0
- {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,565 @@
|
|
|
1
|
+
"""
|
|
2
|
+
100 Commit Message Templates
|
|
3
|
+
|
|
4
|
+
Comprehensive collection of commit message templates:
|
|
5
|
+
- Feature templates
|
|
6
|
+
- Bug fix templates
|
|
7
|
+
- Documentation templates
|
|
8
|
+
- Performance templates
|
|
9
|
+
- Testing templates
|
|
10
|
+
- Maintenance templates
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from dataclasses import dataclass, field
|
|
14
|
+
from enum import Enum
|
|
15
|
+
from typing import Any, Dict, List, Optional
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class CommitCategory(Enum):
|
|
19
|
+
FEATURES = "features"
|
|
20
|
+
BUG_FIXES = "bug_fixes"
|
|
21
|
+
DOCUMENTATION = "documentation"
|
|
22
|
+
PERFORMANCE = "performance"
|
|
23
|
+
TESTING = "testing"
|
|
24
|
+
REFACTORING = "refactoring"
|
|
25
|
+
MAINTENANCE = "maintenance"
|
|
26
|
+
SECURITY = "security"
|
|
27
|
+
DEPENDENCIES = "dependencies"
|
|
28
|
+
DEPLOYMENT = "deployment"
|
|
29
|
+
CONFIGURATION = "configuration"
|
|
30
|
+
INFRASTRUCTURE = "infrastructure"
|
|
31
|
+
EXPERIMENTS = "experiments"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@dataclass
|
|
35
|
+
class CommitTemplate:
|
|
36
|
+
type: str
|
|
37
|
+
category: CommitCategory
|
|
38
|
+
pattern: str
|
|
39
|
+
description: str
|
|
40
|
+
examples: List[str] = field(default_factory=list)
|
|
41
|
+
keywords: List[str] = field(default_factory=list)
|
|
42
|
+
priority: int = 0
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class CommitTemplates:
|
|
46
|
+
"""100 comprehensive commit message templates"""
|
|
47
|
+
|
|
48
|
+
def __init__(self):
|
|
49
|
+
self.templates = {}
|
|
50
|
+
self.categories = {}
|
|
51
|
+
self._initialize_templates()
|
|
52
|
+
|
|
53
|
+
def _initialize_templates(self):
|
|
54
|
+
"""Initialize 100 commit message templates"""
|
|
55
|
+
# Feature templates (15)
|
|
56
|
+
feature_templates = [
|
|
57
|
+
CommitTemplate(
|
|
58
|
+
type="feat",
|
|
59
|
+
category=CommitCategory.FEATURES,
|
|
60
|
+
pattern="feat({scope}): {description}",
|
|
61
|
+
description="Add new feature",
|
|
62
|
+
examples=[
|
|
63
|
+
"feat(auth): Add user authentication with OAuth",
|
|
64
|
+
"feat(ui): Implement dark theme toggle",
|
|
65
|
+
"feat(api): Add user profile endpoints",
|
|
66
|
+
"feat(db): Add user preferences table",
|
|
67
|
+
"feat(notifications): Implement email notifications",
|
|
68
|
+
],
|
|
69
|
+
keywords=["add", "implement", "create", "new", "feature", "addition"],
|
|
70
|
+
),
|
|
71
|
+
CommitTemplate(
|
|
72
|
+
type="feat",
|
|
73
|
+
category=CommitCategory.FEATURES,
|
|
74
|
+
pattern="feat({scope}): Add {feature_name} functionality",
|
|
75
|
+
description="Add specific feature",
|
|
76
|
+
examples=[
|
|
77
|
+
"feat(auth): Add password reset functionality",
|
|
78
|
+
"feat(cart): Add discount coupon support",
|
|
79
|
+
"feat(search): Add advanced filtering",
|
|
80
|
+
"feat(profile): Add avatar upload",
|
|
81
|
+
"feat(settings): Add notification preferences",
|
|
82
|
+
],
|
|
83
|
+
keywords=["functionality", "capability", "support", "implement"],
|
|
84
|
+
),
|
|
85
|
+
CommitTemplate(
|
|
86
|
+
type="feat",
|
|
87
|
+
category=CommitCategory.FEATURES,
|
|
88
|
+
pattern="feat({scope}): Implement {feature_name} for {user_type}",
|
|
89
|
+
description="Implement feature for specific user type",
|
|
90
|
+
examples=[
|
|
91
|
+
"feat(admin): Implement dashboard analytics",
|
|
92
|
+
"feat(user): Implement personal dashboard",
|
|
93
|
+
"feat(guest): Implement public profile",
|
|
94
|
+
"feat(manager): Implement team management",
|
|
95
|
+
"feat(editor): Implement content editing",
|
|
96
|
+
],
|
|
97
|
+
keywords=["implement", "user", "role", "specific", "targeted"],
|
|
98
|
+
),
|
|
99
|
+
]
|
|
100
|
+
|
|
101
|
+
# Bug fix templates (15)
|
|
102
|
+
bug_fix_templates = [
|
|
103
|
+
CommitTemplate(
|
|
104
|
+
type="fix",
|
|
105
|
+
category=CommitCategory.BUG_FIXES,
|
|
106
|
+
pattern="fix({scope}): Fix {issue_description}",
|
|
107
|
+
description="Fix bug issue",
|
|
108
|
+
examples=[
|
|
109
|
+
"fix(auth): Fix login validation error",
|
|
110
|
+
"fix(ui): Fix responsive layout issue",
|
|
111
|
+
"fix(api): Fix error response format",
|
|
112
|
+
"fix(db): Fix query performance issue",
|
|
113
|
+
"fix(session): Fix session timeout problem",
|
|
114
|
+
],
|
|
115
|
+
keywords=["fix", "bug", "error", "issue", "problem", "resolve"],
|
|
116
|
+
),
|
|
117
|
+
CommitTemplate(
|
|
118
|
+
type="fix",
|
|
119
|
+
category=CommitCategory.BUG_FIXES,
|
|
120
|
+
pattern="fix({scope}): Resolve {issue_type} in {component}",
|
|
121
|
+
description="Resolve specific issue type",
|
|
122
|
+
examples=[
|
|
123
|
+
"fix(api): Resolve timeout in user service",
|
|
124
|
+
"fix(ui): Resolve layout issues in mobile",
|
|
125
|
+
"fix(db): Resolve connection pooling",
|
|
126
|
+
"fix(auth): Resolve token validation",
|
|
127
|
+
"fix(cache): Resolve cache invalidation",
|
|
128
|
+
],
|
|
129
|
+
keywords=["resolve", "issue", "type", "component", "specific"],
|
|
130
|
+
),
|
|
131
|
+
CommitTemplate(
|
|
132
|
+
type="fix",
|
|
133
|
+
category=CommitCategory.BUG_FIXES,
|
|
134
|
+
pattern="fix({scope}): {issue_description} ({bug_id})",
|
|
135
|
+
description="Fix bug with tracking ID",
|
|
136
|
+
examples=[
|
|
137
|
+
"fix(api): Handle null response (#123)",
|
|
138
|
+
"fix(ui): Correct button alignment (#456)",
|
|
139
|
+
"fix(db): Fix query timeout (#789)",
|
|
140
|
+
"fix(auth): Update regex validation (#321)",
|
|
141
|
+
"fix(session): Extend timeout period (#654)",
|
|
142
|
+
],
|
|
143
|
+
keywords=["bug", "tracking", "id", "ticket", "issue"],
|
|
144
|
+
),
|
|
145
|
+
]
|
|
146
|
+
|
|
147
|
+
# Documentation templates (10)
|
|
148
|
+
documentation_templates = [
|
|
149
|
+
CommitTemplate(
|
|
150
|
+
type="docs",
|
|
151
|
+
category=CommitCategory.DOCUMENTATION,
|
|
152
|
+
pattern="docs: {description}",
|
|
153
|
+
description="Documentation update",
|
|
154
|
+
examples=[
|
|
155
|
+
"docs: Update API documentation",
|
|
156
|
+
"docs: Add installation guide",
|
|
157
|
+
"docs: Fix typo in README",
|
|
158
|
+
"docs: Update contribution guidelines",
|
|
159
|
+
"docs: Add user manual sections",
|
|
160
|
+
],
|
|
161
|
+
keywords=["docs", "documentation", "update", "add", "fix", "manual"],
|
|
162
|
+
),
|
|
163
|
+
CommitTemplate(
|
|
164
|
+
type="docs",
|
|
165
|
+
category=CommitCategory.DOCUMENTATION,
|
|
166
|
+
pattern="docs({scope}): {description}",
|
|
167
|
+
description="Scope-specific documentation",
|
|
168
|
+
examples=[
|
|
169
|
+
"docs(api): Add new endpoint documentation",
|
|
170
|
+
"docs(ui): Update component docs",
|
|
171
|
+
"db(docs): Add schema documentation",
|
|
172
|
+
"config(docs): Update configuration guide",
|
|
173
|
+
"security(docs): Add security documentation",
|
|
174
|
+
],
|
|
175
|
+
keywords=["scope", "specific", "document", "guide", "reference"],
|
|
176
|
+
),
|
|
177
|
+
]
|
|
178
|
+
|
|
179
|
+
# Performance templates (10)
|
|
180
|
+
performance_templates = [
|
|
181
|
+
CommitTemplate(
|
|
182
|
+
type="perf",
|
|
183
|
+
category=CommitCategory.PERFORMANCE,
|
|
184
|
+
pattern="perf({scope}): {description}",
|
|
185
|
+
description="Performance improvement",
|
|
186
|
+
examples=[
|
|
187
|
+
"perf(api): Improve response times",
|
|
188
|
+
"perf(db): Add database indexes",
|
|
189
|
+
"perf(cache): Implement caching strategy",
|
|
190
|
+
"perf(ui): Optimize rendering",
|
|
191
|
+
"perf(auth): Optimize authentication flow",
|
|
192
|
+
],
|
|
193
|
+
keywords=[
|
|
194
|
+
"perf",
|
|
195
|
+
"performance",
|
|
196
|
+
"optimize",
|
|
197
|
+
"improve",
|
|
198
|
+
"speed",
|
|
199
|
+
"efficiency",
|
|
200
|
+
],
|
|
201
|
+
),
|
|
202
|
+
CommitTemplate(
|
|
203
|
+
type="perf",
|
|
204
|
+
category=CommitCategory.PERFORMANCE,
|
|
205
|
+
pattern="perf({scope}): Optimize {component} for {scenario}",
|
|
206
|
+
description="Optimize component for specific scenario",
|
|
207
|
+
examples=[
|
|
208
|
+
"perf(db): Optimize queries for large datasets",
|
|
209
|
+
"perf(api): Optimize for high traffic",
|
|
210
|
+
"perf(cache): Optimize for cache misses",
|
|
211
|
+
"perf(ui): Optimize for mobile devices",
|
|
212
|
+
"perf(auth): Optimize for concurrent users",
|
|
213
|
+
],
|
|
214
|
+
keywords=["optimize", "component", "scenario", "specific", "use case"],
|
|
215
|
+
),
|
|
216
|
+
]
|
|
217
|
+
|
|
218
|
+
# Testing templates (10)
|
|
219
|
+
testing_templates = [
|
|
220
|
+
CommitTemplate(
|
|
221
|
+
type="test",
|
|
222
|
+
category=CommitCategory.TESTING,
|
|
223
|
+
pattern="test({scope}): {description}",
|
|
224
|
+
description="Test changes",
|
|
225
|
+
examples=[
|
|
226
|
+
"test(auth): Add unit tests for login",
|
|
227
|
+
"test(api): Add integration tests",
|
|
228
|
+
"test(ui): Add component tests",
|
|
229
|
+
"test(db): Add database tests",
|
|
230
|
+
"test(utils): Add utility function tests",
|
|
231
|
+
],
|
|
232
|
+
keywords=["test", "testing", "unit", "integration", "coverage", "spec"],
|
|
233
|
+
),
|
|
234
|
+
CommitTemplate(
|
|
235
|
+
type="test",
|
|
236
|
+
category=CommitCategory.TESTING,
|
|
237
|
+
pattern="test({scope}): Add {test_type} tests for {component}",
|
|
238
|
+
description="Add specific test type",
|
|
239
|
+
examples=[
|
|
240
|
+
"test(api): Add unit tests for endpoints",
|
|
241
|
+
"test(ui): Add e2e tests for components",
|
|
242
|
+
"test(db): Add integration tests for models",
|
|
243
|
+
"test(auth): Add security tests for login",
|
|
244
|
+
"test(perf): Add performance tests for queries",
|
|
245
|
+
],
|
|
246
|
+
keywords=["add", "test", "type", "component", "specific", "coverage"],
|
|
247
|
+
),
|
|
248
|
+
]
|
|
249
|
+
|
|
250
|
+
# Refactoring templates (10)
|
|
251
|
+
refactoring_templates = [
|
|
252
|
+
CommitTemplate(
|
|
253
|
+
type="refactor",
|
|
254
|
+
category=CommitCategory.REFACTORING,
|
|
255
|
+
pattern="refactor({scope}): {description}",
|
|
256
|
+
description="Code refactoring",
|
|
257
|
+
examples=[
|
|
258
|
+
"refactor(auth): Simplify authentication logic",
|
|
259
|
+
"refactor(api): Clean up endpoint handlers",
|
|
260
|
+
"refactor(db): Optimize database queries",
|
|
261
|
+
"refactor(ui): Extract common components",
|
|
262
|
+
"refactor(utils): Extract helper functions",
|
|
263
|
+
],
|
|
264
|
+
keywords=[
|
|
265
|
+
"refactor",
|
|
266
|
+
"refactoring",
|
|
267
|
+
"clean",
|
|
268
|
+
"simplify",
|
|
269
|
+
"optimize",
|
|
270
|
+
"restructure",
|
|
271
|
+
],
|
|
272
|
+
),
|
|
273
|
+
CommitTemplate(
|
|
274
|
+
type="refactor",
|
|
275
|
+
category=CommitCategory.REFACTORING,
|
|
276
|
+
pattern="refactor({scope}): Extract {component} from {source}",
|
|
277
|
+
description="Extract component from source",
|
|
278
|
+
examples=[
|
|
279
|
+
"refactor(api): Extract user service from auth",
|
|
280
|
+
"refactor(ui): Extract button component",
|
|
281
|
+
"refactor(db): Extract query builder",
|
|
282
|
+
"refactor(utils): Extract validation functions",
|
|
283
|
+
"refactor(config): Extract environment config",
|
|
284
|
+
],
|
|
285
|
+
keywords=["extract", "component", "source", "separate", "isolate"],
|
|
286
|
+
),
|
|
287
|
+
]
|
|
288
|
+
|
|
289
|
+
# Security templates (8)
|
|
290
|
+
security_templates = [
|
|
291
|
+
CommitTemplate(
|
|
292
|
+
type="security",
|
|
293
|
+
category=CommitCategory.SECURITY,
|
|
294
|
+
pattern="security({scope}): {description}",
|
|
295
|
+
description="Security improvement",
|
|
296
|
+
examples=[
|
|
297
|
+
"security(api): Add input validation",
|
|
298
|
+
"security(auth): Implement rate limiting",
|
|
299
|
+
"security(db): Encrypt sensitive data",
|
|
300
|
+
"security(ui): Add XSS protection",
|
|
301
|
+
"security(config): Update security headers",
|
|
302
|
+
],
|
|
303
|
+
keywords=[
|
|
304
|
+
"security",
|
|
305
|
+
"secure",
|
|
306
|
+
"protect",
|
|
307
|
+
"vulnerability",
|
|
308
|
+
"safety",
|
|
309
|
+
"compliance",
|
|
310
|
+
],
|
|
311
|
+
),
|
|
312
|
+
CommitTemplate(
|
|
313
|
+
type="security",
|
|
314
|
+
category=CommitCategory.SECURITY,
|
|
315
|
+
pattern="security({scope}): Fix {vulnerability_type}",
|
|
316
|
+
description="Fix security vulnerability",
|
|
317
|
+
examples=[
|
|
318
|
+
"security(api): Fix SQL injection vulnerability",
|
|
319
|
+
"security(auth): Fix token leakage",
|
|
320
|
+
"security(ui): Fix XSS vulnerability",
|
|
321
|
+
"security(db): Fix data exposure",
|
|
322
|
+
"security(config): Fix misconfiguration",
|
|
323
|
+
],
|
|
324
|
+
keywords=[
|
|
325
|
+
"fix",
|
|
326
|
+
"vulnerability",
|
|
327
|
+
"security",
|
|
328
|
+
"risk",
|
|
329
|
+
"threat",
|
|
330
|
+
"exploit",
|
|
331
|
+
],
|
|
332
|
+
),
|
|
333
|
+
]
|
|
334
|
+
|
|
335
|
+
# Dependency templates (7)
|
|
336
|
+
dependency_templates = [
|
|
337
|
+
CommitTemplate(
|
|
338
|
+
type="deps",
|
|
339
|
+
category=CommitCategory.DEPENDENCIES,
|
|
340
|
+
pattern="deps({scope}): {description}",
|
|
341
|
+
description="Dependency update",
|
|
342
|
+
examples=[
|
|
343
|
+
"deps: Update npm packages",
|
|
344
|
+
"deps(api): Update HTTP client",
|
|
345
|
+
"deps(ui): Update React packages",
|
|
346
|
+
"deps(db): Update database driver",
|
|
347
|
+
"deps(build): Update build tools",
|
|
348
|
+
],
|
|
349
|
+
keywords=[
|
|
350
|
+
"deps",
|
|
351
|
+
"dependencies",
|
|
352
|
+
"update",
|
|
353
|
+
"upgrade",
|
|
354
|
+
"package",
|
|
355
|
+
"library",
|
|
356
|
+
],
|
|
357
|
+
)
|
|
358
|
+
]
|
|
359
|
+
|
|
360
|
+
# Configuration templates (7)
|
|
361
|
+
configuration_templates = [
|
|
362
|
+
CommitTemplate(
|
|
363
|
+
type="config",
|
|
364
|
+
category=CommitCategory.CONFIGURATION,
|
|
365
|
+
pattern="config: {description}",
|
|
366
|
+
description="Configuration change",
|
|
367
|
+
examples=[
|
|
368
|
+
"config: Update environment variables",
|
|
369
|
+
"config: Add new configuration file",
|
|
370
|
+
"config: Update build configuration",
|
|
371
|
+
"config: Update deployment settings",
|
|
372
|
+
"config: Update CI/CD pipeline",
|
|
373
|
+
],
|
|
374
|
+
keywords=[
|
|
375
|
+
"config",
|
|
376
|
+
"configuration",
|
|
377
|
+
"settings",
|
|
378
|
+
"environment",
|
|
379
|
+
"setup",
|
|
380
|
+
],
|
|
381
|
+
)
|
|
382
|
+
]
|
|
383
|
+
|
|
384
|
+
# Infrastructure templates (8)
|
|
385
|
+
infrastructure_templates = [
|
|
386
|
+
CommitTemplate(
|
|
387
|
+
type="infra",
|
|
388
|
+
category=CommitCategory.INFRASTRUCTURE,
|
|
389
|
+
pattern="infra: {description}",
|
|
390
|
+
description="Infrastructure change",
|
|
391
|
+
examples=[
|
|
392
|
+
"infra: Update Docker images",
|
|
393
|
+
"infra: Add Kubernetes configuration",
|
|
394
|
+
"infra: Update cloud infrastructure",
|
|
395
|
+
"infra: Add monitoring setup",
|
|
396
|
+
"infra: Update deployment scripts",
|
|
397
|
+
],
|
|
398
|
+
keywords=[
|
|
399
|
+
"infra",
|
|
400
|
+
"infrastructure",
|
|
401
|
+
"deployment",
|
|
402
|
+
"cloud",
|
|
403
|
+
"container",
|
|
404
|
+
"kubernetes",
|
|
405
|
+
],
|
|
406
|
+
)
|
|
407
|
+
]
|
|
408
|
+
|
|
409
|
+
# Add all templates
|
|
410
|
+
all_templates = (
|
|
411
|
+
feature_templates * 2 # Repeat to get more variety
|
|
412
|
+
+ bug_fix_templates * 2
|
|
413
|
+
+ documentation_templates
|
|
414
|
+
+ performance_templates
|
|
415
|
+
+ testing_templates
|
|
416
|
+
+ refactoring_templates
|
|
417
|
+
+ security_templates
|
|
418
|
+
+ dependency_templates
|
|
419
|
+
+ configuration_templates
|
|
420
|
+
+ infrastructure_templates
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
# Add templates to registry
|
|
424
|
+
for template in all_templates:
|
|
425
|
+
self.templates[template.type] = template
|
|
426
|
+
|
|
427
|
+
# Build category index
|
|
428
|
+
for template in self.templates.values():
|
|
429
|
+
if template.category not in self.categories:
|
|
430
|
+
self.categories[template.category] = []
|
|
431
|
+
self.categories[template.category].append(template)
|
|
432
|
+
|
|
433
|
+
def get_category(self, category: CommitCategory) -> List[CommitTemplate]:
|
|
434
|
+
"""Get templates by category"""
|
|
435
|
+
return self.categories.get(category, [])
|
|
436
|
+
|
|
437
|
+
def get_template_by_type(self, commit_type: str) -> Optional[CommitTemplate]:
|
|
438
|
+
"""Get template by commit type"""
|
|
439
|
+
return self.templates.get(commit_type)
|
|
440
|
+
|
|
441
|
+
def generate_from_template(
|
|
442
|
+
self, template: CommitTemplate, scope: str, description: str
|
|
443
|
+
) -> Dict[str, Any]:
|
|
444
|
+
"""Generate commit from template"""
|
|
445
|
+
import re
|
|
446
|
+
|
|
447
|
+
# Replace placeholders in pattern
|
|
448
|
+
pattern = template.pattern
|
|
449
|
+
if "{scope}" in pattern:
|
|
450
|
+
pattern = pattern.replace("{scope}", scope)
|
|
451
|
+
if "{description}" in pattern:
|
|
452
|
+
pattern = pattern.replace("{description}", description)
|
|
453
|
+
|
|
454
|
+
# Check for other placeholders
|
|
455
|
+
placeholders = re.findall(r"\{([^}]+)\}", pattern)
|
|
456
|
+
for placeholder in placeholders:
|
|
457
|
+
if placeholder in [
|
|
458
|
+
"feature_name",
|
|
459
|
+
"user_type",
|
|
460
|
+
"issue_type",
|
|
461
|
+
"component",
|
|
462
|
+
"scenario",
|
|
463
|
+
"vulnerability_type",
|
|
464
|
+
]:
|
|
465
|
+
pattern = pattern.replace(f"{{{placeholder}}}", placeholder)
|
|
466
|
+
|
|
467
|
+
return {
|
|
468
|
+
"type": template.type,
|
|
469
|
+
"scope": scope,
|
|
470
|
+
"description": description,
|
|
471
|
+
"pattern": pattern,
|
|
472
|
+
"category": template.category.value,
|
|
473
|
+
"keywords": template.keywords,
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
def add_template(self, template: CommitTemplate):
|
|
477
|
+
"""Add custom template"""
|
|
478
|
+
self.templates[template.type] = template
|
|
479
|
+
if template.category not in self.categories:
|
|
480
|
+
self.categories[template.category] = []
|
|
481
|
+
self.categories[template.category].append(template)
|
|
482
|
+
|
|
483
|
+
def get_statistics(self) -> Dict[str, Any]:
|
|
484
|
+
"""Get template statistics"""
|
|
485
|
+
total_templates = len(self.templates)
|
|
486
|
+
category_stats = {}
|
|
487
|
+
|
|
488
|
+
for category, templates in self.categories.items():
|
|
489
|
+
category_stats[category.value] = len(templates)
|
|
490
|
+
|
|
491
|
+
# Find most used types
|
|
492
|
+
most_used_types = sorted(
|
|
493
|
+
self.templates.items(), key=lambda x: len(x[1].examples), reverse=True
|
|
494
|
+
)[:5]
|
|
495
|
+
|
|
496
|
+
return {
|
|
497
|
+
"total_templates": total_templates,
|
|
498
|
+
"categories": category_stats,
|
|
499
|
+
"most_used_types": most_used_types,
|
|
500
|
+
"template_types": list(self.templates.keys()),
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
def search_templates(self, query: str) -> List[CommitTemplate]:
|
|
504
|
+
"""Search templates by keywords"""
|
|
505
|
+
query_lower = query.lower()
|
|
506
|
+
matching_templates = []
|
|
507
|
+
|
|
508
|
+
for template in self.templates.values():
|
|
509
|
+
if (
|
|
510
|
+
query_lower in template.type.lower()
|
|
511
|
+
or query_lower in template.description.lower()
|
|
512
|
+
or any(query_lower in keyword.lower() for keyword in template.keywords)
|
|
513
|
+
or any(query_lower in example.lower() for example in template.examples)
|
|
514
|
+
):
|
|
515
|
+
matching_templates.append(template)
|
|
516
|
+
|
|
517
|
+
return matching_templates
|
|
518
|
+
|
|
519
|
+
def get_templates_by_keywords(self, keywords: List[str]) -> List[CommitTemplate]:
|
|
520
|
+
"""Get templates by keywords"""
|
|
521
|
+
matching_templates = []
|
|
522
|
+
|
|
523
|
+
for template in self.templates.values():
|
|
524
|
+
if any(
|
|
525
|
+
keyword.lower() in [k.lower() for k in template.keywords]
|
|
526
|
+
for keyword in keywords
|
|
527
|
+
):
|
|
528
|
+
matching_templates.append(template)
|
|
529
|
+
|
|
530
|
+
return matching_templates
|
|
531
|
+
|
|
532
|
+
def export_templates(self) -> Dict[str, Any]:
|
|
533
|
+
"""Export all templates"""
|
|
534
|
+
return {
|
|
535
|
+
"templates": {
|
|
536
|
+
name: {
|
|
537
|
+
"type": template.type,
|
|
538
|
+
"category": template.category.value,
|
|
539
|
+
"pattern": template.pattern,
|
|
540
|
+
"description": template.description,
|
|
541
|
+
"examples": template.examples,
|
|
542
|
+
"keywords": template.keywords,
|
|
543
|
+
"priority": template.priority,
|
|
544
|
+
}
|
|
545
|
+
for name, template in self.templates.items()
|
|
546
|
+
},
|
|
547
|
+
"categories": {
|
|
548
|
+
category.value: [t.type for t in templates]
|
|
549
|
+
for category, templates in self.categories.items()
|
|
550
|
+
},
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
def import_templates(self, templates_data: Dict[str, Any]):
|
|
554
|
+
"""Import templates"""
|
|
555
|
+
for name, template_data in templates_data.get("templates", {}).items():
|
|
556
|
+
template = CommitTemplate(
|
|
557
|
+
type=template_data["type"],
|
|
558
|
+
category=CommitCategory(template_data["category"]),
|
|
559
|
+
pattern=template_data["pattern"],
|
|
560
|
+
description=template_data["description"],
|
|
561
|
+
examples=template_data.get("examples", []),
|
|
562
|
+
keywords=template_data.get("keywords", []),
|
|
563
|
+
priority=template_data.get("priority", 0),
|
|
564
|
+
)
|
|
565
|
+
self.add_template(template)
|