spec-kitty-cli 0.7.0__tar.gz → 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/plan.md +28 -1
  2. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/specify.md +41 -3
  3. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/templates/task-prompt-template.md +16 -6
  4. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/CHANGELOG.md +247 -0
  5. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/PKG-INFO +6 -2
  6. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/README.md +5 -1
  7. spec_kitty_cli-0.9.0/kitty-specs/007-frontmatter-only-lane/tasks/README.md +71 -0
  8. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/pyproject.toml +1 -1
  9. spec_kitty_cli-0.9.0/scripts/bash/common.sh +739 -0
  10. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/create-new-feature.sh +206 -71
  11. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/common.ps1 +15 -5
  12. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/create-new-feature.ps1 +16 -0
  13. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/tasks/acceptance_support.py +37 -11
  14. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/tasks/task_helpers.py +124 -10
  15. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/tasks/tasks_cli.py +113 -176
  16. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/__init__.py +13 -28
  17. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/acceptance.py +46 -12
  18. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/init.py +9 -15
  19. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/mission.py +39 -125
  20. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/handlers/features.py +17 -1
  21. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/scanner.py +115 -56
  22. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/static/dashboard/dashboard.js +1 -1
  23. spec_kitty_cli-0.9.0/src/specify_cli/legacy_detector.py +83 -0
  24. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/mission.py +141 -2
  25. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/tasks_support.py +87 -11
  26. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/__init__.py +10 -0
  27. spec_kitty_cli-0.9.0/src/specify_cli/upgrade/migrations/m_0_7_2_worktree_commands_dedup.py +89 -0
  28. spec_kitty_cli-0.9.0/src/specify_cli/upgrade/migrations/m_0_7_3_update_scripts.py +100 -0
  29. spec_kitty_cli-0.9.0/src/specify_cli/upgrade/migrations/m_0_8_0_remove_active_mission.py +82 -0
  30. spec_kitty_cli-0.9.0/src/specify_cli/upgrade/migrations/m_0_8_0_worktree_agents_symlink.py +148 -0
  31. spec_kitty_cli-0.9.0/src/specify_cli/upgrade/migrations/m_0_9_0_frontmatter_only_lanes.py +279 -0
  32. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/AGENTS.md +31 -6
  33. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/dashboard.md +3 -1
  34. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/plan.md +44 -24
  35. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/task-prompt-template.md +16 -6
  36. spec_kitty_cli-0.7.0/scripts/bash/common.sh +0 -331
  37. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.gitignore +0 -0
  38. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/command-templates/implement.md +0 -0
  39. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/command-templates/merge.md +0 -0
  40. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/command-templates/plan.md +0 -0
  41. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/command-templates/review.md +0 -0
  42. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/mission.yaml +0 -0
  43. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/data-model-template.md +0 -0
  44. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/plan-template.md +0 -0
  45. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/research/evidence-log.csv +0 -0
  46. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/research/source-register.csv +0 -0
  47. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/research-template.md +0 -0
  48. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/spec-template.md +0 -0
  49. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/research/templates/tasks-template.md +0 -0
  50. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/accept.md +0 -0
  51. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/analyze.md +0 -0
  52. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/checklist.md +0 -0
  53. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/clarify.md +0 -0
  54. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/constitution.md +0 -0
  55. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/dashboard.md +0 -0
  56. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/implement.md +0 -0
  57. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/merge.md +0 -0
  58. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/review.md +0 -0
  59. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/command-templates/tasks.md +0 -0
  60. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/constitution/principles.md +0 -0
  61. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/mission.yaml +0 -0
  62. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/templates/plan-template.md +0 -0
  63. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/templates/spec-template.md +0 -0
  64. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/.kittify/missions/software-dev/templates/tasks-template.md +0 -0
  65. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/LICENSE +0 -0
  66. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/docs/README.md +0 -0
  67. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/memory/constitution.md +0 -0
  68. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/node_modules/@playwright/test/LICENSE +0 -0
  69. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/node_modules/@playwright/test/README.md +0 -0
  70. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/node_modules/playwright/LICENSE +0 -0
  71. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/node_modules/playwright/README.md +0 -0
  72. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/node_modules/playwright-core/LICENSE +0 -0
  73. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/node_modules/playwright-core/README.md +0 -0
  74. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/accept-feature.sh +0 -0
  75. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/check-prerequisites.sh +0 -0
  76. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/mark-task-status.sh +0 -0
  77. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/merge-feature.sh +0 -0
  78. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/move-task-to-doing.sh +0 -0
  79. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/refresh-kittify-tasks.sh +0 -0
  80. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/setup-plan.sh +0 -0
  81. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/setup-sandbox.sh +0 -0
  82. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/tasks-add-history-entry.sh +0 -0
  83. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/tasks-list-lanes.sh +0 -0
  84. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/tasks-move-to-lane.sh +0 -0
  85. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/tasks-rollback-move.sh +0 -0
  86. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/update-agent-context.sh +0 -0
  87. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/bash/validate-task-workflow.sh +0 -0
  88. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/debug-dashboard-scan.py +0 -0
  89. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/git-hooks/pre-commit-task-workflow.sh +0 -0
  90. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/Merge-Feature.ps1 +0 -0
  91. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/Set-TaskStatus.ps1 +0 -0
  92. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/accept-feature.ps1 +0 -0
  93. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/check-prerequisites.ps1 +0 -0
  94. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/setup-plan.ps1 +0 -0
  95. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/tasks-add-history-entry.ps1 +0 -0
  96. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/tasks-list-lanes.ps1 +0 -0
  97. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/tasks-move-to-lane.ps1 +0 -0
  98. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/tasks-rollback-move.ps1 +0 -0
  99. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/powershell/update-agent-context.ps1 +0 -0
  100. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/release/README.md +0 -0
  101. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/release/extract_changelog.py +0 -0
  102. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/release/validate_release.py +0 -0
  103. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/scripts/validate_encoding.py +0 -0
  104. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/__init__.py +0 -0
  105. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/__init__.py +0 -0
  106. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/accept.py +0 -0
  107. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/dashboard.py +0 -0
  108. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/init_help.py +0 -0
  109. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/merge.py +0 -0
  110. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/research.py +0 -0
  111. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/upgrade.py +0 -0
  112. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/validate_encoding.py +0 -0
  113. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/validate_tasks.py +0 -0
  114. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/commands/verify.py +0 -0
  115. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/helpers.py +0 -0
  116. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/step_tracker.py +0 -0
  117. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/cli/ui.py +0 -0
  118. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/core/__init__.py +0 -0
  119. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/core/config.py +0 -0
  120. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/core/git_ops.py +0 -0
  121. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/core/project_resolver.py +0 -0
  122. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/core/tool_checker.py +0 -0
  123. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/core/utils.py +0 -0
  124. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/__init__.py +0 -0
  125. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/diagnostics.py +0 -0
  126. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/handlers/__init__.py +0 -0
  127. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/handlers/api.py +0 -0
  128. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/handlers/base.py +0 -0
  129. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/handlers/router.py +0 -0
  130. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/handlers/static.py +0 -0
  131. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/lifecycle.py +0 -0
  132. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/server.py +0 -0
  133. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/static/dashboard/dashboard.css +0 -0
  134. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/static/spec-kitty.png +0 -0
  135. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/templates/__init__.py +0 -0
  136. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/dashboard/templates/index.html +0 -0
  137. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/gitignore_manager.py +0 -0
  138. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/guards.py +0 -0
  139. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/manifest.py +0 -0
  140. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/plan_validation.py +0 -0
  141. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/task_metadata_validation.py +0 -0
  142. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/template/__init__.py +0 -0
  143. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/template/asset_generator.py +0 -0
  144. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/template/github_client.py +0 -0
  145. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/template/manager.py +0 -0
  146. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/template/renderer.py +0 -0
  147. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/text_sanitization.py +0 -0
  148. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/__init__.py +0 -0
  149. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/detector.py +0 -0
  150. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/metadata.py +0 -0
  151. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/base.py +0 -0
  152. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/m_0_2_0_specify_to_kittify.py +0 -0
  153. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/m_0_4_8_gitignore_agents.py +0 -0
  154. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/m_0_5_0_encoding_hooks.py +0 -0
  155. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/m_0_6_5_commands_rename.py +0 -0
  156. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/migrations/m_0_6_7_ensure_missions.py +0 -0
  157. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/registry.py +0 -0
  158. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/upgrade/runner.py +0 -0
  159. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/validators/__init__.py +0 -0
  160. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/validators/paths.py +0 -0
  161. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/validators/research.py +0 -0
  162. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/src/specify_cli/verify_enhanced.py +0 -0
  163. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/POWERSHELL_SYNTAX.md +0 -0
  164. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/agent-file-template.md +0 -0
  165. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/checklist-template.md +0 -0
  166. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/accept.md +0 -0
  167. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/analyze.md +0 -0
  168. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/checklist.md +0 -0
  169. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/clarify.md +0 -0
  170. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/constitution.md +0 -0
  171. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/implement.md +0 -0
  172. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/merge.md +0 -0
  173. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/research.md +0 -0
  174. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/review.md +0 -0
  175. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/specify.md +0 -0
  176. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/command-templates/tasks.md +0 -0
  177. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/git-hooks/pre-commit-encoding-check +0 -0
  178. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/plan-template.md +0 -0
  179. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/spec-template.md +0 -0
  180. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/tasks-template.md +0 -0
  181. {spec_kitty_cli-0.7.0 → spec_kitty_cli-0.9.0}/templates/vscode-settings.json +0 -0
@@ -84,7 +84,9 @@ Planning requirements (scale to complexity):
84
84
  - Phase 1: Update agent context by running the agent script
85
85
  - Re-evaluate Constitution Check post-design, asking the user to resolve new gaps before proceeding
86
86
 
87
- 5. **Stop and report**: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated artifacts.
87
+ 5. **STOP and report**: This command ends after Phase 1 planning. Report branch, IMPL_PLAN path, and generated artifacts.
88
+
89
+ **⚠️ CRITICAL: DO NOT proceed to task generation!** The user must explicitly run `/spec-kitty.tasks` to generate work packages. Your job is COMPLETE after reporting the planning artifacts.
88
90
 
89
91
  ## Phases
90
92
 
@@ -137,3 +139,28 @@ Planning requirements (scale to complexity):
137
139
 
138
140
  - Use absolute paths
139
141
  - ERROR on gate failures or unresolved clarifications
142
+
143
+ ---
144
+
145
+ ## ⛔ MANDATORY STOP POINT
146
+
147
+ **This command is COMPLETE after generating planning artifacts.**
148
+
149
+ After reporting:
150
+ - `plan.md` path
151
+ - `research.md` path (if generated)
152
+ - `data-model.md` path (if generated)
153
+ - `contracts/` contents (if generated)
154
+ - Agent context file updated
155
+
156
+ **YOU MUST STOP HERE.**
157
+
158
+ Do NOT:
159
+ - ❌ Generate `tasks.md`
160
+ - ❌ Create work package (WP) files
161
+ - ❌ Create `tasks/` subdirectories
162
+ - ❌ Proceed to implementation
163
+
164
+ The user will run `/spec-kitty.tasks` when they are ready to generate work packages.
165
+
166
+ **Next suggested command**: `/spec-kitty.tasks` (user must invoke this explicitly)
@@ -40,6 +40,42 @@ Discovery requirements (scale to feature complexity):
40
40
  3. When you have sufficient context for the feature's scope, paraphrase into an **Intent Summary** and confirm. For trivial features, this can be very brief.
41
41
  4. If user explicitly asks to skip questions or says "just testing", acknowledge and proceed with minimal discovery.
42
42
 
43
+ ## Mission Selection
44
+
45
+ After completing discovery and confirming the Intent Summary, determine the appropriate mission for this feature.
46
+
47
+ ### Available Missions
48
+
49
+ - **software-dev**: For building software features, APIs, CLI tools, applications
50
+ - Phases: research → design → implement → test → review
51
+ - Best for: code changes, new features, bug fixes, refactoring
52
+
53
+ - **research**: For investigations, literature reviews, technical analysis
54
+ - Phases: question → methodology → gather → analyze → synthesize → publish
55
+ - Best for: feasibility studies, market research, technology evaluation
56
+
57
+ ### Mission Inference
58
+
59
+ 1. **Analyze the feature description** to identify the primary goal:
60
+ - Building, coding, implementing, creating software → **software-dev**
61
+ - Researching, investigating, analyzing, evaluating → **research**
62
+
63
+ 2. **Check for explicit mission requests** in the user's description:
64
+ - If user mentions "research project", "investigation", "analysis" → use research
65
+ - If user mentions "build", "implement", "create feature" → use software-dev
66
+
67
+ 3. **Confirm with user** (unless explicit):
68
+ > "Based on your description, this sounds like a **[software-dev/research]** project.
69
+ > I'll use the **[mission name]** mission. Does that work for you?"
70
+
71
+ 4. **Handle user response**:
72
+ - If confirmed: proceed with selected mission
73
+ - If user wants different mission: use their choice
74
+
75
+ 5. **Handle --mission flag**: If the user provides `--mission <key>` in their command, skip inference and use the specified mission directly.
76
+
77
+ Store the final mission selection to pass to the script via `--mission "<selected-mission>"`.
78
+
43
79
  ## Outline
44
80
 
45
81
  ### 0. Generate a Friendly Feature Title
@@ -60,13 +96,15 @@ Given that feature description, do this:
60
96
  - Only proceed once every discovery question has an explicit answer and the user has acknowledged the Intent Summary.
61
97
  - Empty invocation rule: stay in interview mode until you can restate the agreed-upon feature description. Do **not** call `{SCRIPT}` while the description is missing or provisional.
62
98
 
63
- 2. When discovery is complete and the intent summary **and title** are confirmed, run the script `{SCRIPT}` from repo root, inserting `--feature-name "<Friendly Title>"` (replace the quoted text with the confirmed title) immediately before the feature description argument. For example:
99
+ 2. When discovery is complete and the intent summary, **title**, and **mission** are confirmed, run the script `{SCRIPT}` from repo root, inserting `--feature-name "<Friendly Title>"` and `--mission "<selected-mission>"` immediately before the feature description argument. For example:
64
100
 
65
- - **bash/zsh**: `.kittify/scripts/bash/create-new-feature.sh --json --feature-name "Checkout Upsell Flow" "$ARGUMENTS"`
66
- - **PowerShell**: `.kittify/scripts/powershell/create-new-feature.ps1 -Json -FeatureName "Checkout Upsell Flow" "$ARGUMENTS"`
101
+ - **bash/zsh**: `.kittify/scripts/bash/create-new-feature.sh --json --feature-name "Checkout Upsell Flow" --mission "software-dev" "$ARGUMENTS"`
102
+ - **PowerShell**: `.kittify/scripts/powershell/create-new-feature.ps1 -Json -FeatureName "Checkout Upsell Flow" -Mission "software-dev" "$ARGUMENTS"`
67
103
 
68
104
  Parse its JSON output for `BRANCH_NAME`, `SPEC_FILE`, `FEATURE_NUM`, and `FRIENDLY_NAME`. All file paths must be absolute.
69
105
 
106
+ **Note**: The `--mission` flag writes the mission to the feature's `meta.json`, which downstream commands will read to use the correct templates.
107
+
70
108
  **IMPORTANT** You must only ever run this script once. The JSON is provided in the terminal as output - always refer to it to get the actual content you're looking for.
71
109
  3. Load `templates/spec-template.md` to understand required sections.
72
110
 
@@ -4,7 +4,7 @@ subtasks:
4
4
  - "Txxx"
5
5
  title: "Replace with work package title"
6
6
  phase: "Phase N - Replace with phase name"
7
- lane: "planned" # planned | doing | for_review | done
7
+ lane: "planned" # DO NOT EDIT - use: tasks_cli.py move <feature> <WP> <lane>
8
8
  assignee: "" # Optional friendly name when in doing/for_review
9
9
  agent: "" # CLI agent identifier (claude, codex, etc.)
10
10
  shell_pid: "" # PID captured when the task moved to the current lane
@@ -102,11 +102,21 @@ Use language identifiers in code blocks: ````python`, ````bash`
102
102
 
103
103
  ### Updating Metadata When Changing Lanes
104
104
 
105
- 1. Capture your shell PID: `echo $$` (or use helper scripts when available).
106
- 2. Update frontmatter (`lane`, `assignee`, `agent`, `shell_pid`).
107
- 3. Add an entry to the **Activity Log** describing the transition.
108
- 4. Run `.kittify/scripts/bash/tasks-move-to-lane.sh <FEATURE> <WPID> <lane>` (PowerShell variant available) to move the prompt, update metadata, and append history in one step.
109
- 5. Commit or stage the change, preserving history.
105
+ **IMPORTANT: Never manually edit the `lane:` field.** The lane is determined by the file's directory location, not the YAML field. Editing the field without moving the file creates a mismatch that breaks the system.
106
+
107
+ **Always use the move command:**
108
+ ```bash
109
+ python3 .kittify/scripts/tasks/tasks_cli.py move <FEATURE> <WPID> <lane> --note "Your note"
110
+ ```
111
+
112
+ This command:
113
+ 1. Moves the file to the correct `tasks/<lane>/` directory
114
+ 2. Updates the `lane:` field in YAML
115
+ 3. Updates `agent` and `shell_pid` metadata
116
+ 4. Appends an entry to the Activity Log
117
+ 5. Stages the changes for commit
118
+
119
+ You can add `--agent <name>` and `--shell-pid <pid>` flags for explicit metadata.
110
120
 
111
121
  ### Optional Phase Subdirectories
112
122
 
@@ -9,6 +9,253 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.9.0] - 2025-12-17
13
+
14
+ ### 🎯 Major Release: Frontmatter-Only Lane Management
15
+
16
+ This release fundamentally changes how Spec Kitty manages work package lanes, eliminating directory-based lane tracking in favor of a simpler, conflict-free frontmatter-only system.
17
+
18
+ ### ⚠️ Breaking Changes
19
+
20
+ - **Lane system completely redesigned**
21
+ - Work packages now live in a flat `kitty-specs/<feature>/tasks/` directory
22
+ - Lane status determined **solely by `lane:` frontmatter field** (no more subdirectories)
23
+ - Old system: `tasks/planned/WP01.md`, `tasks/doing/WP02.md` ❌
24
+ - New system: `tasks/WP01.md` with `lane: "planned"` ✅
25
+
26
+ - **Command renamed: `move` → `update`**
27
+ - `tasks_cli.py move` command removed
28
+ - Use `tasks_cli.py update <feature> <WP> <lane>` instead
29
+ - Semantic clarity: command updates metadata, doesn't move files
30
+ - Legacy format detection: `update` command refuses to work on old directory-based structure
31
+
32
+ - **Direct frontmatter editing now supported**
33
+ - You can now directly edit the `lane:` field in WP frontmatter
34
+ - Previous "DO NOT EDIT" warnings removed from all templates
35
+ - System recognizes manual lane changes immediately
36
+ - No file movement required for lane transitions
37
+
38
+ ### 🆕 Added
39
+
40
+ - **Migration command: `spec-kitty upgrade`**
41
+ - Automatically migrates features from directory-based to frontmatter-only format
42
+ - Preserves all lane assignments during migration
43
+ - Idempotent: safe to run multiple times
44
+ - Cleans up empty lane subdirectories after migration
45
+ - Migrates both main repo and worktree features
46
+
47
+ - **Legacy format detection**
48
+ - `is_legacy_format()` function detects old directory-based structure
49
+ - CLI commands display helpful warnings when legacy format detected
50
+ - Dashboard shows migration prompt for legacy features
51
+ - Non-blocking: legacy features remain functional until migrated
52
+
53
+ - **Enhanced status command**
54
+ - Better formatted output with lane grouping
55
+ - Auto-detects feature from branch/worktree when not specified
56
+ - Shows work packages organized by current lane
57
+ - Works with both legacy and new formats
58
+
59
+ ### 🔧 Changed
60
+
61
+ - **Work package location logic**
62
+ - `locate_work_package()` now searches flat `tasks/` directory first
63
+ - Falls back to legacy subdirectory search for backwards compatibility
64
+ - Exact WP ID matching (WP04 won't match WP04b)
65
+
66
+ - **Lane extraction utilities**
67
+ - New `get_lane_from_frontmatter()` function extracts lane from YAML
68
+ - Defaults to "planned" when `lane:` field missing
69
+ - Validates lane values against allowed set
70
+ - Available in both `task_helpers.py` and `tasks_support.py`
71
+
72
+ - **Dashboard scanner updates**
73
+ - Reads lane from frontmatter instead of directory location
74
+ - Displays legacy format warnings
75
+ - Works seamlessly with both formats during transition
76
+
77
+ - **Activity log behavior**
78
+ - Lane transitions still append activity log entries
79
+ - Captures agent, shell PID, and timestamp
80
+ - No file movement logged (because no movement occurs)
81
+
82
+ ### 📚 Documentation
83
+
84
+ - **Updated all templates**
85
+ - `.kittify/templates/task-prompt-template.md` - Removed "DO NOT EDIT" warnings
86
+ - `.kittify/templates/tasks-template.md` - Updated for flat structure
87
+ - `.kittify/templates/AGENTS.md` - New lane management instructions
88
+ - `tasks/README.md` - Rewritten for flat directory layout
89
+
90
+ - **Updated mission templates**
91
+ - All mission-specific templates updated (software-dev, research)
92
+ - Command templates updated (`implement.md`, `review.md`, `merge.md`)
93
+ - Examples updated to show new workflow
94
+
95
+ - **Updated main documentation**
96
+ - `README.md` - Updated quick start examples
97
+ - `docs/quickstart.md` - New lane management workflow
98
+ - `docs/multi-agent-orchestration.md` - Updated collaboration examples
99
+ - All `examples/` updated with new commands
100
+
101
+ ### 🧪 Testing
102
+
103
+ - 286 tests passing (0 failures)
104
+ - New tests for frontmatter-only lane system
105
+ - Legacy format detection tests
106
+ - Migration command tests
107
+ - Dual-format compatibility tests
108
+
109
+ ### 🚀 Migration Guide
110
+
111
+ **For existing projects:**
112
+
113
+ 1. **Back up your work** (commit changes, push to remote)
114
+ 2. **Run migration**: `spec-kitty upgrade`
115
+ 3. **Verify**: `spec-kitty status --feature <your-feature>`
116
+ 4. **Update workflows**: Replace `move` with `update` in scripts/docs
117
+
118
+ **Key benefits of upgrading:**
119
+
120
+ - ✅ No file conflicts during lane changes (especially in worktrees)
121
+ - ✅ Direct editing of `lane:` field supported
122
+ - ✅ Better multi-agent compatibility
123
+ - ✅ Simpler mental model (one directory, not four)
124
+ - ✅ Fewer git operations per lane change
125
+
126
+ **Legacy format still works** - You can continue using old directory structure until ready to migrate. All commands detect format automatically.
127
+
128
+ ### 🐛 Fixed
129
+
130
+ - File conflicts during simultaneous lane changes by multiple agents
131
+ - Git staging issues with lane transitions
132
+ - Race conditions in worktree-based parallel development
133
+ - Lane mismatch validation errors (no longer possible with frontmatter-only)
134
+
135
+ ### 🔗 Related
136
+
137
+ - Feature implementation: `007-frontmatter-only-lane`
138
+ - All 6 work packages completed and reviewed
139
+ - Comprehensive test coverage added
140
+
141
+ ---
142
+
143
+ ## [0.8.2] - 2025-12-17
144
+
145
+ ### Added
146
+
147
+ - **Task lane management documentation** - Added clear instructions to AGENTS.md and task templates warning agents never to manually edit the `lane:` YAML field
148
+ - Lane is determined by directory location, not YAML field
149
+ - Editing `lane:` without moving the file creates a mismatch that breaks the system
150
+ - All templates now include YAML comment: `# DO NOT EDIT - use: tasks_cli.py move`
151
+ - Added "Task Lane Management Rule" section to project AGENTS.md
152
+
153
+ ## [0.8.1] - 2025-12-17
154
+
155
+ ### Fixed
156
+
157
+ - **Work package move race conditions** - Multiple agents can now work on different WPs simultaneously without blocking each other
158
+ - Conflict detection now only blocks on changes to the same WP, not unrelated WP files
159
+ - Agents working on WP05 no longer block moves of WP04
160
+
161
+ - **Exact WP ID matching** - `WP04` no longer incorrectly matches `WP04b`
162
+ - Changed from prefix matching to exact boundary matching
163
+ - Pattern now requires WP ID to be followed by `-`, `_`, `.`, or end of filename
164
+
165
+ - **Cleanup no longer leaves staged deletions** - Stale copy cleanup uses filesystem delete instead of `git rm`
166
+ - Prevents orphaned staged deletions from blocking subsequent operations
167
+ - Automatically unstages any previously staged changes to cleaned files
168
+
169
+ ## [0.8.0] - 2025-12-15
170
+
171
+ ### Breaking Changes
172
+
173
+ - **Mission system refactored to per-feature model**
174
+ - Missions are now selected during `/spec-kitty.specify` instead of `spec-kitty init`
175
+ - Each feature stores its mission in `meta.json` (field: `"mission": "software-dev"`)
176
+ - `.kittify/active-mission` symlink/file is no longer used
177
+ - Run `spec-kitty upgrade` to clean up existing projects
178
+
179
+ - **Removed commands**
180
+ - `spec-kitty mission switch` - Missions are now per-feature, not per-project
181
+ - Running this command now shows a helpful error message explaining the new workflow
182
+
183
+ - **Removed flags**
184
+ - `--mission` flag from `spec-kitty init` - Use `/spec-kitty.specify` instead
185
+ - Flag is hidden but shows deprecation warning if used
186
+
187
+ ### Added
188
+
189
+ - **Mission inference during `/spec-kitty.specify`** - LLM analyzes feature description and suggests appropriate mission:
190
+ - "Build a REST API" → suggests `software-dev`
191
+ - "Research best practices" → suggests `research`
192
+ - User confirms or overrides the suggestion
193
+ - Explicit `--mission` flag bypasses inference
194
+
195
+ - **Per-feature mission storage** - Selected mission stored in feature's `meta.json`:
196
+ - All downstream commands read mission from feature context
197
+ - Legacy features without mission field default to `software-dev`
198
+
199
+ - **Mission discovery** - New `discover_missions()` function returns all available missions with source indicators
200
+
201
+ - **Updated `spec-kitty mission list`** - Shows source column (project/built-in) for each mission
202
+
203
+ - **Migration for v0.8.0** - `spec-kitty upgrade` removes obsolete `.kittify/active-mission` file
204
+
205
+ - **AGENTS.md worktree fix** - New worktrees get AGENTS.md symlink, and `spec-kitty upgrade` fixes existing worktrees
206
+
207
+ ### Changed
208
+
209
+ - All downstream commands (`/spec-kitty.plan`, `/spec-kitty.tasks`, `/spec-kitty.implement`, `/spec-kitty.review`, `/spec-kitty.accept`) now read mission from feature's `meta.json`
210
+ - `create-new-feature.sh` accepts `--mission <key>` parameter to set mission in meta.json
211
+ - Common bash/PowerShell scripts updated to resolve mission from feature directory
212
+ - `spec-kitty mission current` shows current default mission (for informational purposes)
213
+ - Dashboard template now includes dynamic AGENTS.md path discovery instructions
214
+
215
+ ### Deprecated
216
+
217
+ - `set_active_mission()` function - Shows deprecation warning, will be removed in future version
218
+
219
+ ### Migration Guide
220
+
221
+ 1. Run `spec-kitty upgrade` to remove `.kittify/active-mission`
222
+ 2. Existing features without `mission` field will use `software-dev` by default
223
+ 3. New features will have mission set during `/spec-kitty.specify`
224
+
225
+ ## [0.7.4] - 2025-12-14
226
+
227
+ ### Added
228
+
229
+ - **Script Update Migration** – `spec-kitty upgrade` now updates project scripts:
230
+ - Copies latest `create-new-feature.sh` from package to project
231
+ - Fixes worktree feature numbering bug in existing projects
232
+ - Previously, projects kept old scripts from when they were initialized
233
+
234
+ ## [0.7.3] - 2025-12-14
235
+
236
+ ### Fixed
237
+
238
+ - **Duplicate Feature Numbers with Worktrees** – Script now scans both `kitty-specs/` AND `.worktrees/` for existing feature numbers:
239
+ - Previously only scanned `kitty-specs/` which was empty when using worktrees
240
+ - This caused new features to get `001` even when `001-*` worktree already existed
241
+ - Now correctly finds highest number across both locations
242
+
243
+ ## [0.7.2] - 2025-12-14
244
+
245
+ ### Fixed
246
+
247
+ - **Duplicate Slash Commands in Worktrees (Corrected)** – Fixed the fix from v0.7.1:
248
+ - v0.7.1 incorrectly removed commands from main repo (broke `/` commands there)
249
+ - v0.7.2 removes commands from **worktrees** instead (they inherit from main repo)
250
+ - Claude Code traverses UP, so worktrees find main repo's `.claude/commands/`
251
+ - Main repo keeps commands, worktrees don't need their own copy
252
+
253
+ ## [0.7.1] - 2025-12-14 [YANKED]
254
+
255
+ ### Fixed
256
+
257
+ - ~~Duplicate Slash Commands in Worktrees~~ – **Incorrect fix, replaced by v0.7.2**
258
+
12
259
  ## [0.7.0] - 2025-12-14
13
260
 
14
261
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spec-kitty-cli
3
- Version: 0.7.0
3
+ Version: 0.9.0
4
4
  Summary: Spec Kitty CLI, a community fork of GitHub's Spec Kit for bootstrapping Spec-Driven Development (SDD) projects.
5
5
  Project-URL: Repository, https://github.com/spec-kitty/spec-kit
6
6
  Project-URL: Issues, https://github.com/spec-kitty/spec-kit/issues
@@ -58,7 +58,7 @@ Description-Content-Type: text/markdown
58
58
 
59
59
  <div align="center">
60
60
  <img src="https://github.com/Priivacy-ai/spec-kitty/raw/main/media/logo_small.webp" alt="Spec Kitty Logo"/>
61
- <h1>🐱 Spec Kitty</h1>
61
+ <h1>Spec Kitty</h1>
62
62
  <h3><em>Real-Time AI Development Dashboard for Spec-Driven Multi-Agent Workflows</em></h3>
63
63
  </div>
64
64
 
@@ -89,6 +89,10 @@ Description-Content-Type: text/markdown
89
89
 
90
90
  > **Note:** Spec Kitty is a community-maintained 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.
91
91
 
92
+ > **🎉 Version 0.9.0 Released - Frontmatter-Only Lane Management**
93
+ > Work packages now use a flat `tasks/` directory with lane status in frontmatter (no more lane subdirectories).
94
+ > **Existing projects:** Run `spec-kitty upgrade` to migrate. Legacy format still works. [See CHANGELOG](CHANGELOG.md#090---2025-12-17) for full details.
95
+
92
96
  <details>
93
97
  <summary><b>🔄 What's Different from GitHub Spec Kit?</b></summary>
94
98
 
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
  <img src="https://github.com/Priivacy-ai/spec-kitty/raw/main/media/logo_small.webp" alt="Spec Kitty Logo"/>
3
- <h1>🐱 Spec Kitty</h1>
3
+ <h1>Spec Kitty</h1>
4
4
  <h3><em>Real-Time AI Development Dashboard for Spec-Driven Multi-Agent Workflows</em></h3>
5
5
  </div>
6
6
 
@@ -31,6 +31,10 @@
31
31
 
32
32
  > **Note:** Spec Kitty is a community-maintained 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.
33
33
 
34
+ > **🎉 Version 0.9.0 Released - Frontmatter-Only Lane Management**
35
+ > Work packages now use a flat `tasks/` directory with lane status in frontmatter (no more lane subdirectories).
36
+ > **Existing projects:** Run `spec-kitty upgrade` to migrate. Legacy format still works. [See CHANGELOG](CHANGELOG.md#090---2025-12-17) for full details.
37
+
34
38
  <details>
35
39
  <summary><b>🔄 What's Different from GitHub Spec Kit?</b></summary>
36
40
 
@@ -0,0 +1,71 @@
1
+ # Tasks Directory
2
+
3
+ This directory contains work package (WP) prompt files for the feature.
4
+
5
+ ## Directory Structure
6
+
7
+ All WP files live in this flat directory:
8
+ ```
9
+ tasks/
10
+ ├── WP01-setup.md
11
+ ├── WP02-implement.md
12
+ ├── WP03-test.md
13
+ └── README.md
14
+ ```
15
+
16
+ ## Lane Management
17
+
18
+ Each WP file has a `lane:` field in its YAML frontmatter:
19
+ - `planned` - Not yet started
20
+ - `doing` - In progress
21
+ - `for_review` - Ready for review
22
+ - `done` - Complete
23
+
24
+ To change a WP's lane:
25
+ ```bash
26
+ python3 .kittify/scripts/tasks/tasks_cli.py update <feature> <WP> <lane>
27
+ ```
28
+
29
+ Or edit the `lane:` field directly in the WP file.
30
+
31
+ ## Work Package File Format
32
+
33
+ Each WP file **MUST** use YAML frontmatter:
34
+
35
+ ```yaml
36
+ ---
37
+ work_package_id: "WP01"
38
+ subtasks:
39
+ - "T001"
40
+ - "T002"
41
+ title: "Work Package Title"
42
+ phase: "Phase 1 - Setup"
43
+ lane: "planned" # Edit directly or use: tasks_cli.py update
44
+ assignee: ""
45
+ agent: ""
46
+ shell_pid: ""
47
+ review_status: ""
48
+ reviewed_by: ""
49
+ history:
50
+ - timestamp: "2025-01-01T00:00:00Z"
51
+ lane: "planned"
52
+ agent: "system"
53
+ shell_pid: ""
54
+ action: "Prompt generated via /spec-kitty.tasks"
55
+ ---
56
+
57
+ # Work Package Prompt: WP01 - Work Package Title
58
+
59
+ [Content follows...]
60
+ ```
61
+
62
+ ## File Naming
63
+
64
+ - Format: `WP01-kebab-case-slug.md` (no extra hyphens in WP number)
65
+ - Examples: `WP01-setup-infrastructure.md`, `WP02-user-auth.md`
66
+
67
+ ## Viewing Status
68
+
69
+ ```bash
70
+ python3 .kittify/scripts/tasks/tasks_cli.py status <feature>
71
+ ```
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "spec-kitty-cli"
3
- version = "0.7.0"
3
+ version = "0.9.0"
4
4
  description = "Spec Kitty CLI, a community fork of GitHub's Spec Kit for bootstrapping Spec-Driven Development (SDD) projects."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }