spec-kitty-cli 0.7.0__tar.gz → 0.10.9__tar.gz
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.
- spec_kitty_cli-0.10.9/.kittify/missions/research/command-templates/implement.md +78 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/command-templates/merge.md +1 -13
- {spec_kitty_cli-0.7.0/.kittify/missions/software-dev → spec_kitty_cli-0.10.9/.kittify/missions/research}/command-templates/plan.md +0 -15
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/command-templates/review.md +5 -17
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/tasks-template.md +3 -3
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/accept.md +0 -4
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/analyze.md +0 -4
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/checklist.md +0 -4
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/clarify.md +0 -4
- spec_kitty_cli-0.10.9/.kittify/missions/software-dev/command-templates/implement.md +11 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/merge.md +1 -13
- {spec_kitty_cli-0.7.0/templates → spec_kitty_cli-0.10.9/.kittify/missions/software-dev}/command-templates/plan.md +41 -32
- spec_kitty_cli-0.10.9/.kittify/missions/software-dev/command-templates/review.md +11 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/specify.md +90 -41
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/tasks.md +15 -15
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/templates/task-prompt-template.md +17 -7
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/templates/tasks-template.md +5 -5
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/AGENTS.md +66 -6
- spec_kitty_cli-0.10.9/.kittify/templates/claudeignore-template +58 -0
- spec_kitty_cli-0.10.9/.kittify/templates/command-templates/accept.md +141 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/analyze.md +2 -2
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/checklist.md +2 -2
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/clarify.md +2 -2
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/dashboard.md +3 -1
- spec_kitty_cli-0.10.9/.kittify/templates/command-templates/implement.md +78 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/merge.md +15 -3
- {spec_kitty_cli-0.7.0/.kittify/missions/research → spec_kitty_cli-0.10.9/.kittify/templates}/command-templates/plan.md +12 -14
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/review.md +16 -40
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/specify.md +42 -5
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/tasks.md +9 -10
- spec_kitty_cli-0.10.9/.kittify/templates/git-hooks/pre-commit +22 -0
- spec_kitty_cli-0.10.9/.kittify/templates/git-hooks/pre-commit-agent-check +37 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/task-prompt-template.md +12 -9
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/tasks-template.md +5 -5
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/CHANGELOG.md +525 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/PKG-INFO +77 -22
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/README.md +74 -21
- spec_kitty_cli-0.10.9/kitty-specs/007-frontmatter-only-lane/tasks/README.md +71 -0
- spec_kitty_cli-0.10.9/kitty-specs/008-unified-python-cli/tasks/README.md +69 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/pyproject.toml +7 -5
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/tasks/acceptance_support.py +37 -11
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/tasks/task_helpers.py +124 -10
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/tasks/tasks_cli.py +125 -181
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/__init__.py +15 -28
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/acceptance.py +46 -12
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/__init__.py +4 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/accept.py +3 -1
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/agent/__init__.py +21 -0
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/agent/context.py +191 -0
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/agent/feature.py +622 -0
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/agent/release.py +11 -0
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/agent/tasks.py +510 -0
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/agent/workflow.py +385 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/dashboard.py +2 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/init.py +13 -23
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/merge.py +3 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/mission.py +43 -126
- spec_kitty_cli-0.10.9/src/specify_cli/cli/commands/repair.py +70 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/research.py +2 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/upgrade.py +3 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/validate_encoding.py +2 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/validate_tasks.py +2 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/verify.py +2 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/helpers.py +51 -1
- spec_kitty_cli-0.10.9/src/specify_cli/core/agent_context.py +311 -0
- spec_kitty_cli-0.10.9/src/specify_cli/core/paths.py +148 -0
- spec_kitty_cli-0.10.9/src/specify_cli/core/version_checker.py +239 -0
- spec_kitty_cli-0.10.9/src/specify_cli/core/worktree.py +415 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/handlers/features.py +108 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/handlers/router.py +8 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/scanner.py +115 -56
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/static/dashboard/dashboard.js +107 -7
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/templates/index.html +10 -0
- spec_kitty_cli-0.10.9/src/specify_cli/frontmatter.py +339 -0
- spec_kitty_cli-0.10.9/src/specify_cli/legacy_detector.py +83 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/manifest.py +2 -2
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/mission.py +141 -2
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/tasks_support.py +122 -12
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/template/asset_generator.py +1 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/template/manager.py +12 -3
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/__init__.py +43 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_10_0_python_only.py +329 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_10_1_populate_slash_commands.py +187 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_10_2_update_slash_commands.py +162 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_10_6_workflow_simplification.py +155 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_10_8_fix_memory_structure.py +252 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_10_9_repair_templates.py +168 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/migrations/m_0_4_8_gitignore_agents.py +3 -2
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/migrations/m_0_6_7_ensure_missions.py +1 -1
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_7_2_worktree_commands_dedup.py +89 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_7_3_update_scripts.py +100 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_8_0_remove_active_mission.py +82 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_8_0_worktree_agents_symlink.py +148 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_9_0_frontmatter_only_lanes.py +291 -0
- spec_kitty_cli-0.10.9/src/specify_cli/upgrade/migrations/m_0_9_1_complete_lane_migration.py +540 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/registry.py +7 -1
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/runner.py +1 -1
- spec_kitty_cli-0.7.0/.kittify/missions/research/command-templates/implement.md +0 -308
- spec_kitty_cli-0.7.0/.kittify/missions/software-dev/command-templates/implement.md +0 -271
- spec_kitty_cli-0.7.0/.kittify/missions/software-dev/command-templates/review.md +0 -83
- spec_kitty_cli-0.7.0/scripts/bash/accept-feature.sh +0 -17
- spec_kitty_cli-0.7.0/scripts/bash/check-prerequisites.sh +0 -186
- spec_kitty_cli-0.7.0/scripts/bash/common.sh +0 -331
- spec_kitty_cli-0.7.0/scripts/bash/create-new-feature.sh +0 -392
- spec_kitty_cli-0.7.0/scripts/bash/mark-task-status.sh +0 -99
- spec_kitty_cli-0.7.0/scripts/bash/merge-feature.sh +0 -40
- spec_kitty_cli-0.7.0/scripts/bash/move-task-to-doing.sh +0 -43
- spec_kitty_cli-0.7.0/scripts/bash/refresh-kittify-tasks.sh +0 -108
- spec_kitty_cli-0.7.0/scripts/bash/setup-plan.sh +0 -73
- spec_kitty_cli-0.7.0/scripts/bash/setup-sandbox.sh +0 -179
- spec_kitty_cli-0.7.0/scripts/bash/tasks-add-history-entry.sh +0 -17
- spec_kitty_cli-0.7.0/scripts/bash/tasks-list-lanes.sh +0 -17
- spec_kitty_cli-0.7.0/scripts/bash/tasks-move-to-lane.sh +0 -40
- spec_kitty_cli-0.7.0/scripts/bash/tasks-rollback-move.sh +0 -17
- spec_kitty_cli-0.7.0/scripts/bash/update-agent-context.sh +0 -748
- spec_kitty_cli-0.7.0/scripts/bash/validate-task-workflow.sh +0 -45
- spec_kitty_cli-0.7.0/scripts/powershell/Merge-Feature.ps1 +0 -38
- spec_kitty_cli-0.7.0/scripts/powershell/Set-TaskStatus.ps1 +0 -39
- spec_kitty_cli-0.7.0/scripts/powershell/accept-feature.ps1 +0 -21
- spec_kitty_cli-0.7.0/scripts/powershell/check-prerequisites.ps1 +0 -148
- spec_kitty_cli-0.7.0/scripts/powershell/common.ps1 +0 -228
- spec_kitty_cli-0.7.0/scripts/powershell/create-new-feature.ps1 +0 -255
- spec_kitty_cli-0.7.0/scripts/powershell/setup-plan.ps1 +0 -72
- spec_kitty_cli-0.7.0/scripts/powershell/tasks-add-history-entry.ps1 +0 -21
- spec_kitty_cli-0.7.0/scripts/powershell/tasks-list-lanes.ps1 +0 -21
- spec_kitty_cli-0.7.0/scripts/powershell/tasks-move-to-lane.ps1 +0 -79
- spec_kitty_cli-0.7.0/scripts/powershell/tasks-rollback-move.ps1 +0 -21
- spec_kitty_cli-0.7.0/scripts/powershell/update-agent-context.ps1 +0 -452
- spec_kitty_cli-0.7.0/src/specify_cli/upgrade/migrations/__init__.py +0 -21
- spec_kitty_cli-0.7.0/templates/command-templates/accept.md +0 -66
- spec_kitty_cli-0.7.0/templates/command-templates/implement.md +0 -277
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.gitignore +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/memory/constitution.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/mission.yaml +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/data-model-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/plan-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/research/evidence-log.csv +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/research/source-register.csv +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/research-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/templates/spec-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/constitution.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/command-templates/dashboard.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/constitution/principles.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/mission.yaml +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/templates/plan-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/software-dev/templates/spec-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/POWERSHELL_SYNTAX.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/agent-file-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/checklist-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/constitution.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/command-templates/research.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/git-hooks/pre-commit-encoding-check +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/plan-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/spec-template.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9/.kittify}/templates/vscode-settings.json +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/LICENSE +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/docs/README.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/node_modules/@playwright/test/LICENSE +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/node_modules/@playwright/test/README.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/node_modules/playwright/LICENSE +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/node_modules/playwright/README.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/node_modules/playwright-core/LICENSE +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/node_modules/playwright-core/README.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/debug-dashboard-scan.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/git-hooks/pre-commit-task-workflow.sh +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/release/README.md +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/release/extract_changelog.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/release/validate_release.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/scripts/validate_encoding.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/commands/init_help.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/step_tracker.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/cli/ui.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/core/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/core/config.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/core/git_ops.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/core/project_resolver.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/core/tool_checker.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/core/utils.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/diagnostics.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/handlers/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/handlers/api.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/handlers/base.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/handlers/static.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/lifecycle.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/server.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/static/dashboard/dashboard.css +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/static/spec-kitty.png +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/dashboard/templates/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/gitignore_manager.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/guards.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/plan_validation.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/task_metadata_validation.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/template/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/template/github_client.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/template/renderer.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/text_sanitization.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/detector.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/metadata.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/migrations/base.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/migrations/m_0_2_0_specify_to_kittify.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/migrations/m_0_5_0_encoding_hooks.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/upgrade/migrations/m_0_6_5_commands_rename.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/validators/__init__.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/validators/paths.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/validators/research.py +0 -0
- {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/src/specify_cli/verify_enhanced.py +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute the implementation plan by processing and executing all tasks defined in tasks.md
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Work Package Selection
|
|
6
|
+
|
|
7
|
+
**User specified**: `$ARGUMENTS`
|
|
8
|
+
|
|
9
|
+
**Your task**: Determine which WP to implement:
|
|
10
|
+
- If `$ARGUMENTS` is empty → Find first WP file with `lane: "planned"` in `tasks/` directory
|
|
11
|
+
- If `$ARGUMENTS` provided → Normalize it:
|
|
12
|
+
- `wp01` → `WP01`
|
|
13
|
+
- `WP01` → `WP01`
|
|
14
|
+
- `WP01-foo-bar` → `WP01`
|
|
15
|
+
- Then find: `tasks/WP01*.md`
|
|
16
|
+
|
|
17
|
+
**Once you know which WP**, proceed to setup.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Setup (Do This First)
|
|
22
|
+
|
|
23
|
+
**1. Move WP to doing lane:**
|
|
24
|
+
```bash
|
|
25
|
+
spec-kitty agent tasks move-task <WPID> --to doing --note "Started implementation" --agent "codex"
|
|
26
|
+
```
|
|
27
|
+
This updates frontmatter, captures shell PID, adds activity log, and creates a commit.
|
|
28
|
+
|
|
29
|
+
**2. Get the prompt file path:**
|
|
30
|
+
The WP file is at: `kitty-specs/<feature>/tasks/<WPID>-<slug>.md`
|
|
31
|
+
Find the full absolute path.
|
|
32
|
+
|
|
33
|
+
**3. Verify the move worked:**
|
|
34
|
+
```bash
|
|
35
|
+
git log -1 # Should show "Start <WPID>: Move to doing lane"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Implementation (Do This Second)
|
|
41
|
+
|
|
42
|
+
**1. READ THE PROMPT FILE** (`tasks/<WPID>-slug.md`)
|
|
43
|
+
- This is your complete implementation guide
|
|
44
|
+
- Check `review_status` in frontmatter:
|
|
45
|
+
- If `has_feedback` → Read `## Review Feedback` section first
|
|
46
|
+
- Treat action items as your TODO list
|
|
47
|
+
|
|
48
|
+
**2. Read supporting docs:**
|
|
49
|
+
- `tasks.md` - Full task breakdown
|
|
50
|
+
- `plan.md` - Tech stack and architecture
|
|
51
|
+
- `spec.md` - Requirements
|
|
52
|
+
- `data-model.md`, `contracts/`, `research.md`, `quickstart.md` (if exist)
|
|
53
|
+
|
|
54
|
+
**3. Implement following the prompt's guidance:**
|
|
55
|
+
- Follow subtask order
|
|
56
|
+
- Respect dependencies (sequential vs parallel `[P]`)
|
|
57
|
+
- Run tests if required
|
|
58
|
+
- Commit as you complete major milestones
|
|
59
|
+
|
|
60
|
+
**4. When complete:**
|
|
61
|
+
```bash
|
|
62
|
+
spec-kitty agent tasks move-task <WPID> --to for_review --note "Ready for review"
|
|
63
|
+
git add <your-changes>
|
|
64
|
+
git commit -m "Complete <WPID>: <description>"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## That's It
|
|
70
|
+
|
|
71
|
+
**Simple workflow:**
|
|
72
|
+
1. Find which WP (from `$ARGUMENTS` or first planned)
|
|
73
|
+
2. Move it to doing
|
|
74
|
+
3. Read the prompt file
|
|
75
|
+
4. Do the work
|
|
76
|
+
5. Move to for_review
|
|
77
|
+
|
|
78
|
+
**No busywork, no shell PID tracking, just implement.**
|
{spec_kitty_cli-0.7.0 → spec_kitty_cli-0.10.9}/.kittify/missions/research/command-templates/merge.md
RENAMED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Merge a completed feature into the main branch and clean up worktree
|
|
3
|
-
scripts:
|
|
4
|
-
sh: ".kittify/scripts/bash/merge-feature.sh"
|
|
5
|
-
ps: ".kittify/scripts/powershell/Merge-Feature.ps1"
|
|
6
|
-
---
|
|
7
3
|
|
|
8
4
|
# Merge Feature Branch
|
|
9
5
|
|
|
@@ -14,7 +10,7 @@ This command merges a completed feature branch into the main/target branch and h
|
|
|
14
10
|
Before running this command:
|
|
15
11
|
|
|
16
12
|
1. ✅ Feature must pass `/spec-kitty.accept` checks
|
|
17
|
-
2. ✅ All work packages must be in `tasks
|
|
13
|
+
2. ✅ All work packages must be in `tasks/`
|
|
18
14
|
3. ✅ Working directory must be clean (no uncommitted changes)
|
|
19
15
|
4. ✅ You must be on the feature branch (or in its worktree)
|
|
20
16
|
|
|
@@ -23,14 +19,6 @@ Before running this command:
|
|
|
23
19
|
Before merging, verify you are in the correct working directory by running the shared pre-flight validation:
|
|
24
20
|
|
|
25
21
|
```python
|
|
26
|
-
from specify_cli.guards import validate_worktree_location
|
|
27
|
-
|
|
28
|
-
# Validate location
|
|
29
|
-
result = validate_worktree_location()
|
|
30
|
-
if not result.is_valid:
|
|
31
|
-
print(result.format_error())
|
|
32
|
-
print("\nThis command MUST run from a feature worktree, not the main repository.")
|
|
33
|
-
exit(1)
|
|
34
22
|
```
|
|
35
23
|
|
|
36
24
|
**What this validates**:
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Execute the implementation planning workflow using the plan template to generate design artifacts.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: scripts/bash/setup-plan.sh --json
|
|
5
|
-
ps: scripts/powershell/setup-plan.ps1 -Json
|
|
6
|
-
agent_scripts:
|
|
7
|
-
sh: scripts/bash/update-agent-context.sh __AGENT__
|
|
8
|
-
ps: scripts/powershell/update-agent-context.ps1 -AgentType __AGENT__
|
|
9
|
-
---
|
|
10
3
|
|
|
11
4
|
## User Input
|
|
12
5
|
|
|
@@ -21,14 +14,6 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
21
14
|
Before proceeding with planning, verify you are in the correct working directory by running the shared pre-flight validation:
|
|
22
15
|
|
|
23
16
|
```python
|
|
24
|
-
from specify_cli.guards import validate_worktree_location
|
|
25
|
-
|
|
26
|
-
# Validate location
|
|
27
|
-
result = validate_worktree_location()
|
|
28
|
-
if not result.is_valid:
|
|
29
|
-
print(result.format_error())
|
|
30
|
-
print("\nThis command MUST run from a feature worktree, not the main repository.")
|
|
31
|
-
exit(1)
|
|
32
17
|
```
|
|
33
18
|
|
|
34
19
|
**What this validates**:
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Perform structured research review with citation validation.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: scripts/bash/check-prerequisites.sh --json --include-tasks
|
|
5
|
-
ps: scripts/powershell/check-prerequisites.ps1 -Json -IncludeTasks
|
|
6
|
-
---
|
|
7
3
|
|
|
8
4
|
## User Input
|
|
9
5
|
|
|
@@ -18,14 +14,6 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
18
14
|
Before proceeding with review, verify you are in the correct working directory by running the shared pre-flight validation:
|
|
19
15
|
|
|
20
16
|
```python
|
|
21
|
-
from specify_cli.guards import validate_worktree_location
|
|
22
|
-
|
|
23
|
-
# Validate location
|
|
24
|
-
result = validate_worktree_location()
|
|
25
|
-
if not result.is_valid:
|
|
26
|
-
print(result.format_error())
|
|
27
|
-
print("\nThis command MUST run from a feature worktree, not the main repository.")
|
|
28
|
-
exit(1)
|
|
29
17
|
```
|
|
30
18
|
|
|
31
19
|
**What this validates**:
|
|
@@ -76,8 +64,8 @@ if source_register.exists():
|
|
|
76
64
|
1. Run `{SCRIPT}` from repo root; capture `FEATURE_DIR`, `AVAILABLE_DOCS`, and `tasks.md` path.
|
|
77
65
|
|
|
78
66
|
2. Determine the review target:
|
|
79
|
-
- If user input specifies a filename, validate it exists under `tasks
|
|
80
|
-
- Otherwise, select the oldest file in `tasks
|
|
67
|
+
- If user input specifies a filename, validate it exists under `tasks/` (flat structure, check `lane: "for_review"` in frontmatter).
|
|
68
|
+
- Otherwise, select the oldest file in `tasks/` (lexical order is sufficient because filenames retain task ordering).
|
|
81
69
|
- Abort with instructional message if no files are waiting for review.
|
|
82
70
|
|
|
83
71
|
3. Load context for the selected task:
|
|
@@ -96,15 +84,15 @@ if source_register.exists():
|
|
|
96
84
|
* Append a new entry in the prompt’s **Activity Log** detailing feedback (include timestamp, reviewer agent, shell PID).
|
|
97
85
|
* Update frontmatter `lane` back to `planned`, clear `assignee` if necessary, keep history entry.
|
|
98
86
|
* Add/revise a `## Review Feedback` section (create if missing) summarizing action items.
|
|
99
|
-
* Run
|
|
87
|
+
* Run `spec-kitty agent tasks move-task <FEATURE> <TASK_ID> planned --note "Returned for changes"` (use the PowerShell equivalent on Windows) so the move and history update are staged consistently.
|
|
100
88
|
- **Approved**:
|
|
101
89
|
* Append Activity Log entry capturing approval details (capture shell PID via `echo $$` or helper script).
|
|
102
90
|
* Update frontmatter: set `lane=done`, set reviewer metadata (`agent`, `shell_pid`), optional `assignee` for approver.
|
|
103
91
|
* Use helper script to mark the task complete in `tasks.md` (see Step 6).
|
|
104
|
-
* Run
|
|
92
|
+
* Run `spec-kitty agent tasks move-task <FEATURE> <TASK_ID> done --note "Approved for release"` (PowerShell variant available) to transition the prompt into `tasks/`.
|
|
105
93
|
|
|
106
94
|
6. Update `tasks.md` automatically:
|
|
107
|
-
- Run `
|
|
95
|
+
- Run `spec-kitty agent tasks mark-status --task-id <TASK_ID> --status done` (POSIX) or `spec-kitty agent tasks mark-status --task-id <TASK_ID> --status done` (PowerShell) from repo root.
|
|
108
96
|
- Confirm the task entry now shows `[X]` and includes a reference to the prompt file in its notes.
|
|
109
97
|
|
|
110
98
|
7. Produce a review report summarizing:
|
|
@@ -28,7 +28,7 @@ description: "Work package task list template for research methodology execution
|
|
|
28
28
|
|
|
29
29
|
**Goal**: Identify and collect all relevant sources for the research question.
|
|
30
30
|
**Independent Test**: `research/source-register.csv` contains the minimum required high-quality sources with relevance ratings.
|
|
31
|
-
**Prompt**: `/tasks/
|
|
31
|
+
**Prompt**: `/tasks/WP01-literature-search.md`
|
|
32
32
|
|
|
33
33
|
### Included Subtasks
|
|
34
34
|
- [ ] T001 Define search keywords and inclusion/exclusion criteria
|
|
@@ -49,7 +49,7 @@ description: "Work package task list template for research methodology execution
|
|
|
49
49
|
|
|
50
50
|
**Goal**: Review prioritized sources and extract key findings.
|
|
51
51
|
**Independent Test**: `research/evidence-log.csv` contains findings from all high-relevance sources with confidence levels.
|
|
52
|
-
**Prompt**: `/tasks/
|
|
52
|
+
**Prompt**: `/tasks/WP02-source-review.md`
|
|
53
53
|
|
|
54
54
|
### Included Subtasks
|
|
55
55
|
- [ ] T008 [P] Review high-relevance sources (parallelizable by researcher/source)
|
|
@@ -68,7 +68,7 @@ description: "Work package task list template for research methodology execution
|
|
|
68
68
|
|
|
69
69
|
**Goal**: Synthesize findings and answer the research question.
|
|
70
70
|
**Independent Test**: findings.md contains synthesized conclusions backed by citations.
|
|
71
|
-
**Prompt**: `/tasks/
|
|
71
|
+
**Prompt**: `/tasks/WP03-analysis-synthesis.md`
|
|
72
72
|
|
|
73
73
|
### Included Subtasks
|
|
74
74
|
- [ ] T013 Code findings by theme/category
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks
|
|
5
|
-
ps: scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks
|
|
6
|
-
---
|
|
7
3
|
|
|
8
4
|
## User Input
|
|
9
5
|
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Generate a custom checklist for the current feature based on user requirements.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: scripts/bash/check-prerequisites.sh --json
|
|
5
|
-
ps: scripts/powershell/check-prerequisites.ps1 -Json
|
|
6
|
-
---
|
|
7
3
|
|
|
8
4
|
## Checklist Purpose: "Unit Tests for English"
|
|
9
5
|
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: scripts/bash/check-prerequisites.sh --json --paths-only
|
|
5
|
-
ps: scripts/powershell/check-prerequisites.ps1 -Json -PathsOnly
|
|
6
|
-
---
|
|
7
3
|
|
|
8
4
|
## User Input
|
|
9
5
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute the implementation plan by processing and executing all tasks defined in tasks.md
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run this command to get your work package prompt and instructions:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
spec-kitty agent workflow implement $ARGUMENTS
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If no WP ID is provided, it will automatically find the first work package with `lane: "planned"` and move it to "doing" for you.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Merge a completed feature into the main branch and clean up worktree
|
|
3
|
-
scripts:
|
|
4
|
-
sh: ".kittify/scripts/bash/merge-feature.sh"
|
|
5
|
-
ps: ".kittify/scripts/powershell/Merge-Feature.ps1"
|
|
6
|
-
---
|
|
7
3
|
|
|
8
4
|
# Merge Feature Branch
|
|
9
5
|
|
|
@@ -14,7 +10,7 @@ This command merges a completed feature branch into the main/target branch and h
|
|
|
14
10
|
Before running this command:
|
|
15
11
|
|
|
16
12
|
1. ✅ Feature must pass `/spec-kitty.accept` checks
|
|
17
|
-
2. ✅ All work packages must be in `tasks
|
|
13
|
+
2. ✅ All work packages must be in `tasks/`
|
|
18
14
|
3. ✅ Working directory must be clean (no uncommitted changes)
|
|
19
15
|
4. ✅ You must be on the feature branch (or in its worktree)
|
|
20
16
|
|
|
@@ -23,14 +19,6 @@ Before running this command:
|
|
|
23
19
|
Before merging, verify you are in the correct working directory by running the shared pre-flight validation:
|
|
24
20
|
|
|
25
21
|
```python
|
|
26
|
-
from specify_cli.guards import validate_worktree_location
|
|
27
|
-
|
|
28
|
-
# Validate location
|
|
29
|
-
result = validate_worktree_location()
|
|
30
|
-
if not result.is_valid:
|
|
31
|
-
print(result.format_error())
|
|
32
|
-
print("\nThis command MUST run from a feature worktree, not the main repository.")
|
|
33
|
-
exit(1)
|
|
34
22
|
```
|
|
35
23
|
|
|
36
24
|
**What this validates**:
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Execute the implementation planning workflow using the plan template to generate design artifacts.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: scripts/bash/setup-plan.sh --json
|
|
5
|
-
ps: scripts/powershell/setup-plan.ps1 -Json
|
|
6
|
-
agent_scripts:
|
|
7
|
-
sh: scripts/bash/update-agent-context.sh __AGENT__
|
|
8
|
-
ps: scripts/powershell/update-agent-context.ps1 -AgentType __AGENT__
|
|
9
3
|
---
|
|
10
|
-
*Path: [templates/commands/plan.md](templates/commands/plan.md)*
|
|
11
|
-
|
|
12
4
|
|
|
13
5
|
## User Input
|
|
14
6
|
|
|
@@ -20,29 +12,18 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
20
12
|
|
|
21
13
|
## Location Pre-flight Check (CRITICAL for AI Agents)
|
|
22
14
|
|
|
23
|
-
Before proceeding with planning, verify you are in the correct working directory:
|
|
15
|
+
Before proceeding with planning, verify you are in the correct working directory by running the shared pre-flight validation:
|
|
24
16
|
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
git branch --show-current
|
|
17
|
+
```python
|
|
28
18
|
```
|
|
29
19
|
|
|
30
|
-
**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
**What this validates**:
|
|
21
|
+
- Current branch follows the feature pattern like `001-feature-name`
|
|
22
|
+
- You're not attempting to run from `main` or any release branch
|
|
23
|
+
- The validator prints clear navigation instructions if you're outside the feature worktree
|
|
34
24
|
|
|
35
|
-
If you're on the `main` branch:
|
|
36
|
-
1. Check for available worktrees: `ls .worktrees/`
|
|
37
|
-
2. Navigate to the appropriate feature worktree: `cd .worktrees/<feature-name>`
|
|
38
|
-
3. Verify you're in the right place: `git branch --show-current` should show the feature branch
|
|
39
|
-
4. Then re-run this command
|
|
40
|
-
|
|
41
|
-
The script will fail if you're not in a feature worktree.
|
|
42
25
|
**Path reference rule:** When you mention directories or files, provide either the absolute path or a path relative to the project root (for example, `kitty-specs/<feature>/tasks/`). Never refer to a folder by name alone.
|
|
43
26
|
|
|
44
|
-
This is intentional - worktrees provide isolation for parallel feature development.
|
|
45
|
-
|
|
46
27
|
## Planning Interrogation (mandatory)
|
|
47
28
|
|
|
48
29
|
Before executing any scripts or generating artifacts you must interrogate the specification and stakeholders.
|
|
@@ -73,10 +54,13 @@ Planning requirements (scale to complexity):
|
|
|
73
54
|
## Outline
|
|
74
55
|
|
|
75
56
|
1. **Check planning discovery status**:
|
|
76
|
-
- If any planning questions remain unanswered or the user has not confirmed the **Engineering Alignment** summary, stay in the one-question cadence, capture the user
|
|
57
|
+
- If any planning questions remain unanswered or the user has not confirmed the **Engineering Alignment** summary, stay in the one-question cadence, capture the user's response, update your internal table, and end with `WAITING_FOR_PLANNING_INPUT`. Do **not** surface the table. Do **not** run the setup command yet.
|
|
77
58
|
- Once every planning question has a concrete answer and the alignment summary is confirmed by the user, continue.
|
|
78
59
|
|
|
79
|
-
2. **Setup**: Run `
|
|
60
|
+
2. **Setup**: Run `spec-kitty agent feature setup-plan --json` from the worktree root and parse JSON for:
|
|
61
|
+
- `result`: "success" or error message
|
|
62
|
+
- `plan_file`: Absolute path to the created plan.md
|
|
63
|
+
- `feature_dir`: Absolute path to the feature directory
|
|
80
64
|
|
|
81
65
|
3. **Load context**: Read FEATURE_SPEC and `.kittify/memory/constitution.md`. Load IMPL_PLAN template (already copied).
|
|
82
66
|
|
|
@@ -84,19 +68,19 @@ Planning requirements (scale to complexity):
|
|
|
84
68
|
- Update Technical Context with explicit statements from the user or discovery research; mark `[NEEDS CLARIFICATION: …]` only when the user deliberately postpones a decision
|
|
85
69
|
- Fill Constitution Check section from constitution and challenge any conflicts directly with the user
|
|
86
70
|
- Evaluate gates (ERROR if violations unjustified or questions remain unanswered)
|
|
87
|
-
- Phase 0:
|
|
88
|
-
- Phase 1: Generate data-model.md, contracts/, quickstart.md based on confirmed intent
|
|
71
|
+
- Phase 0: Generate research.md (commission research to resolve every outstanding clarification)
|
|
72
|
+
- Phase 1: Generate data-model.md, contracts/, quickstart.md based on confirmed intent
|
|
89
73
|
- Phase 1: Update agent context by running the agent script
|
|
90
74
|
- Re-evaluate Constitution Check post-design, asking the user to resolve new gaps before proceeding
|
|
91
75
|
|
|
92
|
-
5. **
|
|
76
|
+
5. **STOP and report**: This command ends after Phase 1 planning. Report branch, IMPL_PLAN path, and generated artifacts.
|
|
77
|
+
|
|
78
|
+
**⚠️ CRITICAL: DO NOT proceed to task generation!** The user must explicitly run `/spec-kitty.tasks` to generate work packages. Your job is COMPLETE after reporting the planning artifacts.
|
|
93
79
|
|
|
94
80
|
## Phases
|
|
95
81
|
|
|
96
82
|
### Phase 0: Outline & Research
|
|
97
83
|
|
|
98
|
-
> Kick off this phase by running `spec-kitty research` to scaffold the mission-specific files listed below. Then use the checklist to enrich each artifact with the clarifications uncovered during planning.
|
|
99
|
-
|
|
100
84
|
1. **Extract unknowns from Technical Context** above:
|
|
101
85
|
- For each NEEDS CLARIFICATION → research task
|
|
102
86
|
- For each dependency → best practices task
|
|
@@ -144,3 +128,28 @@ Planning requirements (scale to complexity):
|
|
|
144
128
|
|
|
145
129
|
- Use absolute paths
|
|
146
130
|
- ERROR on gate failures or unresolved clarifications
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## ⛔ MANDATORY STOP POINT
|
|
135
|
+
|
|
136
|
+
**This command is COMPLETE after generating planning artifacts.**
|
|
137
|
+
|
|
138
|
+
After reporting:
|
|
139
|
+
- `plan.md` path
|
|
140
|
+
- `research.md` path (if generated)
|
|
141
|
+
- `data-model.md` path (if generated)
|
|
142
|
+
- `contracts/` contents (if generated)
|
|
143
|
+
- Agent context file updated
|
|
144
|
+
|
|
145
|
+
**YOU MUST STOP HERE.**
|
|
146
|
+
|
|
147
|
+
Do NOT:
|
|
148
|
+
- ❌ Generate `tasks.md`
|
|
149
|
+
- ❌ Create work package (WP) files
|
|
150
|
+
- ❌ Create `tasks/` subdirectories
|
|
151
|
+
- ❌ Proceed to implementation
|
|
152
|
+
|
|
153
|
+
The user will run `/spec-kitty.tasks` when they are ready to generate work packages.
|
|
154
|
+
|
|
155
|
+
**Next suggested command**: `/spec-kitty.tasks` (user must invoke this explicitly)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Perform structured code review and kanban transitions for completed task prompt files
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run this command to get the work package prompt and review instructions:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
spec-kitty agent workflow review $ARGUMENTS
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If no WP ID is provided, it will automatically find the first work package with `lane: "for_review"` and move it to "doing" for you.
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create or update the feature specification from a natural language feature description.
|
|
3
|
-
scripts:
|
|
4
|
-
sh: .kittify/scripts/bash/create-new-feature.sh --json "{ARGS}"
|
|
5
|
-
ps: .kittify/scripts/powershell/create-new-feature.ps1 -Json "{ARGS}"
|
|
6
3
|
---
|
|
7
4
|
|
|
8
5
|
## User Input
|
|
@@ -40,6 +37,42 @@ Discovery requirements (scale to feature complexity):
|
|
|
40
37
|
3. When you have sufficient context for the feature's scope, paraphrase into an **Intent Summary** and confirm. For trivial features, this can be very brief.
|
|
41
38
|
4. If user explicitly asks to skip questions or says "just testing", acknowledge and proceed with minimal discovery.
|
|
42
39
|
|
|
40
|
+
## Mission Selection
|
|
41
|
+
|
|
42
|
+
After completing discovery and confirming the Intent Summary, determine the appropriate mission for this feature.
|
|
43
|
+
|
|
44
|
+
### Available Missions
|
|
45
|
+
|
|
46
|
+
- **software-dev**: For building software features, APIs, CLI tools, applications
|
|
47
|
+
- Phases: research → design → implement → test → review
|
|
48
|
+
- Best for: code changes, new features, bug fixes, refactoring
|
|
49
|
+
|
|
50
|
+
- **research**: For investigations, literature reviews, technical analysis
|
|
51
|
+
- Phases: question → methodology → gather → analyze → synthesize → publish
|
|
52
|
+
- Best for: feasibility studies, market research, technology evaluation
|
|
53
|
+
|
|
54
|
+
### Mission Inference
|
|
55
|
+
|
|
56
|
+
1. **Analyze the feature description** to identify the primary goal:
|
|
57
|
+
- Building, coding, implementing, creating software → **software-dev**
|
|
58
|
+
- Researching, investigating, analyzing, evaluating → **research**
|
|
59
|
+
|
|
60
|
+
2. **Check for explicit mission requests** in the user's description:
|
|
61
|
+
- If user mentions "research project", "investigation", "analysis" → use research
|
|
62
|
+
- If user mentions "build", "implement", "create feature" → use software-dev
|
|
63
|
+
|
|
64
|
+
3. **Confirm with user** (unless explicit):
|
|
65
|
+
> "Based on your description, this sounds like a **[software-dev/research]** project.
|
|
66
|
+
> I'll use the **[mission name]** mission. Does that work for you?"
|
|
67
|
+
|
|
68
|
+
4. **Handle user response**:
|
|
69
|
+
- If confirmed: proceed with selected mission
|
|
70
|
+
- If user wants different mission: use their choice
|
|
71
|
+
|
|
72
|
+
5. **Handle --mission flag**: If the user provides `--mission <key>` in their command, skip inference and use the specified mission directly.
|
|
73
|
+
|
|
74
|
+
Store the final mission selection to pass to the script via `--mission "<selected-mission>"`.
|
|
75
|
+
|
|
43
76
|
## Outline
|
|
44
77
|
|
|
45
78
|
### 0. Generate a Friendly Feature Title
|
|
@@ -56,44 +89,60 @@ Given that feature description, do this:
|
|
|
56
89
|
- **Interactive Interview Mode (no arguments)**: Use the discovery interview to elicit all necessary context, synthesize the working feature description, and confirm it with the user before you generate any specification artifacts.
|
|
57
90
|
|
|
58
91
|
1. **Check discovery status**:
|
|
59
|
-
- If this is your first message or discovery questions remain unanswered, stay in the one-question loop, capture the user
|
|
92
|
+
- If this is your first message or discovery questions remain unanswered, stay in the one-question loop, capture the user's response, update your internal table, and end with `WAITING_FOR_DISCOVERY_INPUT`. Do **not** surface the table; keep it internal. Do **not** call the creation command yet.
|
|
60
93
|
- Only proceed once every discovery question has an explicit answer and the user has acknowledged the Intent Summary.
|
|
61
|
-
- Empty invocation rule: stay in interview mode until you can restate the agreed-upon feature description. Do **not** call
|
|
62
|
-
|
|
63
|
-
2. When discovery is complete and the intent summary **and
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
- Empty invocation rule: stay in interview mode until you can restate the agreed-upon feature description. Do **not** call the creation command while the description is missing or provisional.
|
|
95
|
+
|
|
96
|
+
2. When discovery is complete and the intent summary, **title**, and **mission** are confirmed, run the feature creation command from repo root:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
spec-kitty agent feature create-feature "<slug>" --json
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Where `<slug>` is a kebab-case version of the friendly title (e.g., "Checkout Upsell Flow" → "checkout-upsell-flow").
|
|
103
|
+
|
|
104
|
+
The command returns JSON with:
|
|
105
|
+
- `result`: "success" or error message
|
|
106
|
+
- `feature`: Feature number and slug (e.g., "014-checkout-upsell-flow")
|
|
107
|
+
- `worktree_path`: Absolute path to the created worktree
|
|
108
|
+
- `feature_dir`: Absolute path to the feature directory inside the worktree
|
|
109
|
+
|
|
110
|
+
Parse these values for use in subsequent steps. All file paths are absolute.
|
|
111
|
+
|
|
112
|
+
**IMPORTANT**: You must only ever run this command once. The JSON is provided in the terminal output - always refer to it to get the actual paths you're looking for.
|
|
113
|
+
3. **Navigate to the worktree**: After feature creation, change directory to the worktree path returned by the command.
|
|
114
|
+
|
|
115
|
+
4. Load the spec template from `.kittify/templates/spec-template.md` (or `templates/spec-template.md`) to understand required sections.
|
|
116
|
+
|
|
117
|
+
5. Create meta.json in the feature directory with:
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"feature_number": "<number>",
|
|
121
|
+
"slug": "<full-slug>",
|
|
122
|
+
"friendly_name": "<Friendly Title>",
|
|
123
|
+
"mission": "<selected-mission>",
|
|
124
|
+
"source_description": "$ARGUMENTS",
|
|
125
|
+
"created_at": "<ISO timestamp>"
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
6. Generate the specification content by following this flow:
|
|
130
|
+
- Use the discovery answers as your authoritative source of truth (do **not** rely on raw `$ARGUMENTS`)
|
|
131
|
+
- For empty invocations, treat the synthesized interview summary as the canonical feature description
|
|
132
|
+
- Identify: actors, actions, data, constraints, motivations, success metrics
|
|
133
|
+
- For any remaining ambiguity:
|
|
134
|
+
* Ask the user a focused follow-up question immediately and halt work until they answer
|
|
135
|
+
* Only use `[NEEDS CLARIFICATION: …]` when the user explicitly defers the decision
|
|
136
|
+
* Record any interim assumption in the Assumptions section
|
|
137
|
+
* Prioritize clarifications by impact: scope > outcomes > risks/security > user experience > technical details
|
|
138
|
+
- Fill User Scenarios & Testing section (ERROR if no clear user flow can be determined)
|
|
139
|
+
- Generate Functional Requirements (each requirement must be testable)
|
|
140
|
+
- Define Success Criteria (measurable, technology-agnostic outcomes)
|
|
141
|
+
- Identify Key Entities (if data involved)
|
|
142
|
+
|
|
143
|
+
7. Write the specification to `<feature_dir>/spec.md` using the template structure, replacing placeholders with concrete details derived from the feature description while preserving section order and headings.
|
|
144
|
+
|
|
145
|
+
8. **Specification Quality Validation**: After writing the initial spec, validate it against quality criteria:
|
|
97
146
|
|
|
98
147
|
a. **Create Spec Quality Checklist**: Generate a checklist file at `FEATURE_DIR/checklists/requirements.md` using the checklist template structure with these validation items:
|
|
99
148
|
|
|
@@ -169,7 +218,7 @@ Given that feature description, do this:
|
|
|
169
218
|
|
|
170
219
|
d. **Update Checklist**: After each validation iteration, update the checklist file with current pass/fail status
|
|
171
220
|
|
|
172
|
-
|
|
221
|
+
9. Report completion with worktree path, feature directory, spec file path, checklist results, and readiness for the next phase (`/spec-kitty.clarify` or `/spec-kitty.plan`).
|
|
173
222
|
|
|
174
223
|
**NOTE:** The script creates and checks out the new branch and initializes the spec file before writing.
|
|
175
224
|
|