@pennyfarthing/core 7.9.0 → 7.9.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 (1034) hide show
  1. package/{packages/core/dist → dist}/cli/commands/doctor.d.ts +0 -3
  2. package/{packages/core/dist → dist}/cli/commands/doctor.d.ts.map +1 -1
  3. package/{packages/core/dist → dist}/cli/commands/doctor.js +9 -20
  4. package/{packages/core/dist → dist}/cli/commands/doctor.js.map +1 -1
  5. package/{packages/core/dist → dist}/cli/commands/init.js +16 -2
  6. package/{packages/core/dist → dist}/cli/commands/init.js.map +1 -1
  7. package/package.json +37 -32
  8. package/LICENSE +0 -14
  9. package/README.md +0 -209
  10. package/pennyfarthing-dist/agents/README.md +0 -348
  11. package/pennyfarthing-dist/agents/architect.md +0 -180
  12. package/pennyfarthing-dist/agents/dev.md +0 -169
  13. package/pennyfarthing-dist/agents/devops.md +0 -203
  14. package/pennyfarthing-dist/agents/handoff.md +0 -235
  15. package/pennyfarthing-dist/agents/orchestrator.md +0 -182
  16. package/pennyfarthing-dist/agents/pm.md +0 -152
  17. package/pennyfarthing-dist/agents/reviewer-preflight.md +0 -129
  18. package/pennyfarthing-dist/agents/reviewer.md +0 -180
  19. package/pennyfarthing-dist/agents/sm-file-summary.md +0 -79
  20. package/pennyfarthing-dist/agents/sm-finish.md +0 -82
  21. package/pennyfarthing-dist/agents/sm-handoff.md +0 -129
  22. package/pennyfarthing-dist/agents/sm-setup.md +0 -251
  23. package/pennyfarthing-dist/agents/sm.md +0 -284
  24. package/pennyfarthing-dist/agents/tea.md +0 -161
  25. package/pennyfarthing-dist/agents/tech-writer.md +0 -226
  26. package/pennyfarthing-dist/agents/testing-runner.md +0 -184
  27. package/pennyfarthing-dist/agents/ux-designer.md +0 -236
  28. package/pennyfarthing-dist/agents/workflow-status-check.md +0 -96
  29. package/pennyfarthing-dist/commands/architect.md +0 -7
  30. package/pennyfarthing-dist/commands/benchmark-control.md +0 -69
  31. package/pennyfarthing-dist/commands/benchmark.md +0 -485
  32. package/pennyfarthing-dist/commands/brainstorming.md +0 -91
  33. package/pennyfarthing-dist/commands/check.md +0 -156
  34. package/pennyfarthing-dist/commands/chore.md +0 -178
  35. package/pennyfarthing-dist/commands/close-epic.md +0 -139
  36. package/pennyfarthing-dist/commands/continue-session.md +0 -184
  37. package/pennyfarthing-dist/commands/create-branches-from-story.md +0 -358
  38. package/pennyfarthing-dist/commands/create-theme.md +0 -29
  39. package/pennyfarthing-dist/commands/dev.md +0 -7
  40. package/pennyfarthing-dist/commands/devops.md +0 -7
  41. package/pennyfarthing-dist/commands/git-cleanup.md +0 -51
  42. package/pennyfarthing-dist/commands/health-check.md +0 -141
  43. package/pennyfarthing-dist/commands/help.md +0 -264
  44. package/pennyfarthing-dist/commands/job-fair.md +0 -102
  45. package/pennyfarthing-dist/commands/list-themes.md +0 -21
  46. package/pennyfarthing-dist/commands/orchestrator.md +0 -7
  47. package/pennyfarthing-dist/commands/parallel-work.md +0 -71
  48. package/pennyfarthing-dist/commands/party-mode.md +0 -77
  49. package/pennyfarthing-dist/commands/permissions.md +0 -193
  50. package/pennyfarthing-dist/commands/pm.md +0 -7
  51. package/pennyfarthing-dist/commands/prime.md +0 -140
  52. package/pennyfarthing-dist/commands/release.md +0 -58
  53. package/pennyfarthing-dist/commands/repo-status.md +0 -49
  54. package/pennyfarthing-dist/commands/retro.md +0 -200
  55. package/pennyfarthing-dist/commands/reviewer.md +0 -7
  56. package/pennyfarthing-dist/commands/run-ci.md +0 -116
  57. package/pennyfarthing-dist/commands/set-theme.md +0 -56
  58. package/pennyfarthing-dist/commands/show-theme.md +0 -21
  59. package/pennyfarthing-dist/commands/sm.md +0 -7
  60. package/pennyfarthing-dist/commands/solo.md +0 -447
  61. package/pennyfarthing-dist/commands/sprint-planning.md +0 -109
  62. package/pennyfarthing-dist/commands/sprint.md +0 -133
  63. package/pennyfarthing-dist/commands/standalone.md +0 -194
  64. package/pennyfarthing-dist/commands/start-epic.md +0 -168
  65. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +0 -184
  66. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +0 -373
  67. package/pennyfarthing-dist/commands/tea.md +0 -7
  68. package/pennyfarthing-dist/commands/tech-writer.md +0 -7
  69. package/pennyfarthing-dist/commands/theme-maker.md +0 -676
  70. package/pennyfarthing-dist/commands/update-domain-docs.md +0 -83
  71. package/pennyfarthing-dist/commands/ux-designer.md +0 -7
  72. package/pennyfarthing-dist/commands/work.md +0 -23
  73. package/pennyfarthing-dist/commands/workflow.md +0 -21
  74. package/pennyfarthing-dist/guides/agent-behavior.md +0 -311
  75. package/pennyfarthing-dist/guides/agent-coordination.md +0 -480
  76. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +0 -432
  77. package/pennyfarthing-dist/guides/agent-template-strategic.md +0 -148
  78. package/pennyfarthing-dist/guides/agent-template-tactical.md +0 -162
  79. package/pennyfarthing-dist/guides/hooks.md +0 -230
  80. package/pennyfarthing-dist/guides/measurement-framework.md +0 -210
  81. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +0 -766
  82. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +0 -574
  83. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +0 -488
  84. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +0 -402
  85. package/pennyfarthing-dist/guides/permission-protocol.md +0 -188
  86. package/pennyfarthing-dist/guides/persona-loading.md +0 -46
  87. package/pennyfarthing-dist/guides/prompt-patterns.md +0 -338
  88. package/pennyfarthing-dist/guides/scale-levels.md +0 -114
  89. package/pennyfarthing-dist/guides/session-artifacts.md +0 -193
  90. package/pennyfarthing-dist/guides/workflow-schema.md +0 -257
  91. package/pennyfarthing-dist/guides/worktree-mode.md +0 -113
  92. package/pennyfarthing-dist/guides/xml-tags.md +0 -335
  93. package/pennyfarthing-dist/output-styles/teaching.md +0 -33
  94. package/pennyfarthing-dist/output-styles/terse.md +0 -20
  95. package/pennyfarthing-dist/output-styles/verbose.md +0 -28
  96. package/pennyfarthing-dist/personas/themes/1984.yaml +0 -300
  97. package/pennyfarthing-dist/personas/themes/a-team.yaml +0 -327
  98. package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +0 -290
  99. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +0 -320
  100. package/pennyfarthing-dist/personas/themes/all-stars.yaml +0 -322
  101. package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +0 -308
  102. package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +0 -294
  103. package/pennyfarthing-dist/personas/themes/arcane.yaml +0 -278
  104. package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +0 -318
  105. package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +0 -278
  106. package/pennyfarthing-dist/personas/themes/babylon-5.yaml +0 -278
  107. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +0 -278
  108. package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +0 -278
  109. package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +0 -290
  110. package/pennyfarthing-dist/personas/themes/black-sails.yaml +0 -290
  111. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +0 -285
  112. package/pennyfarthing-dist/personas/themes/bobiverse.yaml +0 -278
  113. package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +0 -315
  114. package/pennyfarthing-dist/personas/themes/catch-22.yaml +0 -304
  115. package/pennyfarthing-dist/personas/themes/classical-composers.yaml +0 -298
  116. package/pennyfarthing-dist/personas/themes/control.yaml +0 -197
  117. package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +0 -308
  118. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +0 -311
  119. package/pennyfarthing-dist/personas/themes/deadwood.yaml +0 -290
  120. package/pennyfarthing-dist/personas/themes/dickens.yaml +0 -308
  121. package/pennyfarthing-dist/personas/themes/discworld.yaml +0 -322
  122. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +0 -280
  123. package/pennyfarthing-dist/personas/themes/don-quixote.yaml +0 -308
  124. package/pennyfarthing-dist/personas/themes/dune.yaml +0 -297
  125. package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +0 -308
  126. package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +0 -278
  127. package/pennyfarthing-dist/personas/themes/fargo.yaml +0 -318
  128. package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +0 -300
  129. package/pennyfarthing-dist/personas/themes/firefly.yaml +0 -316
  130. package/pennyfarthing-dist/personas/themes/foundation.yaml +0 -280
  131. package/pennyfarthing-dist/personas/themes/futurama.yaml +0 -309
  132. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +0 -280
  133. package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +0 -361
  134. package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +0 -296
  135. package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +0 -296
  136. package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +0 -317
  137. package/pennyfarthing-dist/personas/themes/hannibal.yaml +0 -290
  138. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +0 -312
  139. package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +0 -281
  140. package/pennyfarthing-dist/personas/themes/historical-figures.yaml +0 -278
  141. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +0 -319
  142. package/pennyfarthing-dist/personas/themes/house-md.yaml +0 -309
  143. package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +0 -279
  144. package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +0 -290
  145. package/pennyfarthing-dist/personas/themes/jane-austen.yaml +0 -277
  146. package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +0 -308
  147. package/pennyfarthing-dist/personas/themes/justified.yaml +0 -290
  148. package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +0 -339
  149. package/pennyfarthing-dist/personas/themes/les-miserables.yaml +0 -289
  150. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +0 -322
  151. package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +0 -321
  152. package/pennyfarthing-dist/personas/themes/mad-max.yaml +0 -345
  153. package/pennyfarthing-dist/personas/themes/mad-men.yaml +0 -279
  154. package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +0 -290
  155. package/pennyfarthing-dist/personas/themes/mash.yaml +0 -325
  156. package/pennyfarthing-dist/personas/themes/mass-effect.yaml +0 -279
  157. package/pennyfarthing-dist/personas/themes/military-commanders.yaml +0 -294
  158. package/pennyfarthing-dist/personas/themes/moby-dick.yaml +0 -308
  159. package/pennyfarthing-dist/personas/themes/monty-python.yaml +0 -293
  160. package/pennyfarthing-dist/personas/themes/neuromancer.yaml +0 -290
  161. package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +0 -317
  162. package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +0 -360
  163. package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +0 -288
  164. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +0 -340
  165. package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +0 -308
  166. package/pennyfarthing-dist/personas/themes/rome.yaml +0 -290
  167. package/pennyfarthing-dist/personas/themes/russian-masters.yaml +0 -306
  168. package/pennyfarthing-dist/personas/themes/sandman.yaml +0 -278
  169. package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +0 -308
  170. package/pennyfarthing-dist/personas/themes/shakespeare.yaml +0 -291
  171. package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +0 -279
  172. package/pennyfarthing-dist/personas/themes/snow-crash.yaml +0 -278
  173. package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +0 -290
  174. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -355
  175. package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +0 -324
  176. package/pennyfarthing-dist/personas/themes/star-wars.yaml +0 -293
  177. package/pennyfarthing-dist/personas/themes/succession.yaml +0 -290
  178. package/pennyfarthing-dist/personas/themes/superfriends.yaml +0 -328
  179. package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +0 -355
  180. package/pennyfarthing-dist/personas/themes/the-americans.yaml +0 -290
  181. package/pennyfarthing-dist/personas/themes/the-crown.yaml +0 -290
  182. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +0 -333
  183. package/pennyfarthing-dist/personas/themes/the-good-place.yaml +0 -311
  184. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +0 -338
  185. package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +0 -290
  186. package/pennyfarthing-dist/personas/themes/the-office.yaml +0 -319
  187. package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +0 -296
  188. package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +0 -290
  189. package/pennyfarthing-dist/personas/themes/the-wire.yaml +0 -299
  190. package/pennyfarthing-dist/personas/themes/the-witcher.yaml +0 -290
  191. package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +0 -292
  192. package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +0 -290
  193. package/pennyfarthing-dist/personas/themes/watchmen.yaml +0 -281
  194. package/pennyfarthing-dist/personas/themes/west-wing.yaml +0 -281
  195. package/pennyfarthing-dist/personas/themes/world-explorers.yaml +0 -308
  196. package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +0 -295
  197. package/pennyfarthing-dist/personas/themes/x-files.yaml +0 -292
  198. package/pennyfarthing-dist/scripts/README.md +0 -68
  199. package/pennyfarthing-dist/scripts/core/README.md +0 -26
  200. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -383
  201. package/pennyfarthing-dist/scripts/core/check-context.sh +0 -280
  202. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -101
  203. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -95
  204. package/pennyfarthing-dist/scripts/core/prime.sh +0 -30
  205. package/pennyfarthing-dist/scripts/core/run.sh +0 -84
  206. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -21
  207. package/pennyfarthing-dist/scripts/git/README.md +0 -25
  208. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -267
  209. package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -152
  210. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -91
  211. package/pennyfarthing-dist/scripts/git/release.sh +0 -199
  212. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -494
  213. package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -162
  214. package/pennyfarthing-dist/scripts/hooks/README.md +0 -32
  215. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  216. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -106
  217. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -60
  218. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -65
  219. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -35
  220. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -166
  221. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -107
  222. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -71
  223. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -54
  224. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -20
  225. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -499
  226. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -97
  227. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -65
  228. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -94
  229. package/pennyfarthing-dist/scripts/jira/README.md +0 -36
  230. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -101
  231. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -97
  232. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -22
  233. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +0 -464
  234. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -266
  235. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -18
  236. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +0 -16
  237. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -16
  238. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +0 -16
  239. package/pennyfarthing-dist/scripts/lib/README.md +0 -29
  240. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -177
  241. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -136
  242. package/pennyfarthing-dist/scripts/lib/common.sh +0 -212
  243. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -269
  244. package/pennyfarthing-dist/scripts/lib/find-root.sh +0 -35
  245. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -186
  246. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -76
  247. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -102
  248. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -97
  249. package/pennyfarthing-dist/scripts/misc/README.md +0 -44
  250. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -13
  251. package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -226
  252. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -91
  253. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -247
  254. package/pennyfarthing-dist/scripts/misc/deploy.sh +0 -296
  255. package/pennyfarthing-dist/scripts/misc/doctor-dogfood.sh +0 -392
  256. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -231
  257. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -110
  258. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -74
  259. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -10
  260. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -319
  261. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -141
  262. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -778
  263. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -219
  264. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -7
  265. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -319
  266. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -193
  267. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -257
  268. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -270
  269. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -160
  270. package/pennyfarthing-dist/scripts/sprint/README.md +0 -29
  271. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +0 -139
  272. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +0 -97
  273. package/pennyfarthing-dist/scripts/sprint/check-story.sh +0 -164
  274. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +0 -58
  275. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +0 -69
  276. package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +0 -10
  277. package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +0 -270
  278. package/pennyfarthing-dist/scripts/sprint/list-future.sh +0 -151
  279. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +0 -116
  280. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +0 -164
  281. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +0 -421
  282. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +0 -39
  283. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +0 -241
  284. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +0 -134
  285. package/pennyfarthing-dist/scripts/story/README.md +0 -23
  286. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -19
  287. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -18
  288. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -18
  289. package/pennyfarthing-dist/scripts/test/README.md +0 -23
  290. package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +0 -59
  291. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -220
  292. package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -374
  293. package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
  294. package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
  295. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -582
  296. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -515
  297. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -599
  298. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -332
  299. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -573
  300. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -859
  301. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -662
  302. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -589
  303. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -105
  304. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -597
  305. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -514
  306. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -517
  307. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -331
  308. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -647
  309. package/pennyfarthing-dist/scripts/theme/README.md +0 -22
  310. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -13
  311. package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +0 -402
  312. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -73
  313. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
  314. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -576
  315. package/pennyfarthing-dist/scripts/workflow/README.md +0 -28
  316. package/pennyfarthing-dist/scripts/workflow/check.py +0 -502
  317. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -24
  318. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -159
  319. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -228
  320. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -61
  321. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -13
  322. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -124
  323. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -40
  324. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -163
  325. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -138
  326. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -256
  327. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -167
  328. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +0 -242
  329. package/pennyfarthing-dist/skills/changelog/SKILL.md +0 -367
  330. package/pennyfarthing-dist/skills/code-review/SKILL.md +0 -168
  331. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +0 -274
  332. package/pennyfarthing-dist/skills/cyclist/SKILL.md +0 -88
  333. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -437
  334. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -258
  335. package/pennyfarthing-dist/skills/jira/SKILL.md +0 -484
  336. package/pennyfarthing-dist/skills/judge/SKILL.md +0 -636
  337. package/pennyfarthing-dist/skills/just/SKILL.md +0 -403
  338. package/pennyfarthing-dist/skills/mermaid/SKILL.md +0 -240
  339. package/pennyfarthing-dist/skills/otel/skill.md +0 -223
  340. package/pennyfarthing-dist/skills/permissions/skill.md +0 -172
  341. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -178
  342. package/pennyfarthing-dist/skills/skill-registry.schema.json +0 -107
  343. package/pennyfarthing-dist/skills/skill-registry.yaml +0 -393
  344. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +0 -101
  345. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +0 -97
  346. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +0 -164
  347. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +0 -101
  348. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +0 -116
  349. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +0 -164
  350. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +0 -39
  351. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +0 -147
  352. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +0 -86
  353. package/pennyfarthing-dist/skills/sprint/skill.md +0 -465
  354. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -159
  355. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -198
  356. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -162
  357. package/pennyfarthing-dist/skills/story/skill.md +0 -219
  358. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +0 -390
  359. package/pennyfarthing-dist/skills/testing/SKILL.md +0 -99
  360. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +0 -124
  361. package/pennyfarthing-dist/skills/theme/skill.md +0 -129
  362. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +0 -174
  363. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -91
  364. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -163
  365. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -138
  366. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -273
  367. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -167
  368. package/pennyfarthing-dist/skills/workflow/skill.md +0 -337
  369. package/pennyfarthing-dist/skills/yq/SKILL.md +0 -264
  370. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +0 -187
  371. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +0 -59
  372. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +0 -276
  373. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +0 -61
  374. package/pennyfarthing-dist/templates/persona-config.yaml.template +0 -22
  375. package/pennyfarthing-dist/templates/preferences.yaml.template +0 -15
  376. package/pennyfarthing-dist/templates/settings.local.json.template +0 -101
  377. package/pennyfarthing-dist/templates/setup-env.sh.template +0 -18
  378. package/pennyfarthing-dist/templates/shared-context.md.template +0 -70
  379. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +0 -40
  380. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +0 -37
  381. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +0 -34
  382. package/pennyfarthing-dist/workflows/agent-docs.yaml +0 -70
  383. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +0 -101
  384. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +0 -93
  385. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +0 -115
  386. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +0 -133
  387. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +0 -138
  388. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +0 -133
  389. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +0 -142
  390. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +0 -160
  391. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +0 -102
  392. package/pennyfarthing-dist/workflows/architecture.yaml +0 -65
  393. package/pennyfarthing-dist/workflows/bdd.yaml +0 -60
  394. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +0 -62
  395. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +0 -44
  396. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +0 -736
  397. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +0 -49
  398. package/pennyfarthing-dist/workflows/code-review/checklist.md +0 -23
  399. package/pennyfarthing-dist/workflows/code-review/instructions.md +0 -234
  400. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +0 -51
  401. package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
  402. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
  403. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
  404. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +0 -256
  405. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +0 -233
  406. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +0 -272
  407. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +0 -153
  408. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +0 -122
  409. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +0 -57
  410. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +0 -28
  411. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +0 -101
  412. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +0 -116
  413. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +0 -224
  414. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +0 -88
  415. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +0 -79
  416. package/pennyfarthing-dist/workflows/git-cleanup.yaml +0 -59
  417. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +0 -190
  418. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +0 -178
  419. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -179
  420. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +0 -139
  421. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +0 -252
  422. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +0 -133
  423. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +0 -4
  424. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +0 -40
  425. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +0 -13
  426. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +0 -197
  427. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +0 -11
  428. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +0 -191
  429. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +0 -153
  430. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +0 -224
  431. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +0 -226
  432. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +0 -213
  433. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +0 -207
  434. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +0 -226
  435. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +0 -237
  436. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +0 -228
  437. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +0 -231
  438. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +0 -242
  439. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +0 -217
  440. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +0 -180
  441. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +0 -247
  442. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +0 -208
  443. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +0 -249
  444. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +0 -253
  445. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +0 -168
  446. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +0 -218
  447. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +0 -191
  448. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +0 -209
  449. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +0 -174
  450. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +0 -214
  451. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +0 -228
  452. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +0 -217
  453. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -205
  454. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +0 -243
  455. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +0 -263
  456. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +0 -209
  457. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +0 -264
  458. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +0 -242
  459. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +0 -232
  460. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +0 -10
  461. package/pennyfarthing-dist/workflows/prd/workflow.yaml +0 -42
  462. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +0 -177
  463. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +0 -161
  464. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +0 -199
  465. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +0 -202
  466. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +0 -205
  467. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +0 -219
  468. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +0 -194
  469. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +0 -10
  470. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +0 -31
  471. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +0 -21
  472. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +0 -184
  473. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +0 -318
  474. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +0 -278
  475. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +0 -27
  476. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +0 -156
  477. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +0 -120
  478. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +0 -113
  479. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +0 -113
  480. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +0 -106
  481. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +0 -140
  482. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +0 -27
  483. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -189
  484. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -144
  485. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -128
  486. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -191
  487. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
  488. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
  489. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +0 -137
  490. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +0 -229
  491. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +0 -238
  492. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +0 -206
  493. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +0 -234
  494. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +0 -443
  495. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +0 -182
  496. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +0 -237
  497. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +0 -200
  498. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +0 -249
  499. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +0 -259
  500. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +0 -177
  501. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +0 -475
  502. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +0 -137
  503. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +0 -239
  504. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +0 -248
  505. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +0 -202
  506. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +0 -239
  507. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +0 -486
  508. package/pennyfarthing-dist/workflows/research/templates/research.template.md +0 -29
  509. package/pennyfarthing-dist/workflows/research/workflow.yaml +0 -45
  510. package/pennyfarthing-dist/workflows/retrospective/checklist.md +0 -31
  511. package/pennyfarthing-dist/workflows/retrospective/instructions.md +0 -1443
  512. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +0 -50
  513. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +0 -33
  514. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +0 -55
  515. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +0 -54
  516. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +0 -44
  517. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +0 -64
  518. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +0 -73
  519. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +0 -56
  520. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +0 -34
  521. package/pennyfarthing-dist/workflows/tdd.yaml +0 -50
  522. package/pennyfarthing-dist/workflows/trivial.yaml +0 -40
  523. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +0 -135
  524. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +0 -127
  525. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +0 -190
  526. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +0 -216
  527. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +0 -219
  528. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +0 -234
  529. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +0 -252
  530. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +0 -254
  531. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +0 -224
  532. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +0 -224
  533. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +0 -241
  534. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +0 -248
  535. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +0 -237
  536. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +0 -264
  537. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +0 -228
  538. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +0 -13
  539. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +0 -41
  540. package/pennyfarthing_scripts/__init__.py +0 -17
  541. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  542. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  543. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  544. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  545. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  546. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  547. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  548. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  549. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  550. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  551. package/pennyfarthing_scripts/bellmode_hook.py +0 -154
  552. package/pennyfarthing_scripts/brownfield/__init__.py +0 -35
  553. package/pennyfarthing_scripts/brownfield/__main__.py +0 -7
  554. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  555. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  556. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  557. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  558. package/pennyfarthing_scripts/brownfield/cli.py +0 -131
  559. package/pennyfarthing_scripts/brownfield/discover.py +0 -753
  560. package/pennyfarthing_scripts/common/__init__.py +0 -49
  561. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  562. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  563. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  564. package/pennyfarthing_scripts/common/config.py +0 -65
  565. package/pennyfarthing_scripts/common/output.py +0 -180
  566. package/pennyfarthing_scripts/config.py +0 -21
  567. package/pennyfarthing_scripts/git/__init__.py +0 -29
  568. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  569. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  570. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  571. package/pennyfarthing_scripts/git/create_branches.py +0 -439
  572. package/pennyfarthing_scripts/git/status_all.py +0 -310
  573. package/pennyfarthing_scripts/hooks.py +0 -455
  574. package/pennyfarthing_scripts/jira/__init__.py +0 -93
  575. package/pennyfarthing_scripts/jira/__main__.py +0 -10
  576. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  577. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  578. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  579. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  580. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  581. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  582. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  583. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  584. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  585. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  586. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  587. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  588. package/pennyfarthing_scripts/jira/bidirectional.py +0 -561
  589. package/pennyfarthing_scripts/jira/claim.py +0 -211
  590. package/pennyfarthing_scripts/jira/cli.py +0 -150
  591. package/pennyfarthing_scripts/jira/client.py +0 -613
  592. package/pennyfarthing_scripts/jira/epic.py +0 -176
  593. package/pennyfarthing_scripts/jira/story.py +0 -219
  594. package/pennyfarthing_scripts/jira/sync.py +0 -350
  595. package/pennyfarthing_scripts/jira_bidirectional_sync.py +0 -37
  596. package/pennyfarthing_scripts/jira_epic_creation.py +0 -30
  597. package/pennyfarthing_scripts/jira_sync.py +0 -36
  598. package/pennyfarthing_scripts/jira_sync_story.py +0 -30
  599. package/pennyfarthing_scripts/output.py +0 -37
  600. package/pennyfarthing_scripts/preflight/__init__.py +0 -17
  601. package/pennyfarthing_scripts/preflight/__main__.py +0 -10
  602. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  603. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  604. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  605. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  606. package/pennyfarthing_scripts/preflight/cli.py +0 -141
  607. package/pennyfarthing_scripts/preflight/finish.py +0 -382
  608. package/pennyfarthing_scripts/pretooluse_hook.py +0 -142
  609. package/pennyfarthing_scripts/prime/__init__.py +0 -125
  610. package/pennyfarthing_scripts/prime/__main__.py +0 -8
  611. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  612. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  613. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  614. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  615. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  616. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  617. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  618. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  619. package/pennyfarthing_scripts/prime/cli.py +0 -375
  620. package/pennyfarthing_scripts/prime/loader.py +0 -239
  621. package/pennyfarthing_scripts/prime/models.py +0 -169
  622. package/pennyfarthing_scripts/prime/persona.py +0 -288
  623. package/pennyfarthing_scripts/prime/session.py +0 -183
  624. package/pennyfarthing_scripts/prime/workflow.py +0 -275
  625. package/pennyfarthing_scripts/sprint/__init__.py +0 -66
  626. package/pennyfarthing_scripts/sprint/__main__.py +0 -10
  627. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  628. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  629. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  630. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  631. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  632. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  633. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  634. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  635. package/pennyfarthing_scripts/sprint/archive.py +0 -108
  636. package/pennyfarthing_scripts/sprint/cli.py +0 -124
  637. package/pennyfarthing_scripts/sprint/loader.py +0 -193
  638. package/pennyfarthing_scripts/sprint/status.py +0 -122
  639. package/pennyfarthing_scripts/sprint/validator.py +0 -405
  640. package/pennyfarthing_scripts/sprint/work.py +0 -192
  641. package/pennyfarthing_scripts/story/__init__.py +0 -67
  642. package/pennyfarthing_scripts/story/__main__.py +0 -10
  643. package/pennyfarthing_scripts/story/cli.py +0 -105
  644. package/pennyfarthing_scripts/story/create.py +0 -167
  645. package/pennyfarthing_scripts/story/size.py +0 -113
  646. package/pennyfarthing_scripts/story/template.py +0 -151
  647. package/pennyfarthing_scripts/swebench.py +0 -216
  648. package/pennyfarthing_scripts/tests/__init__.py +0 -1
  649. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  650. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  651. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  652. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  653. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  654. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  655. package/pennyfarthing_scripts/tests/conftest.py +0 -106
  656. package/pennyfarthing_scripts/tests/test_brownfield.py +0 -842
  657. package/pennyfarthing_scripts/tests/test_cli_modules.py +0 -245
  658. package/pennyfarthing_scripts/tests/test_common.py +0 -180
  659. package/pennyfarthing_scripts/tests/test_git_utils.py +0 -866
  660. package/pennyfarthing_scripts/tests/test_jira_package.py +0 -334
  661. package/pennyfarthing_scripts/tests/test_package_structure.py +0 -372
  662. package/pennyfarthing_scripts/tests/test_prime.py +0 -1050
  663. package/pennyfarthing_scripts/tests/test_sprint_package.py +0 -236
  664. package/pennyfarthing_scripts/tests/test_sprint_validator.py +0 -675
  665. package/pennyfarthing_scripts/tests/test_story_package.py +0 -156
  666. package/pennyfarthing_scripts/welcome_hook.py +0 -157
  667. package/pennyfarthing_scripts/workflow.py +0 -183
  668. /package/{packages/core/bin → bin}/pennyfarthing.js +0 -0
  669. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts +0 -0
  670. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts.map +0 -0
  671. /package/{packages/core/dist → dist}/bmad/context-reader.js +0 -0
  672. /package/{packages/core/dist → dist}/bmad/context-reader.js.map +0 -0
  673. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts +0 -0
  674. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts.map +0 -0
  675. /package/{packages/core/dist → dist}/bmad/context-reader.test.js +0 -0
  676. /package/{packages/core/dist → dist}/bmad/context-reader.test.js.map +0 -0
  677. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts +0 -0
  678. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts.map +0 -0
  679. /package/{packages/core/dist → dist}/bmad/epics-parser.js +0 -0
  680. /package/{packages/core/dist → dist}/bmad/epics-parser.js.map +0 -0
  681. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts +0 -0
  682. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts.map +0 -0
  683. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js +0 -0
  684. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js.map +0 -0
  685. /package/{packages/core/dist → dist}/bmad/index.d.ts +0 -0
  686. /package/{packages/core/dist → dist}/bmad/index.d.ts.map +0 -0
  687. /package/{packages/core/dist → dist}/bmad/index.js +0 -0
  688. /package/{packages/core/dist → dist}/bmad/index.js.map +0 -0
  689. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts +0 -0
  690. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts.map +0 -0
  691. /package/{packages/core/dist → dist}/bmad/status-sync.js +0 -0
  692. /package/{packages/core/dist → dist}/bmad/status-sync.js.map +0 -0
  693. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts +0 -0
  694. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts.map +0 -0
  695. /package/{packages/core/dist → dist}/bmad/status-sync.test.js +0 -0
  696. /package/{packages/core/dist → dist}/bmad/status-sync.test.js.map +0 -0
  697. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts +0 -0
  698. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts.map +0 -0
  699. /package/{packages/core/dist → dist}/bmad/story-exporter.js +0 -0
  700. /package/{packages/core/dist → dist}/bmad/story-exporter.js.map +0 -0
  701. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts +0 -0
  702. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts.map +0 -0
  703. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js +0 -0
  704. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js.map +0 -0
  705. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts +0 -0
  706. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts.map +0 -0
  707. /package/{packages/core/dist → dist}/bmad/story-parser.js +0 -0
  708. /package/{packages/core/dist → dist}/bmad/story-parser.js.map +0 -0
  709. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts +0 -0
  710. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts.map +0 -0
  711. /package/{packages/core/dist → dist}/bmad/story-parser.test.js +0 -0
  712. /package/{packages/core/dist → dist}/bmad/story-parser.test.js.map +0 -0
  713. /package/{packages/core/dist → dist}/cli/commands/command.d.ts +0 -0
  714. /package/{packages/core/dist → dist}/cli/commands/command.d.ts.map +0 -0
  715. /package/{packages/core/dist → dist}/cli/commands/command.js +0 -0
  716. /package/{packages/core/dist → dist}/cli/commands/command.js.map +0 -0
  717. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts +0 -0
  718. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts.map +0 -0
  719. /package/{packages/core/dist → dist}/cli/commands/cyclist.js +0 -0
  720. /package/{packages/core/dist → dist}/cli/commands/cyclist.js.map +0 -0
  721. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts +0 -0
  722. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts.map +0 -0
  723. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js +0 -0
  724. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js.map +0 -0
  725. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts +0 -0
  726. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts.map +0 -0
  727. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js +0 -0
  728. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js.map +0 -0
  729. /package/{packages/core/dist → dist}/cli/commands/init.d.ts +0 -0
  730. /package/{packages/core/dist → dist}/cli/commands/init.d.ts.map +0 -0
  731. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts +0 -0
  732. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts.map +0 -0
  733. /package/{packages/core/dist → dist}/cli/commands/skill.js +0 -0
  734. /package/{packages/core/dist → dist}/cli/commands/skill.js.map +0 -0
  735. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts +0 -0
  736. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts.map +0 -0
  737. /package/{packages/core/dist → dist}/cli/commands/theme.js +0 -0
  738. /package/{packages/core/dist → dist}/cli/commands/theme.js.map +0 -0
  739. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts +0 -0
  740. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts.map +0 -0
  741. /package/{packages/core/dist → dist}/cli/commands/uninstall.js +0 -0
  742. /package/{packages/core/dist → dist}/cli/commands/uninstall.js.map +0 -0
  743. /package/{packages/core/dist → dist}/cli/commands/update.d.ts +0 -0
  744. /package/{packages/core/dist → dist}/cli/commands/update.d.ts.map +0 -0
  745. /package/{packages/core/dist → dist}/cli/commands/update.js +0 -0
  746. /package/{packages/core/dist → dist}/cli/commands/update.js.map +0 -0
  747. /package/{packages/core/dist → dist}/cli/commands/version.d.ts +0 -0
  748. /package/{packages/core/dist → dist}/cli/commands/version.d.ts.map +0 -0
  749. /package/{packages/core/dist → dist}/cli/commands/version.js +0 -0
  750. /package/{packages/core/dist → dist}/cli/commands/version.js.map +0 -0
  751. /package/{packages/core/dist → dist}/cli/customization.test.d.ts +0 -0
  752. /package/{packages/core/dist → dist}/cli/customization.test.d.ts.map +0 -0
  753. /package/{packages/core/dist → dist}/cli/customization.test.js +0 -0
  754. /package/{packages/core/dist → dist}/cli/customization.test.js.map +0 -0
  755. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts +0 -0
  756. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts.map +0 -0
  757. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js +0 -0
  758. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js.map +0 -0
  759. /package/{packages/core/dist → dist}/cli/index.d.ts +0 -0
  760. /package/{packages/core/dist → dist}/cli/index.d.ts.map +0 -0
  761. /package/{packages/core/dist → dist}/cli/index.js +0 -0
  762. /package/{packages/core/dist → dist}/cli/index.js.map +0 -0
  763. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts +0 -0
  764. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts.map +0 -0
  765. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.js +0 -0
  766. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.js.map +0 -0
  767. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts +0 -0
  768. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts.map +0 -0
  769. /package/{packages/core/dist → dist}/cli/theme-maker.test.js +0 -0
  770. /package/{packages/core/dist → dist}/cli/theme-maker.test.js.map +0 -0
  771. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts +0 -0
  772. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts.map +0 -0
  773. /package/{packages/core/dist → dist}/cli/utils/constants.js +0 -0
  774. /package/{packages/core/dist → dist}/cli/utils/constants.js.map +0 -0
  775. /package/{packages/core/dist → dist}/cli/utils/files.d.ts +0 -0
  776. /package/{packages/core/dist → dist}/cli/utils/files.d.ts.map +0 -0
  777. /package/{packages/core/dist → dist}/cli/utils/files.js +0 -0
  778. /package/{packages/core/dist → dist}/cli/utils/files.js.map +0 -0
  779. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts +0 -0
  780. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts.map +0 -0
  781. /package/{packages/core/dist → dist}/cli/utils/logger.js +0 -0
  782. /package/{packages/core/dist → dist}/cli/utils/logger.js.map +0 -0
  783. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts +0 -0
  784. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts.map +0 -0
  785. /package/{packages/core/dist → dist}/cli/utils/manifest.js +0 -0
  786. /package/{packages/core/dist → dist}/cli/utils/manifest.js.map +0 -0
  787. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts +0 -0
  788. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts.map +0 -0
  789. /package/{packages/core/dist → dist}/cli/utils/node-modules.js +0 -0
  790. /package/{packages/core/dist → dist}/cli/utils/node-modules.js.map +0 -0
  791. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts +0 -0
  792. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts.map +0 -0
  793. /package/{packages/core/dist → dist}/cli/utils/prompts.js +0 -0
  794. /package/{packages/core/dist → dist}/cli/utils/prompts.js.map +0 -0
  795. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts +0 -0
  796. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts.map +0 -0
  797. /package/{packages/core/dist → dist}/cli/utils/symlinks.js +0 -0
  798. /package/{packages/core/dist → dist}/cli/utils/symlinks.js.map +0 -0
  799. /package/{packages/core/dist → dist}/cli/utils/themes.d.ts +0 -0
  800. /package/{packages/core/dist → dist}/cli/utils/themes.d.ts.map +0 -0
  801. /package/{packages/core/dist → dist}/cli/utils/themes.js +0 -0
  802. /package/{packages/core/dist → dist}/cli/utils/themes.js.map +0 -0
  803. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts +0 -0
  804. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts.map +0 -0
  805. /package/{packages/core/dist → dist}/cli/utils/themes.test.js +0 -0
  806. /package/{packages/core/dist → dist}/cli/utils/themes.test.js.map +0 -0
  807. /package/{packages/core/dist → dist}/cli/utils/version.d.ts +0 -0
  808. /package/{packages/core/dist → dist}/cli/utils/version.d.ts.map +0 -0
  809. /package/{packages/core/dist → dist}/cli/utils/version.js +0 -0
  810. /package/{packages/core/dist → dist}/cli/utils/version.js.map +0 -0
  811. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts +0 -0
  812. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts.map +0 -0
  813. /package/{packages/core/dist → dist}/cli/workspace.test.js +0 -0
  814. /package/{packages/core/dist → dist}/cli/workspace.test.js.map +0 -0
  815. /package/{packages/core/dist → dist}/index.d.ts +0 -0
  816. /package/{packages/core/dist → dist}/index.d.ts.map +0 -0
  817. /package/{packages/core/dist → dist}/index.js +0 -0
  818. /package/{packages/core/dist → dist}/index.js.map +0 -0
  819. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts +0 -0
  820. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts.map +0 -0
  821. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js +0 -0
  822. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js.map +0 -0
  823. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts +0 -0
  824. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts.map +0 -0
  825. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js +0 -0
  826. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js.map +0 -0
  827. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts +0 -0
  828. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts.map +0 -0
  829. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js +0 -0
  830. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js.map +0 -0
  831. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts +0 -0
  832. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts.map +0 -0
  833. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js +0 -0
  834. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js.map +0 -0
  835. /package/{packages/core/dist → dist}/permissions/index.d.ts +0 -0
  836. /package/{packages/core/dist → dist}/permissions/index.d.ts.map +0 -0
  837. /package/{packages/core/dist → dist}/permissions/index.js +0 -0
  838. /package/{packages/core/dist → dist}/permissions/index.js.map +0 -0
  839. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts +0 -0
  840. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts.map +0 -0
  841. /package/{packages/core/dist → dist}/permissions/permission-schema.js +0 -0
  842. /package/{packages/core/dist → dist}/permissions/permission-schema.js.map +0 -0
  843. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts +0 -0
  844. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts.map +0 -0
  845. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js +0 -0
  846. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js.map +0 -0
  847. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts +0 -0
  848. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts.map +0 -0
  849. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js +0 -0
  850. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js.map +0 -0
  851. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts +0 -0
  852. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts.map +0 -0
  853. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js +0 -0
  854. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js.map +0 -0
  855. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts +0 -0
  856. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts.map +0 -0
  857. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js +0 -0
  858. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js.map +0 -0
  859. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts +0 -0
  860. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts.map +0 -0
  861. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js +0 -0
  862. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js.map +0 -0
  863. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts +0 -0
  864. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts.map +0 -0
  865. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js +0 -0
  866. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js.map +0 -0
  867. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts +0 -0
  868. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts.map +0 -0
  869. /package/{packages/core/dist → dist}/scripts/generate-report.js +0 -0
  870. /package/{packages/core/dist → dist}/scripts/generate-report.js.map +0 -0
  871. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts +0 -0
  872. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts.map +0 -0
  873. /package/{packages/core/dist → dist}/scripts/generate-report.test.js +0 -0
  874. /package/{packages/core/dist → dist}/scripts/generate-report.test.js.map +0 -0
  875. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts +0 -0
  876. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts.map +0 -0
  877. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js +0 -0
  878. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js.map +0 -0
  879. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts +0 -0
  880. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts.map +0 -0
  881. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js +0 -0
  882. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js.map +0 -0
  883. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts +0 -0
  884. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts.map +0 -0
  885. /package/{packages/core/dist → dist}/scripts/generate-spider.js +0 -0
  886. /package/{packages/core/dist → dist}/scripts/generate-spider.js.map +0 -0
  887. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts +0 -0
  888. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts.map +0 -0
  889. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js +0 -0
  890. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js.map +0 -0
  891. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts +0 -0
  892. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts.map +0 -0
  893. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js +0 -0
  894. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js.map +0 -0
  895. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts +0 -0
  896. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts.map +0 -0
  897. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js +0 -0
  898. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js.map +0 -0
  899. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts +0 -0
  900. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts.map +0 -0
  901. /package/{packages/core/dist → dist}/scripts/run-ci.test.js +0 -0
  902. /package/{packages/core/dist → dist}/scripts/run-ci.test.js.map +0 -0
  903. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts +0 -0
  904. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts.map +0 -0
  905. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js +0 -0
  906. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js.map +0 -0
  907. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts +0 -0
  908. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts.map +0 -0
  909. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js +0 -0
  910. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js.map +0 -0
  911. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts +0 -0
  912. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts.map +0 -0
  913. /package/{packages/core/dist → dist}/workflow/gate-handler.js +0 -0
  914. /package/{packages/core/dist → dist}/workflow/gate-handler.js.map +0 -0
  915. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts +0 -0
  916. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts.map +0 -0
  917. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js +0 -0
  918. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js.map +0 -0
  919. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts +0 -0
  920. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts.map +0 -0
  921. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js +0 -0
  922. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js.map +0 -0
  923. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts +0 -0
  924. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts.map +0 -0
  925. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js +0 -0
  926. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js.map +0 -0
  927. /package/{packages/core/dist → dist}/workflow/handoff.d.ts +0 -0
  928. /package/{packages/core/dist → dist}/workflow/handoff.d.ts.map +0 -0
  929. /package/{packages/core/dist → dist}/workflow/handoff.js +0 -0
  930. /package/{packages/core/dist → dist}/workflow/handoff.js.map +0 -0
  931. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts +0 -0
  932. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts.map +0 -0
  933. /package/{packages/core/dist → dist}/workflow/handoff.test.js +0 -0
  934. /package/{packages/core/dist → dist}/workflow/handoff.test.js.map +0 -0
  935. /package/{packages/core/dist → dist}/workflow/index.d.ts +0 -0
  936. /package/{packages/core/dist → dist}/workflow/index.d.ts.map +0 -0
  937. /package/{packages/core/dist → dist}/workflow/index.js +0 -0
  938. /package/{packages/core/dist → dist}/workflow/index.js.map +0 -0
  939. /package/{packages/core/dist → dist}/workflow/session-state.d.ts +0 -0
  940. /package/{packages/core/dist → dist}/workflow/session-state.d.ts.map +0 -0
  941. /package/{packages/core/dist → dist}/workflow/session-state.js +0 -0
  942. /package/{packages/core/dist → dist}/workflow/session-state.js.map +0 -0
  943. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts +0 -0
  944. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts.map +0 -0
  945. /package/{packages/core/dist → dist}/workflow/session-state.test.js +0 -0
  946. /package/{packages/core/dist → dist}/workflow/session-state.test.js.map +0 -0
  947. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts +0 -0
  948. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts.map +0 -0
  949. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js +0 -0
  950. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js.map +0 -0
  951. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts +0 -0
  952. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts.map +0 -0
  953. /package/{packages/core/dist → dist}/workflow/step-parser.js +0 -0
  954. /package/{packages/core/dist → dist}/workflow/step-parser.js.map +0 -0
  955. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts +0 -0
  956. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts.map +0 -0
  957. /package/{packages/core/dist → dist}/workflow/step-parser.test.js +0 -0
  958. /package/{packages/core/dist → dist}/workflow/step-parser.test.js.map +0 -0
  959. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts +0 -0
  960. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts.map +0 -0
  961. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js +0 -0
  962. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js.map +0 -0
  963. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts +0 -0
  964. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts.map +0 -0
  965. /package/{packages/core/dist → dist}/workflow/test-cache.js +0 -0
  966. /package/{packages/core/dist → dist}/workflow/test-cache.js.map +0 -0
  967. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts +0 -0
  968. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts.map +0 -0
  969. /package/{packages/core/dist → dist}/workflow/test-cache.test.js +0 -0
  970. /package/{packages/core/dist → dist}/workflow/test-cache.test.js.map +0 -0
  971. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts +0 -0
  972. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts.map +0 -0
  973. /package/{packages/core/dist → dist}/workflow/trimodal.js +0 -0
  974. /package/{packages/core/dist → dist}/workflow/trimodal.js.map +0 -0
  975. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts +0 -0
  976. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts.map +0 -0
  977. /package/{packages/core/dist → dist}/workflow/trimodal.test.js +0 -0
  978. /package/{packages/core/dist → dist}/workflow/trimodal.test.js.map +0 -0
  979. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts +0 -0
  980. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts.map +0 -0
  981. /package/{packages/core/dist → dist}/workflow/variable-resolver.js +0 -0
  982. /package/{packages/core/dist → dist}/workflow/variable-resolver.js.map +0 -0
  983. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts +0 -0
  984. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts.map +0 -0
  985. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js +0 -0
  986. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js.map +0 -0
  987. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts +0 -0
  988. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts.map +0 -0
  989. /package/{packages/core/dist → dist}/workflow/workflow-executor.js +0 -0
  990. /package/{packages/core/dist → dist}/workflow/workflow-executor.js.map +0 -0
  991. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts +0 -0
  992. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts.map +0 -0
  993. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js +0 -0
  994. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js.map +0 -0
  995. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts +0 -0
  996. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts.map +0 -0
  997. /package/{packages/core/dist → dist}/workflow/workflow-loader.js +0 -0
  998. /package/{packages/core/dist → dist}/workflow/workflow-loader.js.map +0 -0
  999. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts +0 -0
  1000. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts.map +0 -0
  1001. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js +0 -0
  1002. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js.map +0 -0
  1003. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts +0 -0
  1004. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts.map +0 -0
  1005. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js +0 -0
  1006. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js.map +0 -0
  1007. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts +0 -0
  1008. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts.map +0 -0
  1009. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js +0 -0
  1010. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js.map +0 -0
  1011. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts +0 -0
  1012. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts.map +0 -0
  1013. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js +0 -0
  1014. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js.map +0 -0
  1015. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts +0 -0
  1016. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts.map +0 -0
  1017. /package/{packages/core/dist → dist}/workflow/workflow-router.js +0 -0
  1018. /package/{packages/core/dist → dist}/workflow/workflow-router.js.map +0 -0
  1019. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts +0 -0
  1020. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts.map +0 -0
  1021. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js +0 -0
  1022. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js.map +0 -0
  1023. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts +0 -0
  1024. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts.map +0 -0
  1025. /package/{packages/core/dist → dist}/workflow/workflow-schema.js +0 -0
  1026. /package/{packages/core/dist → dist}/workflow/workflow-schema.js.map +0 -0
  1027. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts +0 -0
  1028. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts.map +0 -0
  1029. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js +0 -0
  1030. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js.map +0 -0
  1031. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts +0 -0
  1032. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts.map +0 -0
  1033. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js +0 -0
  1034. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js.map +0 -0
@@ -1,106 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Bell Mode PostToolUse Hook (Story MSSCI-12275)
4
- #
5
- # This hook is called by Claude Code after each tool execution.
6
- # When bell mode is enabled and there are queued messages, it returns
7
- # the first queued message as additionalContext to be injected into
8
- # Claude's next API call.
9
- #
10
- # Configuration files:
11
- # .pennyfarthing/config.local.yaml - workflow.bell_mode: true/false
12
- # .pennyfarthing/bell-queue.json - [{ "text": "...", "images": [...] }, ...]
13
- #
14
- # Output format (when injecting):
15
- # {
16
- # "hookSpecificOutput": {
17
- # "hookEventName": "PostToolUse",
18
- # "additionalContext": "User feedback: <message>"
19
- # }
20
- # }
21
- #
22
- # Output when disabled or queue empty: (nothing - exit 0)
23
-
24
- # Find project root (walk up to find .pennyfarthing)
25
- PROJECT_ROOT="$PWD"
26
- while [[ "$PROJECT_ROOT" != "/" ]]; do
27
- if [[ -d "$PROJECT_ROOT/.pennyfarthing" ]]; then
28
- break
29
- fi
30
- PROJECT_ROOT="$(dirname "$PROJECT_ROOT")"
31
- done
32
-
33
- if [[ ! -d "$PROJECT_ROOT/.pennyfarthing" ]]; then
34
- # No .pennyfarthing directory found - exit silently
35
- exit 0
36
- fi
37
-
38
- CONFIG_LOCAL_YAML="$PROJECT_ROOT/.pennyfarthing/config.local.yaml"
39
- BELL_QUEUE_FILE="$PROJECT_ROOT/.pennyfarthing/bell-queue.json"
40
-
41
- # Check if bell mode is enabled in config.local.yaml
42
- if [[ ! -f "$CONFIG_LOCAL_YAML" ]]; then
43
- exit 0
44
- fi
45
-
46
- # Parse YAML to check workflow.bell_mode - look for "bell_mode: true"
47
- # This handles both "bell_mode: true" and " bell_mode: true" (indented under workflow)
48
- ENABLED=$(grep -E '^\s*bell_mode:\s*true' "$CONFIG_LOCAL_YAML" 2>/dev/null || true)
49
- if [[ -z "$ENABLED" ]]; then
50
- exit 0
51
- fi
52
-
53
- # Check if queue file exists and has messages
54
- if [[ ! -f "$BELL_QUEUE_FILE" ]]; then
55
- exit 0
56
- fi
57
-
58
- # Read queue and check if non-empty
59
- QUEUE_CONTENT=$(cat "$BELL_QUEUE_FILE" 2>/dev/null)
60
- if [[ -z "$QUEUE_CONTENT" ]] || [[ "$QUEUE_CONTENT" == "[]" ]]; then
61
- exit 0
62
- fi
63
-
64
- # Extract first message text using simple parsing
65
- # The queue format is: [{"text":"...","images":[...]}, ...]
66
- FIRST_MESSAGE_TEXT=$(echo "$QUEUE_CONTENT" | sed -n 's/.*"text"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
67
-
68
- if [[ -z "$FIRST_MESSAGE_TEXT" ]]; then
69
- exit 0
70
- fi
71
-
72
- # Get Cyclist port (if running)
73
- CYCLIST_PORT=""
74
- PORT_FILE="$PROJECT_ROOT/.cyclist-port"
75
- if [[ -f "$PORT_FILE" ]]; then
76
- CYCLIST_PORT=$(cat "$PORT_FILE" 2>/dev/null)
77
- fi
78
-
79
- # Output the hook response JSON
80
- cat << EOF
81
- {
82
- "hookSpecificOutput": {
83
- "hookEventName": "PostToolUse",
84
- "additionalContext": "User feedback: $FIRST_MESSAGE_TEXT"
85
- }
86
- }
87
- EOF
88
-
89
- # Remove the first message from the queue and notify Cyclist
90
- # Run in background to avoid blocking hook response
91
- (
92
- # Dequeue using jq if available
93
- if command -v jq &> /dev/null; then
94
- jq 'if length > 0 then .[1:] else [] end' "$BELL_QUEUE_FILE" > "$BELL_QUEUE_FILE.tmp" 2>/dev/null && mv "$BELL_QUEUE_FILE.tmp" "$BELL_QUEUE_FILE"
95
- fi
96
-
97
- # Notify Cyclist browser to dequeue and display the message
98
- if [[ -n "$CYCLIST_PORT" ]] && [[ "$CYCLIST_PORT" =~ ^[0-9]+$ ]]; then
99
- curl -s -X POST "http://localhost:$CYCLIST_PORT/api/bell-consumed" \
100
- -H "Content-Type: application/json" \
101
- -d "{\"text\": \"$FIRST_MESSAGE_TEXT\"}" \
102
- >/dev/null 2>&1 || true
103
- fi
104
- ) &
105
-
106
- exit 0
@@ -1,60 +0,0 @@
1
- #!/usr/bin/env zsh
2
- # Context circuit breaker hook: Block tool execution at 85% context usage
3
- # Called by Claude Code before tool calls (PreToolUse)
4
- #
5
- # Input: JSON via stdin with tool_name, tool_input
6
- # Output: Exit 0 to allow, Exit 2 to block (stderr shown to Claude)
7
- #
8
- # This hook provides a hard stop when context is critically high,
9
- # unlike context-warning.sh which only warns.
10
-
11
- # Read and discard stdin (required by hook protocol)
12
- cat > /dev/null
13
-
14
- # Script location for sibling script references
15
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
16
-
17
- # Get context percentage from check-context.sh
18
- CONTEXT_SCRIPT="$SCRIPT_DIR/../check-context.sh"
19
- if [[ ! -x "$CONTEXT_SCRIPT" ]]; then
20
- # graceful degradation: if check-context.sh not found, allow the tool
21
- exit 0
22
- fi
23
-
24
- # Run check-context.sh and parse output
25
- eval "$("$CONTEXT_SCRIPT" 2>/dev/null)" 2>/dev/null
26
-
27
- # graceful degradation: if we can't get context, allow the tool
28
- if [[ -z "$CONTEXT_PERCENT" ]] || [[ "$CONTEXT_PERCENT" == "null" ]]; then
29
- exit 0
30
- fi
31
-
32
- # Load critical threshold (default 80%)
33
- CRITICAL_THRESHOLD="${CRITICAL_THRESHOLD:-80}"
34
-
35
- # Check if at or above critical threshold
36
- if [[ "$CONTEXT_PERCENT" -ge "$CRITICAL_THRESHOLD" ]] 2>/dev/null; then
37
- # Send error message to stderr (Claude will see this)
38
- cat >&2 << EOF
39
- CONTEXT CIRCUIT BREAKER TRIGGERED
40
-
41
- Context usage: ${CONTEXT_PERCENT}% - CRITICAL (threshold: ${CRITICAL_THRESHOLD}%)
42
-
43
- Tool execution BLOCKED. You must stop and hand off.
44
-
45
- Required actions:
46
- 1. Save checkpoint: Run checkpoint_save "{phase}" "{work_summary}"
47
- 2. Update session file with current progress
48
- 3. Commit any pending changes
49
- 4. Hand off to next agent OR tell user to start fresh session
50
-
51
- DO NOT attempt further tool calls. This is a hard stop.
52
-
53
- To resume later: /continue-session (story 3-4)
54
- EOF
55
- # Exit 2 blocks the tool execution
56
- exit 2
57
- fi
58
-
59
- # Below threshold: allow the tool
60
- exit 0
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env zsh
2
- # Context warning hook: Warn agent when context usage is high
3
- # Called by Claude Code before tool calls (PreToolUse)
4
- #
5
- # Input: JSON via stdin with tool_name, tool_input
6
- # Output: Warning message to stdout if context > 60%
7
- # Always exits 0 (warning only, never blocks)
8
-
9
- # Read and discard stdin (required by hook protocol)
10
- cat > /dev/null
11
-
12
- # Script location for sibling script references
13
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
14
-
15
- # Get context percentage from check-context.sh
16
- CONTEXT_SCRIPT="$SCRIPT_DIR/../check-context.sh"
17
- if [[ ! -x "$CONTEXT_SCRIPT" ]]; then
18
- exit 0 # Can't check, allow silently
19
- fi
20
-
21
- # Run check-context.sh and parse output
22
- eval "$("$CONTEXT_SCRIPT" 2>/dev/null)" 2>/dev/null
23
-
24
- # Check if we got a valid percentage
25
- if [[ -z "$CONTEXT_PERCENT" ]] || [[ "$CONTEXT_PERCENT" == "null" ]]; then
26
- exit 0 # Can't determine, allow silently
27
- fi
28
-
29
- # Load thresholds from settings (defaults match check-context.sh)
30
- WARNING_THRESHOLD="${WARNING_THRESHOLD:-60}"
31
- CRITICAL_THRESHOLD="${CRITICAL_THRESHOLD:-85}"
32
-
33
- # Output warning if above threshold
34
- if [[ "$CONTEXT_PERCENT" -ge "$CRITICAL_THRESHOLD" ]] 2>/dev/null; then
35
- cat << EOF
36
-
37
- ---
38
- CONTEXT WARNING: ${CONTEXT_PERCENT}% (CRITICAL)
39
-
40
- Context usage is critically high. Recommended actions:
41
- 1. Complete current task immediately
42
- 2. Commit any pending changes
43
- 3. Hand off to next agent or ask user to start fresh session
44
-
45
- Do NOT start new subtasks. Wrap up and hand off.
46
- ---
47
-
48
- EOF
49
- elif [[ "$CONTEXT_PERCENT" -ge "$WARNING_THRESHOLD" ]] 2>/dev/null; then
50
- cat << EOF
51
-
52
- ---
53
- CONTEXT WARNING: ${CONTEXT_PERCENT}%
54
-
55
- Context usage is high. Consider:
56
- - Wrapping up current task soon
57
- - Preparing for handoff to next agent
58
- - Avoiding large file reads or complex operations
59
- ---
60
-
61
- EOF
62
- fi
63
-
64
- # Always allow the tool (we're warning, not blocking)
65
- exit 0
@@ -1,35 +0,0 @@
1
- #!/bin/bash
2
- # otel-auto-config.sh - Auto-configure OTEL for Cyclist web mode (Story 20-1)
3
- #
4
- # This hook checks for a .cyclist-port file in the project directory.
5
- # If found, it sets the OTEL environment variables to connect Claude Code
6
- # telemetry to the running Cyclist server.
7
- #
8
- # Usage: Source this script early in Claude Code startup to enable auto-config.
9
- # source /path/to/otel-auto-config.sh
10
- #
11
- # Prerequisites:
12
- # - Cyclist must be running in web mode (writes .cyclist-port file)
13
- # - CLAUDE_PROJECT_DIR must be set (standard in Claude Code environment)
14
-
15
- # Determine project directory
16
- PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
17
- PORT_FILE="$PROJECT_DIR/.cyclist-port"
18
-
19
- # Check if port file exists
20
- if [[ -f "$PORT_FILE" ]]; then
21
- # Read the port number
22
- PORT=$(cat "$PORT_FILE" 2>/dev/null)
23
-
24
- # Validate port is a number
25
- if [[ "$PORT" =~ ^[0-9]+$ ]]; then
26
- # Set OTEL environment variables
27
- export OTEL_EXPORTER_OTLP_PROTOCOL="http/json"
28
- export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:$PORT"
29
-
30
- # Optional: Log for debugging (can be silenced by setting CYCLIST_QUIET=1)
31
- if [[ -z "$CYCLIST_QUIET" ]]; then
32
- echo "[otel-auto-config] Configured OTEL to http://localhost:$PORT" >&2
33
- fi
34
- fi
35
- fi
@@ -1,166 +0,0 @@
1
- #!/bin/bash
2
- # post-merge.sh - Git hook for automatic sprint YAML updates after PR merge
3
- # Story 8-1: Git Hook for PR Merge Detection
4
- #
5
- # This hook runs after git pull or git merge operations, detecting when a
6
- # story branch is merged and automatically updating the sprint YAML status.
7
- #
8
- # Installation:
9
- # Installed to .git/hooks/post-merge by pennyfarthing init or doctor --fix
10
- #
11
- # Dependencies:
12
- # - yq (for YAML manipulation)
13
- # - sprint-common.sh (for shared sprint functions)
14
-
15
- set -uo pipefail
16
-
17
- # Find project root by looking for .claude/ marker
18
- find_project_root() {
19
- local dir="$PWD"
20
- while [[ ! -d "$dir/.pennyfarthing" ]] && [[ "$dir" != "/" ]]; do
21
- dir="$(dirname "$dir")"
22
- done
23
- if [[ -d "$dir/.pennyfarthing" ]]; then
24
- echo "$dir"
25
- else
26
- return 1
27
- fi
28
- }
29
-
30
- # Initialize paths
31
- PROJECT_ROOT="$(find_project_root 2>/dev/null || echo "")"
32
- if [[ -z "$PROJECT_ROOT" ]]; then
33
- # Not in a pennyfarthing project, silently exit
34
- exit 0
35
- fi
36
-
37
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
38
- SESSION_DIR="$PROJECT_ROOT/.session"
39
- SPRINT_FILE="$PROJECT_ROOT/sprint/current-sprint.yaml"
40
-
41
- # Source sprint-common.sh for shared functions
42
- SPRINT_COMMON="$PROJECT_ROOT/.pennyfarthing/scripts/sprint/sprint-common.sh"
43
- if [[ -f "$SPRINT_COMMON" ]]; then
44
- # shellcheck source=/dev/null
45
- source "$SPRINT_COMMON"
46
- fi
47
-
48
- # extract_story_id BRANCH_NAME
49
- # Extract story ID from branch name pattern feat/X-Y-*
50
- # Returns: X-Y (e.g., "8-1" from "feat/8-1-merge-detection")
51
- # Returns empty for non-matching branches
52
- extract_story_id() {
53
- local branch="$1"
54
-
55
- # Match pattern: feat/EPIC-STORY-description or feat/EPIC-STORY
56
- if [[ "$branch" =~ ^feat/([0-9]+-[0-9]+) ]]; then
57
- echo "${BASH_REMATCH[1]}"
58
- fi
59
- # Returns empty string for non-matching patterns
60
- }
61
-
62
- # update_story_status STORY_ID NEW_STATUS
63
- # Update story status in sprint YAML and add completed date
64
- # Uses yq for YAML manipulation
65
- update_story_status() {
66
- local story_id="$1"
67
- local new_status="${2:-done}"
68
- local completed_date
69
- completed_date=$(date +%Y-%m-%d)
70
-
71
- if [[ ! -f "$SPRINT_FILE" ]]; then
72
- return 1
73
- fi
74
-
75
- # Check if yq is available
76
- if ! command -v yq &>/dev/null; then
77
- echo "Warning: yq not found, cannot update sprint YAML" >&2
78
- return 1
79
- fi
80
-
81
- # Extract epic and story numbers
82
- local epic_num="${story_id%%-*}"
83
- local story_num="${story_id#*-}"
84
-
85
- # Update status and add completed date using yq
86
- yq eval -i "
87
- (.epics[] | select(.id == \"$epic_num\") | .stories[] | select(.id == \"$story_num\")).status = \"$new_status\" |
88
- (.epics[] | select(.id == \"$epic_num\") | .stories[] | select(.id == \"$story_num\")).completed = \"$completed_date\"
89
- " "$SPRINT_FILE"
90
-
91
- return $?
92
- }
93
-
94
- # log_reconciliation STORY_ID MESSAGE
95
- # Log reconciliation event to .session/ directory
96
- log_reconciliation() {
97
- local story_id="$1"
98
- local message="${2:-Merge detected}"
99
- local timestamp
100
- timestamp=$(date +"%Y-%m-%d %H:%M:%S")
101
-
102
- # Ensure session directory exists
103
- mkdir -p "$SESSION_DIR"
104
-
105
- local log_file="$SESSION_DIR/reconciliation.log"
106
-
107
- echo "[$timestamp] Story $story_id: $message" >> "$log_file"
108
- }
109
-
110
- # Main hook logic
111
- main() {
112
- # Get the current branch after merge
113
- local current_branch
114
- current_branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
115
-
116
- # Only process if we're on develop or main (after a PR merge)
117
- if [[ "$current_branch" != "develop" && "$current_branch" != "main" ]]; then
118
- exit 0
119
- fi
120
-
121
- # Get the branches that were just merged
122
- # The reflog shows what was merged: the previous HEAD and the merged commit
123
- local merged_refs
124
- merged_refs=$(git reflog -1 --format='%gs' 2>/dev/null)
125
-
126
- # Check if this was a merge operation
127
- if [[ ! "$merged_refs" =~ merge ]]; then
128
- # Could be a pull with fast-forward - check for merged branches
129
- # Look at recently merged branches by checking merge commits
130
- :
131
- fi
132
-
133
- # Find recently merged feature branches by examining merge commits
134
- local merge_commits
135
- merge_commits=$(git log --merges --oneline -10 --since="5 minutes ago" 2>/dev/null)
136
-
137
- # Extract branch names from merge commits
138
- while IFS= read -r commit_line; do
139
- # Parse "Merge pull request #X from user/feat/X-Y-description"
140
- # or "Merge branch 'feat/X-Y-description'"
141
- local branch_name=""
142
-
143
- if [[ "$commit_line" =~ feat/([0-9]+-[0-9]+[a-zA-Z0-9-]*) ]]; then
144
- branch_name="feat/${BASH_REMATCH[1]}"
145
- fi
146
-
147
- if [[ -n "$branch_name" ]]; then
148
- local story_id
149
- story_id=$(extract_story_id "$branch_name")
150
-
151
- if [[ -n "$story_id" ]]; then
152
- # Update sprint YAML
153
- if update_story_status "$story_id" "done"; then
154
- log_reconciliation "$story_id" "Status updated to 'done' after merge (branch: $branch_name)"
155
- else
156
- log_reconciliation "$story_id" "Failed to update status (branch: $branch_name)"
157
- fi
158
- fi
159
- fi
160
- done <<< "$merge_commits"
161
- }
162
-
163
- # Only run main when executed directly (not when sourced for testing)
164
- if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
165
- main "$@"
166
- fi
@@ -1,107 +0,0 @@
1
- #!/bin/bash
2
- # pre-commit.sh - Git hook to enforce branch protection and agent validation
3
- #
4
- # Checks:
5
- # 1. Prevents direct commits to protected branches (main, develop)
6
- # Exception: sprint/ folder commits allowed on develop
7
- # 2. Validates agent files when pennyfarthing-dist/agents/*.md is modified
8
- #
9
- # Installation:
10
- # Installed to .git/hooks/pre-commit by pennyfarthing init or doctor --fix
11
- # Or symlink: ln -sf ../../pennyfarthing-dist/scripts/hooks/pre-commit.sh .git/hooks/pre-commit
12
-
13
- set -uo pipefail
14
-
15
- # Find project root
16
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
- # Handle both direct execution and symlink from .git/hooks
18
- if [[ "$SCRIPT_DIR" == *".git/hooks"* ]]; then
19
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
20
- else
21
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
22
- fi
23
-
24
- # =============================================================================
25
- # Check 1: Branch Protection
26
- # =============================================================================
27
-
28
- BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
29
- PROTECTED_BRANCHES="^(main|develop)$"
30
-
31
- if [[ $BRANCH =~ $PROTECTED_BRANCHES ]]; then
32
- # Special case: Allow sprint/ folder commits on develop branch
33
- if [[ $BRANCH == "develop" ]]; then
34
- STAGED_FILES=$(git diff --cached --name-only)
35
- NON_SPRINT_FILES=$(echo "$STAGED_FILES" | grep -v "^sprint/")
36
-
37
- # If all staged files are in sprint/, allow the commit
38
- if [ -z "$NON_SPRINT_FILES" ] && [ -n "$STAGED_FILES" ]; then
39
- # Continue to agent validation check
40
- :
41
- else
42
- echo ""
43
- echo "COMMIT BLOCKED"
44
- echo ""
45
- echo "You are trying to commit directly to: $BRANCH"
46
- echo "This violates the git workflow rules."
47
- echo ""
48
- echo "Protected branches: main, develop"
49
- echo ""
50
- echo "What to do:"
51
- echo "1. Create a feature branch:"
52
- echo " git checkout -b <type>/<epic-story>-<description>"
53
- echo ""
54
- echo "2. Example:"
55
- echo " git checkout -b feat/8-2-add-authentication"
56
- echo ""
57
- echo "3. Then commit your changes on the feature branch"
58
- echo ""
59
- echo "Exception: Sprint tracking files (sprint/*) can be committed to develop"
60
- echo ""
61
- exit 1
62
- fi
63
- else
64
- echo ""
65
- echo "COMMIT BLOCKED - Cannot commit directly to $BRANCH"
66
- echo ""
67
- exit 1
68
- fi
69
- fi
70
-
71
- # =============================================================================
72
- # Check 2: Agent File Validation
73
- # =============================================================================
74
-
75
- STAGED_FILES=$(git diff --cached --name-only 2>/dev/null || true)
76
- AGENT_FILES=$(echo "$STAGED_FILES" | grep "^pennyfarthing-dist/agents/.*\.md$" || true)
77
-
78
- if [[ -n "$AGENT_FILES" ]]; then
79
- echo "Agent files staged for commit:"
80
- echo "$AGENT_FILES" | sed 's/^/ /'
81
- echo ""
82
-
83
- VALIDATOR="$PROJECT_ROOT/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh"
84
-
85
- if [[ -x "$VALIDATOR" ]]; then
86
- echo "Running agent schema validation..."
87
- echo ""
88
-
89
- if ! "$VALIDATOR"; then
90
- echo ""
91
- echo "COMMIT BLOCKED - Agent validation failed"
92
- echo ""
93
- echo "Fix the validation errors above and try again."
94
- echo "Run 'just validate-agents -v' for detailed output."
95
- echo ""
96
- exit 1
97
- fi
98
-
99
- echo ""
100
- echo "✓ Agent validation passed"
101
- else
102
- echo "Warning: Agent validator not found at $VALIDATOR"
103
- echo "Skipping agent validation."
104
- fi
105
- fi
106
-
107
- exit 0
@@ -1,71 +0,0 @@
1
- #!/usr/bin/env zsh
2
- # Pre-edit hook: Verify edits don't touch protected files
3
- # Called by Claude Code before Edit/Write tool calls
4
- #
5
- # Input: JSON via stdin with tool_name, tool_input
6
- # Output: Exit 0 to allow, Exit 2 to block (stderr shown to Claude)
7
-
8
- set -euo pipefail
9
-
10
- # Read input from stdin
11
- input=$(cat)
12
-
13
- # Extract file path from tool input
14
- file_path=$(echo "$input" | jq -r '.tool_input.file_path // .tool_input.path // ""')
15
-
16
- # Protected patterns (files that should never be edited automatically)
17
- protected_patterns=(
18
- "*.env"
19
- "*.pem"
20
- "*.key"
21
- "*credentials*"
22
- "*secrets*"
23
- ".git/*"
24
- "node_modules/*"
25
- "vendor/*"
26
- )
27
-
28
- # Pennyfarthing managed files protection
29
- # These are managed by `pennyfarthing update`, don't edit directly
30
- # EXCEPTION: If we ARE in the pennyfarthing library itself, allow edits
31
- is_pennyfarthing_lib=false
32
- if [[ -d "${CLAUDE_PROJECT_DIR:-$PWD}/pennyfarthing-dist" ]]; then
33
- is_pennyfarthing_lib=true
34
- fi
35
-
36
- if [[ "$file_path" == *".claude/pennyfarthing/"* ]] && [[ "$is_pennyfarthing_lib" == "false" ]]; then
37
- echo "BLOCKED: Cannot edit managed pennyfarthing files." >&2
38
- echo "File: $file_path" >&2
39
- echo "" >&2
40
- echo "These files are managed by pennyfarthing and will be overwritten on update." >&2
41
- echo "Instead:" >&2
42
- echo " - Put project-specific customizations in .claude/project/" >&2
43
- echo " - For framework changes, edit the pennyfarthing repo and run 'pennyfarthing update'" >&2
44
- exit 2
45
- fi
46
-
47
- # Check if file matches any protected pattern
48
- for pattern in "${protected_patterns[@]}"; do
49
- if [[ "$file_path" == $pattern ]]; then
50
- echo "BLOCKED: Cannot edit protected file matching pattern: $pattern" >&2
51
- echo "File: $file_path" >&2
52
- exit 2
53
- fi
54
- done
55
-
56
- # Additional check: warn on certain file types but allow
57
- warn_patterns=(
58
- "*.md"
59
- "*.json"
60
- )
61
-
62
- # For warnings, just log to stderr but allow (exit 0)
63
- for pattern in "${warn_patterns[@]}"; do
64
- if [[ "$file_path" == $pattern ]]; then
65
- # Could log warnings here if needed
66
- :
67
- fi
68
- done
69
-
70
- # Allow the edit
71
- exit 0
@@ -1,54 +0,0 @@
1
- #!/bin/bash
2
- # pre-push.sh - Git hook to remind about Jira sync before push
3
- #
4
- # Checks if sprint files were modified and reminds to sync to Jira.
5
- #
6
- # Installation:
7
- # Installed to .git/hooks/pre-push by pennyfarthing init or doctor --fix
8
- # Or symlink: ln -sf ../../pennyfarthing-dist/scripts/hooks/pre-push.sh .git/hooks/pre-push
9
-
10
- set -uo pipefail
11
-
12
- # Find project root
13
- find_project_root() {
14
- local dir="$PWD"
15
- while [[ ! -d "$dir/.pennyfarthing" ]] && [[ "$dir" != "/" ]]; do
16
- dir="$(dirname "$dir")"
17
- done
18
- if [[ -d "$dir/.pennyfarthing" ]]; then
19
- echo "$dir"
20
- else
21
- return 1
22
- fi
23
- }
24
-
25
- PROJECT_ROOT="$(find_project_root 2>/dev/null || echo "")"
26
- if [[ -z "$PROJECT_ROOT" ]]; then
27
- exit 0
28
- fi
29
-
30
- SPRINT_FILE="$PROJECT_ROOT/sprint/current-sprint.yaml"
31
-
32
- # Check if there are uncommitted changes to sprint file
33
- if git diff --name-only | grep -q "sprint/current-sprint.yaml"; then
34
- echo "Warning: current-sprint.yaml has uncommitted changes"
35
- echo " Consider committing before pushing"
36
- echo ""
37
- fi
38
-
39
- # Get the range of commits being pushed
40
- REMOTE="$1"
41
- URL="$2"
42
-
43
- while read local_ref local_sha remote_ref remote_sha; do
44
- if [ "$local_sha" != "0000000000000000000000000000000000000000" ]; then
45
- # Check if sprint file changed in this push
46
- if git diff --name-only "$remote_sha..$local_sha" 2>/dev/null | grep -q "sprint/current-sprint.yaml"; then
47
- echo "Sprint changes detected in push"
48
- echo " Reminder: Sync to Jira if story statuses changed"
49
- echo ""
50
- fi
51
- fi
52
- done
53
-
54
- exit 0
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # Question Reflector Enforcement Hook (Stop hook / PreToolUse hook)
4
- #
5
- # Thin wrapper that delegates to question_reflector_check.py for the actual logic.
6
- # This allows the hook to be written in Python for easier testing and maintenance.
7
- #
8
- # Input (stdin): JSON with transcript_path, stop_hook_active, etc.
9
- # Output (stdout): JSON decision to allow or block
10
- #
11
- # Story: MSSCI-12393
12
- #
13
-
14
- set -euo pipefail
15
-
16
- # Get the directory where this script lives
17
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
18
-
19
- # Delegate to Python implementation
20
- exec python3 "$SCRIPT_DIR/question_reflector_check.py"