@pennyfarthing/core 9.0.0 → 9.1.2

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 (292) hide show
  1. package/README.md +16 -7
  2. package/package.json +1 -1
  3. package/packages/core/dist/cli/commands/doctor.d.ts +5 -2
  4. package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
  5. package/packages/core/dist/cli/commands/doctor.js +327 -17
  6. package/packages/core/dist/cli/commands/doctor.js.map +1 -1
  7. package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
  8. package/packages/core/dist/cli/commands/init.js +3 -246
  9. package/packages/core/dist/cli/commands/init.js.map +1 -1
  10. package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
  11. package/packages/core/dist/cli/commands/update.js +4 -140
  12. package/packages/core/dist/cli/commands/update.js.map +1 -1
  13. package/packages/core/dist/cli/utils/constants.d.ts +7 -1
  14. package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
  15. package/packages/core/dist/cli/utils/constants.js +2 -0
  16. package/packages/core/dist/cli/utils/constants.js.map +1 -1
  17. package/packages/core/dist/cli/utils/settings.d.ts +22 -0
  18. package/packages/core/dist/cli/utils/settings.d.ts.map +1 -0
  19. package/packages/core/dist/cli/utils/settings.js +300 -0
  20. package/packages/core/dist/cli/utils/settings.js.map +1 -0
  21. package/pennyfarthing-dist/commands/chore.md +18 -17
  22. package/pennyfarthing-dist/commands/continue-session.md +41 -7
  23. package/pennyfarthing-dist/commands/fix-blocker.md +22 -0
  24. package/pennyfarthing-dist/commands/git-cleanup.md +25 -19
  25. package/pennyfarthing-dist/commands/patch.md +210 -0
  26. package/pennyfarthing-dist/commands/setup.md +65 -0
  27. package/pennyfarthing-dist/guides/session-schema.md +346 -0
  28. package/pennyfarthing-dist/guides/skill-schema.md +412 -0
  29. package/pennyfarthing-dist/guides/workflow-step-schema.md +512 -0
  30. package/pennyfarthing-dist/guides/xml-tags.md +292 -0
  31. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  32. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +43 -8
  33. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +30 -0
  34. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +78 -0
  35. package/pennyfarthing-dist/scripts/lib/find-root.sh +32 -7
  36. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +13 -2
  37. package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +139 -0
  38. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +4 -0
  39. package/pennyfarthing-dist/skills/changelog/SKILL.md +18 -0
  40. package/pennyfarthing-dist/skills/code-review/SKILL.md +5 -1
  41. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +3 -0
  42. package/pennyfarthing-dist/skills/cyclist/SKILL.md +2 -2
  43. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +24 -0
  44. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +3 -0
  45. package/pennyfarthing-dist/skills/judge/SKILL.md +8 -0
  46. package/pennyfarthing-dist/skills/just/SKILL.md +11 -0
  47. package/pennyfarthing-dist/skills/mermaid/SKILL.md +16 -0
  48. package/pennyfarthing-dist/skills/otel/skill.md +4 -0
  49. package/pennyfarthing-dist/skills/permissions/skill.md +3 -0
  50. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +9 -0
  51. package/pennyfarthing-dist/skills/story/skill.md +16 -16
  52. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +56 -0
  53. package/pennyfarthing-dist/skills/testing/SKILL.md +22 -0
  54. package/pennyfarthing-dist/skills/theme/skill.md +12 -0
  55. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +4 -0
  56. package/pennyfarthing-dist/skills/workflow/skill.md +22 -14
  57. package/pennyfarthing-dist/skills/yq/SKILL.md +8 -0
  58. package/pennyfarthing-dist/templates/settings.local.json.template +9 -0
  59. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +12 -0
  60. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +12 -0
  61. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +12 -0
  62. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +12 -0
  63. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +12 -0
  64. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +12 -0
  65. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +12 -0
  66. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +12 -0
  67. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +25 -0
  68. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +23 -0
  69. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +26 -0
  70. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +24 -0
  71. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +23 -0
  72. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +43 -41
  73. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +50 -19
  74. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +102 -111
  75. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +48 -39
  76. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +30 -31
  77. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +21 -0
  78. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +21 -0
  79. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +23 -0
  80. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +23 -0
  81. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +28 -0
  82. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +25 -0
  83. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-01-connect.md +257 -0
  84. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +107 -0
  85. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +127 -0
  86. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +122 -0
  87. package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +51 -0
  88. package/pennyfarthing-dist/workflows/patch.yaml +2 -3
  89. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +6 -0
  90. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +6 -0
  91. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +6 -0
  92. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +6 -0
  93. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +6 -0
  94. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +6 -0
  95. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +6 -0
  96. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +6 -0
  97. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +6 -0
  98. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +6 -0
  99. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +6 -0
  100. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +6 -0
  101. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +6 -0
  102. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +6 -0
  103. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +6 -0
  104. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +6 -0
  105. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +6 -0
  106. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +6 -0
  107. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +6 -0
  108. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +6 -0
  109. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +6 -0
  110. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +6 -0
  111. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +6 -0
  112. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +6 -0
  113. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +6 -0
  114. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +6 -0
  115. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +6 -0
  116. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +6 -0
  117. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +6 -0
  118. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +6 -0
  119. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +6 -0
  120. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +6 -0
  121. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +18 -0
  122. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +19 -0
  123. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +22 -0
  124. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +22 -0
  125. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +23 -0
  126. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +24 -0
  127. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +22 -0
  128. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +22 -0
  129. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +31 -0
  130. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +28 -0
  131. package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +157 -0
  132. package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +217 -0
  133. package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +159 -0
  134. package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +186 -0
  135. package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +185 -0
  136. package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +279 -0
  137. package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +200 -0
  138. package/pennyfarthing-dist/workflows/project-setup/steps/step-08-cyclist.md +245 -0
  139. package/pennyfarthing-dist/workflows/project-setup/steps/step-09-complete.md +203 -0
  140. package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +41 -0
  141. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +21 -0
  142. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +23 -0
  143. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +25 -0
  144. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +22 -0
  145. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +23 -0
  146. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +23 -0
  147. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +12 -0
  148. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +12 -0
  149. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +12 -0
  150. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +12 -0
  151. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +22 -0
  152. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +24 -0
  153. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +25 -0
  154. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +26 -0
  155. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +26 -0
  156. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +34 -0
  157. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +23 -0
  158. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +25 -0
  159. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +27 -0
  160. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +26 -0
  161. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +27 -0
  162. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +26 -0
  163. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +35 -0
  164. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +22 -0
  165. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +25 -0
  166. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +26 -0
  167. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +26 -0
  168. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +29 -1
  169. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +37 -1
  170. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +15 -0
  171. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +17 -0
  172. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +16 -0
  173. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +17 -0
  174. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +22 -0
  175. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +6 -0
  176. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +6 -0
  177. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +6 -0
  178. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +6 -0
  179. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +6 -0
  180. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +6 -0
  181. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +6 -0
  182. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +6 -0
  183. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +6 -0
  184. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +6 -0
  185. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +6 -0
  186. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +6 -0
  187. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +6 -0
  188. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +6 -0
  189. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +6 -0
  190. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  191. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  192. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  193. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  194. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  195. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  196. package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
  197. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  198. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  199. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  200. package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
  201. package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
  202. package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
  203. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  204. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  205. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  206. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  207. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  208. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  209. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  210. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  211. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  212. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  213. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  214. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  215. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  216. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  217. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  218. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  219. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  220. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  221. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  222. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  223. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  224. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  225. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  226. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  227. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  228. package/pennyfarthing_scripts/migration/__init__.py +39 -0
  229. package/pennyfarthing_scripts/migration/__main__.py +10 -0
  230. package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
  231. package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
  232. package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
  233. package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
  234. package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
  235. package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
  236. package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
  237. package/pennyfarthing_scripts/migration/cli.py +304 -0
  238. package/pennyfarthing_scripts/migration/session.py +384 -0
  239. package/pennyfarthing_scripts/migration/skill.py +188 -0
  240. package/pennyfarthing_scripts/migration/step.py +229 -0
  241. package/pennyfarthing_scripts/migration/validate.py +282 -0
  242. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  243. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  244. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  245. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  246. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  247. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  248. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  249. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  250. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  251. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  252. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  253. package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
  254. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  255. package/pennyfarthing_scripts/schema_validation_hook.py +306 -0
  256. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  257. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  258. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  259. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  260. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  261. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  262. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  263. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  264. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  265. package/pennyfarthing_scripts/sprint/archive_epic.py +399 -0
  266. package/pennyfarthing_scripts/sprint/cli.py +100 -0
  267. package/pennyfarthing_scripts/sprint/import_epic.py +431 -0
  268. package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
  269. package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
  270. package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
  271. package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
  272. package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
  273. package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
  274. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  275. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  276. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  277. package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
  278. package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
  279. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  280. package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
  281. package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
  282. package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
  283. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  284. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
  285. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  286. package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
  287. package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
  288. package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
  289. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  290. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  291. package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +0 -10
  292. package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +0 -270
@@ -7,6 +7,14 @@ args: "[list|show [name]|set <name>|start <name> [--mode <mode>]|resume [name]|s
7
7
 
8
8
  # /workflow - Workflow Management
9
9
 
10
+ <run>
11
+ .pennyfarthing/scripts/workflow/list-workflows.sh
12
+ </run>
13
+
14
+ <output>
15
+ Table of workflows with type indicators, steps/phases count, available modes, default status, and descriptions.
16
+ </output>
17
+
10
18
  Pennyfarthing uses YAML-defined workflows to control agent sequences. The default TDD workflow (SM → TEA → Dev → Reviewer) can be customized or replaced with alternative flows. BikeLane stepped workflows provide progressive disclosure for planning and decision-making processes.
11
19
 
12
20
  ## Commands
@@ -17,7 +25,7 @@ List all available workflows with type indicators.
17
25
 
18
26
  **Run:**
19
27
  ```bash
20
- .pennyfarthing/scripts workflow/list-workflows.sh
28
+ .pennyfarthing/scripts/workflow/list-workflows.sh
21
29
  ```
22
30
 
23
31
  **Output:** Table of workflows with:
@@ -35,7 +43,7 @@ Show workflow details. If no name provided, shows current session's workflow.
35
43
 
36
44
  **Run:**
37
45
  ```bash
38
- .pennyfarthing/scripts workflow/show-workflow.sh [name]
46
+ .pennyfarthing/scripts/workflow/show-workflow.sh [name]
39
47
  ```
40
48
 
41
49
  **Arguments:**
@@ -45,9 +53,9 @@ Show workflow details. If no name provided, shows current session's workflow.
45
53
 
46
54
  **Examples:**
47
55
  ```bash
48
- .pennyfarthing/scripts workflow/show-workflow.sh # Current session workflow
49
- .pennyfarthing/scripts workflow/show-workflow.sh tdd # Show TDD workflow
50
- .pennyfarthing/scripts workflow/show-workflow.sh trivial # Show trivial workflow
56
+ .pennyfarthing/scripts/workflow/show-workflow.sh # Current session workflow
57
+ .pennyfarthing/scripts/workflow/show-workflow.sh tdd # Show TDD workflow
58
+ .pennyfarthing/scripts/workflow/show-workflow.sh trivial # Show trivial workflow
51
59
  ```
52
60
 
53
61
  **Output:** Workflow description, phase flow diagram, phases table, and trigger conditions.
@@ -63,7 +71,7 @@ Switch to a different workflow mid-session.
63
71
  **Steps:**
64
72
  1. Verify workflow exists:
65
73
  ```bash
66
- .pennyfarthing/scripts workflow/show-workflow.sh <name>
74
+ .pennyfarthing/scripts/workflow/show-workflow.sh <name>
67
75
  ```
68
76
 
69
77
  2. Update the session file's workflow field:
@@ -84,7 +92,7 @@ Start a stepped workflow. Creates a new session and begins at step 1.
84
92
 
85
93
  **Run:**
86
94
  ```bash
87
- .pennyfarthing/scripts workflow/start-workflow.sh <name> [--mode <mode>]
95
+ .pennyfarthing/scripts/workflow/start-workflow.sh <name> [--mode <mode>]
88
96
  ```
89
97
 
90
98
  **Arguments:**
@@ -107,7 +115,7 @@ Resume an interrupted stepped workflow from the last completed step.
107
115
 
108
116
  **Run:**
109
117
  ```bash
110
- .pennyfarthing/scripts workflow/resume-workflow.sh [name]
118
+ .pennyfarthing/scripts/workflow/resume-workflow.sh [name]
111
119
  ```
112
120
 
113
121
  **Arguments:**
@@ -129,7 +137,7 @@ Show current stepped workflow progress.
129
137
 
130
138
  **Run:**
131
139
  ```bash
132
- .pennyfarthing/scripts workflow/workflow-status.sh
140
+ .pennyfarthing/scripts/workflow/workflow-status.sh
133
141
  ```
134
142
 
135
143
  **Output:**
@@ -254,7 +262,7 @@ Fix session file when handoffs didn't update phase tracking properly. This corre
254
262
 
255
263
  **Run:**
256
264
  ```bash
257
- .pennyfarthing/scripts workflow/fix-session-phase.sh <story-id> <target-phase> [--dry-run]
265
+ .pennyfarthing/scripts/workflow/fix-session-phase.sh <story-id> <target-phase> [--dry-run]
258
266
  ```
259
267
 
260
268
  **Arguments:**
@@ -271,16 +279,16 @@ Fix session file when handoffs didn't update phase tracking properly. This corre
271
279
  **Examples:**
272
280
  ```bash
273
281
  # Preview what would change
274
- .pennyfarthing/scripts workflow/fix-session-phase.sh 56-1 review --dry-run
282
+ .pennyfarthing/scripts/workflow/fix-session-phase.sh 56-1 review --dry-run
275
283
 
276
284
  # Fix phase to review (after Dev completed)
277
- .pennyfarthing/scripts workflow/fix-session-phase.sh 56-1 review
285
+ .pennyfarthing/scripts/workflow/fix-session-phase.sh 56-1 review
278
286
 
279
287
  # Fix phase to approved (after Reviewer approved)
280
- .pennyfarthing/scripts workflow/fix-session-phase.sh 56-1 approved
288
+ .pennyfarthing/scripts/workflow/fix-session-phase.sh 56-1 approved
281
289
 
282
290
  # Using Jira key
283
- .pennyfarthing/scripts workflow/fix-session-phase.sh MSSCI-12190 approved
291
+ .pennyfarthing/scripts/workflow/fix-session-phase.sh MSSCI-12190 approved
284
292
  ```
285
293
 
286
294
  **Valid phases by workflow:**
@@ -5,6 +5,14 @@ description: yq is a YAML processor. Use this skill when reading, modifying, or
5
5
 
6
6
  # yq - YAML Processor Skill
7
7
 
8
+ <run>
9
+ yq [expression] [file]
10
+ </run>
11
+
12
+ <output>
13
+ YAML/JSON output depending on specified format
14
+ </output>
15
+
8
16
  ## Overview
9
17
 
10
18
  `yq` is a lightweight and portable command-line YAML processor. It's like `jq` but for YAML. This skill covers the mikefarah/yq version (v4+).
@@ -74,6 +74,15 @@
74
74
  }
75
75
  ]
76
76
  },
77
+ {
78
+ "matcher": "Write",
79
+ "hooks": [
80
+ {
81
+ "type": "command",
82
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/hooks/schema-validation.sh"
83
+ }
84
+ ]
85
+ },
77
86
  {
78
87
  "matcher": "Edit|Write|Bash|Task",
79
88
  "hooks": [
@@ -1,5 +1,17 @@
1
1
  # Step 1: Initialize Architecture Session
2
2
 
3
+ <purpose>
4
+ Set up the architecture decision session by gathering inputs, detecting existing workflows, and establishing initial context for collaborative architectural discovery.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Check for existing workflow and either resume from continuation or initialize fresh session. Gather required inputs (PRD, existing documentation, constraints), identify stakeholders, and present collaboration options to proceed.
9
+ </instructions>
10
+
11
+ <output>
12
+ Session workspace initialized with frontmatter and either workflow continuation state or fresh initialization summary including discovered inputs, stakeholders, and ready-to-continue status.
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 1
5
17
  name: initialize
@@ -1,5 +1,17 @@
1
1
  # Step 1b: Workflow Continuation Handler
2
2
 
3
+ <purpose>
4
+ Detect existing architecture workflow state from session file and provide user with options to continue, restart, or review previous progress before proceeding.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Read the existing output file and parse frontmatter to identify completed steps and current progress. Analyze the document state, summarize decisions made so far, and present continuation options with data loss prevention (archiving).
9
+ </instructions>
10
+
11
+ <output>
12
+ Workflow continuation information displayed with summary of completed steps, current document state, and user-selectable options (Continue/Restart/View) with archive confirmation if restarting.
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 1b
5
17
  name: continue
@@ -1,5 +1,17 @@
1
1
  # Step 2: Context Analysis
2
2
 
3
+ <purpose>
4
+ Analyze project context and requirements to identify technical constraints, current system landscape, and key architectural concerns that will drive pattern selection and design decisions.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Extract technical constraints from PRD (performance, security, integration requirements). Map existing systems and patterns. Identify scalability, reliability, maintainability, and cost concerns. Generate analysis and present A/P/C collaboration menu for refinement.
9
+ </instructions>
10
+
11
+ <output>
12
+ Architecture Context section in session file with Technical Constraints, Current Landscape overview, and Key Concerns documented. Update frontmatter stepsCompleted array after user confirms [C].
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 2
5
17
  name: context-analysis
@@ -1,5 +1,17 @@
1
1
  # Step 3: Pattern Selection
2
2
 
3
+ <purpose>
4
+ Identify and evaluate architectural patterns that address identified concerns with verification of current technology versions, trade-off analysis, and selection of patterns that best fit the project requirements.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Survey applicable patterns (microservices, event-driven, CQRS, circuit breakers, etc.) based on context concerns. Search web for current stable versions and best practices. Evaluate trade-offs (complexity, team familiarity, overhead, system fit). Select 1-3 primary patterns with rationale.
9
+ </instructions>
10
+
11
+ <output>
12
+ Pattern Analysis section with Technology Versions table, Candidate Patterns comparison, Selected Pattern(s) with justification, and Rejected Alternatives. Update frontmatter stepsCompleted array after user confirms [C].
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 3
5
17
  name: pattern-selection
@@ -1,5 +1,17 @@
1
1
  # Step 4: Component Design
2
2
 
3
+ <purpose>
4
+ Define major system components, their responsibilities, boundaries, and dependencies based on selected patterns. Establish implementation consistency rules that prevent AI agents from making conflicting architectural choices.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Identify primary components from selected patterns with clear responsibilities and data ownership. Define component boundaries and communication protocols. Map component dependencies. Document explicit consistency rules for AI implementation to ensure compatible implementations across different agents.
9
+ </instructions>
10
+
11
+ <output>
12
+ Component Design section with ASCII/Mermaid component diagram, Component Responsibilities table, Boundary Decisions, and Implementation Consistency Rules. Update frontmatter stepsCompleted array after user confirms [C].
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 4
5
17
  name: component-design
@@ -1,5 +1,17 @@
1
1
  # Step 5: Interface Definition
2
2
 
3
+ <purpose>
4
+ Define APIs, internal contracts, and communication patterns between components. Establish naming conventions, error handling, and versioning strategies that ensure explicit, unambiguous contracts for consistent implementation.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Define external APIs with authentication and request/response formats. Specify internal component communication (synchronous/asynchronous) with exact message formats. Establish naming conventions, error codes, and versioning strategy. Document contract enforcement rules explicit enough for independent implementations.
9
+ </instructions>
10
+
11
+ <output>
12
+ Interface Definitions section with External APIs table, Internal Communication protocols, Conventions documented, and Contract Enforcement rules. Update frontmatter stepsCompleted array after user confirms [C].
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 5
5
17
  name: interface-definition
@@ -1,5 +1,17 @@
1
1
  # Step 6: Risk Assessment
2
2
 
3
+ <purpose>
4
+ Identify technical risks, failure modes, and mitigation strategies. Include risks specific to AI-assisted implementation such as ambiguous requirements or inconsistent interpretations that could cause implementation divergence.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Identify technical risks (bottlenecks, single points of failure, security, data consistency, operational complexity). Assess impact/likelihood for each. Define mitigations and monitoring/alerting strategies. Identify AI implementation risks where agents might misinterpret requirements or diverge on implementation.
9
+ </instructions>
10
+
11
+ <output>
12
+ Risk Assessment section with Technical Risks table, Failure Modes with recovery procedures, Security Considerations, AI Implementation Risks, and Operational Readiness plan. Update frontmatter stepsCompleted array after user confirms [C].
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 6
5
17
  name: risk-assessment
@@ -1,5 +1,17 @@
1
1
  # Step 7: Decision Documentation
2
2
 
3
+ <purpose>
4
+ Consolidate all architecture decisions from previous steps into a formal Architecture Decision Record (ADR) or specification. Validate completeness and finalize the decision document for stakeholder review.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ Validate all previous step outputs are complete before proceeding. Choose appropriate document type (ADR/Architecture Spec/Design Doc). Compile comprehensive decision record including context, drivers, options, outcome, components, interfaces, risks, and consistency rules. Write to appropriate location with proper linking.
9
+ </instructions>
10
+
11
+ <output>
12
+ Finalized architecture decision document (ADR or spec format) stored in docs/adr/ or appropriate location, with complete sections from all previous steps, validation confirmation, and completion summary. Update frontmatter stepsCompleted array with all steps completed.
13
+ </output>
14
+
3
15
  <step-meta>
4
16
  number: 7
5
17
  name: documentation
@@ -17,6 +17,31 @@ epicsTemplate: './templates/epics-template.md'
17
17
  # partyModeWorkflow: '{project_root}/.pennyfarthing/workflows/party-mode/workflow.yaml'
18
18
  ---
19
19
 
20
+ <purpose>
21
+ To validate that all required input documents exist and extract all requirements (FRs, NFRs, and additional requirements from UX/Architecture) needed for epic and story creation. This is a prerequisite step that ensures the foundation is solid before proceeding to epic design.
22
+ </purpose>
23
+
24
+ <instructions>
25
+ 1. Welcome the user to the comprehensive epic and story creation process
26
+ 2. Validate that required documents exist (PRD.md, Architecture.md, and optionally UX Design.md)
27
+ 3. Extract all Functional Requirements (FRs) from the PRD document
28
+ 4. Extract all Non-Functional Requirements (NFRs) from the PRD document
29
+ 5. Extract additional technical requirements from the Architecture document
30
+ 6. Extract UX requirements from the UX Design document (if it exists)
31
+ 7. Initialize the output template with extracted requirements
32
+ 8. Present extracted requirements to the user for review and confirmation
33
+ 9. Wait for user confirmation (C) before proceeding to the next step
34
+ </instructions>
35
+
36
+ <output>
37
+ - Complete list of Functional Requirements (FRs) extracted from PRD
38
+ - Complete list of Non-Functional Requirements (NFRs) extracted from PRD
39
+ - Additional technical requirements from Architecture document
40
+ - Additional UX requirements from UX Design document (if applicable)
41
+ - Initialized epics.md file with all extracted requirements populated in the template
42
+ - User confirmation that requirements are accurate and complete
43
+ </output>
44
+
20
45
  # Step 1: Validate Prerequisites and Extract Requirements
21
46
 
22
47
  ## STEP GOAL:
@@ -19,6 +19,29 @@ outputFile: '{planning_artifacts}/epics.md'
19
19
  epicsTemplate: './templates/epics-template.md'
20
20
  ---
21
21
 
22
+ <purpose>
23
+ To design and get explicit user approval for the epics_list that will organize all extracted requirements into user-value-focused epics. Each epic must be standalone, deliver complete functionality for its domain, and enable future epics without requiring them to function.
24
+ </purpose>
25
+
26
+ <instructions>
27
+ 1. Load and review the extracted requirements from the previous step
28
+ 2. Explain epic design principles (user-value first, incremental delivery, dependency-free within epic)
29
+ 3. Identify user value themes by analyzing the functional requirements
30
+ 4. Propose epic structure collaboratively with the user
31
+ 5. Create the epics_list showing epic titles, user outcomes, and FR coverage
32
+ 6. Create a requirements coverage map showing how each FR maps to an epic
33
+ 7. Present the epic list for user review and refinement
34
+ 8. Get user confirmation and explicit approval (C) before proceeding
35
+ </instructions>
36
+
37
+ <output>
38
+ - Approved epics_list organized by user value with epic titles and goals
39
+ - Functional requirement coverage map showing FR to epic mapping
40
+ - Verified coverage of all extracted requirements
41
+ - Epic structure validated for standalone operation and dependency flow
42
+ - User explicit approval to proceed to story creation
43
+ </output>
44
+
22
45
  # Step 2: Design Epic List
23
46
 
24
47
  ## STEP GOAL:
@@ -19,6 +19,32 @@ outputFile: '{planning_artifacts}/epics.md'
19
19
  epicsTemplate: './templates/epics-template.md'
20
20
  ---
21
21
 
22
+ <purpose>
23
+ To generate all epics with their complete story breakdowns following the template structure exactly. Each story must be appropriately sized for single dev agent completion, have clear acceptance criteria using Given/When/Then format, and maintain proper story dependencies that flow sequentially without forward references.
24
+ </purpose>
25
+
26
+ <instructions>
27
+ 1. Load the approved epic structure from the previous step
28
+ 2. Explain story creation guidelines and the database/entity creation principle
29
+ 3. Process each epic sequentially in order
30
+ 4. For each epic: display overview, work with user to break down into stories, generate each story with acceptance criteria
31
+ 5. For each story: create title, user story (As a/I want/So that), and specific testable acceptance criteria
32
+ 6. Collaborate with user after each story to verify correctness and scope
33
+ 7. Append approved stories to the output file following template structure
34
+ 8. Verify all FRs are covered by stories and all placeholders are replaced
35
+ 9. Get user confirmation (C) before proceeding to final validation
36
+ </instructions>
37
+
38
+ <output>
39
+ - Complete epics section with all approved epics
40
+ - All stories for each epic with proper numbering (Epic N, Story M)
41
+ - User story statements in As a/I want/So that format for each story
42
+ - Acceptance Criteria using Given/When/Then format for each story
43
+ - Verification that all FRs are covered by at least one story
44
+ - Completed epics.md file following template structure exactly
45
+ - User confirmation to proceed to final validation
46
+ </output>
47
+
22
48
  # Step 3: Generate Epics and Stories
23
49
 
24
50
  ## STEP GOAL:
@@ -19,6 +19,30 @@ outputFile: '{planning_artifacts}/epics.md'
19
19
  epicsTemplate: './templates/epics-template.md'
20
20
  ---
21
21
 
22
+ <purpose>
23
+ To validate that all requirements are completely covered by stories, verify story quality and dependencies are correct, ensure the document follows the template structure exactly, and confirm everything is ready for development work.
24
+ </purpose>
25
+
26
+ <instructions>
27
+ 1. Load the complete epic and story breakdown from the previous step
28
+ 2. Perform FR coverage validation to ensure every FR is covered by at least one story
29
+ 3. Validate architecture implementation requirements (starter template, database setup)
30
+ 4. Validate story quality (completable by single dev agent, clear acceptance criteria, no forward dependencies)
31
+ 5. Validate epic structure for user value and proper dependencies
32
+ 6. Perform critical dependency validation (epic independence and within-epic story flow)
33
+ 7. Update any remaining placeholders and verify formatting
34
+ 8. Get user confirmation (C) to proceed to import step
35
+ </instructions>
36
+
37
+ <output>
38
+ - Verification that every FR has story coverage
39
+ - Confirmation of proper architecture requirements implementation
40
+ - Validation that stories are appropriately sized and have clear acceptance criteria
41
+ - Confirmation of proper story dependencies (only depend on previous stories)
42
+ - Final epics.md file with all placeholders replaced and formatting verified
43
+ - User confirmation that document is complete and ready for development
44
+ </output>
45
+
22
46
  # Step 4: Final Validation
23
47
 
24
48
  ## STEP GOAL:
@@ -15,6 +15,29 @@ futureYaml: '{project_root}/sprint/future.yaml'
15
15
  importScript: '{project_root}/.pennyfarthing/scripts/sprint/import-epic-to-future.sh'
16
16
  ---
17
17
 
18
+ <purpose>
19
+ To import the validated and complete epics and stories from the epics.md document into the sprint/future.yaml backlog system, making them available for sprint planning and story promotion. This is the final step that makes the epics accessible through the sprint management system.
20
+ </purpose>
21
+
22
+ <instructions>
23
+ 1. Determine the initiative name from the epics document (prompt user if not obvious)
24
+ 2. Run the import script in dry-run mode to show what will be added
25
+ 3. Display the preview to the user showing epic numbers, initiative structure, and story IDs
26
+ 4. Get user confirmation that the preview looks correct
27
+ 5. If confirmed, run the import script without dry-run to apply changes to future.yaml
28
+ 6. Verify the import by checking that epic appears in future.yaml with correct numbering
29
+ 7. Display completion message with epic number, initiative name, and story count
30
+ </instructions>
31
+
32
+ <output>
33
+ - Initiative imported to sprint/future.yaml
34
+ - Epic assigned with correct sequential number (epic-N)
35
+ - All stories with proper IDs (epic-N-story-M format)
36
+ - Dry-run preview showing exactly what will be imported
37
+ - Verification that epic and stories are accessible via sprint commands
38
+ - Completion message with next steps for sprint planning
39
+ </output>
40
+
18
41
  # Step 5: Import to Future Backlog
19
42
 
20
43
  ## STEP GOAL:
@@ -1,54 +1,62 @@
1
1
  # Step 1: Analyze Current State
2
2
 
3
- Gather the current git state across all configured repositories.
3
+ <purpose>
4
+ Gather the current git state across all configured repositories and build a complete picture of uncommitted changes across ALL repos.
5
+ </purpose>
6
+
7
+ <instructions>
8
+ 1. Run the multi-repo git status script to show branch, staged/unstaged changes, and unpushed commits
9
+ 2. For each repo with changes, gather detailed diffs and commit patterns
10
+ 3. Check for active work sessions to understand context
11
+ 4. Verify pre-flight checks (no merge conflicts, develop branches up to date, no secrets)
12
+ 5. Present findings in structured format with analysis results by repo
13
+ </instructions>
14
+
15
+ <output>
16
+ Analysis results grouped by repo including:
17
+ - Current branch name
18
+ - Count of unpushed commits
19
+ - List of uncommitted changes with status (M/A/D/??)
20
+ - Any warnings or issues found
21
+ - Ready for user choice: [A] to analyze specific repo, or [C] to continue
22
+ </output>
4
23
 
5
24
  ## Objective
6
25
 
7
- Build a complete picture of:
8
- - Uncommitted changes in each repo
9
- - Unpushed commits on develop
10
- - Active worktrees and their state
11
- - Active work sessions that might explain changes
26
+ Build a complete picture of uncommitted changes across ALL repos defined in `.claude/project/pennyfarthing-settings.yaml`.
12
27
 
13
28
  ## Execution
14
29
 
15
- ### 1.0 Check Stash (CRITICAL - DO THIS FIRST)
30
+ ### 1.1 Gather Git Status (All Repos)
31
+
32
+ **CRITICAL: Use the multi-repo script, not plain `git status`.**
16
33
 
17
34
  ```bash
18
- echo "=== Stash Status (CRITICAL) ==="
19
- git stash list
35
+ .pennyfarthing/scripts/git/git-status-all.sh
20
36
  ```
21
37
 
22
- **If stash has ANY entries:**
23
- 1. Show the stash contents to user
24
- 2. Ask: "Stash contains saved work. Clear it completely before proceeding?"
25
- 3. If user agrees: `git stash clear`
26
- 4. If user declines: **STOP** - do not proceed with cleanup
38
+ This shows branch, staged/unstaged changes, and unpushed commits for **all repos** defined in the project configuration.
27
39
 
28
- **This prevents:**
29
- - Losing work that was stashed from a previous interrupted cleanup
30
- - Confusion about what changes belong to what
31
- - Accidentally clearing someone else's stashed work
40
+ ### 1.2 For Each Repo with Changes
32
41
 
33
- ### 1.1 Gather Git Status (All Repos)
42
+ For repos with uncommitted changes, gather more detail:
34
43
 
35
44
  ```bash
36
- .pennyfarthing/scripts/git/git-status-all.sh
37
- ```
45
+ # Show full diff for a specific repo
46
+ git -C {repo_path} diff
38
47
 
39
- This shows branch, staged/unstaged changes, and unpushed commits for all repos.
48
+ # Check the branch
49
+ git -C {repo_path} branch --show-current
50
+ ```
40
51
 
41
- ### 1.2 Check Recent Commit Patterns
52
+ ### 1.3 Check Recent Commit Patterns
42
53
 
43
54
  ```bash
44
- echo "=== Recent Commits (for message style) ==="
45
- git log --oneline -10
46
- echo ""
47
- echo "=== Recent Branches ==="
48
- git branch --sort=-committerdate | head -10
55
+ # In each repo with changes, check commit style
56
+ git -C {repo_path} log --oneline -5
49
57
  ```
50
58
 
51
- ### 1.3 Check Active Work Sessions
59
+ ### 1.4 Check Active Work Sessions
52
60
 
53
61
  ```bash
54
62
  echo "=== Active Work Sessions ==="
@@ -57,21 +65,12 @@ ls -la .session/*.md 2>/dev/null || echo "No active sessions"
57
65
 
58
66
  If sessions exist, read headers to understand what work is in progress.
59
67
 
60
- ### 1.4 Check Worktree Status
61
-
62
- ```bash
63
- echo "=== Worktree Status ==="
64
- .pennyfarthing/scripts/git/worktree-manager.sh status 2>/dev/null || echo "No worktrees"
65
- ```
66
-
67
- ### 1.5 Pre-flight Checks
68
-
69
- **Before proceeding, verify:**
68
+ ## Pre-flight Checks
70
69
 
71
70
  | Check | Status | Action if Failed |
72
71
  |-------|--------|------------------|
73
72
  | No merge conflicts | ☐ | Resolve conflicts first |
74
- | develop is up to date | ☐ | `git pull origin develop` |
73
+ | Each repo's develop up to date | ☐ | `git -C {repo} pull origin develop` |
75
74
  | No uncommitted secrets | ☐ | Add to .gitignore |
76
75
 
77
76
  ## Output Format
@@ -81,7 +80,7 @@ Present findings in this structure:
81
80
  ```
82
81
  ## Analysis Results
83
82
 
84
- ### Repo: {repo_name}
83
+ ### Repo: {repo_name} (path: {repo_path})
85
84
  Branch: {current_branch}
86
85
  Unpushed: {count} commits
87
86
 
@@ -89,6 +88,9 @@ Unpushed: {count} commits
89
88
  - {file_path} ({status: M/A/D/??})
90
89
  - ...
91
90
 
91
+ ### Repo: {another_repo}
92
+ ...
93
+
92
94
  ### Warnings
93
95
  - {any issues found}
94
96
  ```