spec-kitty-cli 0.13.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. spec_kitty_cli-0.13.5.dist-info/METADATA +1769 -0
  2. spec_kitty_cli-0.13.5.dist-info/RECORD +253 -0
  3. spec_kitty_cli-0.13.5.dist-info/WHEEL +4 -0
  4. spec_kitty_cli-0.13.5.dist-info/entry_points.txt +2 -0
  5. spec_kitty_cli-0.13.5.dist-info/licenses/LICENSE +21 -0
  6. specify_cli/__init__.py +167 -0
  7. specify_cli/acceptance.py +627 -0
  8. specify_cli/agent_utils/README.md +157 -0
  9. specify_cli/agent_utils/__init__.py +9 -0
  10. specify_cli/agent_utils/status.py +356 -0
  11. specify_cli/cli/__init__.py +6 -0
  12. specify_cli/cli/commands/__init__.py +46 -0
  13. specify_cli/cli/commands/accept.py +189 -0
  14. specify_cli/cli/commands/agent/README.md +278 -0
  15. specify_cli/cli/commands/agent/__init__.py +22 -0
  16. specify_cli/cli/commands/agent/config.py +391 -0
  17. specify_cli/cli/commands/agent/context.py +191 -0
  18. specify_cli/cli/commands/agent/feature.py +1011 -0
  19. specify_cli/cli/commands/agent/release.py +11 -0
  20. specify_cli/cli/commands/agent/tasks.py +1573 -0
  21. specify_cli/cli/commands/agent/workflow.py +976 -0
  22. specify_cli/cli/commands/context.py +246 -0
  23. specify_cli/cli/commands/dashboard.py +85 -0
  24. specify_cli/cli/commands/implement.py +973 -0
  25. specify_cli/cli/commands/init.py +942 -0
  26. specify_cli/cli/commands/init_help.py +61 -0
  27. specify_cli/cli/commands/merge.py +755 -0
  28. specify_cli/cli/commands/mission.py +301 -0
  29. specify_cli/cli/commands/ops.py +265 -0
  30. specify_cli/cli/commands/orchestrate.py +640 -0
  31. specify_cli/cli/commands/repair.py +175 -0
  32. specify_cli/cli/commands/research.py +165 -0
  33. specify_cli/cli/commands/sync.py +364 -0
  34. specify_cli/cli/commands/upgrade.py +249 -0
  35. specify_cli/cli/commands/validate_encoding.py +186 -0
  36. specify_cli/cli/commands/validate_tasks.py +186 -0
  37. specify_cli/cli/commands/verify.py +310 -0
  38. specify_cli/cli/helpers.py +123 -0
  39. specify_cli/cli/step_tracker.py +91 -0
  40. specify_cli/cli/ui.py +192 -0
  41. specify_cli/core/__init__.py +53 -0
  42. specify_cli/core/agent_context.py +311 -0
  43. specify_cli/core/config.py +96 -0
  44. specify_cli/core/context_validation.py +364 -0
  45. specify_cli/core/dependency_graph.py +351 -0
  46. specify_cli/core/git_ops.py +213 -0
  47. specify_cli/core/implement_validation.py +150 -0
  48. specify_cli/core/multi_parent_merge.py +323 -0
  49. specify_cli/core/paths.py +260 -0
  50. specify_cli/core/project_resolver.py +110 -0
  51. specify_cli/core/stale_detection.py +263 -0
  52. specify_cli/core/tool_checker.py +79 -0
  53. specify_cli/core/utils.py +43 -0
  54. specify_cli/core/vcs/__init__.py +114 -0
  55. specify_cli/core/vcs/detection.py +341 -0
  56. specify_cli/core/vcs/exceptions.py +85 -0
  57. specify_cli/core/vcs/git.py +1304 -0
  58. specify_cli/core/vcs/jujutsu.py +1208 -0
  59. specify_cli/core/vcs/protocol.py +285 -0
  60. specify_cli/core/vcs/types.py +249 -0
  61. specify_cli/core/version_checker.py +261 -0
  62. specify_cli/core/worktree.py +506 -0
  63. specify_cli/dashboard/__init__.py +28 -0
  64. specify_cli/dashboard/diagnostics.py +204 -0
  65. specify_cli/dashboard/handlers/__init__.py +17 -0
  66. specify_cli/dashboard/handlers/api.py +143 -0
  67. specify_cli/dashboard/handlers/base.py +65 -0
  68. specify_cli/dashboard/handlers/features.py +390 -0
  69. specify_cli/dashboard/handlers/router.py +81 -0
  70. specify_cli/dashboard/handlers/static.py +50 -0
  71. specify_cli/dashboard/lifecycle.py +541 -0
  72. specify_cli/dashboard/scanner.py +437 -0
  73. specify_cli/dashboard/server.py +123 -0
  74. specify_cli/dashboard/static/dashboard/dashboard.css +722 -0
  75. specify_cli/dashboard/static/dashboard/dashboard.js +1424 -0
  76. specify_cli/dashboard/static/spec-kitty.png +0 -0
  77. specify_cli/dashboard/templates/__init__.py +36 -0
  78. specify_cli/dashboard/templates/index.html +258 -0
  79. specify_cli/doc_generators.py +621 -0
  80. specify_cli/doc_state.py +408 -0
  81. specify_cli/frontmatter.py +384 -0
  82. specify_cli/gap_analysis.py +915 -0
  83. specify_cli/gitignore_manager.py +300 -0
  84. specify_cli/guards.py +145 -0
  85. specify_cli/legacy_detector.py +83 -0
  86. specify_cli/manifest.py +286 -0
  87. specify_cli/merge/__init__.py +63 -0
  88. specify_cli/merge/executor.py +667 -0
  89. specify_cli/merge/forecast.py +215 -0
  90. specify_cli/merge/ordering.py +126 -0
  91. specify_cli/merge/preflight.py +230 -0
  92. specify_cli/merge/state.py +185 -0
  93. specify_cli/merge/status_resolver.py +354 -0
  94. specify_cli/mission.py +733 -0
  95. specify_cli/missions/documentation/command-templates/implement.md +309 -0
  96. specify_cli/missions/documentation/command-templates/plan.md +275 -0
  97. specify_cli/missions/documentation/command-templates/review.md +344 -0
  98. specify_cli/missions/documentation/command-templates/specify.md +206 -0
  99. specify_cli/missions/documentation/command-templates/tasks.md +189 -0
  100. specify_cli/missions/documentation/mission.yaml +113 -0
  101. specify_cli/missions/documentation/templates/divio/explanation-template.md +192 -0
  102. specify_cli/missions/documentation/templates/divio/howto-template.md +168 -0
  103. specify_cli/missions/documentation/templates/divio/reference-template.md +179 -0
  104. specify_cli/missions/documentation/templates/divio/tutorial-template.md +146 -0
  105. specify_cli/missions/documentation/templates/generators/jsdoc.json.template +18 -0
  106. specify_cli/missions/documentation/templates/generators/sphinx-conf.py.template +36 -0
  107. specify_cli/missions/documentation/templates/plan-template.md +269 -0
  108. specify_cli/missions/documentation/templates/release-template.md +222 -0
  109. specify_cli/missions/documentation/templates/spec-template.md +172 -0
  110. specify_cli/missions/documentation/templates/task-prompt-template.md +140 -0
  111. specify_cli/missions/documentation/templates/tasks-template.md +159 -0
  112. specify_cli/missions/research/command-templates/implement.md +255 -0
  113. specify_cli/missions/research/command-templates/merge.md +388 -0
  114. specify_cli/missions/research/command-templates/plan.md +125 -0
  115. specify_cli/missions/research/command-templates/review.md +191 -0
  116. specify_cli/missions/research/command-templates/specify.md +220 -0
  117. specify_cli/missions/research/command-templates/tasks.md +225 -0
  118. specify_cli/missions/research/mission.yaml +115 -0
  119. specify_cli/missions/research/templates/data-model-template.md +33 -0
  120. specify_cli/missions/research/templates/plan-template.md +191 -0
  121. specify_cli/missions/research/templates/research/evidence-log.csv +18 -0
  122. specify_cli/missions/research/templates/research/source-register.csv +18 -0
  123. specify_cli/missions/research/templates/research-template.md +35 -0
  124. specify_cli/missions/research/templates/spec-template.md +64 -0
  125. specify_cli/missions/research/templates/task-prompt-template.md +148 -0
  126. specify_cli/missions/research/templates/tasks-template.md +114 -0
  127. specify_cli/missions/software-dev/command-templates/accept.md +75 -0
  128. specify_cli/missions/software-dev/command-templates/analyze.md +183 -0
  129. specify_cli/missions/software-dev/command-templates/checklist.md +286 -0
  130. specify_cli/missions/software-dev/command-templates/clarify.md +156 -0
  131. specify_cli/missions/software-dev/command-templates/constitution.md +432 -0
  132. specify_cli/missions/software-dev/command-templates/dashboard.md +101 -0
  133. specify_cli/missions/software-dev/command-templates/implement.md +60 -0
  134. specify_cli/missions/software-dev/command-templates/merge.md +383 -0
  135. specify_cli/missions/software-dev/command-templates/plan.md +171 -0
  136. specify_cli/missions/software-dev/command-templates/review.md +32 -0
  137. specify_cli/missions/software-dev/command-templates/specify.md +321 -0
  138. specify_cli/missions/software-dev/command-templates/tasks.md +566 -0
  139. specify_cli/missions/software-dev/mission.yaml +100 -0
  140. specify_cli/missions/software-dev/templates/plan-template.md +132 -0
  141. specify_cli/missions/software-dev/templates/spec-template.md +116 -0
  142. specify_cli/missions/software-dev/templates/task-prompt-template.md +140 -0
  143. specify_cli/missions/software-dev/templates/tasks-template.md +159 -0
  144. specify_cli/orchestrator/__init__.py +75 -0
  145. specify_cli/orchestrator/agent_config.py +246 -0
  146. specify_cli/orchestrator/agents/__init__.py +170 -0
  147. specify_cli/orchestrator/agents/augment.py +112 -0
  148. specify_cli/orchestrator/agents/base.py +243 -0
  149. specify_cli/orchestrator/agents/claude.py +112 -0
  150. specify_cli/orchestrator/agents/codex.py +106 -0
  151. specify_cli/orchestrator/agents/copilot.py +137 -0
  152. specify_cli/orchestrator/agents/cursor.py +139 -0
  153. specify_cli/orchestrator/agents/gemini.py +115 -0
  154. specify_cli/orchestrator/agents/kilocode.py +94 -0
  155. specify_cli/orchestrator/agents/opencode.py +132 -0
  156. specify_cli/orchestrator/agents/qwen.py +96 -0
  157. specify_cli/orchestrator/config.py +455 -0
  158. specify_cli/orchestrator/executor.py +642 -0
  159. specify_cli/orchestrator/integration.py +1230 -0
  160. specify_cli/orchestrator/monitor.py +898 -0
  161. specify_cli/orchestrator/scheduler.py +832 -0
  162. specify_cli/orchestrator/state.py +508 -0
  163. specify_cli/orchestrator/testing/__init__.py +122 -0
  164. specify_cli/orchestrator/testing/availability.py +346 -0
  165. specify_cli/orchestrator/testing/fixtures.py +684 -0
  166. specify_cli/orchestrator/testing/paths.py +218 -0
  167. specify_cli/plan_validation.py +107 -0
  168. specify_cli/scripts/debug-dashboard-scan.py +61 -0
  169. specify_cli/scripts/tasks/acceptance_support.py +695 -0
  170. specify_cli/scripts/tasks/task_helpers.py +506 -0
  171. specify_cli/scripts/tasks/tasks_cli.py +848 -0
  172. specify_cli/scripts/validate_encoding.py +180 -0
  173. specify_cli/task_metadata_validation.py +274 -0
  174. specify_cli/tasks_support.py +447 -0
  175. specify_cli/template/__init__.py +47 -0
  176. specify_cli/template/asset_generator.py +206 -0
  177. specify_cli/template/github_client.py +334 -0
  178. specify_cli/template/manager.py +193 -0
  179. specify_cli/template/renderer.py +99 -0
  180. specify_cli/templates/AGENTS.md +190 -0
  181. specify_cli/templates/POWERSHELL_SYNTAX.md +229 -0
  182. specify_cli/templates/agent-file-template.md +35 -0
  183. specify_cli/templates/checklist-template.md +42 -0
  184. specify_cli/templates/claudeignore-template +58 -0
  185. specify_cli/templates/command-templates/accept.md +141 -0
  186. specify_cli/templates/command-templates/analyze.md +253 -0
  187. specify_cli/templates/command-templates/checklist.md +352 -0
  188. specify_cli/templates/command-templates/clarify.md +224 -0
  189. specify_cli/templates/command-templates/constitution.md +432 -0
  190. specify_cli/templates/command-templates/dashboard.md +175 -0
  191. specify_cli/templates/command-templates/implement.md +190 -0
  192. specify_cli/templates/command-templates/merge.md +374 -0
  193. specify_cli/templates/command-templates/plan.md +171 -0
  194. specify_cli/templates/command-templates/research.md +88 -0
  195. specify_cli/templates/command-templates/review.md +510 -0
  196. specify_cli/templates/command-templates/specify.md +321 -0
  197. specify_cli/templates/command-templates/status.md +92 -0
  198. specify_cli/templates/command-templates/tasks.md +199 -0
  199. specify_cli/templates/git-hooks/pre-commit +22 -0
  200. specify_cli/templates/git-hooks/pre-commit-agent-check +37 -0
  201. specify_cli/templates/git-hooks/pre-commit-encoding-check +152 -0
  202. specify_cli/templates/plan-template.md +108 -0
  203. specify_cli/templates/spec-template.md +118 -0
  204. specify_cli/templates/task-prompt-template.md +165 -0
  205. specify_cli/templates/tasks-template.md +161 -0
  206. specify_cli/templates/vscode-settings.json +13 -0
  207. specify_cli/text_sanitization.py +225 -0
  208. specify_cli/upgrade/__init__.py +18 -0
  209. specify_cli/upgrade/detector.py +262 -0
  210. specify_cli/upgrade/metadata.py +182 -0
  211. specify_cli/upgrade/migrations/__init__.py +75 -0
  212. specify_cli/upgrade/migrations/base.py +80 -0
  213. specify_cli/upgrade/migrations/m_0_10_0_python_only.py +359 -0
  214. specify_cli/upgrade/migrations/m_0_10_12_constitution_cleanup.py +99 -0
  215. specify_cli/upgrade/migrations/m_0_10_14_update_implement_slash_command.py +176 -0
  216. specify_cli/upgrade/migrations/m_0_10_1_populate_slash_commands.py +174 -0
  217. specify_cli/upgrade/migrations/m_0_10_2_update_slash_commands.py +172 -0
  218. specify_cli/upgrade/migrations/m_0_10_6_workflow_simplification.py +174 -0
  219. specify_cli/upgrade/migrations/m_0_10_8_fix_memory_structure.py +252 -0
  220. specify_cli/upgrade/migrations/m_0_10_9_repair_templates.py +168 -0
  221. specify_cli/upgrade/migrations/m_0_11_0_workspace_per_wp.py +182 -0
  222. specify_cli/upgrade/migrations/m_0_11_1_improved_workflow_templates.py +173 -0
  223. specify_cli/upgrade/migrations/m_0_11_1_update_implement_slash_command.py +160 -0
  224. specify_cli/upgrade/migrations/m_0_11_2_improved_workflow_templates.py +173 -0
  225. specify_cli/upgrade/migrations/m_0_11_3_workflow_agent_flag.py +114 -0
  226. specify_cli/upgrade/migrations/m_0_12_0_documentation_mission.py +155 -0
  227. specify_cli/upgrade/migrations/m_0_12_1_remove_kitty_specs_from_gitignore.py +183 -0
  228. specify_cli/upgrade/migrations/m_0_13_0_research_csv_schema_check.py +199 -0
  229. specify_cli/upgrade/migrations/m_0_13_0_update_constitution_templates.py +142 -0
  230. specify_cli/upgrade/migrations/m_0_13_0_update_research_implement_templates.py +144 -0
  231. specify_cli/upgrade/migrations/m_0_13_1_exclude_worktrees.py +94 -0
  232. specify_cli/upgrade/migrations/m_0_13_5_fix_clarify_template.py +149 -0
  233. specify_cli/upgrade/migrations/m_0_2_0_specify_to_kittify.py +80 -0
  234. specify_cli/upgrade/migrations/m_0_4_8_gitignore_agents.py +118 -0
  235. specify_cli/upgrade/migrations/m_0_5_0_encoding_hooks.py +141 -0
  236. specify_cli/upgrade/migrations/m_0_6_5_commands_rename.py +169 -0
  237. specify_cli/upgrade/migrations/m_0_6_7_ensure_missions.py +228 -0
  238. specify_cli/upgrade/migrations/m_0_7_2_worktree_commands_dedup.py +89 -0
  239. specify_cli/upgrade/migrations/m_0_7_3_update_scripts.py +114 -0
  240. specify_cli/upgrade/migrations/m_0_8_0_remove_active_mission.py +82 -0
  241. specify_cli/upgrade/migrations/m_0_8_0_worktree_agents_symlink.py +148 -0
  242. specify_cli/upgrade/migrations/m_0_9_0_frontmatter_only_lanes.py +346 -0
  243. specify_cli/upgrade/migrations/m_0_9_1_complete_lane_migration.py +661 -0
  244. specify_cli/upgrade/migrations/m_0_9_2_research_mission_templates.py +221 -0
  245. specify_cli/upgrade/registry.py +121 -0
  246. specify_cli/upgrade/runner.py +284 -0
  247. specify_cli/validators/__init__.py +14 -0
  248. specify_cli/validators/csv_schema.py +123 -0
  249. specify_cli/validators/paths.py +154 -0
  250. specify_cli/validators/research.py +430 -0
  251. specify_cli/verify_enhanced.py +270 -0
  252. specify_cli/version_utils.py +61 -0
  253. specify_cli/workspace_context.py +224 -0
@@ -0,0 +1,1769 @@
1
+ Metadata-Version: 2.4
2
+ Name: spec-kitty-cli
3
+ Version: 0.13.5
4
+ Summary: Spec Kitty, a tool for Specification Driven Development (SDD) agentic projects, with kanban and git worktree isolation.
5
+ Project-URL: Repository, https://github.com/spec-kitty/spec-kitty
6
+ Project-URL: Issues, https://github.com/spec-kitty/spec-kitty/issues
7
+ Project-URL: Documentation, https://spec-kitty.github.io/spec-kitty
8
+ Project-URL: Changelog, https://github.com/spec-kitty/spec-kitty/blob/main/CHANGELOG.md
9
+ Author: Spec Kitty Contributors
10
+ Maintainer: Spec Kitty Contributors
11
+ License: MIT License
12
+
13
+ Copyright GitHub, Inc.
14
+
15
+ Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ of this software and associated documentation files (the "Software"), to deal
17
+ in the Software without restriction, including without limitation the rights
18
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19
+ copies of the Software, and to permit persons to whom the Software is
20
+ furnished to do so, subject to the following conditions:
21
+
22
+ The above copyright notice and this permission notice shall be included in all
23
+ copies or substantial portions of the Software.
24
+
25
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ SOFTWARE.
32
+ License-File: LICENSE
33
+ Keywords: agentic-development,ai-agents,ai-coding,claude-code,cli,code-generation,feature-specs,git-worktree,kanban,llm-tools,planning,requirements,sdd,spec-driven-development,specification,workflow-automation
34
+ Classifier: Development Status :: 4 - Beta
35
+ Classifier: Environment :: Console
36
+ Classifier: Intended Audience :: Developers
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Operating System :: OS Independent
39
+ Classifier: Programming Language :: Python :: 3
40
+ Classifier: Programming Language :: Python :: 3.11
41
+ Classifier: Programming Language :: Python :: 3.12
42
+ Classifier: Programming Language :: Python :: 3.13
43
+ Classifier: Topic :: Software Development
44
+ Classifier: Topic :: Software Development :: Code Generators
45
+ Classifier: Topic :: Software Development :: Documentation
46
+ Classifier: Topic :: Software Development :: Quality Assurance
47
+ Classifier: Topic :: Software Development :: Version Control
48
+ Classifier: Topic :: Software Development :: Version Control :: Git
49
+ Classifier: Topic :: Utilities
50
+ Classifier: Typing :: Typed
51
+ Requires-Python: >=3.11
52
+ Requires-Dist: httpx[socks]
53
+ Requires-Dist: packaging>=23.0
54
+ Requires-Dist: platformdirs
55
+ Requires-Dist: psutil>=5.9.0
56
+ Requires-Dist: pydantic>=2.0
57
+ Requires-Dist: pyyaml>=6.0
58
+ Requires-Dist: readchar
59
+ Requires-Dist: rich
60
+ Requires-Dist: ruamel-yaml>=0.18.0
61
+ Requires-Dist: truststore>=0.10.4
62
+ Requires-Dist: typer
63
+ Provides-Extra: test
64
+ Requires-Dist: build>=1.0.0; extra == 'test'
65
+ Requires-Dist: pytest>=7.4; extra == 'test'
66
+ Description-Content-Type: text/markdown
67
+
68
+ <div align="center">
69
+ <img src="https://github.com/Priivacy-ai/spec-kitty/raw/main/media/logo_small.webp" alt="Spec Kitty Logo"/>
70
+ <h1>Spec Kitty</h1>
71
+ <h2>Spec Driven Development for serious software</h2>
72
+ </div>
73
+
74
+ Spec Kitty is for Spec Coding: using LLM agents to write code (eg. Claude Code, Codex, Cursor) while enforcing specification-first development. It features a live kanban dashboard, deterministic automation, git worktrees per work package, and smart merging. This helps you coordinate multiple AI agents on complex features while maintaining quality.
75
+
76
+ **Try it now**: `pip install spec-kitty-cli && spec-kitty init myproject --ai claude`
77
+
78
+ <p align="center">
79
+ <a href="#-getting-started-complete-workflow">Quick Start</a> •
80
+ <a href="docs/claude-code-integration.md"><strong>Claude Code Guide</strong></a> •
81
+ <a href="#-real-time-dashboard">Live Dashboard</a> •
82
+ <a href="#-supported-ai-agents">12 AI Agents</a> •
83
+ <a href="https://github.com/Priivacy-ai/spec-kitty/blob/main/spec-driven.md">Full Docs</a>
84
+ </p>
85
+
86
+ <div align="center">
87
+
88
+ [![GitHub stars](https://img.shields.io/github/stars/Priivacy-ai/spec-kitty?style=social)](https://github.com/Priivacy-ai/spec-kitty/stargazers)
89
+ [![GitHub forks](https://img.shields.io/github/forks/Priivacy-ai/spec-kitty?style=social)](https://github.com/Priivacy-ai/spec-kitty/network/members)
90
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
91
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
92
+
93
+ [![AI Agents: 12](https://img.shields.io/badge/AI_Agents-12_Supported-brightgreen.svg)](#-supported-ai-agents)
94
+ [![Real-time Dashboard](https://img.shields.io/badge/Dashboard-Real--time_Kanban-orange.svg)](#-real-time-dashboard)
95
+ [![Spec-Driven](https://img.shields.io/badge/Workflow-Spec--Driven-blue.svg)](#-what-is-spec-driven-development)
96
+ [![Multi-Agent](https://img.shields.io/badge/Multi--Agent-Orchestration-purple.svg)](#-why-spec-kitty)
97
+
98
+ </div>
99
+
100
+ > **Note:** Spec Kitty is a fork of GitHub's [Spec Kit](https://github.com/github/spec-kit). We retain the original attribution per the Spec Kit license while evolving the toolkit under the Spec Kitty banner.
101
+
102
+ ## ⚠️ Breaking Change in v0.11.0
103
+
104
+ **Workspace model changed to workspace-per-work-package for parallel multi-agent development.**
105
+
106
+ ### What Changed
107
+
108
+ - **Planning commands** (specify, plan, tasks) now work in main repository
109
+ - **Worktrees created on-demand** during `spec-kitty implement WP##`
110
+ - **One worktree per work package** (not per feature)
111
+
112
+ ### Action Required Before Upgrading
113
+
114
+ **You MUST complete or delete all in-progress features before upgrading to 0.11.0.**
115
+
116
+ Check for legacy worktrees (choose one method):
117
+
118
+ ```bash
119
+ # Method 1: After upgrading spec-kitty-cli to 0.11.0
120
+ pip install --upgrade spec-kitty-cli
121
+ spec-kitty list-legacy-features
122
+
123
+ # Method 2: Manual check (works on any version)
124
+ ls -la .worktrees/ 2>/dev/null || echo "No worktrees found"
125
+ ```
126
+
127
+ If you have existing worktrees, complete or delete them before running `spec-kitty upgrade`.
128
+
129
+ See [**Upgrade Guide**](docs/how-to/upgrade-to-0-11-0.md) for step-by-step migration instructions.
130
+
131
+ ### New in 0.11.0
132
+
133
+ - ✅ **Parallel development**: Multiple agents work on different WPs simultaneously
134
+ - ✅ **Dependency tracking**: WP frontmatter includes `dependencies: []` field
135
+ - ✅ **New command**: `spec-kitty implement WP##` creates workspace for work package
136
+ - ✅ **Better isolation**: Each WP has its own worktree and branch
137
+
138
+ 📖 [Workspace-per-WP Documentation](docs/explanation/workspace-per-wp.md) | 📖 [Full Upgrade Guide](docs/how-to/upgrade-to-0-11-0.md)
139
+
140
+ ---
141
+
142
+ > **🎉 Coming in v0.12.0 - Smarter Merge & Config-Driven Agents**
143
+ >
144
+ > **Merge Improvements:**
145
+ > - **Pre-flight validation**: Checks all WP worktrees for uncommitted changes before merge
146
+ > - **Conflict forecasting**: `--dry-run` predicts conflicts and classifies as auto-resolvable or manual
147
+ > - **Resume/abort**: `--resume` continues interrupted merges, `--abort` starts fresh
148
+ > - **Auto-cleanup**: Worktrees and branches removed after successful merge
149
+ >
150
+ > **Agent Management:**
151
+ > - **Config-driven agents**: `.kittify/config.yaml` is now the single source of truth
152
+ > - **New CLI commands**: `spec-kitty agent config list|add|remove|status|sync`
153
+ > - **Migrations respect config**: Only configured agents are updated during `spec-kitty upgrade`
154
+ >
155
+ > [See CHANGELOG](CHANGELOG.md#unreleased) for full details.
156
+
157
+ ## 🔄 Why Fork Spec Kit?
158
+
159
+ **GitHub Spec Kit** pioneered spec-driven development but stopped at spec creation. We forked to add production-grade features teams actually need:
160
+
161
+ | Feature | Spec Kit | Spec Kitty |
162
+ |---------|----------|------------|
163
+ | **Real-time kanban dashboard** | ❌ No visibility | ✅ Live dashboard with agent tracking |
164
+ | **Multi-agent init** | ⚠️ Single agent at init | ✅ Multiple agents at once (claude + codex) |
165
+ | **Collaborative planning** | ❌ No guided discovery | ✅ LLM asks clarifying questions (plan & spec) |
166
+ | **Mission system** | ❌ One workflow | ✅ Software-dev + research missions |
167
+ | **Parallel features** | ❌ Branch switching | ✅ Git worktrees for isolation |
168
+ | **Quality gates** | ❌ Manual merge | ✅ Automated accept/merge workflow |
169
+ | **Task management** | ⚠️ Manual lane tracking | ✅ Automatic kanban + history |
170
+ | **Python CLI** | ❌ Bash scripts only | ✅ Cross-platform Python |
171
+
172
+ **Use Spec Kit if**: You want minimal tooling and single-agent workflows
173
+ **Use Spec Kitty if**: You need visibility, multi-agent coordination (e.g., Claude implements + Codex reviews), or production quality gates
174
+
175
+ > Spec Kitty started as a fork to add the live dashboard. Once we saw teams coordinating 3-10 AI agents on complex features, we evolved it into a complete multi-agent orchestration platform.
176
+
177
+ ---
178
+ ## 🎯 Core Features
179
+
180
+ - 📊 **Live Kanban Dashboard** - Real-time visibility into AI agent progress (run `spec-kitty dashboard`)
181
+ - 👥 **12 AI Agents Supported** - Claude Code, Cursor, Windsurf, Gemini, Copilot, and more
182
+ - 🔄 **Systematic Workflow** - Spec → Plan → Tasks → Implement → Review → Merge
183
+ - 📦 **Git Worktrees** - Parallel feature isolation without branch switching
184
+ - ✅ **Quality Gates** - Constitution framework + automated acceptance checks
185
+ - 🐍 **Python CLI** - Cross-platform automation (v0.10.0+, no bash scripts)
186
+
187
+ ## 📊 Real-Time Dashboard
188
+
189
+ Spec Kitty includes a **live dashboard** that automatically tracks your feature development progress. View your kanban board, monitor work package status, and see which agents are working on what—all updating in real-time as you work.
190
+
191
+ <div align="center">
192
+ <img src="https://github.com/Priivacy-ai/spec-kitty/raw/main/media/dashboard-kanban.png" alt="Spec Kitty Dashboard - Kanban Board View" width="800"/>
193
+ <p><em>Kanban board showing work packages across all lanes with agent assignments</em></p>
194
+ </div>
195
+
196
+ <div align="center">
197
+ <img src="https://github.com/Priivacy-ai/spec-kitty/raw/main/media/dashboard-overview.png" alt="Spec Kitty Dashboard - Feature Overview" width="800"/>
198
+ <p><em>Feature overview with completion metrics and available artifacts</em></p>
199
+ </div>
200
+
201
+ The dashboard starts automatically when you run `spec-kitty init` and runs in the background. Access it anytime with the `/spec-kitty.dashboard` command or `spec-kitty dashboard`—the CLI will start the correct project dashboard automatically if it isn’t already running, let you request a specific port with `--port`, or stop it cleanly with `--kill`.
202
+
203
+ **Key Features:**
204
+ - 📋 **Kanban Board**: Visual workflow across planned → doing → for review → done lanes
205
+ - 📈 **Progress Tracking**: Real-time completion percentages and task counts
206
+ - 👥 **Multi-Agent Support**: See which AI agents are working on which tasks
207
+ - 📦 **Artifact Status**: Track specification, plan, tasks, and other deliverables
208
+ - 🔄 **Live Updates**: Dashboard refreshes automatically as you work
209
+
210
+ ---
211
+
212
+ ## 🚀 Getting Started: Complete Workflow
213
+
214
+ **New to Spec Kitty?** Here's the complete lifecycle from zero to shipping features:
215
+
216
+ ### Phase 1: Install & Initialize (Terminal)
217
+
218
+ ```bash
219
+ # 1. Install the CLI
220
+ pip install spec-kitty-cli
221
+ # or
222
+ uv tool install spec-kitty-cli
223
+
224
+ # 2. Initialize your project
225
+ spec-kitty init my-project --ai claude
226
+ # This creates project structure, installs slash commands, starts dashboard
227
+
228
+ # 3. Verify setup (optional)
229
+ cd my-project
230
+ spec-kitty verify-setup # Checks that everything is configured correctly
231
+
232
+ # 4. View your dashboard
233
+ spec-kitty dashboard # Opens http://localhost:3000-5000
234
+ ```
235
+
236
+ **What just happened:**
237
+ - ✅ Created `.claude/commands/` (or `.gemini/`, `.cursor/`, etc.) with 13 slash commands
238
+ - ✅ Created `.kittify/` directory with scripts, templates, and mission configuration
239
+ - ✅ Started real-time kanban dashboard (runs in background)
240
+ - ✅ Initialized git repository with proper `.gitignore`
241
+
242
+ ---
243
+
244
+ ## 🔄 Upgrading Existing Projects
245
+
246
+ > **Important:** If you've upgraded `spec-kitty-cli` via pip/uv, run `spec-kitty upgrade` in each of your projects to apply structural migrations.
247
+
248
+ ### Quick Upgrade
249
+
250
+ ```bash
251
+ cd your-project
252
+ spec-kitty upgrade # Upgrade to current version
253
+ ```
254
+
255
+ ### What Gets Upgraded
256
+
257
+ The upgrade command automatically migrates your project structure across versions:
258
+
259
+ | Version | Migration |
260
+ |---------|-----------|
261
+ | **0.10.9** | Repair broken templates with bash script references (#62, #63, #64) |
262
+ | **0.10.8** | Move memory/ and AGENTS.md to .kittify/ |
263
+ | **0.10.6** | Simplify implement/review templates to use workflow commands |
264
+ | **0.10.2** | Update slash commands to Python CLI and flat structure |
265
+ | **0.10.0** | **Remove bash scripts, migrate to Python CLI** |
266
+ | **0.9.1** | Complete lane migration + normalize frontmatter |
267
+ | **0.9.0** | Flatten task lanes to frontmatter-only (no directory-based lanes) |
268
+ | **0.8.0** | Remove active-mission (missions now per-feature) |
269
+ | **0.7.3** | Update scripts for worktree feature numbering |
270
+ | **0.6.7** | Ensure software-dev and research missions present |
271
+ | **0.6.5** | Rename commands/ → command-templates/ |
272
+ | **0.5.0** | Install encoding validation git hooks |
273
+ | **0.4.8** | Add all 12 AI agent directories to .gitignore |
274
+ | **0.2.0** | Rename .specify/ → .kittify/ and /specs/ → /kitty-specs/ |
275
+
276
+ > Run `spec-kitty upgrade --verbose` to see which migrations apply to your project.
277
+
278
+ ### Upgrade Options
279
+
280
+ ```bash
281
+ # Preview changes without applying
282
+ spec-kitty upgrade --dry-run
283
+
284
+ # Show detailed migration information
285
+ spec-kitty upgrade --verbose
286
+
287
+ # Upgrade to specific version
288
+ spec-kitty upgrade --target 0.6.5
289
+
290
+ # Skip worktree upgrades (main project only)
291
+ spec-kitty upgrade --no-worktrees
292
+
293
+ # JSON output for CI/CD integration
294
+ spec-kitty upgrade --json
295
+ ```
296
+
297
+ ### When to Upgrade
298
+
299
+ Run `spec-kitty upgrade` after:
300
+ - Installing a new version of `spec-kitty-cli`
301
+ - Cloning a project that was created with an older version
302
+ - Seeing "Unknown mission" or missing slash commands
303
+
304
+ The upgrade command is **idempotent** - safe to run multiple times. It automatically detects your project's version and applies only the necessary migrations.
305
+
306
+ ---
307
+
308
+ ### Phase 2: Start Your AI Agent (Terminal)
309
+
310
+ ```bash
311
+ # Launch your chosen AI coding agent
312
+ claude # For Claude Code
313
+ # or
314
+ gemini # For Gemini CLI
315
+ # or
316
+ code # For GitHub Copilot / Cursor
317
+ ```
318
+
319
+ **Verify slash commands loaded:**
320
+ Type `/spec-kitty` and you should see autocomplete with all 13 commands.
321
+
322
+ ### Phase 3: Establish Project Principles (In Agent)
323
+
324
+ **Still in main repo** - Start with your project's governing principles:
325
+
326
+ ```text
327
+ /spec-kitty.constitution
328
+
329
+ Create principles focused on code quality, testing standards,
330
+ user experience consistency, and performance requirements.
331
+ ```
332
+
333
+ **What this creates:**
334
+ - `.kittify/memory/constitution.md` - Your project's architectural DNA
335
+ - These principles will guide all subsequent development
336
+ - Missions do not have separate constitutions; the project constitution is the single source of truth
337
+
338
+ ### Phase 4: Create Your First Feature (In Agent)
339
+
340
+ Now begin the feature development cycle:
341
+
342
+ #### 4a. Define WHAT to Build
343
+
344
+ ```text
345
+ /spec-kitty.specify
346
+
347
+ Build a user authentication system with email/password login,
348
+ password reset, and session management. Users should be able to
349
+ register, login, logout, and recover forgotten passwords.
350
+ ```
351
+
352
+ **What this does:**
353
+ - Creates `kitty-specs/001-auth-system/spec.md` with user stories
354
+ - **Enters discovery interview** - Answer questions before continuing!
355
+ - All planning happens in the main repo (worktrees created later during implementation)
356
+
357
+ **⚠️ Important:** Continue in the same session - no need to change directories!
358
+
359
+ #### 4b. Define HOW to Build (In Main Repo)
360
+
361
+ ```text
362
+ /spec-kitty.plan
363
+
364
+ Use Python FastAPI for backend, PostgreSQL for database,
365
+ JWT tokens for sessions, bcrypt for password hashing,
366
+ SendGrid for email delivery.
367
+ ```
368
+
369
+ **What this creates:**
370
+ - `kitty-specs/001-auth-system/plan.md` - Technical architecture
371
+ - `kitty-specs/001-auth-system/data-model.md` - Database schema
372
+ - `kitty-specs/001-auth-system/contracts/` - API specifications
373
+ - **Enters planning interview** - Answer architecture questions!
374
+
375
+ #### 4c. Optional: Research Phase
376
+
377
+ ```text
378
+ /spec-kitty.research
379
+
380
+ Investigate best practices for password reset token expiration,
381
+ JWT refresh token rotation, and rate limiting for auth endpoints.
382
+ ```
383
+
384
+ **What this creates:**
385
+ - `kitty-specs/001-auth-system/research.md` - Research findings
386
+ - Evidence logs for decisions made
387
+
388
+ #### 4d. Break Down Into Tasks
389
+
390
+ ```text
391
+ /spec-kitty.tasks
392
+ ```
393
+
394
+ **What this creates:**
395
+ - `kitty-specs/001-auth-system/tasks.md` - Kanban checklist
396
+ - `kitty-specs/001-auth-system/tasks/WP01.md` - Work package prompts (flat structure)
397
+ - Up to 10 work packages ready for implementation
398
+
399
+ **Check your dashboard:** You'll now see tasks in the "Planned" lane!
400
+
401
+ ### Phase 5: Implement Features (In Feature Worktree)
402
+
403
+ #### 5a. Execute Implementation
404
+
405
+ ```text
406
+ /spec-kitty.implement
407
+ ```
408
+
409
+ **What this does:**
410
+ - Auto-detects first WP with `lane: "planned"` (or specify WP ID)
411
+ - Automatically moves to `lane: "doing"` and displays the prompt
412
+ - Shows clear "WHEN YOU'RE DONE" instructions
413
+ - Agent implements, then runs command to move to `lane: "for_review"`
414
+
415
+ **Repeat** until all work packages are done!
416
+
417
+ #### 5b. Review Completed Work
418
+
419
+ ```text
420
+ /spec-kitty.review
421
+ ```
422
+
423
+ **What this does:**
424
+ - Auto-detects first WP with `lane: "for_review"` (or specify WP ID)
425
+ - Automatically moves to `lane: "doing"` and displays the prompt
426
+ - Agent reviews code and provides feedback or approval
427
+ - Shows commands to move to `lane: "done"` (passed) or `lane: "planned"` (changes needed)
428
+
429
+ ### Phase 6: Accept & Merge (In Feature Worktree)
430
+
431
+ #### 6a. Validate Feature Complete
432
+
433
+ ```text
434
+ /spec-kitty.accept
435
+ ```
436
+
437
+ **What this does:**
438
+ - Verifies all WPs have `lane: "done"`
439
+ - Checks metadata and activity logs
440
+ - Confirms no `NEEDS CLARIFICATION` markers remain
441
+ - Records acceptance timestamp
442
+
443
+ #### 6b. Merge to Main
444
+
445
+ ```text
446
+ /spec-kitty.merge --push
447
+ ```
448
+
449
+ **What this does:**
450
+ - Switches to main branch
451
+ - Merges feature branch
452
+ - Pushes to remote (if `--push` specified)
453
+ - Cleans up worktree
454
+ - Deletes feature branch
455
+
456
+ **🎉 Feature complete!** Return to main repo and start your next feature with `/spec-kitty.specify`
457
+
458
+ ---
459
+
460
+ ## 📋 Quick Reference: Command Order
461
+
462
+ ### Required Workflow (Once per project)
463
+ ```
464
+ 1️⃣ /spec-kitty.constitution → In main repo (sets project principles)
465
+ ```
466
+
467
+ ### Required Workflow (Each feature)
468
+ ```
469
+ 2️⃣ /spec-kitty.specify → Create spec (in main repo)
470
+ 3️⃣ /spec-kitty.plan → Define technical approach (in main repo)
471
+ 4️⃣ /spec-kitty.tasks → Generate work packages (in main repo)
472
+ 5️⃣ spec-kitty implement WP01 → Create workspace for WP01 (first worktree)
473
+ /spec-kitty.implement → Build the work package
474
+ 6️⃣ /spec-kitty.review → Review completed work
475
+ 7️⃣ /spec-kitty.accept → Validate feature ready
476
+ 8️⃣ /spec-kitty.merge → Merge to main + cleanup
477
+ ```
478
+
479
+ ### Optional Enhancement Commands
480
+ ```
481
+ /spec-kitty.clarify → Before /plan: Ask structured questions about spec
482
+ /spec-kitty.research → After /plan: Investigate technical decisions
483
+ /spec-kitty.analyze → After /tasks: Cross-artifact consistency check
484
+ /spec-kitty.checklist → Anytime: Generate custom quality checklists
485
+ /spec-kitty.dashboard → Anytime: Open/restart the kanban dashboard
486
+ ```
487
+
488
+ ---
489
+
490
+ ## 🔒 Agent Directory Best Practices
491
+
492
+ **Important**: Agent directories (`.claude/`, `.codex/`, `.gemini/`, etc.) should **NEVER** be committed to git.
493
+
494
+ ### Why?
495
+
496
+ These directories may contain:
497
+ - Authentication tokens and API keys
498
+ - User-specific credentials (auth.json)
499
+ - Session data and conversation history
500
+
501
+ ### Automatic Protection
502
+
503
+ Spec Kitty automatically protects you with multiple layers:
504
+
505
+ **During `spec-kitty init`:**
506
+ - ✅ Adds all 12 agent directories to `.gitignore`
507
+ - ✅ Installs pre-commit hooks that block commits containing agent files
508
+ - ✅ Creates `.claudeignore` to optimize AI scanning (excludes `.kittify/` templates)
509
+
510
+ **Pre-commit Hook Protection:**
511
+ The installed pre-commit hook will block any commit that includes files from:
512
+ `.claude/`, `.codex/`, `.gemini/`, `.cursor/`, `.qwen/`, `.opencode/`,
513
+ `.windsurf/`, `.kilocode/`, `.augment/`, `.roo/`, `.amazonq/`, `.github/copilot/`
514
+
515
+ If you need to bypass the hook (not recommended): `git commit --no-verify`
516
+
517
+ **Worktree Constitution Sharing:**
518
+ When creating WP workspaces, Spec Kitty uses symlinks to share the constitution:
519
+ ```
520
+ .worktrees/001-feature-WP01/.kittify/memory -> ../../../../.kittify/memory
521
+ ```
522
+ This ensures all work packages follow the same project principles.
523
+
524
+ ### What Gets Committed?
525
+
526
+ ✅ **DO commit:**
527
+ - `.kittify/templates/` - Command templates (source)
528
+ - `.kittify/missions/` - Mission workflows
529
+ - `.kittify/memory/constitution.md` - Project principles
530
+ - `.gitignore` - Protection rules
531
+
532
+ ❌ **NEVER commit:**
533
+ - `.claude/`, `.gemini/`, `.cursor/`, etc. - Agent runtime directories
534
+ - Any `auth.json` or credentials files
535
+
536
+ See [AGENTS.md](.kittify/AGENTS.md) for complete guidelines.
537
+
538
+ ---
539
+
540
+ ## 📚 Terminology
541
+
542
+ Spec Kitty differentiates between the **project** that holds your entire codebase, the **features** you build within that project, and the **mission** that defines your workflow. Use these definitions whenever you write docs, prompts, or help text.
543
+
544
+ ### Project
545
+ **Definition**: The entire codebase (one Git repository) that contains all missions, features, and `.kittify/` automation.
546
+
547
+ **Examples**:
548
+ - "spec-kitty project" (this repository)
549
+ - "priivacy_rust project"
550
+ - "my-agency-portal project"
551
+
552
+ **Usage**: Projects are initialized once with `spec-kitty init`. A project contains:
553
+ - One active mission at a time
554
+ - Multiple features (each with its own spec/plan/tasks)
555
+ - Shared automation under `.kittify/`
556
+
557
+ **Commands**: Initialize with `spec-kitty init my-project` (or `spec-kitty init --here` for the current directory).
558
+
559
+ ---
560
+
561
+ ### Feature
562
+ **Definition**: A single unit of work tracked by Spec Kitty. Every feature has its own spec, plan, tasks, and implementation worktree.
563
+
564
+ **Examples**:
565
+ - "001-auth-system feature"
566
+ - "005-refactor-mission-system feature" (this document)
567
+ - "042-dashboard-refresh feature"
568
+
569
+ **Structure**:
570
+ - Specification: `/kitty-specs/###-feature-name/spec.md`
571
+ - Plan: `/kitty-specs/###-feature-name/plan.md`
572
+ - Tasks: `/kitty-specs/###-feature-name/tasks.md`
573
+ - Implementation: `.worktrees/###-feature-name/`
574
+
575
+ **Lifecycle**:
576
+ 1. `/spec-kitty.specify` – Create the feature and its branch
577
+ 2. `/spec-kitty.plan` – Document the technical design
578
+ 3. `/spec-kitty.tasks` – Break work into packages
579
+ 4. `/spec-kitty.implement` – Build the feature inside its worktree
580
+ 5. `/spec-kitty.review` – Peer review
581
+ 6. `/spec-kitty.accept` – Validate according to gates
582
+ 7. `/spec-kitty.merge` – Merge and clean up
583
+
584
+ **Commands**: Always create features with `/spec-kitty.specify`.
585
+
586
+ ---
587
+
588
+ ### Mission
589
+ **Definition**: A domain adapter that configures Spec Kitty (workflows, templates, validation). Missions are project-wide; all features in a project share the same active mission.
590
+
591
+ **Examples**:
592
+ - "software-dev mission" (ship software with TDD)
593
+ - "research mission" (conduct systematic investigations)
594
+ - "writing mission" (future workflow)
595
+
596
+ **What missions define**:
597
+ - Workflow phases (e.g., design → implement vs. question → gather findings)
598
+ - Templates (spec, plan, tasks, prompts)
599
+ - Validation rules (tests pass vs. citations documented)
600
+ - Path conventions (e.g., `src/` vs. `research/`)
601
+
602
+ **Scope**: Entire project. Switch missions before starting a new feature if you need a different workflow.
603
+
604
+ **Commands**:
605
+ - Select at init: `spec-kitty init my-project --mission research`
606
+ - Switch later: `spec-kitty mission switch research`
607
+ - Inspect: `spec-kitty mission current` / `spec-kitty mission list`
608
+
609
+ ---
610
+
611
+ ### Quick Reference
612
+
613
+ | Term | Scope | Example | Key Command |
614
+ |------|-------|---------|-------------|
615
+ | **Project** | Entire codebase | "spec-kitty project" | `spec-kitty init my-project` |
616
+ | **Feature** | Unit of work | "001-auth-system feature" | `/spec-kitty.specify "auth system"` |
617
+ | **Mission** | Workflow adapter | "research mission" | `spec-kitty mission switch research` |
618
+
619
+ ### Common Questions
620
+
621
+ **Q: What's the difference between a project and a feature?**
622
+ A project is your entire git repository. A feature is one unit of work inside that project with its own spec/plan/tasks.
623
+
624
+ **Q: Can I have multiple missions in one project?**
625
+ Only one mission is active at a time, but you can switch missions between features with `spec-kitty mission switch`.
626
+
627
+ **Q: Should I create a new project for every feature?**
628
+ No. Initialize a project once, then create as many features as you need with `/spec-kitty.specify`.
629
+
630
+ **Q: What's a task?**
631
+ Tasks (T001, T002, etc.) are subtasks within a feature's work packages. They are **not** separate features or projects.
632
+
633
+ ---
634
+
635
+ ## Table of Contents
636
+
637
+ - [🚀 Getting Started: Complete Workflow](#-getting-started-complete-workflow)
638
+ - [🔄 Upgrading Existing Projects](#-upgrading-existing-projects)
639
+ - [📋 Quick Reference: Command Order](#-quick-reference-command-order)
640
+ - [📚 Terminology](#-terminology)
641
+ - [🎯 Why Spec-Kitty?](#-why-spec-kitty)
642
+ - [📊 Real-Time Dashboard](#-real-time-dashboard)
643
+ - [🔍 Spec-Kitty vs. Other Spec-Driven Tools](#-spec-kitty-vs-other-spec-driven-tools)
644
+ - [📦 Examples](#-examples)
645
+ - [🤔 What is Spec-Driven Development?](#-what-is-spec-driven-development)
646
+ - [⚡ Get started](#-get-started)
647
+ - [🤖 Supported AI Agents](#-supported-ai-agents)
648
+ - [🔧 Spec Kitty CLI Reference](#-spec-kitty-cli-reference)
649
+ - [🌳 Worktree Strategy](#-worktree-strategy)
650
+ - [✅ Feature Acceptance & Merge Workflow](#-feature-acceptance--merge-workflow)
651
+ - [🔧 Prerequisites](#-prerequisites)
652
+ - [📖 Learn more](#-learn-more)
653
+ - [📋 Detailed process](#-detailed-process)
654
+ - [🔍 Troubleshooting](#-troubleshooting)
655
+ - [👥 Maintainers](#-maintainers)
656
+ - [💬 Support](#-support)
657
+ - [🙏 Acknowledgements](#-acknowledgements)
658
+ - [📄 License](#-license)
659
+
660
+ ## 🤔 What is Spec-Driven Development?
661
+
662
+ Spec-Driven Development **flips the script** on traditional software development. For decades, code has been king — specifications were just scaffolding we built and discarded once the "real work" of coding began. Spec-Driven Development changes this: **specifications become executable**, directly generating working implementations rather than just guiding them.
663
+
664
+ ## ⚡ Get started
665
+
666
+ > **📖 New to Spec Kitty?** See the [complete workflow guide above](#-getting-started-complete-workflow) for step-by-step instructions from installation to feature completion.
667
+
668
+ ## 🔍 Spec-Kitty vs. Other Spec-Driven Tools
669
+
670
+ | Capability | Spec Kitty | Other SDD Toolkits |
671
+ |------------|-----------|---------------------|
672
+ | Real-time kanban dashboard with agent telemetry | ✅ Built-in dashboard with lane automation | ⚠️ Often requires third-party integrations |
673
+ | AI discovery interview gates (`WAITING_FOR_*_INPUT`) | ✅ Mandatory across spec, plan, tasks | ⚠️ Frequently optional or absent |
674
+ | Worktree-aware prompt generation | ✅ Prompts align with git worktrees and task lanes | ❌ Typically manual setup |
675
+ | Multi-agent orchestration playbooks | ✅ Bundled docs + scripts for coordination | ⚠️ Sparse or ad-hoc guidance |
676
+ | Agent-specific command scaffolding (Claude, Gemini, Cursor, etc.) | ✅ Generated during `spec-kitty init` | ⚠️ Usually limited to one assistant |
677
+ | Specification, plan, tasks, and merge automation | ✅ End-to-end command suite | ⚠️ Partial coverage |
678
+ | Cross-agent coordination guides | ✅ Built-in examples & playbooks | ⚠️ Typically community-sourced |
679
+ | Live progress visibility | ✅ Real-time dashboard | ❌ Manual status checks |
680
+ | Parallel feature development | ✅ Worktree isolation + dashboard | ⚠️ Branch-based, limited visibility |
681
+ | Quality gate automation | ✅ Accept/merge commands | ⚠️ Manual verification |
682
+
683
+ ## 📦 Examples
684
+
685
+ Learn from real-world workflows used by teams building production software with AI agents. Each playbook demonstrates specific coordination patterns and best practices:
686
+
687
+ ### Featured Workflows
688
+
689
+ - **[Multi-Agent Feature Development](https://github.com/Priivacy-ai/spec-kitty/blob/main/examples/multi-agent-feature-development.md)**
690
+ *Orchestrate 3-5 AI agents on a single large feature with parallel work packages*
691
+
692
+ - **[Parallel Implementation Tracking](https://github.com/Priivacy-ai/spec-kitty/blob/main/examples/parallel-implementation-tracking.md)**
693
+ *Monitor multiple teams/agents delivering features simultaneously with dashboard metrics*
694
+
695
+ - **[Dashboard-Driven Development](https://github.com/Priivacy-ai/spec-kitty/blob/main/examples/dashboard-driven-development.md)**
696
+ *Product trio workflow: PM + Designer + Engineers using live kanban visibility*
697
+
698
+ - **[Claude + Cursor Collaboration](https://github.com/Priivacy-ai/spec-kitty/blob/main/examples/claude-cursor-collaboration.md)**
699
+ *Blend different AI agents within a single spec-driven workflow*
700
+
701
+ ### More Examples
702
+
703
+ Browse our [examples directory](https://github.com/Priivacy-ai/spec-kitty/tree/main/examples) for additional workflows including:
704
+ - Agency client transparency workflows
705
+ - Solo developer productivity patterns
706
+ - Enterprise parallel development
707
+ - Research mission templates
708
+
709
+ ## 🤖 Supported AI Agents
710
+
711
+ | Agent | Support | Notes |
712
+ |-----------------------------------------------------------|---------|---------------------------------------------------|
713
+ | [Claude Code](https://www.anthropic.com/claude-code) | ✅ | |
714
+ | [GitHub Copilot](https://code.visualstudio.com/) | ✅ | |
715
+ | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | ✅ | |
716
+ | [Cursor](https://cursor.sh/) | ✅ | |
717
+ | [Qwen Code](https://github.com/QwenLM/qwen-code) | ✅ | |
718
+ | [opencode](https://opencode.ai/) | ✅ | |
719
+ | [Windsurf](https://windsurf.com/) | ✅ | |
720
+ | [Kilo Code](https://github.com/Kilo-Org/kilocode) | ✅ | |
721
+ | [Auggie CLI](https://docs.augmentcode.com/cli/overview) | ✅ | |
722
+ | [Roo Code](https://roocode.com/) | ✅ | |
723
+ | [Codex CLI](https://github.com/openai/codex) | ✅ | |
724
+ | [Amazon Q Developer CLI](https://aws.amazon.com/developer/learning/q-developer-cli/) | ⚠️ | Amazon Q Developer CLI [does not support](https://github.com/aws/amazon-q-developer-cli/issues/3064) custom arguments for slash commands. |
725
+
726
+ ## 🔧 Spec Kitty CLI Reference
727
+
728
+ The `spec-kitty` command supports the following options. Every run begins with a discovery interview, so be prepared to answer follow-up questions before files are touched.
729
+
730
+ ### Commands
731
+
732
+ | Command | Description |
733
+ |-------------|----------------------------------------------------------------|
734
+ | `init` | Initialize a new Spec Kitty project from templates |
735
+ | `upgrade` | **Upgrade project structure to current version** (run after updating spec-kitty-cli) |
736
+ | `repair` | **Repair broken template installations** (fixes bash script references from v0.10.0-0.10.8) |
737
+ | `accept` | Validate feature readiness before merging to main |
738
+ | `check` | Check that required tooling is available |
739
+ | `dashboard` | Open or stop the Spec Kitty dashboard |
740
+ | `diagnostics` | Show project health and diagnostics information |
741
+ | `merge` | Merge a completed feature branch into main and clean up resources |
742
+ | `research` | Execute Phase 0 research workflow to scaffold artifacts |
743
+ | `verify-setup` | Verify that the current environment matches Spec Kitty expectations |
744
+
745
+ ### `spec-kitty init` Arguments & Options
746
+
747
+ | Argument/Option | Type | Description |
748
+ |------------------------|----------|------------------------------------------------------------------------------|
749
+ | `<project-name>` | Argument | Name for your new project directory (optional if using `--here`, or use `.` for current directory) |
750
+ | `--ai` | Option | AI assistant to use: `claude`, `gemini`, `copilot`, `cursor`, `qwen`, `opencode`, `codex`, `windsurf`, `kilocode`, `auggie`, `roo`, or `q` |
751
+ | `--script` | Option | (Deprecated in v0.10.0) Script variant - all commands now use Python CLI |
752
+ | `--mission` | Option | Mission key to seed templates (`software-dev`, `research`, ...) |
753
+ | `--template-root` | Option | Override template location (useful for development mode or custom sources) |
754
+ | `--ignore-agent-tools` | Flag | Skip checks for AI agent tools like Claude Code |
755
+ | `--no-git` | Flag | Skip git repository initialization |
756
+ | `--here` | Flag | Initialize project in the current directory instead of creating a new one |
757
+ | `--force` | Flag | Force merge/overwrite when initializing in current directory (skip confirmation) |
758
+ | `--skip-tls` | Flag | Skip SSL/TLS verification (not recommended) |
759
+ | `--debug` | Flag | Enable detailed debug output for troubleshooting |
760
+ | `--github-token` | Option | GitHub token for API requests (or set GH_TOKEN/GITHUB_TOKEN env variable) |
761
+
762
+ If you omit `--mission`, the CLI will prompt you to pick one during `spec-kitty init`.
763
+
764
+ ### Examples
765
+
766
+ ```bash
767
+ # Basic project initialization
768
+ spec-kitty init my-project
769
+
770
+ # Initialize with specific AI assistant
771
+ spec-kitty init my-project --ai claude
772
+
773
+ # Initialize with the Deep Research mission
774
+ spec-kitty init my-project --mission research
775
+
776
+ # Initialize with Cursor support
777
+ spec-kitty init my-project --ai cursor
778
+
779
+ # Initialize with Windsurf support
780
+ spec-kitty init my-project --ai windsurf
781
+
782
+ # Initialize with PowerShell scripts (Windows/cross-platform)
783
+ spec-kitty init my-project --ai copilot --script ps
784
+
785
+ # Initialize in current directory
786
+ spec-kitty init . --ai copilot
787
+ # or use the --here flag
788
+ spec-kitty init --here --ai copilot
789
+
790
+ # Force merge into current (non-empty) directory without confirmation
791
+ spec-kitty init . --force --ai copilot
792
+ # or
793
+ spec-kitty init --here --force --ai copilot
794
+
795
+ # Skip git initialization
796
+ spec-kitty init my-project --ai gemini --no-git
797
+
798
+ # Enable debug output for troubleshooting
799
+ spec-kitty init my-project --ai claude --debug
800
+
801
+ # Use GitHub token for API requests (helpful for corporate environments)
802
+ spec-kitty init my-project --ai claude --github-token ghp_your_token_here
803
+
804
+ # Use custom template location (development mode)
805
+ spec-kitty init my-project --ai claude --template-root=/path/to/local/spec-kitty
806
+
807
+ # Check system requirements
808
+ spec-kitty check
809
+ ```
810
+
811
+ ### `spec-kitty upgrade` Options
812
+
813
+ | Option | Description |
814
+ |--------|-------------|
815
+ | `--dry-run` | Preview changes without applying them |
816
+ | `--force` | Skip confirmation prompts |
817
+ | `--target <version>` | Target version to upgrade to (defaults to current CLI version) |
818
+ | `--json` | Output results as JSON (for CI/CD integration) |
819
+ | `--verbose`, `-v` | Show detailed migration information |
820
+ | `--no-worktrees` | Skip upgrading worktrees (main project only) |
821
+
822
+ **Examples:**
823
+ ```bash
824
+ # Upgrade to current version
825
+ spec-kitty upgrade
826
+
827
+ # Preview what would be changed
828
+ spec-kitty upgrade --dry-run
829
+
830
+ # Upgrade with detailed output
831
+ spec-kitty upgrade --verbose
832
+
833
+ # Upgrade to specific version
834
+ spec-kitty upgrade --target 0.6.5
835
+
836
+ # JSON output for scripting
837
+ spec-kitty upgrade --json
838
+
839
+ # Skip worktree upgrades
840
+ spec-kitty upgrade --no-worktrees
841
+ ```
842
+
843
+ ### `spec-kitty agent` Commands
844
+
845
+ The `spec-kitty agent` namespace provides programmatic access to all workflow automation commands. All commands support `--json` output for agent consumption.
846
+
847
+ **Feature Management:**
848
+ - `spec-kitty agent feature create-feature <name>` – Create new feature with worktree
849
+ - `spec-kitty agent feature check-prerequisites` – Validate project setup and feature context
850
+ - `spec-kitty agent feature setup-plan` – Initialize plan template for feature
851
+ - `spec-kitty agent context update` – Update agent context files
852
+ - `spec-kitty agent feature accept` – Run acceptance workflow
853
+ - `spec-kitty agent feature merge` – Merge feature branch and cleanup
854
+
855
+ **Task Workflow:**
856
+ - `spec-kitty agent workflow implement <id> --agent __AGENT__` – Move planned → doing → for_review automatically
857
+ - `spec-kitty agent workflow review <id> --agent __AGENT__` – Move for_review → doing → planned/done automatically
858
+ - `spec-kitty agent tasks list-tasks` – List all tasks grouped by lane
859
+ - `spec-kitty agent tasks mark-status <id> --status <status>` – Mark task status
860
+ - `spec-kitty agent tasks add-history <id> --note <message>` – Add activity log entry
861
+ - `spec-kitty agent tasks validate-workflow <id>` – Validate task metadata
862
+
863
+ **Workflow Commands:**
864
+ - `spec-kitty agent workflow implement [WP_ID] --agent __AGENT__` – Display WP prompt and auto-move to "doing" lane
865
+ - `spec-kitty agent workflow review [WP_ID] --agent __AGENT__` – Display WP prompt for review and auto-move to "doing" lane
866
+
867
+ **Note:** In generated agent command files, `__AGENT__` is replaced at init time with the agent key (e.g., `codex`, `claude`). If you run commands manually, replace `__AGENT__` with your agent name.
868
+
869
+ **Example Usage:**
870
+ ```bash
871
+ # Create feature (agent-friendly)
872
+ spec-kitty agent feature create-feature "Payment Flow" --json
873
+
874
+ # Display WP prompt and auto-move to doing
875
+ spec-kitty agent workflow implement WP01 --agent __AGENT__
876
+
877
+ # Run workflow to advance lanes
878
+ spec-kitty agent workflow implement WP01 --agent __AGENT__
879
+
880
+ # Validate workflow
881
+ spec-kitty agent tasks validate-workflow WP01 --json
882
+
883
+ # Accept feature
884
+ spec-kitty agent feature accept --json
885
+ ```
886
+
887
+ ### `spec-kitty dashboard` Options
888
+
889
+ | Option | Description |
890
+ |--------|-------------|
891
+ | `--port <number>` | Preferred port for the dashboard (falls back to first available port) |
892
+ | `--kill` | Stop the running dashboard for this project and clear its metadata |
893
+
894
+ **Examples:**
895
+ ```bash
896
+ # Open dashboard (auto-detects port)
897
+ spec-kitty dashboard
898
+
899
+ # Open on specific port
900
+ spec-kitty dashboard --port 4000
901
+
902
+ # Stop dashboard
903
+ spec-kitty dashboard --kill
904
+ ```
905
+
906
+ ### `spec-kitty accept` Options
907
+
908
+ | Option | Description |
909
+ |--------|-------------|
910
+ | `--feature <slug>` | Feature slug to accept (auto-detected by default) |
911
+ | `--mode <mode>` | Acceptance mode: `auto`, `pr`, `local`, or `checklist` (default: `auto`) |
912
+ | `--actor <name>` | Name to record as the acceptance actor |
913
+ | `--test <command>` | Validation command to execute (repeatable) |
914
+ | `--json` | Emit JSON instead of formatted text |
915
+ | `--lenient` | Skip strict metadata validation |
916
+ | `--no-commit` | Skip auto-commit; report only |
917
+ | `--allow-fail` | Return checklist even when issues remain |
918
+
919
+ **Examples:**
920
+ ```bash
921
+ # Validate feature (auto-detect)
922
+ spec-kitty accept
923
+
924
+ # Validate specific feature
925
+ spec-kitty accept --feature 001-auth-system
926
+
927
+ # Get checklist only (no commit)
928
+ spec-kitty accept --mode checklist
929
+
930
+ # Accept with custom test validation
931
+ spec-kitty accept --test "pytest tests/" --test "npm run lint"
932
+
933
+ # JSON output for CI integration
934
+ spec-kitty accept --json
935
+ ```
936
+
937
+ ### `spec-kitty merge` Options
938
+
939
+ | Option | Description |
940
+ |--------|-------------|
941
+ | `--strategy <type>` | Merge strategy: `merge`, `squash`, or `rebase` (default: `merge`) |
942
+ | `--delete-branch` / `--keep-branch` | Delete or keep feature branch after merge (default: delete) |
943
+ | `--remove-worktree` / `--keep-worktree` | Remove or keep feature worktree after merge (default: remove) |
944
+ | `--push` | Push to origin after merge |
945
+ | `--target <branch>` | Target branch to merge into (default: `main`) |
946
+ | `--dry-run` | Show what would be done without executing |
947
+
948
+ **Examples:**
949
+ ```bash
950
+ # Standard merge and push
951
+ spec-kitty merge --push
952
+
953
+ # Squash commits into one
954
+ spec-kitty merge --strategy squash --push
955
+
956
+ # Keep branch for reference
957
+ spec-kitty merge --keep-branch --push
958
+
959
+ # Preview merge without executing
960
+ spec-kitty merge --dry-run
961
+
962
+ # Merge to different target
963
+ spec-kitty merge --target develop --push
964
+ ```
965
+
966
+ ### `spec-kitty verify-setup`
967
+
968
+ Verifies that the current environment matches Spec Kitty expectations:
969
+ - Checks for `.kittify/` directory structure
970
+ - Validates agent command files exist
971
+ - Confirms dashboard can start
972
+ - Reports any configuration issues
973
+
974
+ **Example:**
975
+ ```bash
976
+ cd my-project
977
+ spec-kitty verify-setup
978
+ ```
979
+
980
+ ### `spec-kitty diagnostics`
981
+
982
+ Shows project health and diagnostics information:
983
+ - Active mission
984
+ - Available features
985
+ - Dashboard status
986
+ - Git configuration
987
+ - Agent command availability
988
+
989
+ **Example:**
990
+ ```bash
991
+ spec-kitty diagnostics
992
+ ```
993
+
994
+ ### Available Slash Commands
995
+
996
+ After running `spec-kitty init`, your AI coding agent will have access to these slash commands for structured development.
997
+
998
+ > **📋 Quick Reference:** See the [command order flowchart above](#-quick-reference-command-order) for a visual workflow guide.
999
+
1000
+ #### Core Commands (In Recommended Order)
1001
+
1002
+ **Workflow sequence for spec-driven development:**
1003
+
1004
+ | # | Command | Description |
1005
+ |---|--------------------------|-----------------------------------------------------------------------|
1006
+ | 1 | `/spec-kitty.constitution` | (**First in main repo**) Create or update project governing principles and development guidelines |
1007
+ | 2 | `/spec-kitty.specify` | Define what you want to build (requirements and user stories; creates worktree) |
1008
+ | 3 | `/spec-kitty.plan` | Create technical implementation plans with your chosen tech stack |
1009
+ | 4 | `/spec-kitty.research` | Run Phase 0 research scaffolding to populate research.md, data-model.md, and evidence logs |
1010
+ | 5 | `/spec-kitty.tasks` | Generate actionable task lists and work package prompts in flat tasks/ directory |
1011
+ | 6 | `/spec-kitty.implement` | Display WP prompt, auto-move to "doing" lane, show completion instructions |
1012
+ | 7 | `/spec-kitty.review` | Display WP prompt for review, auto-move to "doing" lane, show next steps |
1013
+ | 8 | `/spec-kitty.accept` | Run final acceptance checks, record metadata, and verify feature complete |
1014
+ | 9 | `/spec-kitty.merge` | Merge feature into main branch and clean up worktree |
1015
+
1016
+ #### Quality Gates & Development Tools
1017
+
1018
+ **Optional commands for enhanced quality and development:**
1019
+
1020
+ | Command | When to Use |
1021
+ |----------------------|-----------------------------------------------------------------------|
1022
+ | `/spec-kitty.clarify` | **Optional, before `/spec-kitty.plan`**: Clarify underspecified areas in your specification to reduce downstream rework |
1023
+ | `/spec-kitty.analyze` | **Optional, after `/spec-kitty.tasks`, before `/spec-kitty.implement`**: Cross-artifact consistency & coverage analysis |
1024
+ | `/spec-kitty.checklist` | **Optional, anytime after `/spec-kitty.plan`**: Generate custom quality checklists that validate requirements completeness, clarity, and consistency |
1025
+ | `/spec-kitty.dashboard` | **Anytime (runs in background)**: Open the real-time kanban dashboard in your browser. Automatically starts with `spec-kitty init` and updates as you work. |
1026
+
1027
+ ## 🌳 Worktree Strategy
1028
+
1029
+ > **📖 Quick Start:** See the [Getting Started guide](#-getting-started-complete-workflow) for practical examples of worktree usage in context.
1030
+
1031
+ Spec Kitty uses an **opinionated worktree approach** for parallel feature development:
1032
+
1033
+ ### The Pattern
1034
+ ```
1035
+ my-project/ # Main repo (main branch)
1036
+ ├── .worktrees/
1037
+ │ ├── 001-auth-system/ # Feature 1 worktree (isolated sandbox)
1038
+ │ ├── 002-dashboard/ # Feature 2 worktree (work in parallel)
1039
+ │ └── 003-notifications/ # Feature 3 worktree (no branch switching)
1040
+ ├── .kittify/
1041
+ ├── kitty-specs/
1042
+ └── ... (main branch files)
1043
+ ```
1044
+
1045
+ ### The Rules
1046
+ 1. **Main branch** stays in the primary repo root
1047
+ 2. **Feature branches** live in `.worktrees/<feature-slug>/`
1048
+ 3. **Work on features** happens in their worktrees (complete isolation)
1049
+ 4. **No branch switching** in main repo - just `cd` between worktrees
1050
+ 5. **Automatic cleanup** - worktrees removed after merge
1051
+
1052
+ ### The Complete Workflow
1053
+
1054
+ ```bash
1055
+ # ========== IN MAIN REPO ==========
1056
+ /spec-kitty.constitution # Step 1: Establish project governance (one time per project)
1057
+
1058
+ # ========== CREATE FEATURE BRANCH & WORKTREE ==========
1059
+ /spec-kitty.specify # Step 2: Creates feature branch + isolated worktree
1060
+ cd .worktrees/001-my-feature # Enter isolated sandbox for feature development
1061
+
1062
+ # ========== IN FEATURE WORKTREE ==========
1063
+ /spec-kitty.clarify # Step 3 (optional): Clarify requirements before planning
1064
+ /spec-kitty.plan # Step 4: Design technical implementation
1065
+ /spec-kitty.research # Step 5 (as needed): Research technologies, patterns, etc.
1066
+ /spec-kitty.tasks # Step 6: Break plan into actionable tasks
1067
+ /spec-kitty.analyze # Step 7 (optional): Check cross-artifact consistency
1068
+ /spec-kitty.implement # Step 8: Execute implementation tasks
1069
+ /spec-kitty.review # Step 9: Review and refine completed work
1070
+ /spec-kitty.accept # Step 10: Acceptance checks & final metadata
1071
+ /spec-kitty.merge --push # Step 11: Merge to main + cleanup worktree
1072
+
1073
+ # ========== BACK IN MAIN REPO ==========
1074
+ # Ready for next feature!
1075
+ ```
1076
+
1077
+ ## ✅ Feature Acceptance & Merge Workflow
1078
+
1079
+ > **📖 Quick Start:** See [Phase 6 in the Getting Started guide](#phase-6-accept--merge-in-feature-worktree) for a simplified version of this workflow.
1080
+
1081
+ ### Step 1: Accept
1082
+ Once every work package has `lane: "done"` in its frontmatter, verify the feature is ready:
1083
+
1084
+ ```bash
1085
+ /spec-kitty.accept
1086
+ ```
1087
+
1088
+ The accept command:
1089
+ - Verifies all WPs have `lane: "done"`, checks frontmatter metadata, activity logs, `tasks.md`, and required spec artifacts
1090
+ - Records acceptance metadata in `kitty-specs/<feature>/meta.json`
1091
+ - Creates an acceptance commit
1092
+ - Confirms the feature is ready to merge
1093
+
1094
+ ### Step 2: Merge
1095
+ After acceptance checks pass, integrate the feature:
1096
+
1097
+ ```bash
1098
+ /spec-kitty.merge --push
1099
+ ```
1100
+
1101
+ The merge command:
1102
+ - Switches to main branch
1103
+ - Pulls latest changes
1104
+ - Merges your feature (creates merge commit by default)
1105
+ - Pushes to origin (if `--push` specified)
1106
+ - Removes the feature worktree
1107
+ - Deletes the feature branch
1108
+
1109
+ **Merge strategies:**
1110
+ ```bash
1111
+ # Default: merge commit (preserves history)
1112
+ /spec-kitty.merge --push
1113
+
1114
+ # Squash: single commit (cleaner history)
1115
+ /spec-kitty.merge --strategy squash --push
1116
+
1117
+ # Keep branch for reference
1118
+ /spec-kitty.merge --keep-branch --push
1119
+
1120
+ # Dry run to see what will happen
1121
+ /spec-kitty.merge --dry-run
1122
+ ```
1123
+
1124
+ ## Task Workflow Automation
1125
+
1126
+ All task workflow commands are available through the `spec-kitty agent` CLI:
1127
+
1128
+ - `spec-kitty agent workflow implement WP01 --agent __AGENT__` – auto-advances planned → doing → for_review
1129
+ - `spec-kitty agent workflow review WP01 --agent __AGENT__` – auto-advances for_review → doing → planned/done
1130
+ - `spec-kitty agent tasks validate-workflow WP01` – validates that the work-package has correct metadata
1131
+ - `spec-kitty agent tasks list-tasks` – lists all tasks grouped by lane
1132
+ - `spec-kitty agent tasks mark-status WP01 --status done` – marks a task with a specific status
1133
+ - `spec-kitty agent workflow implement [WP01] --agent __AGENT__` – displays WP prompt and auto-moves to "doing" lane
1134
+ - `spec-kitty agent workflow review [WP01] --agent __AGENT__` – displays WP prompt for review and auto-moves to "doing" lane
1135
+
1136
+ Work-package IDs follow the pattern `WPxx` and reference bundled subtasks (`Txxx`) listed in `tasks.md`. All WP files live in flat `tasks/` directory with lane tracked in frontmatter (no subdirectories).
1137
+
1138
+ For programmatic access with JSON output, add the `--json` flag to any command.
1139
+
1140
+ ## 🧭 Mission System
1141
+
1142
+ Spec Kitty supports **missions**: curated bundles of templates, commands, and guardrails for different domains. Two missions ship out of the box:
1143
+
1144
+ - **Software Dev Kitty** – the original Spec-Driven Development workflow for shipping application features (default).
1145
+ - **Deep Research Kitty** – a methodology-focused workflow for evidence gathering, analysis, and synthesis.
1146
+
1147
+ Each mission lives under `.kittify/missions/<mission-key>/` and provides:
1148
+
1149
+ - Mission-specific templates (`spec-template.md`, `plan-template.md`, `tasks-template.md`, etc.)
1150
+ - Command guidance tuned to the domain (`specify`, `plan`, `tasks`, `implement`, `review`, `accept`)
1151
+ - Optional constitutions to bias the agent toward best practices
1152
+
1153
+ ### Selecting a Mission
1154
+
1155
+ Choose your mission during initialization:
1156
+
1157
+ ```bash
1158
+ # Select mission interactively
1159
+ spec-kitty init my-project --ai claude
1160
+
1161
+ # Or specify mission directly
1162
+ spec-kitty init my-project --ai claude --mission software-dev
1163
+ spec-kitty init research-project --ai claude --mission research
1164
+ ```
1165
+
1166
+ ### Mission Configuration
1167
+
1168
+ After initialization, the active mission is configured via symlink:
1169
+
1170
+ ```bash
1171
+ # View active mission
1172
+ ls -l .kittify/active-mission
1173
+ # → .kittify/active-mission -> missions/software-dev/
1174
+
1175
+ # Mission configuration
1176
+ cat .kittify/active-mission/mission.yaml
1177
+ ```
1178
+
1179
+ **Note:** Mission switching commands (`spec-kitty mission switch`, etc.) are planned for a future release. Currently, missions are selected during `spec-kitty init` and remain active for the project lifecycle.
1180
+
1181
+ ### Environment Variables
1182
+
1183
+ | Variable | Description |
1184
+ |------------------|------------------------------------------------------------------------------------------------|
1185
+ | `SPECIFY_FEATURE` | Override feature detection for non-Git repositories. Set to the feature directory name (e.g., `001-photo-albums`) to work on a specific feature when not using Git branches.<br/>**Must be set in the context of the agent you're working with prior to using `/spec-kitty.plan` or follow-up commands. |
1186
+ | `SPEC_KITTY_TEMPLATE_ROOT` | Optional. Point to a local checkout whose `templates/`, `scripts/`, and `memory/` directories should seed new projects (handy while developing Spec Kitty itself). |
1187
+ | `SPECIFY_TEMPLATE_REPO` | Optional. Override the GitHub repository slug (`owner/name`) to fetch templates from when you explicitly want a remote source. |
1188
+ | `CODEX_HOME` | Required when using the Codex CLI so it loads project-specific prompts. Point it to your project’s `.codex/` directory—set it manually with `export CODEX_HOME=\"$(pwd)/.codex\"` or automate it via [`direnv`](https://github.com/Priivacy-ai/spec-kitty/blob/main/docs/index.md#codex-cli-automatically-load-project-prompts-linux-macos-wsl) on Linux/macOS/WSL. |
1189
+
1190
+
1191
+ ## 🔧 Prerequisites
1192
+
1193
+ - **Linux/macOS** (or WSL2 on Windows)
1194
+ - AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Cursor](https://cursor.sh/), [Qwen CLI](https://github.com/QwenLM/qwen-code), [opencode](https://opencode.ai/), [Codex CLI](https://github.com/openai/codex), [Windsurf](https://windsurf.com/), or [Amazon Q Developer CLI](https://aws.amazon.com/developer/learning/q-developer-cli/)
1195
+ - [uv](https://docs.astral.sh/uv/) for package management
1196
+ - [Python 3.11+](https://www.python.org/downloads/)
1197
+ - [Git](https://git-scm.com/downloads)
1198
+
1199
+ If you encounter issues with an agent, please open an issue so we can refine the integration.
1200
+
1201
+ ## 🚀 Releasing to PyPI
1202
+
1203
+ Spec Kitty CLI uses an automated release workflow to publish to PyPI. Releases are triggered by pushing semantic version tags and include automated validation, testing, and quality checks.
1204
+
1205
+ ### For Users
1206
+
1207
+ Install or upgrade from PyPI:
1208
+ ```bash
1209
+ pip install --upgrade spec-kitty-cli
1210
+ ```
1211
+
1212
+ Check your version:
1213
+ ```bash
1214
+ spec-kitty --version
1215
+ ```
1216
+
1217
+ ### For Maintainers
1218
+
1219
+ Follow these steps to publish a new release:
1220
+
1221
+ #### 1. Prepare Release Branch
1222
+
1223
+ ```bash
1224
+ # Create feature branch
1225
+ git checkout -b release/v0.2.4
1226
+
1227
+ # Bump version in pyproject.toml
1228
+ vim pyproject.toml # Update version = "0.2.4"
1229
+
1230
+ # Add changelog entry
1231
+ # Update CHANGELOG.md with ## [0.2.4] - YYYY-MM-DD section with release notes
1232
+ ```
1233
+
1234
+ #### 2. Validate Locally
1235
+
1236
+ ```bash
1237
+ # Run validator in branch mode
1238
+ python scripts/release/validate_release.py --mode branch
1239
+
1240
+ # Run tests
1241
+ python -m pytest
1242
+
1243
+ # Test package build
1244
+ python -m build
1245
+ twine check dist/*
1246
+
1247
+ # Clean up
1248
+ rm -rf dist/ build/
1249
+ ```
1250
+
1251
+ #### 3. Open Pull Request
1252
+
1253
+ ```bash
1254
+ # Commit changes
1255
+ git add pyproject.toml CHANGELOG.md
1256
+ git commit -m "Prepare release 0.2.4"
1257
+ git push origin release/v0.2.4
1258
+
1259
+ # Open PR targeting main
1260
+ # Ensure all CI checks pass (tests + release-readiness workflow)
1261
+ ```
1262
+
1263
+ #### 4. Merge & Tag
1264
+
1265
+ ```bash
1266
+ # After PR approval, merge to main
1267
+ # Then pull latest main
1268
+ git checkout main
1269
+ git pull origin main
1270
+
1271
+ # Create annotated tag
1272
+ git tag v0.2.4 -m "Release 0.2.4"
1273
+
1274
+ # Push tag (triggers release workflow)
1275
+ git push origin v0.2.4
1276
+ ```
1277
+
1278
+ #### 5. Monitor Release
1279
+
1280
+ 1. Go to **Actions** tab in GitHub
1281
+ 2. Watch **"Publish Release"** workflow
1282
+ 3. Workflow will:
1283
+ - ✅ Run full test suite
1284
+ - ✅ Validate version/changelog alignment
1285
+ - ✅ Build distributions (wheel + sdist)
1286
+ - ✅ Run twine check
1287
+ - ✅ Generate checksums
1288
+ - ✅ Create GitHub Release with changelog
1289
+ - ✅ Publish to PyPI (via trusted publishing)
1290
+
1291
+ > **Note:** The release workflow uses [PyPI Trusted Publishing](https://docs.pypi.org/trusted-publishers/) via GitHub Actions OIDC. This means the workflow obtains a short-lived token automatically without needing stored API keys. However, `PYPI_API_TOKEN` is still required as a fallback. The workflow will show "This environment is not supported for trusted publishing" if running outside of GitHub Actions or if trusted publishing isn't configured for the package.
1292
+
1293
+ #### 6. Verify Release
1294
+
1295
+ ```bash
1296
+ # Wait a few minutes for PyPI to update
1297
+ pip install --upgrade spec-kitty-cli==0.2.4
1298
+
1299
+ # Verify version
1300
+ spec-kitty --version # Should show 0.2.4
1301
+
1302
+ # Quick smoke test
1303
+ spec-kitty --help
1304
+ ```
1305
+
1306
+ ### Secret Management
1307
+
1308
+ The release workflow requires `PYPI_API_TOKEN` to be configured as a GitHub repository secret.
1309
+
1310
+ **To create/rotate the token**:
1311
+
1312
+ 1. Log in to https://pypi.org
1313
+ 2. Go to **Account Settings > API tokens**
1314
+ 3. Click **"Add API token"**
1315
+ 4. Name: "spec-kitty-cli GitHub Actions"
1316
+ 5. Scope: "Project: spec-kitty-cli"
1317
+ 6. Copy the token (starts with `pypi-`)
1318
+ 7. Add to GitHub:
1319
+ - Go to repository **Settings > Secrets and variables > Actions**
1320
+ - Click **"New repository secret"**
1321
+ - Name: `PYPI_API_TOKEN`
1322
+ - Value: Paste the PyPI token
1323
+ - Click **"Add secret"**
1324
+
1325
+ **Rotation schedule**: Every 6 months or after any security incident
1326
+
1327
+ Update the rotation date in [docs/releases/readiness-checklist.md](https://github.com/Priivacy-ai/spec-kitty/blob/main/docs/releases/readiness-checklist.md) when rotating.
1328
+
1329
+ ### Branch Protection
1330
+
1331
+ Enable branch protection rules for `main`:
1332
+
1333
+ 1. Go to **Settings > Branches**
1334
+ 2. Add rule for `main` branch
1335
+ 3. Enable:
1336
+ - ✅ "Require pull request reviews before merging"
1337
+ - ✅ "Require status checks to pass before merging"
1338
+ - ✅ Select required check: `release-readiness / check-readiness`
1339
+ 4. This prevents direct pushes and ensures all changes go through PR review
1340
+
1341
+ ### Automated Guardrails
1342
+
1343
+ Three workflows protect release quality:
1344
+
1345
+ 1. **release-readiness.yml** - Runs on PRs targeting `main`
1346
+ - Validates version bump, changelog, tests
1347
+ - Blocks merge if validation fails
1348
+ - Provides actionable job summary
1349
+
1350
+ 2. **protect-main.yml** - Runs on pushes to `main`
1351
+ - Detects direct pushes (blocks)
1352
+ - Allows PR merges (passes)
1353
+ - Provides remediation guidance
1354
+
1355
+ 3. **release.yml** - Runs on `v*.*.*` tags
1356
+ - Full release pipeline
1357
+ - Publishes to PyPI
1358
+ - Creates GitHub Release
1359
+
1360
+ ### Troubleshooting
1361
+
1362
+ **Validation fails**: "Version does not advance beyond latest tag"
1363
+ - Check latest tag: `git tag --list 'v*' --sort=-version:refname | head -1`
1364
+ - Bump version in `pyproject.toml` to be higher
1365
+
1366
+ **Validation fails**: "CHANGELOG.md lacks a populated section"
1367
+ - Add entry with format `## [X.Y.Z]` and release notes below
1368
+
1369
+ **Workflow fails**: "PYPI_API_TOKEN secret is not configured"
1370
+ - Add token to repository secrets (see Secret Management above)
1371
+
1372
+ **Tag already exists**:
1373
+ ```bash
1374
+ # Delete and recreate tag
1375
+ git tag -d v0.2.4
1376
+ git push origin :refs/tags/v0.2.4
1377
+ git tag v0.2.4 -m "Release 0.2.4"
1378
+ git push origin v0.2.4
1379
+ ```
1380
+
1381
+ ### Documentation
1382
+
1383
+ - 📋 [Release Readiness Checklist](https://github.com/Priivacy-ai/spec-kitty/blob/main/docs/releases/readiness-checklist.md) - Complete step-by-step guide
1384
+ - 🔧 [Release Scripts Documentation](https://github.com/Priivacy-ai/spec-kitty/blob/main/scripts/release/README.md) - Validator and helper scripts
1385
+ - 📦 [Feature Specification](https://github.com/Priivacy-ai/spec-kitty/blob/main/kitty-specs/002-lightweight-pypi-release/spec.md) - Design decisions
1386
+ - 🔄 [GitHub Workflows](https://github.com/Priivacy-ai/spec-kitty/tree/main/.github/workflows) - Automation implementation
1387
+
1388
+ ## 📖 Learn more
1389
+
1390
+ - **[Complete Spec-Driven Development Methodology](https://github.com/Priivacy-ai/spec-kitty/blob/main/spec-driven.md)** - Deep dive into the full process
1391
+ - **[Getting Started Guide](#-getting-started-complete-workflow)** - Step-by-step walkthrough from installation to feature completion
1392
+
1393
+ ---
1394
+
1395
+ ## 🛠️ Development Setup
1396
+
1397
+ If you're contributing to Spec Kitty or working with the source code directly, you'll need to install it in development mode:
1398
+
1399
+ ### From Local Checkout
1400
+
1401
+ ```bash
1402
+ # Clone the repository
1403
+ git clone https://github.com/Priivacy-ai/spec-kitty.git
1404
+ cd spec-kitty
1405
+
1406
+ # Install in editable mode with development dependencies
1407
+ pip install -e ".[test]"
1408
+
1409
+ # When running spec-kitty init, set the template root to your local checkout:
1410
+ export SPEC_KITTY_TEMPLATE_ROOT=$(pwd)
1411
+ spec-kitty init <PROJECT_NAME> --ai=claude
1412
+
1413
+ # Or use the --template-root flag directly (no env var needed):
1414
+ spec-kitty init <PROJECT_NAME> --ai=claude --template-root=/path/to/spec-kitty
1415
+ ```
1416
+
1417
+ ### Template Discovery Priority
1418
+
1419
+ The CLI searches for templates in this order:
1420
+ 1. **Command-line override**: `--template-root` flag (highest priority)
1421
+ 2. **Environment variable**: `SPEC_KITTY_TEMPLATE_ROOT` (local checkout)
1422
+ 3. **Packaged resources**: Built-in templates from PyPI installation
1423
+ 4. **Remote repository**: `SPECIFY_TEMPLATE_REPO` environment variable
1424
+
1425
+ This means development installs automatically find templates when running from the cloned repository, but you may need to set `SPEC_KITTY_TEMPLATE_ROOT` if you move the directory.
1426
+
1427
+ ---
1428
+
1429
+ ## 📋 Legacy: Detailed Taskify Example
1430
+
1431
+ <details>
1432
+ <summary>Click to expand a detailed legacy example (Taskify platform)</summary>
1433
+
1434
+ > **Note:** This is a legacy example preserved for reference. For current workflow guidance, see the [Getting Started section above](#-getting-started-complete-workflow).
1435
+
1436
+ You can use the Spec Kitty CLI to bootstrap your project, which will bring in the required artifacts in your environment. Run:
1437
+
1438
+ ```bash
1439
+ spec-kitty init <project_name>
1440
+ ```
1441
+
1442
+ Or initialize in the current directory:
1443
+
1444
+ ```bash
1445
+ spec-kitty init .
1446
+ # or use the --here flag
1447
+ spec-kitty init --here
1448
+ # Skip confirmation when the directory already has files
1449
+ spec-kitty init . --force
1450
+ # or
1451
+ spec-kitty init --here --force
1452
+ ```
1453
+
1454
+ You will be prompted to select the AI agent you are using. You can also proactively specify it directly in the terminal:
1455
+
1456
+ ```bash
1457
+ spec-kitty init <project_name> --ai claude
1458
+ spec-kitty init <project_name> --ai gemini
1459
+ spec-kitty init <project_name> --ai copilot
1460
+ spec-kitty init <project_name> --ai claude,codex
1461
+
1462
+ # Or in current directory:
1463
+ spec-kitty init . --ai claude
1464
+ spec-kitty init . --ai codex
1465
+
1466
+ # or use --here flag
1467
+ spec-kitty init --here --ai claude
1468
+ spec-kitty init --here --ai codex
1469
+
1470
+ # Force merge into a non-empty current directory
1471
+ spec-kitty init . --force --ai claude
1472
+
1473
+ # or
1474
+ spec-kitty init --here --force --ai claude
1475
+ ```
1476
+
1477
+ The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, or Amazon Q Developer CLI installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
1478
+
1479
+ ```bash
1480
+ spec-kitty init <project_name> --ai claude --ignore-agent-tools
1481
+ ```
1482
+
1483
+ You can pass multiple assistants at once by comma-separating the values (e.g., `--ai claude,codex`). The generator pulls in the combined commands on a single run so both agents share the same workspace.
1484
+
1485
+ ### **STEP 1:** Establish project principles
1486
+
1487
+ Go to the project folder and run your AI agent. In our example, we're using `claude`.
1488
+
1489
+ You will know that things are configured correctly if you see the `/spec-kitty.dashboard`, `/spec-kitty.constitution`, `/spec-kitty.specify`, `/spec-kitty.plan`, `/spec-kitty.tasks`, `/spec-kitty.implement`, and `/spec-kitty.review` commands available.
1490
+
1491
+ The first step should be establishing your project's governing principles using the `/spec-kitty.constitution` command. This helps ensure consistent decision-making throughout all subsequent development phases:
1492
+
1493
+ ```text
1494
+ /spec-kitty.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements. Include governance for how these principles should guide technical decisions and implementation choices.
1495
+ ```
1496
+
1497
+ This step creates or updates the `.kittify/memory/constitution.md` file with your project's foundational guidelines that the AI agent will reference during specification, planning, and implementation phases.
1498
+
1499
+ ### **STEP 2:** Create feature specifications
1500
+
1501
+ With your project principles established, you can now create the functional specifications for a single feature. Use the `/spec-kitty.specify` command and then provide the concrete requirements for the feature you want to develop inside the project.
1502
+
1503
+ >[!IMPORTANT]
1504
+ >Be as explicit as possible about _what_ you are trying to build and _why_. **Do not focus on the tech stack at this point**.
1505
+
1506
+ An example prompt:
1507
+
1508
+ ```text
1509
+ Develop Taskify, a team productivity platform. It should allow users to create projects, add team members,
1510
+ assign tasks, comment and move tasks between boards in Kanban style. In this initial phase for this feature,
1511
+ let's call it "Create Taskify," let's have multiple users but the users will be declared ahead of time, predefined.
1512
+ I want five users in two different categories, one product manager and four engineers. Let's create three
1513
+ different sample projects. Let's have the standard Kanban columns for the status of each task, such as "To Do,"
1514
+ "In Progress," "In Review," and "Done." There will be no login for this application as this is just the very
1515
+ first testing thing to ensure that our basic features are set up. For each task in the UI for a task card,
1516
+ you should be able to change the current status of the task between the different columns in the Kanban work board.
1517
+ You should be able to leave an unlimited number of comments for a particular card. You should be able to, from that task
1518
+ card, assign one of the valid users. When you first launch Taskify, it's going to give you a list of the five users to pick
1519
+ from. There will be no password required. When you click on a user, you go into the main view, which displays the list of
1520
+ projects. When you click on a project, you open the Kanban board for that project. You're going to see the columns.
1521
+ You'll be able to drag and drop cards back and forth between different columns. You will see any cards that are
1522
+ assigned to you, the currently logged in user, in a different color from all the other ones, so you can quickly
1523
+ see yours. You can edit any comments that you make, but you can't edit comments that other people made. You can
1524
+ delete any comments that you made, but you can't delete comments anybody else made.
1525
+ ```
1526
+
1527
+ After this prompt is entered, you should see Claude Code kick off the planning and spec drafting process. Claude Code will also trigger some of the built-in scripts to set up the repository.
1528
+
1529
+ Once this step is completed, you should have a new branch created (e.g., `001-create-taskify`), as well as a new specification in the `kitty-specs/001-create-taskify` directory.
1530
+
1531
+ The produced specification should contain a set of user stories and functional requirements, as defined in the template.
1532
+
1533
+ At this stage, your project folder contents should resemble the following:
1534
+
1535
+ ```text
1536
+ .
1537
+ ├── .kittify
1538
+ │ ├── memory
1539
+ │ │ └── constitution.md
1540
+ │ ├── templates
1541
+ │ │ ├── command-templates/
1542
+ │ │ ├── git-hooks/
1543
+ │ │ ├── plan-template.md
1544
+ │ │ ├── spec-template.md
1545
+ │ │ └── tasks-template.md
1546
+ │ └── missions
1547
+ │ ├── software-dev/
1548
+ │ └── research/
1549
+ └── kitty-specs
1550
+ └── 001-create-taskify
1551
+ └── spec.md
1552
+ ```
1553
+
1554
+ > **Note:** Automation uses Python CLI commands (`spec-kitty agent`) not bash scripts. See [v0.10.0 migration](MIGRATION-v0.10.0.md).
1555
+
1556
+ ### **STEP 3:** Functional specification clarification (required before planning)
1557
+
1558
+ With the baseline specification created, you can go ahead and clarify any of the requirements that were not captured properly within the first shot attempt.
1559
+
1560
+ You should run the structured clarification workflow **before** creating a technical plan to reduce rework downstream.
1561
+
1562
+ Preferred order:
1563
+ 1. Use `/spec-kitty.clarify` (structured) – sequential, coverage-based questioning that records answers in a Clarifications section.
1564
+ 2. Optionally follow up with ad-hoc free-form refinement if something still feels vague.
1565
+
1566
+ If you intentionally want to skip clarification (e.g., spike or exploratory prototype), explicitly state that so the agent doesn't block on missing clarifications.
1567
+
1568
+ Example free-form refinement prompt (after `/spec-kitty.clarify` if still needed):
1569
+
1570
+ ```text
1571
+ For each sample project or project that you create there should be a variable number of tasks between 5 and 15
1572
+ tasks for each one randomly distributed into different states of completion. Make sure that there's at least
1573
+ one task in each stage of completion.
1574
+ ```
1575
+
1576
+ You should also ask Claude Code to validate the **Review & Acceptance Checklist**, checking off the things that are validated/pass the requirements, and leave the ones that are not unchecked. The following prompt can be used:
1577
+
1578
+ ```text
1579
+ Read the review and acceptance checklist, and check off each item in the checklist if the feature spec meets the criteria. Leave it empty if it does not.
1580
+ ```
1581
+
1582
+ It's important to use the interaction with Claude Code as an opportunity to clarify and ask questions around the specification - **do not treat its first attempt as final**.
1583
+
1584
+ ### **STEP 4:** Generate a plan
1585
+
1586
+ You can now be specific about the tech stack and other technical requirements. You can use the `/spec-kitty.plan` command that is built into the project template with a prompt like this:
1587
+
1588
+ ```text
1589
+ We are going to generate this using .NET Aspire, using Postgres as the database. The frontend should use
1590
+ Blazor server with drag-and-drop task boards, real-time updates. There should be a REST API created with a projects API,
1591
+ tasks API, and a notifications API.
1592
+ ```
1593
+
1594
+ The output of this step will include a number of implementation detail documents, with your directory tree resembling this:
1595
+
1596
+ ```text
1597
+ .
1598
+ ├── CLAUDE.md
1599
+ ├── .kittify
1600
+ │ ├── memory
1601
+ │ │ └── constitution.md
1602
+ │ ├── templates/
1603
+ │ └── missions/
1604
+ ├── kitty-specs
1605
+ │ └── 001-create-taskify
1606
+ │ ├── contracts
1607
+ │ │ ├── api-spec.json
1608
+ │ │ └── signalr-spec.md
1609
+ │ ├── data-model.md
1610
+ │ ├── plan.md
1611
+ │ ├── quickstart.md
1612
+ │ ├── research.md
1613
+ │ └── spec.md
1614
+ └── templates
1615
+ ├── CLAUDE-template.md
1616
+ ├── plan-template.md
1617
+ ├── spec-template.md
1618
+ └── tasks-template.md
1619
+ ```
1620
+
1621
+ Check the `research.md` document to ensure that the right tech stack is used, based on your instructions. You can ask Claude Code to refine it if any of the components stand out, or even have it check the locally-installed version of the platform/framework you want to use (e.g., .NET).
1622
+
1623
+ Additionally, you might want to ask Claude Code to research details about the chosen tech stack if it's something that is rapidly changing (e.g., .NET Aspire, JS frameworks), with a prompt like this:
1624
+
1625
+ ```text
1626
+ I want you to go through the implementation plan and implementation details, looking for areas that could
1627
+ benefit from additional research as .NET Aspire is a rapidly changing library. For those areas that you identify that
1628
+ require further research, I want you to update the research document with additional details about the specific
1629
+ versions that we are going to be using in this Taskify application and spawn parallel research tasks to clarify
1630
+ any details using research from the web.
1631
+ ```
1632
+
1633
+ During this process, you might find that Claude Code gets stuck researching the wrong thing - you can help nudge it in the right direction with a prompt like this:
1634
+
1635
+ ```text
1636
+ I think we need to break this down into a series of steps. First, identify a list of tasks
1637
+ that you would need to do during implementation that you're not sure of or would benefit
1638
+ from further research. Write down a list of those tasks. And then for each one of these tasks,
1639
+ I want you to spin up a separate research task so that the net results is we are researching
1640
+ all of those very specific tasks in parallel. What I saw you doing was it looks like you were
1641
+ researching .NET Aspire in general and I don't think that's gonna do much for us in this case.
1642
+ That's way too untargeted research. The research needs to help you solve a specific targeted question.
1643
+ ```
1644
+
1645
+ >[!NOTE]
1646
+ >Claude Code might be over-eager and add components that you did not ask for. Ask it to clarify the rationale and the source of the change.
1647
+
1648
+ ### **STEP 5:** Have Claude Code validate the plan
1649
+
1650
+ With the plan in place, you should have Claude Code run through it to make sure that there are no missing pieces. You can use a prompt like this:
1651
+
1652
+ ```text
1653
+ Now I want you to go and audit the implementation plan and the implementation detail files.
1654
+ Read through it with an eye on determining whether or not there is a sequence of tasks that you need
1655
+ to be doing that are obvious from reading this. Because I don't know if there's enough here. For example,
1656
+ when I look at the core implementation, it would be useful to reference the appropriate places in the implementation
1657
+ details where it can find the information as it walks through each step in the core implementation or in the refinement.
1658
+ ```
1659
+
1660
+ This helps refine the implementation plan and helps you avoid potential blind spots that Claude Code missed in its planning cycle. Once the initial refinement pass is complete, ask Claude Code to go through the checklist once more before you can get to the implementation.
1661
+
1662
+ You can also ask Claude Code (if you have the [GitHub CLI](https://docs.github.com/en/github-cli/github-cli) installed) to go ahead and create a pull request from your current branch to `main` with a detailed description, to make sure that the effort is properly tracked.
1663
+
1664
+ >[!NOTE]
1665
+ >Before you have the agent implement it, it's also worth prompting Claude Code to cross-check the details to see if there are any over-engineered pieces (remember - it can be over-eager). If over-engineered components or decisions exist, you can ask Claude Code to resolve them. Ensure that Claude Code follows the [constitution](https://github.com/Priivacy-ai/spec-kitty/blob/main/base/memory/constitution.md) as the foundational piece that it must adhere to when establishing the plan.
1666
+
1667
+ ### STEP 6: Implementation
1668
+
1669
+ Once ready, use the `/spec-kitty.implement` command to execute your implementation plan:
1670
+
1671
+ ```text
1672
+ /spec-kitty.implement
1673
+ ```
1674
+
1675
+ The `/spec-kitty.implement` command will:
1676
+ - Validate that all prerequisites are in place (constitution, spec, plan, and tasks)
1677
+ - Parse the task breakdown from `tasks.md`
1678
+ - Execute tasks in the correct order, respecting dependencies and parallel execution markers
1679
+ - Follow the TDD approach defined in your task plan
1680
+ - Provide progress updates and handle errors appropriately
1681
+
1682
+ >[!IMPORTANT]
1683
+ >The AI agent will execute local CLI commands (such as `dotnet`, `npm`, etc.) - make sure you have the required tools installed on your machine.
1684
+
1685
+ Once the implementation is complete, test the application and resolve any runtime errors that may not be visible in CLI logs (e.g., browser console errors). You can copy and paste such errors back to your AI agent for resolution.
1686
+
1687
+ </details>
1688
+
1689
+ ---
1690
+
1691
+ ## 🔍 Troubleshooting
1692
+
1693
+ ### Template Discovery Issues
1694
+
1695
+ #### Error: "Templates could not be found in any of the expected locations"
1696
+
1697
+ This error occurs when `spec-kitty init` cannot locate the template files. Here's how to diagnose and fix it:
1698
+
1699
+ **For PyPI installations:**
1700
+ ```bash
1701
+ # Reinstall the package
1702
+ pip install --upgrade spec-kitty-cli
1703
+
1704
+ # Verify templates are bundled
1705
+ python -c "from importlib.resources import files; print(files('specify_cli').joinpath('templates'))"
1706
+ ```
1707
+
1708
+ **For development installations:**
1709
+ ```bash
1710
+ # Make sure you installed in editable mode from the repo root
1711
+ cd /path/to/spec-kitty
1712
+ pip install -e .
1713
+
1714
+ # Option 1: Use environment variable
1715
+ export SPEC_KITTY_TEMPLATE_ROOT=$(pwd)
1716
+ spec-kitty init my-project --ai=claude
1717
+
1718
+ # Option 2: Use --template-root flag (no env var needed)
1719
+ spec-kitty init my-project --ai=claude --template-root=$(pwd)
1720
+
1721
+ # Option 3: Verify the path exists
1722
+ ls -la ./templates/commands
1723
+ ```
1724
+
1725
+ **For moved repositories:**
1726
+ If you cloned the spec-kitty repo and moved the directory, update the environment variable:
1727
+ ```bash
1728
+ export SPEC_KITTY_TEMPLATE_ROOT=/new/path/to/spec-kitty
1729
+ spec-kitty init my-project --ai=claude
1730
+ ```
1731
+
1732
+ **Debugging with verbose output:**
1733
+ ```bash
1734
+ # Use --debug flag to see which paths were checked
1735
+ spec-kitty init my-project --ai=claude --debug --template-root=/path/to/spec-kitty
1736
+ ```
1737
+
1738
+ ### Git Credential Manager on Linux
1739
+
1740
+ If you're having issues with Git authentication on Linux, you can install Git Credential Manager:
1741
+
1742
+ ```bash
1743
+ #!/usr/bin/env bash
1744
+ set -e
1745
+ echo "Downloading Git Credential Manager v2.6.1..."
1746
+ wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
1747
+ echo "Installing Git Credential Manager..."
1748
+ sudo dpkg -i gcm-linux_amd64.2.6.1.deb
1749
+ echo "Configuring Git to use GCM..."
1750
+ git config --global credential.helper manager
1751
+ echo "Cleaning up..."
1752
+ rm gcm-linux_amd64.2.6.1.deb
1753
+ ```
1754
+
1755
+ ## 👥 Maintainers
1756
+
1757
+ - Robert Douglass ([@robertDouglass](https://github.com/robertDouglass))
1758
+
1759
+ ## 💬 Support
1760
+
1761
+ For support, please open a [GitHub issue](https://github.com/Priivacy-ai/spec-kitty/issues/new). We welcome bug reports, feature requests, and questions about using Spec-Driven Development.
1762
+
1763
+ ## 🙏 Acknowledgements
1764
+
1765
+ This project is heavily influenced by and based on the work and research of [John Lam](https://github.com/jflam).
1766
+
1767
+ ## 📄 License
1768
+
1769
+ This project is licensed under the terms of the MIT open source license. Please refer to the [LICENSE](https://github.com/Priivacy-ai/spec-kitty/blob/main/LICENSE) file for the full terms.