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
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Writing SPEC Documents with Metadata"
|
|
3
|
-
description: "Standards for SPEC authoring including YAML metadata, EARS syntax, HISTORY section, and validation. Guides spec-builder agent through SPEC creation in .moai/specs/SPEC-{ID}/ directory. Covers 7 required metadata fields, 5 EARS patterns, version tracking, changelog format, and @SPEC:ID TAG placement. Essential for /alfred:1-plan command and duplicate detection."
|
|
4
|
-
allowed-tools: "Read, Write, Bash(rg:*), Bash(mkdir:*)"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# SPEC Metadata Standard Skill
|
|
8
|
-
|
|
9
|
-
## SPEC Directory Structure
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
.moai/specs/SPEC-{DOMAIN}-{NUMBER}/
|
|
13
|
-
├── spec.md # Requirements (EARS format) + metadata
|
|
14
|
-
├── plan.md # Implementation plan
|
|
15
|
-
└── acceptance.md # Test scenarios, acceptance criteria
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## YAML Metadata (7 Fields)
|
|
19
|
-
|
|
20
|
-
Every SPEC starts with frontmatter:
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
---
|
|
24
|
-
id: AUTH-001
|
|
25
|
-
title: "User Authentication System"
|
|
26
|
-
version: 0.1.0
|
|
27
|
-
status: active
|
|
28
|
-
created: 2025-11-03
|
|
29
|
-
updated: 2025-11-03
|
|
30
|
-
author: @GOOS🪿엉아
|
|
31
|
-
priority: high
|
|
32
|
-
---
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Field Definitions
|
|
36
|
-
|
|
37
|
-
| Field | Type | Required | Notes |
|
|
38
|
-
|-------|------|----------|-------|
|
|
39
|
-
| `id` | string | ✅ | Domain-NUMBER (e.g., AUTH-001) |
|
|
40
|
-
| `title` | string | ✅ | User-facing description |
|
|
41
|
-
| `version` | semver | ✅ | Current status (0.x.x = draft) |
|
|
42
|
-
| `status` | enum | ✅ | active\|draft\|deprecated\|archived |
|
|
43
|
-
| `created` | ISO8601 | ✅ | YYYY-MM-DD |
|
|
44
|
-
| `updated` | ISO8601 | ✅ | Last modification date |
|
|
45
|
-
| `author` | string | ✅ | Creator identifier |
|
|
46
|
-
| `priority` | enum | ✅ | critical\|high\|medium\|low |
|
|
47
|
-
|
|
48
|
-
## EARS Requirements (5 Patterns)
|
|
49
|
-
|
|
50
|
-
### 1. Ubiquitous (Baseline)
|
|
51
|
-
```
|
|
52
|
-
The system shall provide [capability].
|
|
53
|
-
The system shall validate [input] before [action].
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 2. Event-driven
|
|
57
|
-
```
|
|
58
|
-
WHEN [condition], the system shall [behavior].
|
|
59
|
-
WHEN a user logs in, the system shall verify credentials.
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### 3. State-driven
|
|
63
|
-
```
|
|
64
|
-
WHILE [state], the system shall [behavior].
|
|
65
|
-
WHILE authenticated, the system shall allow access.
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### 4. Optional Features
|
|
69
|
-
```
|
|
70
|
-
WHERE [condition], the system may [behavior].
|
|
71
|
-
WHERE API key present, the system may enable caching.
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### 5. Constraints
|
|
75
|
-
```
|
|
76
|
-
IF [condition], the system shall [constraint].
|
|
77
|
-
IF password invalid, the system shall deny access.
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## HISTORY Section
|
|
81
|
-
|
|
82
|
-
Track all changes:
|
|
83
|
-
|
|
84
|
-
```markdown
|
|
85
|
-
## HISTORY
|
|
86
|
-
|
|
87
|
-
### v0.2.0 (2025-11-03)
|
|
88
|
-
- Added email verification requirement
|
|
89
|
-
- Updated password complexity rules
|
|
90
|
-
|
|
91
|
-
### v0.1.0 (2025-11-01)
|
|
92
|
-
- Initial draft of AUTH-001
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Validation Checklist
|
|
96
|
-
|
|
97
|
-
- [ ] ID: Domain-NUMBER format (e.g., AUTH-001)
|
|
98
|
-
- [ ] No duplicate @SPEC:ID (`rg "@SPEC:{ID}" .moai/specs/`)
|
|
99
|
-
- [ ] All 7 metadata fields present
|
|
100
|
-
- [ ] version follows semver (0.x.x for draft)
|
|
101
|
-
- [ ] 5+ EARS requirements with different patterns
|
|
102
|
-
- [ ] HISTORY section with at least v0.1.0
|
|
103
|
-
- [ ] Directory: `.moai/specs/SPEC-{ID}/`
|
|
104
|
-
- [ ] @SPEC:ID placed in first 50 lines of spec.md
|
|
105
|
-
|
|
106
|
-
## Common Patterns
|
|
107
|
-
|
|
108
|
-
| Scenario | Action |
|
|
109
|
-
|----------|--------|
|
|
110
|
-
| Start new SPEC | Create .moai/specs/SPEC-{DOMAIN}-{NUMBER}/ |
|
|
111
|
-
| Check duplicate | rg "@SPEC:{ID}" .moai/specs/ (should be 0) |
|
|
112
|
-
| Write requirement | Use one of 5 EARS patterns |
|
|
113
|
-
| Update version | Change version field, update HISTORY |
|
|
114
|
-
| Mark deprecated | Set status: deprecated, add note |
|
|
115
|
-
| Link to @CODE | In code comment: @CODE:SPEC-AUTH-001 |
|
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
# SPEC Metadata Extended - Reference
|
|
2
|
-
|
|
3
|
-
## YAML Frontmatter Fields
|
|
4
|
-
|
|
5
|
-
### Field: `id`
|
|
6
|
-
|
|
7
|
-
**Type**: `string`
|
|
8
|
-
**Required**: ✅ Yes
|
|
9
|
-
**Format**: `{DOMAIN}-{NUMBER}` (e.g., `AUTH-001`, `CACHE-FIX-002`)
|
|
10
|
-
**Rules**:
|
|
11
|
-
- Domain: 2-8 characters, UPPERCASE
|
|
12
|
-
- Number: 3 digits, zero-padded (001, 002, 100)
|
|
13
|
-
- No duplicates allowed across project
|
|
14
|
-
|
|
15
|
-
**Validation**:
|
|
16
|
-
```bash
|
|
17
|
-
# Check for duplicates
|
|
18
|
-
rg "@SPEC:AUTH-001" .moai/specs/ # Should return exactly 1 hit
|
|
19
|
-
|
|
20
|
-
# Check format
|
|
21
|
-
rg "^id: [A-Z]+-\d{3}$" .moai/specs/SPEC-*/spec.md
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Field: `title`
|
|
25
|
-
|
|
26
|
-
**Type**: `string`
|
|
27
|
-
**Required**: ✅ Yes
|
|
28
|
-
**Max Length**: 128 characters
|
|
29
|
-
**Style**: User-facing, descriptive noun phrase
|
|
30
|
-
|
|
31
|
-
**Examples**:
|
|
32
|
-
- ✅ "User Authentication System"
|
|
33
|
-
- ✅ "Redis Cache Optimization"
|
|
34
|
-
- ❌ "Implement auth" (too vague)
|
|
35
|
-
- ❌ "User Authentication System for Multi-tenant Applications with Role-Based Access Control" (too long)
|
|
36
|
-
|
|
37
|
-
### Field: `version`
|
|
38
|
-
|
|
39
|
-
**Type**: `semver` (X.Y.Z)
|
|
40
|
-
**Required**: ✅ Yes
|
|
41
|
-
**Format**: `major.minor.patch`
|
|
42
|
-
**Rules**:
|
|
43
|
-
- Draft: `0.x.x` (no implementation yet)
|
|
44
|
-
- Alpha: `1.0.0-alpha` (partial implementation)
|
|
45
|
-
- Beta: `1.0.0-beta` (mostly done, testing)
|
|
46
|
-
- Release: `1.0.0+` (fully implemented)
|
|
47
|
-
|
|
48
|
-
**Examples**:
|
|
49
|
-
```yaml
|
|
50
|
-
version: 0.1.0 # Initial draft
|
|
51
|
-
version: 0.2.0 # Requirements refined
|
|
52
|
-
version: 1.0.0 # First implementation
|
|
53
|
-
version: 1.1.0 # Bug fixes + features
|
|
54
|
-
version: 2.0.0 # Major refactor
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Field: `status`
|
|
58
|
-
|
|
59
|
-
**Type**: `enum`
|
|
60
|
-
**Required**: ✅ Yes
|
|
61
|
-
**Allowed Values**:
|
|
62
|
-
- `draft` – Not ready for implementation
|
|
63
|
-
- `active` – Current work item
|
|
64
|
-
- `in-progress` – Being implemented
|
|
65
|
-
- `completed` – Implemented + tested
|
|
66
|
-
- `deprecated` – No longer used
|
|
67
|
-
- `archived` – Historical reference
|
|
68
|
-
|
|
69
|
-
**State Transitions**:
|
|
70
|
-
```
|
|
71
|
-
draft → active → in-progress → completed
|
|
72
|
-
↓
|
|
73
|
-
deprecated
|
|
74
|
-
↓
|
|
75
|
-
archived
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Field: `created`
|
|
79
|
-
|
|
80
|
-
**Type**: `ISO8601` (YYYY-MM-DD)
|
|
81
|
-
**Required**: ✅ Yes
|
|
82
|
-
**Example**: `2025-11-03`
|
|
83
|
-
**Rule**: Never change after creation
|
|
84
|
-
|
|
85
|
-
### Field: `updated`
|
|
86
|
-
|
|
87
|
-
**Type**: `ISO8601` (YYYY-MM-DD)
|
|
88
|
-
**Required**: ✅ Yes
|
|
89
|
-
**Example**: `2025-11-03`
|
|
90
|
-
**Rule**: Update whenever spec changes
|
|
91
|
-
|
|
92
|
-
### Field: `author`
|
|
93
|
-
|
|
94
|
-
**Type**: `string`
|
|
95
|
-
**Required**: ✅ Yes
|
|
96
|
-
**Format**: `@USERNAME` or `@NICKNAME`
|
|
97
|
-
**Examples**:
|
|
98
|
-
- `@GOOS🪿엉아`
|
|
99
|
-
- `@alice.smith`
|
|
100
|
-
- `@team-backend`
|
|
101
|
-
|
|
102
|
-
### Field: `priority`
|
|
103
|
-
|
|
104
|
-
**Type**: `enum`
|
|
105
|
-
**Required**: ✅ Yes
|
|
106
|
-
**Allowed Values**:
|
|
107
|
-
- `critical` – Blocking other work (P0)
|
|
108
|
-
- `high` – Important feature (P1)
|
|
109
|
-
- `medium` – Nice to have (P2)
|
|
110
|
-
- `low` – Backlog (P3)
|
|
111
|
-
|
|
112
|
-
## HISTORY Section Format
|
|
113
|
-
|
|
114
|
-
### Structure
|
|
115
|
-
|
|
116
|
-
```markdown
|
|
117
|
-
## HISTORY
|
|
118
|
-
|
|
119
|
-
### v1.1.0 (2025-11-05)
|
|
120
|
-
- Fixed race condition in verification
|
|
121
|
-
- Added timeout handling
|
|
122
|
-
- Updated error messages
|
|
123
|
-
|
|
124
|
-
### v1.0.0 (2025-11-03)
|
|
125
|
-
- Initial implementation complete
|
|
126
|
-
- All tests passing
|
|
127
|
-
- Documentation updated
|
|
128
|
-
|
|
129
|
-
### v0.2.0 (2025-11-02)
|
|
130
|
-
- Refined email requirements
|
|
131
|
-
- Added rate limiting constraints
|
|
132
|
-
- Extended EARS patterns
|
|
133
|
-
|
|
134
|
-
### v0.1.0 (2025-11-01)
|
|
135
|
-
- Initial draft with basic auth
|
|
136
|
-
- Ubiquitous requirements defined
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Rules
|
|
140
|
-
|
|
141
|
-
- Start with most recent version
|
|
142
|
-
- One entry per version change
|
|
143
|
-
- Bullet points, not paragraphs
|
|
144
|
-
- Link to commits if available
|
|
145
|
-
- Update `updated` field when modifying
|
|
146
|
-
|
|
147
|
-
## EARS Requirements Format
|
|
148
|
-
|
|
149
|
-
### Pattern 1: Ubiquitous
|
|
150
|
-
|
|
151
|
-
```markdown
|
|
152
|
-
- The system shall provide [capability].
|
|
153
|
-
- The system shall validate [input] before [action].
|
|
154
|
-
- The system shall [behavior] within [time] of [trigger].
|
|
155
|
-
|
|
156
|
-
Examples:
|
|
157
|
-
- The system shall provide user authentication via email.
|
|
158
|
-
- The system shall validate email format (RFC 5322) before storage.
|
|
159
|
-
- The system shall send verification email within 10 seconds of signup.
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Pattern 2: Event-driven
|
|
163
|
-
|
|
164
|
-
```markdown
|
|
165
|
-
- WHEN [condition], the system shall [behavior].
|
|
166
|
-
- Upon [event], the system shall [action] and [action].
|
|
167
|
-
|
|
168
|
-
Examples:
|
|
169
|
-
- WHEN a user clicks 'Sign Up', the system shall display signup form.
|
|
170
|
-
- Upon verification link click, the system shall activate user account.
|
|
171
|
-
- WHEN 3 failed attempts occur, the system shall lock the account.
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### Pattern 3: State-driven
|
|
175
|
-
|
|
176
|
-
```markdown
|
|
177
|
-
- WHILE [state], the system shall [behavior].
|
|
178
|
-
- WHILE not [condition], the system shall [action].
|
|
179
|
-
|
|
180
|
-
Examples:
|
|
181
|
-
- WHILE the user is unauthenticated, the system shall deny access.
|
|
182
|
-
- WHILE session is active, the system shall refresh token automatically.
|
|
183
|
-
- WHILE rate limit not exceeded, the system shall process requests.
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### Pattern 4: Optional Features
|
|
187
|
-
|
|
188
|
-
```markdown
|
|
189
|
-
- WHERE [condition], the system may [behavior].
|
|
190
|
-
- If [feature] enabled, the system may [action].
|
|
191
|
-
|
|
192
|
-
Examples:
|
|
193
|
-
- WHERE 2FA is enabled, the system may require additional verification.
|
|
194
|
-
- If API quota available, the system may allow batch operations.
|
|
195
|
-
- WHERE user preference set, the system may send notifications.
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### Pattern 5: Constraints (Unwanted Behaviors)
|
|
199
|
-
|
|
200
|
-
```markdown
|
|
201
|
-
- IF [condition], the system shall [constraint].
|
|
202
|
-
- The system shall NOT [unwanted behavior].
|
|
203
|
-
|
|
204
|
-
Examples:
|
|
205
|
-
- IF password invalid 3x, the system shall lock account.
|
|
206
|
-
- The system shall NOT store plaintext passwords.
|
|
207
|
-
- IF token expired, the system shall return 401 error.
|
|
208
|
-
- The system shall NOT process requests exceeding rate limit.
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
## TAG Placement
|
|
212
|
-
|
|
213
|
-
### Location
|
|
214
|
-
|
|
215
|
-
Place `@SPEC:ID` in first 50 lines of spec.md:
|
|
216
|
-
|
|
217
|
-
```markdown
|
|
218
|
-
# User Authentication SPEC
|
|
219
|
-
|
|
220
|
-
@SPEC:AUTH-001
|
|
221
|
-
|
|
222
|
-
## Overview
|
|
223
|
-
...
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Usage in Code
|
|
227
|
-
|
|
228
|
-
Link implementation to spec:
|
|
229
|
-
|
|
230
|
-
```python
|
|
231
|
-
# src/auth.py
|
|
232
|
-
# @CODE:AUTH-001
|
|
233
|
-
|
|
234
|
-
def verify_email(email: str, token: str) -> bool:
|
|
235
|
-
"""Verify email with token. Requirement: AUTH-001"""
|
|
236
|
-
# Implementation here
|
|
237
|
-
pass
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
## Duplicate Detection
|
|
241
|
-
|
|
242
|
-
### Before Creating SPEC
|
|
243
|
-
|
|
244
|
-
```bash
|
|
245
|
-
# Check if ID already exists
|
|
246
|
-
rg "@SPEC:AUTH-001" .moai/specs/
|
|
247
|
-
|
|
248
|
-
# Expected: 0 hits (if new) or 1 hit (if existing)
|
|
249
|
-
# If >1 hit: ERROR – duplicate detected
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### Duplicate Resolution
|
|
253
|
-
|
|
254
|
-
If duplicate found:
|
|
255
|
-
1. Use different number: AUTH-001 → AUTH-002
|
|
256
|
-
2. Or use different domain: AUTH-001 → SECURITY-001
|
|
257
|
-
3. Recheck with `rg "@SPEC:{NEW-ID}" .moai/specs/`
|
|
258
|
-
|
|
259
|
-
## Validation Checklist
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
#!/bin/bash
|
|
263
|
-
# validate-spec.sh - Verify SPEC completeness
|
|
264
|
-
|
|
265
|
-
SPEC_DIR=".moai/specs/SPEC-$1"
|
|
266
|
-
|
|
267
|
-
if [ ! -d "$SPEC_DIR" ]; then
|
|
268
|
-
echo "❌ Directory not found: $SPEC_DIR"
|
|
269
|
-
exit 1
|
|
270
|
-
fi
|
|
271
|
-
|
|
272
|
-
# Check metadata fields
|
|
273
|
-
for field in "id" "title" "version" "status" "created" "updated" "author" "priority"; do
|
|
274
|
-
if ! grep "^$field:" "$SPEC_DIR/spec.md" > /dev/null; then
|
|
275
|
-
echo "❌ Missing field: $field"
|
|
276
|
-
fi
|
|
277
|
-
done
|
|
278
|
-
|
|
279
|
-
# Check SPEC ID in file
|
|
280
|
-
SPEC_ID=$(grep "^id:" "$SPEC_DIR/spec.md" | cut -d' ' -f2)
|
|
281
|
-
if ! grep "@SPEC:$SPEC_ID" "$SPEC_DIR/spec.md" > /dev/null; then
|
|
282
|
-
echo "❌ Missing @SPEC:$SPEC_ID tag in spec.md"
|
|
283
|
-
fi
|
|
284
|
-
|
|
285
|
-
# Check for EARS patterns (at least 3)
|
|
286
|
-
EARS_COUNT=$(grep -E "^- (The system shall|WHEN|WHILE|WHERE|IF)" "$SPEC_DIR/spec.md" | wc -l)
|
|
287
|
-
if [ "$EARS_COUNT" -lt 5 ]; then
|
|
288
|
-
echo "⚠️ Only $EARS_COUNT EARS requirements (recommend ≥5)"
|
|
289
|
-
fi
|
|
290
|
-
|
|
291
|
-
# Check HISTORY section
|
|
292
|
-
if ! grep "^## HISTORY" "$SPEC_DIR/spec.md" > /dev/null; then
|
|
293
|
-
echo "❌ Missing HISTORY section"
|
|
294
|
-
fi
|
|
295
|
-
|
|
296
|
-
echo "✅ SPEC validation complete"
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
## File Structure
|
|
300
|
-
|
|
301
|
-
```
|
|
302
|
-
.moai/specs/SPEC-AUTH-001/
|
|
303
|
-
├── spec.md # Requirements + metadata
|
|
304
|
-
├── plan.md # Implementation plan (phase 2)
|
|
305
|
-
└── acceptance.md # Test scenarios (phase 2)
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### spec.md Contents (Phase 1)
|
|
309
|
-
|
|
310
|
-
```markdown
|
|
311
|
-
---
|
|
312
|
-
id: AUTH-001
|
|
313
|
-
title: "User Authentication System"
|
|
314
|
-
version: 0.1.0
|
|
315
|
-
status: active
|
|
316
|
-
created: 2025-11-03
|
|
317
|
-
updated: 2025-11-03
|
|
318
|
-
author: @USERNAME
|
|
319
|
-
priority: high
|
|
320
|
-
---
|
|
321
|
-
|
|
322
|
-
# User Authentication SPEC
|
|
323
|
-
|
|
324
|
-
@SPEC:AUTH-001
|
|
325
|
-
|
|
326
|
-
## Overview
|
|
327
|
-
[System description]
|
|
328
|
-
|
|
329
|
-
## Ubiquitous Requirements
|
|
330
|
-
[The system shall...]
|
|
331
|
-
|
|
332
|
-
## Event-driven Requirements
|
|
333
|
-
[WHEN... the system shall...]
|
|
334
|
-
|
|
335
|
-
## State-driven Requirements
|
|
336
|
-
[WHILE... the system shall...]
|
|
337
|
-
|
|
338
|
-
## Optional Features
|
|
339
|
-
[WHERE... the system may...]
|
|
340
|
-
|
|
341
|
-
## Constraints
|
|
342
|
-
[IF... the system shall...]
|
|
343
|
-
|
|
344
|
-
## HISTORY
|
|
345
|
-
|
|
346
|
-
### v0.1.0 (2025-11-03)
|
|
347
|
-
- Initial draft
|
|
348
|
-
```
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: moai-alfred-spec-metadata-validation
|
|
3
|
-
version: 2.0.0
|
|
4
|
-
created: 2025-10-22
|
|
5
|
-
updated: 2025-10-22
|
|
6
|
-
status: active
|
|
7
|
-
description: SPEC YAML frontmatter validation with 7 required fields and HISTORY section compliance.
|
|
8
|
-
keywords: ['spec', 'validation', 'metadata', 'yaml']
|
|
9
|
-
allowed-tools:
|
|
10
|
-
- Read
|
|
11
|
-
- Bash
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Alfred Spec Metadata Validation Skill
|
|
15
|
-
|
|
16
|
-
## Skill Metadata
|
|
17
|
-
|
|
18
|
-
| Field | Value |
|
|
19
|
-
| ----- | ----- |
|
|
20
|
-
| **Skill Name** | moai-alfred-spec-metadata-validation |
|
|
21
|
-
| **Version** | 2.0.0 (2025-10-22) |
|
|
22
|
-
| **Allowed tools** | Read (read_file), Bash (terminal) |
|
|
23
|
-
| **Auto-load** | On demand when keywords detected |
|
|
24
|
-
| **Tier** | Alfred |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## What It Does
|
|
29
|
-
|
|
30
|
-
SPEC YAML frontmatter validation with 7 required fields and HISTORY section compliance.
|
|
31
|
-
|
|
32
|
-
**Key capabilities**:
|
|
33
|
-
- ✅ Best practices enforcement for alfred domain
|
|
34
|
-
- ✅ TRUST 5 principles integration
|
|
35
|
-
- ✅ Latest tool versions (2025-10-22)
|
|
36
|
-
- ✅ TDD workflow support
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## When to Use
|
|
41
|
-
|
|
42
|
-
**Automatic triggers**:
|
|
43
|
-
- Related code discussions and file patterns
|
|
44
|
-
- SPEC implementation (`/alfred:2-run`)
|
|
45
|
-
- Code review requests
|
|
46
|
-
|
|
47
|
-
**Manual invocation**:
|
|
48
|
-
- Review code for TRUST 5 compliance
|
|
49
|
-
- Design new features
|
|
50
|
-
- Troubleshoot issues
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Inputs
|
|
55
|
-
|
|
56
|
-
- Language-specific source directories
|
|
57
|
-
- Configuration files
|
|
58
|
-
- Test suites and sample data
|
|
59
|
-
|
|
60
|
-
## Outputs
|
|
61
|
-
|
|
62
|
-
- Test/lint execution plan
|
|
63
|
-
- TRUST 5 review checkpoints
|
|
64
|
-
- Migration guidance
|
|
65
|
-
|
|
66
|
-
## Failure Modes
|
|
67
|
-
|
|
68
|
-
- When required tools are not installed
|
|
69
|
-
- When dependencies are missing
|
|
70
|
-
- When test coverage falls below 85%
|
|
71
|
-
|
|
72
|
-
## Dependencies
|
|
73
|
-
|
|
74
|
-
- Access to project files via Read/Bash tools
|
|
75
|
-
- Integration with `moai-foundation-langs` for language detection
|
|
76
|
-
- Integration with `moai-foundation-trust` for quality gates
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## References (Latest Documentation)
|
|
81
|
-
|
|
82
|
-
_Documentation links updated 2025-10-22_
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Changelog
|
|
87
|
-
|
|
88
|
-
- **v2.0.0** (2025-10-22): Major update with latest tool versions, comprehensive best practices, TRUST 5 integration
|
|
89
|
-
- **v1.0.0** (2025-03-29): Initial Skill release
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Works Well With
|
|
94
|
-
|
|
95
|
-
- `moai-foundation-trust` (quality gates)
|
|
96
|
-
- `moai-alfred-code-reviewer` (code review)
|
|
97
|
-
- `moai-essentials-debug` (debugging support)
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Best Practices
|
|
102
|
-
|
|
103
|
-
✅ **DO**:
|
|
104
|
-
- Follow alfred best practices
|
|
105
|
-
- Use latest stable tool versions
|
|
106
|
-
- Maintain test coverage ≥85%
|
|
107
|
-
- Document all public APIs
|
|
108
|
-
|
|
109
|
-
❌ **DON'T**:
|
|
110
|
-
- Skip quality gates
|
|
111
|
-
- Use deprecated tools
|
|
112
|
-
- Ignore security warnings
|
|
113
|
-
- Mix testing frameworks
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# moai-alfred-spec-metadata-validation - Working Examples
|
|
2
|
-
|
|
3
|
-
_Last updated: 2025-10-22_
|
|
4
|
-
|
|
5
|
-
## Example 1: Basic Setup
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Setup commands
|
|
9
|
-
# ...
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Example 2: TDD Workflow
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
# RED: Write failing test
|
|
16
|
-
# GREEN: Implement feature
|
|
17
|
-
# REFACTOR: Improve code
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Example 3: Quality Gate
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
# Run quality checks
|
|
24
|
-
# Verify coverage ≥85%
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
_For more examples, see SKILL.md reference section_
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# moai-alfred-spec-metadata-validation - CLI Reference
|
|
2
|
-
|
|
3
|
-
_Last updated: 2025-10-22_
|
|
4
|
-
|
|
5
|
-
## Quick Reference
|
|
6
|
-
|
|
7
|
-
### Installation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Installation commands
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
### Common Commands
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Test
|
|
17
|
-
# Lint
|
|
18
|
-
# Format
|
|
19
|
-
# Build
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Tool Versions (2025-10-22)
|
|
23
|
-
|
|
24
|
-
_No specific tool versions (workflow/process Skill)_
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
_For detailed usage, see SKILL.md_
|