spec-kitty-cli 0.5.0__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.5.0/.gitignore +61 -0
- spec_kitty_cli-0.5.0/.kittify/AGENTS.md +105 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/accept.md +61 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/analyze.md +186 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/checklist.md +289 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/clarify.md +160 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/constitution.md +77 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/dashboard.md +101 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/implement.md +273 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/merge.md +270 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/plan.md +139 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/review.md +83 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/specify.md +237 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/commands/tasks.md +134 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/constitution/principles.md +57 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/mission.yaml +100 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/templates/plan-template.md +132 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/templates/spec-template.md +116 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/templates/task-prompt-template.md +113 -0
- spec_kitty_cli-0.5.0/.kittify/active-mission/templates/tasks-template.md +159 -0
- spec_kitty_cli-0.5.0/.kittify/memory/constitution.md +50 -0
- spec_kitty_cli-0.5.0/.kittify/missions/research/mission.yaml +108 -0
- spec_kitty_cli-0.5.0/.kittify/missions/research/templates/data-model-template.md +33 -0
- spec_kitty_cli-0.5.0/.kittify/missions/research/templates/research/evidence-log.csv +1 -0
- spec_kitty_cli-0.5.0/.kittify/missions/research/templates/research/source-register.csv +1 -0
- spec_kitty_cli-0.5.0/.kittify/missions/research/templates/research-template.md +35 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/accept-feature.sh +36 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/check-prerequisites.sh +222 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/common.sh +696 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/create-new-feature.sh +301 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/mark-task-status.sh +107 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/merge-feature.sh +56 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/move-task-to-doing.sh +74 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/refresh-kittify-tasks.sh +107 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/setup-plan.sh +76 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/setup-sandbox.sh +201 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/tasks-add-history-entry.sh +36 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/tasks-list-lanes.sh +36 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/tasks-move-to-lane.sh +56 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/tasks-rollback-move.sh +36 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/update-agent-context.sh +765 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/bash/validate-task-workflow.sh +81 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/tasks/acceptance_support.py +641 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/tasks/task_helpers.py +352 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/tasks/tasks_cli.py +904 -0
- spec_kitty_cli-0.5.0/.kittify/scripts/validate_encoding.py +180 -0
- spec_kitty_cli-0.5.0/.kittify/templates/AGENTS.md +105 -0
- spec_kitty_cli-0.5.0/.kittify/templates/agent-file-template.md +25 -0
- spec_kitty_cli-0.5.0/.kittify/templates/checklist-template.md +42 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/accept.md +66 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/analyze.md +191 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/checklist.md +294 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/clarify.md +165 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/constitution.md +82 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/dashboard.md +130 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/implement.md +273 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/merge.md +275 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/plan.md +148 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/research.md +37 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/review.md +115 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/specify.md +242 -0
- spec_kitty_cli-0.5.0/.kittify/templates/commands/tasks.md +139 -0
- spec_kitty_cli-0.5.0/.kittify/templates/plan-template.md +108 -0
- spec_kitty_cli-0.5.0/.kittify/templates/spec-template.md +118 -0
- spec_kitty_cli-0.5.0/.kittify/templates/task-prompt-template.md +88 -0
- spec_kitty_cli-0.5.0/.kittify/templates/tasks-template.md +161 -0
- spec_kitty_cli-0.5.0/.kittify/templates/vscode-settings.json +13 -0
- spec_kitty_cli-0.5.0/AGENTS.md +278 -0
- spec_kitty_cli-0.5.0/CHANGELOG.md +519 -0
- spec_kitty_cli-0.5.0/CLAUDE.md +29 -0
- spec_kitty_cli-0.5.0/CONTRIBUTING.md +112 -0
- spec_kitty_cli-0.5.0/LICENSE +21 -0
- spec_kitty_cli-0.5.0/PKG-INFO +1444 -0
- spec_kitty_cli-0.5.0/README.md +1387 -0
- spec_kitty_cli-0.5.0/ascii-art.txt +26 -0
- spec_kitty_cli-0.5.0/docs/.gitignore +8 -0
- spec_kitty_cli-0.5.0/docs/ARCHITECTURE.md +582 -0
- spec_kitty_cli-0.5.0/docs/CONTEXT_SWITCHING_GUIDE.md +650 -0
- spec_kitty_cli-0.5.0/docs/README.md +42 -0
- spec_kitty_cli-0.5.0/docs/WORKTREE_MODEL.md +659 -0
- spec_kitty_cli-0.5.0/docs/assets/css/custom.css +22 -0
- spec_kitty_cli-0.5.0/docs/assets/images/dashboard-kanban.png +0 -0
- spec_kitty_cli-0.5.0/docs/assets/images/dashboard-overview.png +0 -0
- spec_kitty_cli-0.5.0/docs/assets/images/logo_small.webp +0 -0
- spec_kitty_cli-0.5.0/docs/claude-code-workflow.md +100 -0
- spec_kitty_cli-0.5.0/docs/docfx.json +71 -0
- spec_kitty_cli-0.5.0/docs/encoding-requirements.md +195 -0
- spec_kitty_cli-0.5.0/docs/encoding-validation.md +554 -0
- spec_kitty_cli-0.5.0/docs/index.md +840 -0
- spec_kitty_cli-0.5.0/docs/installation.md +134 -0
- spec_kitty_cli-0.5.0/docs/kanban-dashboard-guide.md +67 -0
- spec_kitty_cli-0.5.0/docs/local-development.md +197 -0
- spec_kitty_cli-0.5.0/docs/multi-agent-orchestration.md +65 -0
- spec_kitty_cli-0.5.0/docs/non-interactive-init.md +428 -0
- spec_kitty_cli-0.5.0/docs/plan-validation-guardrail.md +202 -0
- spec_kitty_cli-0.5.0/docs/quickstart.md +201 -0
- spec_kitty_cli-0.5.0/docs/releases/readiness-checklist.md +167 -0
- spec_kitty_cli-0.5.0/docs/spec-workflow-automation.md +66 -0
- spec_kitty_cli-0.5.0/docs/toc.yml +31 -0
- spec_kitty_cli-0.5.0/examples/agency-client-demo.md +219 -0
- spec_kitty_cli-0.5.0/examples/claude-cursor-collaboration.md +85 -0
- spec_kitty_cli-0.5.0/examples/constitution-driven-quality.md +449 -0
- spec_kitty_cli-0.5.0/examples/dashboard-driven-development.md +66 -0
- spec_kitty_cli-0.5.0/examples/multi-agent-feature-development.md +42 -0
- spec_kitty_cli-0.5.0/examples/parallel-implementation-tracking.md +45 -0
- spec_kitty_cli-0.5.0/examples/research-mission-example.md +316 -0
- spec_kitty_cli-0.5.0/examples/solo-developer-workflow.md +180 -0
- spec_kitty_cli-0.5.0/examples/worktree-parallel-features.md +512 -0
- spec_kitty_cli-0.5.0/kitty-specs/001-demo-feature/data-model.md +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/001-demo-feature/research/evidence-log.csv +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/001-demo-feature/research/source-register.csv +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/001-demo-feature/research.md +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/001-mission-system-architecture/meta.json +7 -0
- spec_kitty_cli-0.5.0/kitty-specs/001-mission-system-architecture/spec.md +664 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/checklists/requirements.md +34 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/contracts/github-release-workflow.yml +59 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/contracts/release-validation-cli.md +33 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/data-model.md +63 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/meta.json +7 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/plan.md +68 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/quickstart.md +46 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/research/evidence-log.csv +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/research/source-register.csv +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/research.md +17 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/spec.md +93 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/tasks/done/WP01-release-validation-tooling.md +196 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/tasks/done/WP02-pypi-release-automation.md +124 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/tasks/done/WP03-release-readiness-guardrails.md +116 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/tasks/done/WP04-documentation-and-secret-hygiene.md +110 -0
- spec_kitty_cli-0.5.0/kitty-specs/002-lightweight-pypi-release/tasks.md +146 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/checklists/requirements.md +37 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/contracts/gitignore-manager-api.yaml +124 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/contracts/test-contract.md +50 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/data-model.md +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/meta.json +7 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/plan.md +176 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/quickstart.md +153 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/research/evidence-log.csv +8 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/research/source-register.csv +7 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/research/test-data.csv +6 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/research.md +184 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/spec.md +102 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/tasks/done/WP01-create-gitignore-manager.md +169 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/tasks/done/WP02-core-protection-methods.md +190 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/tasks/done/WP03-replace-existing-implementation.md +182 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/tasks/done/WP04-testing-infrastructure.md +219 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/tasks/done/WP05-documentation-polish.md +198 -0
- spec_kitty_cli-0.5.0/kitty-specs/003-auto-protect-agent/tasks.md +245 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/checklists/requirements.md +37 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/contracts/module-interfaces.yaml +319 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/data-model.md +438 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/meta.json +7 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/plan.md +284 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/quickstart.md +340 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/research/evidence-log.csv +11 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/research/source-register.csv +11 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/research.md +0 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/spec.md +297 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP01-foundation-layer.md +333 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP02-dashboard-infrastructure.md +377 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP03-template-system.md +224 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP04-core-services.md +210 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP05-dashboard-handlers.md +257 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP06-cli-commands.md +248 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP07-github-init.md +212 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks/done/WP08-integration-cleanup.md +232 -0
- spec_kitty_cli-0.5.0/kitty-specs/004-modular-code-refactoring/tasks.md +307 -0
- spec_kitty_cli-0.5.0/media/dashboard-kanban.png +0 -0
- spec_kitty_cli-0.5.0/media/dashboard-overview.png +0 -0
- spec_kitty_cli-0.5.0/media/logo_large.webp +0 -0
- spec_kitty_cli-0.5.0/media/logo_small.png +0 -0
- spec_kitty_cli-0.5.0/media/logo_small.webp +0 -0
- spec_kitty_cli-0.5.0/memory/constitution.md +50 -0
- spec_kitty_cli-0.5.0/node_modules/.bin/playwright +1 -0
- spec_kitty_cli-0.5.0/node_modules/.bin/playwright-core +1 -0
- spec_kitty_cli-0.5.0/node_modules/.package-lock.json +71 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/LICENSE +202 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/NOTICE +5 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/README.md +168 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/cli.js +19 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/index.d.ts +18 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/index.js +17 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/index.mjs +18 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/package.json +35 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/reporter.d.ts +17 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/reporter.js +17 -0
- spec_kitty_cli-0.5.0/node_modules/@playwright/test/reporter.mjs +17 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/LICENSE +202 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/NOTICE +5 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/README.md +168 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/ThirdPartyNotices.txt +6277 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/cli.js +19 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/index.d.ts +17 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/index.js +17 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/index.mjs +18 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/jsx-runtime.js +42 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/jsx-runtime.mjs +21 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/package.json +72 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/test.d.ts +18 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/test.js +24 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/test.mjs +33 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/types/test.d.ts +10160 -0
- spec_kitty_cli-0.5.0/node_modules/playwright/types/testReporter.d.ts +816 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/LICENSE +202 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/NOTICE +5 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/README.md +3 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/ThirdPartyNotices.txt +1502 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +35 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +42 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +42 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +48 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +48 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +48 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/browsers.json +80 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/cli.js +18 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/index.d.ts +17 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/index.js +32 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/index.mjs +28 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/package.json +42 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/types/protocol.d.ts +23130 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/types/structs.d.ts +45 -0
- spec_kitty_cli-0.5.0/node_modules/playwright-core/types/types.d.ts +22853 -0
- spec_kitty_cli-0.5.0/package-lock.json +76 -0
- spec_kitty_cli-0.5.0/package.json +6 -0
- spec_kitty_cli-0.5.0/pyproject.toml +72 -0
- spec_kitty_cli-0.5.0/pytest.ini +4 -0
- spec_kitty_cli-0.5.0/run_tests.sh +11 -0
- spec_kitty_cli-0.5.0/scripts/bash/accept-feature.sh +17 -0
- spec_kitty_cli-0.5.0/scripts/bash/check-prerequisites.sh +186 -0
- spec_kitty_cli-0.5.0/scripts/bash/common.sh +331 -0
- spec_kitty_cli-0.5.0/scripts/bash/create-new-feature.sh +324 -0
- spec_kitty_cli-0.5.0/scripts/bash/mark-task-status.sh +99 -0
- spec_kitty_cli-0.5.0/scripts/bash/merge-feature.sh +40 -0
- spec_kitty_cli-0.5.0/scripts/bash/move-task-to-doing.sh +43 -0
- spec_kitty_cli-0.5.0/scripts/bash/refresh-kittify-tasks.sh +108 -0
- spec_kitty_cli-0.5.0/scripts/bash/setup-plan.sh +73 -0
- spec_kitty_cli-0.5.0/scripts/bash/setup-sandbox.sh +179 -0
- spec_kitty_cli-0.5.0/scripts/bash/tasks-add-history-entry.sh +17 -0
- spec_kitty_cli-0.5.0/scripts/bash/tasks-list-lanes.sh +17 -0
- spec_kitty_cli-0.5.0/scripts/bash/tasks-move-to-lane.sh +40 -0
- spec_kitty_cli-0.5.0/scripts/bash/tasks-rollback-move.sh +17 -0
- spec_kitty_cli-0.5.0/scripts/bash/update-agent-context.sh +748 -0
- spec_kitty_cli-0.5.0/scripts/bash/validate-task-workflow.sh +45 -0
- spec_kitty_cli-0.5.0/scripts/debug-dashboard-scan.py +61 -0
- spec_kitty_cli-0.5.0/scripts/git-hooks/pre-commit-task-workflow.sh +45 -0
- spec_kitty_cli-0.5.0/scripts/powershell/Merge-Feature.ps1 +38 -0
- spec_kitty_cli-0.5.0/scripts/powershell/Set-TaskStatus.ps1 +39 -0
- spec_kitty_cli-0.5.0/scripts/powershell/accept-feature.ps1 +21 -0
- spec_kitty_cli-0.5.0/scripts/powershell/check-prerequisites.ps1 +148 -0
- spec_kitty_cli-0.5.0/scripts/powershell/common.ps1 +228 -0
- spec_kitty_cli-0.5.0/scripts/powershell/create-new-feature.ps1 +255 -0
- spec_kitty_cli-0.5.0/scripts/powershell/setup-plan.ps1 +72 -0
- spec_kitty_cli-0.5.0/scripts/powershell/tasks-add-history-entry.ps1 +21 -0
- spec_kitty_cli-0.5.0/scripts/powershell/tasks-list-lanes.ps1 +21 -0
- spec_kitty_cli-0.5.0/scripts/powershell/tasks-move-to-lane.ps1 +21 -0
- spec_kitty_cli-0.5.0/scripts/powershell/tasks-rollback-move.ps1 +21 -0
- spec_kitty_cli-0.5.0/scripts/powershell/update-agent-context.ps1 +452 -0
- spec_kitty_cli-0.5.0/scripts/release/README.md +270 -0
- spec_kitty_cli-0.5.0/scripts/release/extract_changelog.py +80 -0
- spec_kitty_cli-0.5.0/scripts/release/validate_release.py +326 -0
- spec_kitty_cli-0.5.0/scripts/tasks/acceptance_support.py +641 -0
- spec_kitty_cli-0.5.0/scripts/tasks/task_helpers.py +352 -0
- spec_kitty_cli-0.5.0/scripts/tasks/tasks_cli.py +904 -0
- spec_kitty_cli-0.5.0/scripts/validate_encoding.py +180 -0
- spec_kitty_cli-0.5.0/spec-driven.md +504 -0
- spec_kitty_cli-0.5.0/src/specify_cli/__init__.py +164 -0
- spec_kitty_cli-0.5.0/src/specify_cli/acceptance.py +571 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/__init__.py +6 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/__init__.py +29 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/accept.py +187 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/check.py +58 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/dashboard.py +84 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/diagnostics.py +190 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/init.py +567 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/init_help.py +62 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/merge.py +199 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/research.py +161 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/validate_encoding.py +185 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/commands/verify.py +58 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/helpers.py +72 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/step_tracker.py +91 -0
- spec_kitty_cli-0.5.0/src/specify_cli/cli/ui.py +192 -0
- spec_kitty_cli-0.5.0/src/specify_cli/core/__init__.py +53 -0
- spec_kitty_cli-0.5.0/src/specify_cli/core/config.py +92 -0
- spec_kitty_cli-0.5.0/src/specify_cli/core/git_ops.py +115 -0
- spec_kitty_cli-0.5.0/src/specify_cli/core/project_resolver.py +110 -0
- spec_kitty_cli-0.5.0/src/specify_cli/core/tool_checker.py +69 -0
- spec_kitty_cli-0.5.0/src/specify_cli/core/utils.py +43 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/__init__.py +28 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/diagnostics.py +204 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/handlers/__init__.py +17 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/handlers/api.py +71 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/handlers/base.py +65 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/handlers/features.py +231 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/handlers/router.py +69 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/handlers/static.py +50 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/lifecycle.py +472 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/scanner.py +356 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/server.py +122 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/static/dashboard/dashboard.css +701 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/static/dashboard/dashboard.js +1194 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/static/spec-kitty.png +0 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/templates/__init__.py +22 -0
- spec_kitty_cli-0.5.0/src/specify_cli/dashboard/templates/index.html +239 -0
- spec_kitty_cli-0.5.0/src/specify_cli/gitignore_manager.py +294 -0
- spec_kitty_cli-0.5.0/src/specify_cli/manifest.py +291 -0
- spec_kitty_cli-0.5.0/src/specify_cli/mission.py +367 -0
- spec_kitty_cli-0.5.0/src/specify_cli/plan_validation.py +107 -0
- spec_kitty_cli-0.5.0/src/specify_cli/tasks_support.py +311 -0
- spec_kitty_cli-0.5.0/src/specify_cli/template/__init__.py +45 -0
- spec_kitty_cli-0.5.0/src/specify_cli/template/asset_generator.py +182 -0
- spec_kitty_cli-0.5.0/src/specify_cli/template/github_client.py +334 -0
- spec_kitty_cli-0.5.0/src/specify_cli/template/manager.py +176 -0
- spec_kitty_cli-0.5.0/src/specify_cli/template/renderer.py +99 -0
- spec_kitty_cli-0.5.0/src/specify_cli/text_sanitization.py +222 -0
- spec_kitty_cli-0.5.0/src/specify_cli/verify_enhanced.py +270 -0
- spec_kitty_cli-0.5.0/templates/AGENTS.md +130 -0
- spec_kitty_cli-0.5.0/templates/POWERSHELL_SYNTAX.md +231 -0
- spec_kitty_cli-0.5.0/templates/agent-file-template.md +35 -0
- spec_kitty_cli-0.5.0/templates/checklist-template.md +42 -0
- spec_kitty_cli-0.5.0/templates/commands/accept.md +66 -0
- spec_kitty_cli-0.5.0/templates/commands/analyze.md +253 -0
- spec_kitty_cli-0.5.0/templates/commands/checklist.md +352 -0
- spec_kitty_cli-0.5.0/templates/commands/clarify.md +224 -0
- spec_kitty_cli-0.5.0/templates/commands/constitution.md +126 -0
- spec_kitty_cli-0.5.0/templates/commands/dashboard.md +173 -0
- spec_kitty_cli-0.5.0/templates/commands/implement.md +278 -0
- spec_kitty_cli-0.5.0/templates/commands/merge.md +307 -0
- spec_kitty_cli-0.5.0/templates/commands/plan.md +146 -0
- spec_kitty_cli-0.5.0/templates/commands/research.md +88 -0
- spec_kitty_cli-0.5.0/templates/commands/review.md +119 -0
- spec_kitty_cli-0.5.0/templates/commands/specify.md +280 -0
- spec_kitty_cli-0.5.0/templates/commands/tasks.md +139 -0
- spec_kitty_cli-0.5.0/templates/git-hooks/pre-commit-encoding-check +142 -0
- spec_kitty_cli-0.5.0/templates/plan-template.md +108 -0
- spec_kitty_cli-0.5.0/templates/spec-template.md +118 -0
- spec_kitty_cli-0.5.0/templates/task-prompt-template.md +109 -0
- spec_kitty_cli-0.5.0/templates/tasks-template.md +161 -0
- spec_kitty_cli-0.5.0/templates/vscode-settings.json +13 -0
- spec_kitty_cli-0.5.0/tests/TESTING_PROGRESS.md +261 -0
- spec_kitty_cli-0.5.0/tests/TESTING_REQUIREMENTS_ENCODING_AND_PLAN_VALIDATION.md +1056 -0
- spec_kitty_cli-0.5.0/tests/__init__.py +0 -0
- spec_kitty_cli-0.5.0/tests/conftest.py +77 -0
- spec_kitty_cli-0.5.0/tests/integration/test_init_flow.py +315 -0
- spec_kitty_cli-0.5.0/tests/release/__init__.py +1 -0
- spec_kitty_cli-0.5.0/tests/release/test_validate_release.py +202 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_cli/test_commands.py +149 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_cli/test_init_command.py +184 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_cli/test_ui.py +62 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_core/test_config.py +40 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_core/test_git_ops.py +55 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_core/test_project_resolver.py +51 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_core/test_tool_checker.py +63 -0
- spec_kitty_cli-0.5.0/tests/specify_cli/test_core/test_utils.py +42 -0
- spec_kitty_cli-0.5.0/tests/test_acceptance_support.py +85 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/__init__.py +2 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/check_api_response.js +47 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/check_dashboard.js +101 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/check_dashboard_full.js +56 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/check_features.js +61 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/test_diagnostics.py +135 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/test_imports.py +15 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/test_lifecycle.py +111 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/test_scanner.py +42 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/test_server.py +58 -0
- spec_kitty_cli-0.5.0/tests/test_dashboard/test_static.py +23 -0
- spec_kitty_cli-0.5.0/tests/test_encoding_validation_functional.py +397 -0
- spec_kitty_cli-0.5.0/tests/test_gitignore_management.py +248 -0
- spec_kitty_cli-0.5.0/tests/test_gitignore_manager_simple.py +155 -0
- spec_kitty_cli-0.5.0/tests/test_performance.py +154 -0
- spec_kitty_cli-0.5.0/tests/test_plan_validation.py +224 -0
- spec_kitty_cli-0.5.0/tests/test_task_helpers.py +58 -0
- spec_kitty_cli-0.5.0/tests/test_tasks_cli_commands.py +352 -0
- spec_kitty_cli-0.5.0/tests/test_template/__init__.py +0 -0
- spec_kitty_cli-0.5.0/tests/test_template/test_asset_generator.py +70 -0
- spec_kitty_cli-0.5.0/tests/test_template/test_github_client.py +138 -0
- spec_kitty_cli-0.5.0/tests/test_template/test_manager.py +95 -0
- spec_kitty_cli-0.5.0/tests/test_template/test_renderer.py +54 -0
- spec_kitty_cli-0.5.0/tests/unit/test_gitignore_manager.py +368 -0
- spec_kitty_cli-0.5.0/tests/utils.py +75 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
|
|
23
|
+
# Virtual environments
|
|
24
|
+
venv/
|
|
25
|
+
ENV/
|
|
26
|
+
env/
|
|
27
|
+
.venv
|
|
28
|
+
.uv-tools/
|
|
29
|
+
|
|
30
|
+
# IDE
|
|
31
|
+
.vscode/
|
|
32
|
+
.idea/
|
|
33
|
+
*.swp
|
|
34
|
+
*.swo
|
|
35
|
+
.DS_Store
|
|
36
|
+
|
|
37
|
+
# Project specific
|
|
38
|
+
*.log
|
|
39
|
+
.env
|
|
40
|
+
.env.local
|
|
41
|
+
.codex/
|
|
42
|
+
*.lock
|
|
43
|
+
.worktrees/
|
|
44
|
+
|
|
45
|
+
# Spec Kit-specific files
|
|
46
|
+
.genreleases/
|
|
47
|
+
*.zip
|
|
48
|
+
sdd-*/
|
|
49
|
+
|
|
50
|
+
# Added by Spec Kitty CLI (auto-managed)
|
|
51
|
+
.claude/
|
|
52
|
+
.opencode/
|
|
53
|
+
.windsurf/
|
|
54
|
+
.gemini/
|
|
55
|
+
.cursor/
|
|
56
|
+
.qwen/
|
|
57
|
+
.kilocode/
|
|
58
|
+
.augment/
|
|
59
|
+
.github/
|
|
60
|
+
.roo/
|
|
61
|
+
.amazonq/
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Agent Rules for Spec Kitty Projects
|
|
2
|
+
|
|
3
|
+
**⚠️ CRITICAL**: All AI agents working in this project must follow these rules.
|
|
4
|
+
|
|
5
|
+
These rules apply to **all commands** (specify, plan, research, tasks, implement, review, merge, etc.).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Path Reference Rule
|
|
10
|
+
|
|
11
|
+
**When you mention directories or files, provide either the absolute path or a path relative to the project root.**
|
|
12
|
+
|
|
13
|
+
✅ **CORRECT**:
|
|
14
|
+
- `kitty-specs/001-feature/tasks/planned/WP01.md`
|
|
15
|
+
- `/Users/robert/Code/myproject/kitty-specs/001-feature/spec.md`
|
|
16
|
+
- `tasks/planned/WP01.md` (relative to feature directory)
|
|
17
|
+
|
|
18
|
+
❌ **WRONG**:
|
|
19
|
+
- "the tasks folder" (which one? where?)
|
|
20
|
+
- "WP01.md" (in which lane? which feature?)
|
|
21
|
+
- "the spec" (which feature's spec?)
|
|
22
|
+
|
|
23
|
+
**Why**: Clarity and precision prevent errors. Never refer to a folder by name alone.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. UTF-8 Encoding Rule
|
|
28
|
+
|
|
29
|
+
**When writing ANY markdown, JSON, YAML, CSV, or code files, use ONLY UTF-8 compatible characters.**
|
|
30
|
+
|
|
31
|
+
### What to Avoid (Will Break the Dashboard)
|
|
32
|
+
|
|
33
|
+
❌ **Windows-1252 smart quotes**: “ ” ‘ ’ (from Word/Outlook/Office)
|
|
34
|
+
❌ **Em/en dashes and special punctuation**: — –
|
|
35
|
+
❌ **Copy-pasted arrows**: → (becomes illegal bytes)
|
|
36
|
+
❌ **Multiplication sign**: × (0xD7 in Windows-1252)
|
|
37
|
+
❌ **Copy/paste from Microsoft Office** without cleaning
|
|
38
|
+
|
|
39
|
+
### What to Use Instead
|
|
40
|
+
|
|
41
|
+
✅ Standard ASCII quotes: `"`, `'`
|
|
42
|
+
✅ Hyphen-minus: `-` instead of en/em dash
|
|
43
|
+
✅ ASCII arrow: `->` instead of →
|
|
44
|
+
✅ Lowercase `x` for multiplication
|
|
45
|
+
✅ Plain punctuation
|
|
46
|
+
|
|
47
|
+
### Safe Characters
|
|
48
|
+
|
|
49
|
+
✅ Emoji (proper UTF-8)
|
|
50
|
+
✅ Accented characters typed directly: café, naïve, Zürich
|
|
51
|
+
✅ Unicode math typed directly (√ ≈ ≠ ≤ ≥)
|
|
52
|
+
|
|
53
|
+
### Copy/Paste Guidance
|
|
54
|
+
|
|
55
|
+
1. Paste into a plain-text buffer first (VS Code, TextEdit in plain mode)
|
|
56
|
+
2. Replace smart quotes and dashes
|
|
57
|
+
3. Verify no � replacement characters appear
|
|
58
|
+
4. Run `python scripts/validate_encoding.py <path>` when in doubt
|
|
59
|
+
|
|
60
|
+
**Failure to follow this rule causes the dashboard to render blank pages.**
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 3. Context Management Rule
|
|
65
|
+
|
|
66
|
+
**Build the context you need, then maintain it intelligently.**
|
|
67
|
+
|
|
68
|
+
- Session start (0 tokens): You have zero context. Read plan.md, tasks.md, relevant artifacts.
|
|
69
|
+
- Mid-session (you already read them): Use your judgment—don’t re-read everything unless necessary.
|
|
70
|
+
- Never skip relevant information; do skip redundant re-reads to save tokens.
|
|
71
|
+
- Rely on the steps in the command you are executing.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 4. Work Quality Rule
|
|
76
|
+
|
|
77
|
+
**Produce secure, tested, documented work.**
|
|
78
|
+
|
|
79
|
+
- Follow the plan and constitution requirements.
|
|
80
|
+
- Prefer existing patterns over invention.
|
|
81
|
+
- Treat security warnings as fatal—fix or escalate.
|
|
82
|
+
- Run all required tests before claiming work is complete.
|
|
83
|
+
- Be transparent: state what you did, what you didn’t, and why.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 5. Git Discipline Rule
|
|
88
|
+
|
|
89
|
+
**Keep commits clean and auditable.**
|
|
90
|
+
|
|
91
|
+
- Commit only meaningful units of work.
|
|
92
|
+
- Write descriptive commit messages (imperative mood).
|
|
93
|
+
- Do not rewrite history of shared branches.
|
|
94
|
+
- Keep feature branches up to date with main via merge or rebase as appropriate.
|
|
95
|
+
- Never commit secrets, tokens, or credentials.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### Quick Reference
|
|
100
|
+
|
|
101
|
+
- 📁 **Paths**: Always specify exact locations.
|
|
102
|
+
- 🔤 **Encoding**: UTF-8 only. Run the validator when unsure.
|
|
103
|
+
- 🧠 **Context**: Read what you need; don’t forget what you already learned.
|
|
104
|
+
- ✅ **Quality**: Follow secure, tested, documented practices.
|
|
105
|
+
- 📝 **Git**: Commit cleanly with clear messages.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Validate feature readiness and guide final acceptance steps.
|
|
3
|
+
scripts:
|
|
4
|
+
sh: .kittify/scripts/bash/accept-feature.sh --json {ARGS}
|
|
5
|
+
ps: .kittify/scripts/powershell/accept-feature.ps1 --json {ARGS}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## User Input
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
$ARGUMENTS
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
15
|
+
|
|
16
|
+
## Discovery (mandatory)
|
|
17
|
+
|
|
18
|
+
Before running the acceptance workflow, gather the following:
|
|
19
|
+
|
|
20
|
+
1. **Feature slug** (e.g., `005-awesome-thing`). If omitted, detect automatically.
|
|
21
|
+
2. **Acceptance mode**:
|
|
22
|
+
- `pr` when the feature will merge via hosted pull request.
|
|
23
|
+
- `local` when the feature will merge locally without a PR.
|
|
24
|
+
- `checklist` to run the readiness checklist without committing or producing merge instructions.
|
|
25
|
+
3. **Validation commands executed** (tests/builds). Collect each command verbatim; omit if none.
|
|
26
|
+
4. **Acceptance actor** (optional, defaults to the current agent name).
|
|
27
|
+
|
|
28
|
+
Ask one focused question per item and confirm the summary before continuing. End the discovery turn with `WAITING_FOR_ACCEPTANCE_INPUT` until all answers are provided.
|
|
29
|
+
|
|
30
|
+
## Execution Plan
|
|
31
|
+
|
|
32
|
+
1. Compile the acceptance options into an argument list:
|
|
33
|
+
- Always include `--actor "__AGENT__"`.
|
|
34
|
+
- Append `--feature "<slug>"` when the user supplied a slug.
|
|
35
|
+
- Append `--mode <mode>` (`pr`, `local`, or `checklist`).
|
|
36
|
+
- Append `--test "<command>"` for each validation command provided.
|
|
37
|
+
2. Run `{SCRIPT}` (the CLI wrapper) with the assembled arguments **and** `--json`.
|
|
38
|
+
3. Parse the JSON response. It contains:
|
|
39
|
+
- `summary.ok` (boolean) and other readiness details.
|
|
40
|
+
- `summary.outstanding` categories when issues remain.
|
|
41
|
+
- `instructions` (merge steps) and `cleanup_instructions`.
|
|
42
|
+
- `notes` (e.g., acceptance commit hash).
|
|
43
|
+
4. Present the outcome:
|
|
44
|
+
- If `summary.ok` is `false`, list each outstanding category with bullet points and advise the user to resolve them before retrying acceptance.
|
|
45
|
+
- If `summary.ok` is `true`, display:
|
|
46
|
+
- Acceptance timestamp, actor, and (if present) acceptance commit hash.
|
|
47
|
+
- Merge instructions and cleanup instructions as ordered steps.
|
|
48
|
+
- Validation commands executed (if any).
|
|
49
|
+
5. When the mode is `checklist`, make it clear no commits or merge instructions were produced.
|
|
50
|
+
|
|
51
|
+
## Output Requirements
|
|
52
|
+
|
|
53
|
+
- Summaries must be in plain text (no tables). Use short bullet lists for instructions.
|
|
54
|
+
- Surface outstanding issues before any congratulations or success messages.
|
|
55
|
+
- If the JSON payload includes warnings, surface them under an explicit **Warnings** section.
|
|
56
|
+
- Never fabricate results; only report what the JSON contains.
|
|
57
|
+
|
|
58
|
+
## Error Handling
|
|
59
|
+
|
|
60
|
+
- If the command fails or returns invalid JSON, report the failure and request user guidance (do not retry automatically).
|
|
61
|
+
- When outstanding issues exist, do **not** attempt to force acceptance—return the checklist and prompt the user to fix the blockers.
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
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
|
+
|
|
8
|
+
## User Input
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
$ARGUMENTS
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
15
|
+
|
|
16
|
+
## Goal
|
|
17
|
+
|
|
18
|
+
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/tasks` has successfully produced a complete `tasks.md`.
|
|
19
|
+
|
|
20
|
+
## Operating Constraints
|
|
21
|
+
|
|
22
|
+
**STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands would be invoked manually).
|
|
23
|
+
|
|
24
|
+
**Constitution Authority**: The project constitution (`/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside `/analyze`.
|
|
25
|
+
|
|
26
|
+
## Execution Steps
|
|
27
|
+
|
|
28
|
+
### 1. Initialize Analysis Context
|
|
29
|
+
|
|
30
|
+
Run `{SCRIPT}` once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. Derive absolute paths:
|
|
31
|
+
|
|
32
|
+
- SPEC = FEATURE_DIR/spec.md
|
|
33
|
+
- PLAN = FEATURE_DIR/plan.md
|
|
34
|
+
- TASKS = FEATURE_DIR/tasks.md
|
|
35
|
+
|
|
36
|
+
Abort with an error message if any required file is missing (instruct the user to run missing prerequisite command).
|
|
37
|
+
|
|
38
|
+
### 2. Load Artifacts (Progressive Disclosure)
|
|
39
|
+
|
|
40
|
+
Load only the minimal necessary context from each artifact:
|
|
41
|
+
|
|
42
|
+
**From spec.md:**
|
|
43
|
+
|
|
44
|
+
- Overview/Context
|
|
45
|
+
- Functional Requirements
|
|
46
|
+
- Non-Functional Requirements
|
|
47
|
+
- User Stories
|
|
48
|
+
- Edge Cases (if present)
|
|
49
|
+
|
|
50
|
+
**From plan.md:**
|
|
51
|
+
|
|
52
|
+
- Architecture/stack choices
|
|
53
|
+
- Data Model references
|
|
54
|
+
- Phases
|
|
55
|
+
- Technical constraints
|
|
56
|
+
|
|
57
|
+
**From tasks.md:**
|
|
58
|
+
|
|
59
|
+
- Task IDs
|
|
60
|
+
- Descriptions
|
|
61
|
+
- Phase grouping
|
|
62
|
+
- Parallel markers [P]
|
|
63
|
+
- Referenced file paths
|
|
64
|
+
|
|
65
|
+
**From constitution:**
|
|
66
|
+
|
|
67
|
+
- Load `/memory/constitution.md` for principle validation
|
|
68
|
+
|
|
69
|
+
### 3. Build Semantic Models
|
|
70
|
+
|
|
71
|
+
Create internal representations (do not include raw artifacts in output):
|
|
72
|
+
|
|
73
|
+
- **Requirements inventory**: Each functional + non-functional requirement with a stable key (derive slug based on imperative phrase; e.g., "User can upload file" → `user-can-upload-file`)
|
|
74
|
+
- **User story/action inventory**: Discrete user actions with acceptance criteria
|
|
75
|
+
- **Task coverage mapping**: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
|
|
76
|
+
- **Constitution rule set**: Extract principle names and MUST/SHOULD normative statements
|
|
77
|
+
|
|
78
|
+
### 4. Detection Passes (Token-Efficient Analysis)
|
|
79
|
+
|
|
80
|
+
Focus on high-signal findings. Limit to 50 findings total; aggregate remainder in overflow summary.
|
|
81
|
+
|
|
82
|
+
#### A. Duplication Detection
|
|
83
|
+
|
|
84
|
+
- Identify near-duplicate requirements
|
|
85
|
+
- Mark lower-quality phrasing for consolidation
|
|
86
|
+
|
|
87
|
+
#### B. Ambiguity Detection
|
|
88
|
+
|
|
89
|
+
- Flag vague adjectives (fast, scalable, secure, intuitive, robust) lacking measurable criteria
|
|
90
|
+
- Flag unresolved placeholders (TODO, TKTK, ???, `<placeholder>`, etc.)
|
|
91
|
+
|
|
92
|
+
#### C. Underspecification
|
|
93
|
+
|
|
94
|
+
- Requirements with verbs but missing object or measurable outcome
|
|
95
|
+
- User stories missing acceptance criteria alignment
|
|
96
|
+
- Tasks referencing files or components not defined in spec/plan
|
|
97
|
+
|
|
98
|
+
#### D. Constitution Alignment
|
|
99
|
+
|
|
100
|
+
- Any requirement or plan element conflicting with a MUST principle
|
|
101
|
+
- Missing mandated sections or quality gates from constitution
|
|
102
|
+
|
|
103
|
+
#### E. Coverage Gaps
|
|
104
|
+
|
|
105
|
+
- Requirements with zero associated tasks
|
|
106
|
+
- Tasks with no mapped requirement/story
|
|
107
|
+
- Non-functional requirements not reflected in tasks (e.g., performance, security)
|
|
108
|
+
|
|
109
|
+
#### F. Inconsistency
|
|
110
|
+
|
|
111
|
+
- Terminology drift (same concept named differently across files)
|
|
112
|
+
- Data entities referenced in plan but absent in spec (or vice versa)
|
|
113
|
+
- Task ordering contradictions (e.g., integration tasks before foundational setup tasks without dependency note)
|
|
114
|
+
- Conflicting requirements (e.g., one requires Next.js while other specifies Vue)
|
|
115
|
+
|
|
116
|
+
### 5. Severity Assignment
|
|
117
|
+
|
|
118
|
+
Use this heuristic to prioritize findings:
|
|
119
|
+
|
|
120
|
+
- **CRITICAL**: Violates constitution MUST, missing core spec artifact, or requirement with zero coverage that blocks baseline functionality
|
|
121
|
+
- **HIGH**: Duplicate or conflicting requirement, ambiguous security/performance attribute, untestable acceptance criterion
|
|
122
|
+
- **MEDIUM**: Terminology drift, missing non-functional task coverage, underspecified edge case
|
|
123
|
+
- **LOW**: Style/wording improvements, minor redundancy not affecting execution order
|
|
124
|
+
|
|
125
|
+
### 6. Produce Compact Analysis Report
|
|
126
|
+
|
|
127
|
+
Output a Markdown report (no file writes) with the following structure:
|
|
128
|
+
|
|
129
|
+
## Specification Analysis Report
|
|
130
|
+
|
|
131
|
+
| ID | Category | Severity | Location(s) | Summary | Recommendation |
|
|
132
|
+
|----|----------|----------|-------------|---------|----------------|
|
|
133
|
+
| A1 | Duplication | HIGH | spec.md:L120-134 | Two similar requirements ... | Merge phrasing; keep clearer version |
|
|
134
|
+
|
|
135
|
+
(Add one row per finding; generate stable IDs prefixed by category initial.)
|
|
136
|
+
|
|
137
|
+
**Coverage Summary Table:**
|
|
138
|
+
|
|
139
|
+
| Requirement Key | Has Task? | Task IDs | Notes |
|
|
140
|
+
|-----------------|-----------|----------|-------|
|
|
141
|
+
|
|
142
|
+
**Constitution Alignment Issues:** (if any)
|
|
143
|
+
|
|
144
|
+
**Unmapped Tasks:** (if any)
|
|
145
|
+
|
|
146
|
+
**Metrics:**
|
|
147
|
+
|
|
148
|
+
- Total Requirements
|
|
149
|
+
- Total Tasks
|
|
150
|
+
- Coverage % (requirements with >=1 task)
|
|
151
|
+
- Ambiguity Count
|
|
152
|
+
- Duplication Count
|
|
153
|
+
- Critical Issues Count
|
|
154
|
+
|
|
155
|
+
### 7. Provide Next Actions
|
|
156
|
+
|
|
157
|
+
At end of report, output a concise Next Actions block:
|
|
158
|
+
|
|
159
|
+
- If CRITICAL issues exist: Recommend resolving before `/implement`
|
|
160
|
+
- If only LOW/MEDIUM: User may proceed, but provide improvement suggestions
|
|
161
|
+
- Provide explicit command suggestions: e.g., "Run /spec-kitty.specify with refinement", "Run /plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'"
|
|
162
|
+
|
|
163
|
+
### 8. Offer Remediation
|
|
164
|
+
|
|
165
|
+
Ask the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)
|
|
166
|
+
|
|
167
|
+
## Operating Principles
|
|
168
|
+
|
|
169
|
+
### Context Efficiency
|
|
170
|
+
|
|
171
|
+
- **Minimal high-signal tokens**: Focus on actionable findings, not exhaustive documentation
|
|
172
|
+
- **Progressive disclosure**: Load artifacts incrementally; don't dump all content into analysis
|
|
173
|
+
- **Token-efficient output**: Limit findings table to 50 rows; summarize overflow
|
|
174
|
+
- **Deterministic results**: Rerunning without changes should produce consistent IDs and counts
|
|
175
|
+
|
|
176
|
+
### Analysis Guidelines
|
|
177
|
+
|
|
178
|
+
- **NEVER modify files** (this is read-only analysis)
|
|
179
|
+
- **NEVER hallucinate missing sections** (if absent, report them accurately)
|
|
180
|
+
- **Prioritize constitution violations** (these are always CRITICAL)
|
|
181
|
+
- **Use examples over exhaustive rules** (cite specific instances, not generic patterns)
|
|
182
|
+
- **Report zero issues gracefully** (emit success report with coverage statistics)
|
|
183
|
+
|
|
184
|
+
## Context
|
|
185
|
+
|
|
186
|
+
{ARGS}
|