@pennyfarthing/core 7.4.1 → 7.5.0

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 (890) hide show
  1. package/{packages/core/dist → dist}/cli/utils/files.d.ts +0 -1
  2. package/dist/cli/utils/files.js +179 -0
  3. package/{packages/core/dist → dist}/cli/utils/manifest.d.ts +0 -1
  4. package/dist/cli/utils/manifest.js +93 -0
  5. package/{packages/core/dist → dist}/cli/utils/version.d.ts +0 -1
  6. package/dist/cli/utils/version.js +70 -0
  7. package/{packages/core/dist → dist}/index.d.ts +0 -1
  8. package/dist/index.js +48 -0
  9. package/{packages/core/dist → dist}/permissions/index.d.ts +0 -1
  10. package/dist/permissions/index.js +16 -0
  11. package/{packages/core/dist → dist}/permissions/permission-schema.d.ts +0 -1
  12. package/{packages/core/dist → dist}/permissions/permission-schema.js +13 -9
  13. package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts +0 -1
  14. package/dist/scripts/job-fair-aggregator.js +690 -0
  15. package/{packages/core/dist → dist}/workflow/index.d.ts +0 -1
  16. package/dist/workflow/index.js +31 -0
  17. package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts +0 -1
  18. package/{packages/core/dist → dist}/workflow/workflow-loader.js +40 -34
  19. package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts +0 -1
  20. package/{packages/core/dist → dist}/workflow/workflow-permissions.js +14 -8
  21. package/{packages/core/dist → dist}/workflow/workflow-router.d.ts +0 -1
  22. package/{packages/core/dist → dist}/workflow/workflow-router.js +70 -51
  23. package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts +0 -1
  24. package/{packages/core/dist → dist}/workflow/workflow-schema.js +62 -59
  25. package/package.json +36 -31
  26. package/LICENSE +0 -14
  27. package/README.md +0 -301
  28. package/packages/core/dist/bmad/context-reader.d.ts +0 -71
  29. package/packages/core/dist/bmad/context-reader.d.ts.map +0 -1
  30. package/packages/core/dist/bmad/context-reader.js +0 -369
  31. package/packages/core/dist/bmad/context-reader.js.map +0 -1
  32. package/packages/core/dist/bmad/context-reader.test.d.ts +0 -71
  33. package/packages/core/dist/bmad/context-reader.test.d.ts.map +0 -1
  34. package/packages/core/dist/bmad/context-reader.test.js +0 -878
  35. package/packages/core/dist/bmad/context-reader.test.js.map +0 -1
  36. package/packages/core/dist/bmad/epics-parser.d.ts +0 -61
  37. package/packages/core/dist/bmad/epics-parser.d.ts.map +0 -1
  38. package/packages/core/dist/bmad/epics-parser.js +0 -331
  39. package/packages/core/dist/bmad/epics-parser.js.map +0 -1
  40. package/packages/core/dist/bmad/epics-parser.test.d.ts +0 -7
  41. package/packages/core/dist/bmad/epics-parser.test.d.ts.map +0 -1
  42. package/packages/core/dist/bmad/epics-parser.test.js +0 -449
  43. package/packages/core/dist/bmad/epics-parser.test.js.map +0 -1
  44. package/packages/core/dist/bmad/index.d.ts +0 -11
  45. package/packages/core/dist/bmad/index.d.ts.map +0 -1
  46. package/packages/core/dist/bmad/index.js +0 -24
  47. package/packages/core/dist/bmad/index.js.map +0 -1
  48. package/packages/core/dist/bmad/status-sync.d.ts +0 -173
  49. package/packages/core/dist/bmad/status-sync.d.ts.map +0 -1
  50. package/packages/core/dist/bmad/status-sync.js +0 -463
  51. package/packages/core/dist/bmad/status-sync.js.map +0 -1
  52. package/packages/core/dist/bmad/status-sync.test.d.ts +0 -7
  53. package/packages/core/dist/bmad/status-sync.test.d.ts.map +0 -1
  54. package/packages/core/dist/bmad/status-sync.test.js +0 -702
  55. package/packages/core/dist/bmad/status-sync.test.js.map +0 -1
  56. package/packages/core/dist/bmad/story-exporter.d.ts +0 -55
  57. package/packages/core/dist/bmad/story-exporter.d.ts.map +0 -1
  58. package/packages/core/dist/bmad/story-exporter.js +0 -170
  59. package/packages/core/dist/bmad/story-exporter.js.map +0 -1
  60. package/packages/core/dist/bmad/story-exporter.test.d.ts +0 -51
  61. package/packages/core/dist/bmad/story-exporter.test.d.ts.map +0 -1
  62. package/packages/core/dist/bmad/story-exporter.test.js +0 -603
  63. package/packages/core/dist/bmad/story-exporter.test.js.map +0 -1
  64. package/packages/core/dist/bmad/story-parser.d.ts +0 -44
  65. package/packages/core/dist/bmad/story-parser.d.ts.map +0 -1
  66. package/packages/core/dist/bmad/story-parser.js +0 -307
  67. package/packages/core/dist/bmad/story-parser.js.map +0 -1
  68. package/packages/core/dist/bmad/story-parser.test.d.ts +0 -44
  69. package/packages/core/dist/bmad/story-parser.test.d.ts.map +0 -1
  70. package/packages/core/dist/bmad/story-parser.test.js +0 -693
  71. package/packages/core/dist/bmad/story-parser.test.js.map +0 -1
  72. package/packages/core/dist/cli/commands/command.d.ts +0 -28
  73. package/packages/core/dist/cli/commands/command.d.ts.map +0 -1
  74. package/packages/core/dist/cli/commands/command.js +0 -399
  75. package/packages/core/dist/cli/commands/command.js.map +0 -1
  76. package/packages/core/dist/cli/commands/cyclist.d.ts +0 -46
  77. package/packages/core/dist/cli/commands/cyclist.d.ts.map +0 -1
  78. package/packages/core/dist/cli/commands/cyclist.js +0 -196
  79. package/packages/core/dist/cli/commands/cyclist.js.map +0 -1
  80. package/packages/core/dist/cli/commands/cyclist.test.d.ts +0 -13
  81. package/packages/core/dist/cli/commands/cyclist.test.d.ts.map +0 -1
  82. package/packages/core/dist/cli/commands/cyclist.test.js +0 -245
  83. package/packages/core/dist/cli/commands/cyclist.test.js.map +0 -1
  84. package/packages/core/dist/cli/commands/doctor.d.ts +0 -9
  85. package/packages/core/dist/cli/commands/doctor.d.ts.map +0 -1
  86. package/packages/core/dist/cli/commands/doctor.js +0 -652
  87. package/packages/core/dist/cli/commands/doctor.js.map +0 -1
  88. package/packages/core/dist/cli/commands/init.d.ts +0 -8
  89. package/packages/core/dist/cli/commands/init.d.ts.map +0 -1
  90. package/packages/core/dist/cli/commands/init.js +0 -525
  91. package/packages/core/dist/cli/commands/init.js.map +0 -1
  92. package/packages/core/dist/cli/commands/skill.d.ts +0 -28
  93. package/packages/core/dist/cli/commands/skill.d.ts.map +0 -1
  94. package/packages/core/dist/cli/commands/skill.js +0 -416
  95. package/packages/core/dist/cli/commands/skill.js.map +0 -1
  96. package/packages/core/dist/cli/commands/theme.d.ts +0 -21
  97. package/packages/core/dist/cli/commands/theme.d.ts.map +0 -1
  98. package/packages/core/dist/cli/commands/theme.js +0 -201
  99. package/packages/core/dist/cli/commands/theme.js.map +0 -1
  100. package/packages/core/dist/cli/commands/uninstall.d.ts +0 -8
  101. package/packages/core/dist/cli/commands/uninstall.d.ts.map +0 -1
  102. package/packages/core/dist/cli/commands/uninstall.js +0 -237
  103. package/packages/core/dist/cli/commands/uninstall.js.map +0 -1
  104. package/packages/core/dist/cli/commands/update.d.ts +0 -9
  105. package/packages/core/dist/cli/commands/update.d.ts.map +0 -1
  106. package/packages/core/dist/cli/commands/update.js +0 -421
  107. package/packages/core/dist/cli/commands/update.js.map +0 -1
  108. package/packages/core/dist/cli/commands/version.d.ts +0 -2
  109. package/packages/core/dist/cli/commands/version.d.ts.map +0 -1
  110. package/packages/core/dist/cli/commands/version.js +0 -28
  111. package/packages/core/dist/cli/commands/version.js.map +0 -1
  112. package/packages/core/dist/cli/customization.test.d.ts +0 -12
  113. package/packages/core/dist/cli/customization.test.d.ts.map +0 -1
  114. package/packages/core/dist/cli/customization.test.js +0 -84
  115. package/packages/core/dist/cli/customization.test.js.map +0 -1
  116. package/packages/core/dist/cli/cyclist-migration.test.d.ts +0 -16
  117. package/packages/core/dist/cli/cyclist-migration.test.d.ts.map +0 -1
  118. package/packages/core/dist/cli/cyclist-migration.test.js +0 -225
  119. package/packages/core/dist/cli/cyclist-migration.test.js.map +0 -1
  120. package/packages/core/dist/cli/index.d.ts +0 -3
  121. package/packages/core/dist/cli/index.d.ts.map +0 -1
  122. package/packages/core/dist/cli/index.js +0 -174
  123. package/packages/core/dist/cli/index.js.map +0 -1
  124. package/packages/core/dist/cli/ocean-profiles.test.d.ts +0 -13
  125. package/packages/core/dist/cli/ocean-profiles.test.d.ts.map +0 -1
  126. package/packages/core/dist/cli/ocean-profiles.test.js +0 -134
  127. package/packages/core/dist/cli/ocean-profiles.test.js.map +0 -1
  128. package/packages/core/dist/cli/theme-maker.test.d.ts +0 -11
  129. package/packages/core/dist/cli/theme-maker.test.d.ts.map +0 -1
  130. package/packages/core/dist/cli/theme-maker.test.js +0 -356
  131. package/packages/core/dist/cli/theme-maker.test.js.map +0 -1
  132. package/packages/core/dist/cli/utils/constants.d.ts +0 -66
  133. package/packages/core/dist/cli/utils/constants.d.ts.map +0 -1
  134. package/packages/core/dist/cli/utils/constants.js +0 -54
  135. package/packages/core/dist/cli/utils/constants.js.map +0 -1
  136. package/packages/core/dist/cli/utils/files.d.ts.map +0 -1
  137. package/packages/core/dist/cli/utils/files.js +0 -162
  138. package/packages/core/dist/cli/utils/files.js.map +0 -1
  139. package/packages/core/dist/cli/utils/logger.d.ts +0 -26
  140. package/packages/core/dist/cli/utils/logger.d.ts.map +0 -1
  141. package/packages/core/dist/cli/utils/logger.js +0 -88
  142. package/packages/core/dist/cli/utils/logger.js.map +0 -1
  143. package/packages/core/dist/cli/utils/manifest.d.ts.map +0 -1
  144. package/packages/core/dist/cli/utils/manifest.js +0 -90
  145. package/packages/core/dist/cli/utils/manifest.js.map +0 -1
  146. package/packages/core/dist/cli/utils/node-modules.d.ts +0 -6
  147. package/packages/core/dist/cli/utils/node-modules.d.ts.map +0 -1
  148. package/packages/core/dist/cli/utils/node-modules.js +0 -32
  149. package/packages/core/dist/cli/utils/node-modules.js.map +0 -1
  150. package/packages/core/dist/cli/utils/prompts.d.ts +0 -34
  151. package/packages/core/dist/cli/utils/prompts.d.ts.map +0 -1
  152. package/packages/core/dist/cli/utils/prompts.js +0 -93
  153. package/packages/core/dist/cli/utils/prompts.js.map +0 -1
  154. package/packages/core/dist/cli/utils/symlinks.d.ts +0 -29
  155. package/packages/core/dist/cli/utils/symlinks.d.ts.map +0 -1
  156. package/packages/core/dist/cli/utils/symlinks.js +0 -181
  157. package/packages/core/dist/cli/utils/symlinks.js.map +0 -1
  158. package/packages/core/dist/cli/utils/themes.d.ts +0 -101
  159. package/packages/core/dist/cli/utils/themes.d.ts.map +0 -1
  160. package/packages/core/dist/cli/utils/themes.js +0 -373
  161. package/packages/core/dist/cli/utils/themes.js.map +0 -1
  162. package/packages/core/dist/cli/utils/themes.test.d.ts +0 -12
  163. package/packages/core/dist/cli/utils/themes.test.d.ts.map +0 -1
  164. package/packages/core/dist/cli/utils/themes.test.js +0 -147
  165. package/packages/core/dist/cli/utils/themes.test.js.map +0 -1
  166. package/packages/core/dist/cli/utils/version.d.ts.map +0 -1
  167. package/packages/core/dist/cli/utils/version.js +0 -64
  168. package/packages/core/dist/cli/utils/version.js.map +0 -1
  169. package/packages/core/dist/cli/workspace.test.d.ts +0 -8
  170. package/packages/core/dist/cli/workspace.test.d.ts.map +0 -1
  171. package/packages/core/dist/cli/workspace.test.js +0 -156
  172. package/packages/core/dist/cli/workspace.test.js.map +0 -1
  173. package/packages/core/dist/index.d.ts.map +0 -1
  174. package/packages/core/dist/index.js +0 -20
  175. package/packages/core/dist/index.js.map +0 -1
  176. package/packages/core/dist/jira/jira-epic-creation.d.ts +0 -109
  177. package/packages/core/dist/jira/jira-epic-creation.d.ts.map +0 -1
  178. package/packages/core/dist/jira/jira-epic-creation.js +0 -253
  179. package/packages/core/dist/jira/jira-epic-creation.js.map +0 -1
  180. package/packages/core/dist/jira/jira-epic-creation.test.d.ts +0 -16
  181. package/packages/core/dist/jira/jira-epic-creation.test.d.ts.map +0 -1
  182. package/packages/core/dist/jira/jira-epic-creation.test.js +0 -387
  183. package/packages/core/dist/jira/jira-epic-creation.test.js.map +0 -1
  184. package/packages/core/dist/jira/jira-sprint-sync.d.ts +0 -247
  185. package/packages/core/dist/jira/jira-sprint-sync.d.ts.map +0 -1
  186. package/packages/core/dist/jira/jira-sprint-sync.js +0 -670
  187. package/packages/core/dist/jira/jira-sprint-sync.js.map +0 -1
  188. package/packages/core/dist/jira/jira-sprint-sync.test.d.ts +0 -16
  189. package/packages/core/dist/jira/jira-sprint-sync.test.d.ts.map +0 -1
  190. package/packages/core/dist/jira/jira-sprint-sync.test.js +0 -845
  191. package/packages/core/dist/jira/jira-sprint-sync.test.js.map +0 -1
  192. package/packages/core/dist/permissions/index.d.ts.map +0 -1
  193. package/packages/core/dist/permissions/index.js +0 -13
  194. package/packages/core/dist/permissions/index.js.map +0 -1
  195. package/packages/core/dist/permissions/permission-schema.d.ts.map +0 -1
  196. package/packages/core/dist/permissions/permission-schema.js.map +0 -1
  197. package/packages/core/dist/permissions/permission-schema.test.d.ts +0 -40
  198. package/packages/core/dist/permissions/permission-schema.test.d.ts.map +0 -1
  199. package/packages/core/dist/permissions/permission-schema.test.js +0 -367
  200. package/packages/core/dist/permissions/permission-schema.test.js.map +0 -1
  201. package/packages/core/dist/scripts/add-ocean-profiles.d.ts +0 -9
  202. package/packages/core/dist/scripts/add-ocean-profiles.d.ts.map +0 -1
  203. package/packages/core/dist/scripts/add-ocean-profiles.js +0 -695
  204. package/packages/core/dist/scripts/add-ocean-profiles.js.map +0 -1
  205. package/packages/core/dist/scripts/benchmark-integration.d.ts +0 -182
  206. package/packages/core/dist/scripts/benchmark-integration.d.ts.map +0 -1
  207. package/packages/core/dist/scripts/benchmark-integration.js +0 -691
  208. package/packages/core/dist/scripts/benchmark-integration.js.map +0 -1
  209. package/packages/core/dist/scripts/benchmark-integration.test.d.ts +0 -13
  210. package/packages/core/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
  211. package/packages/core/dist/scripts/benchmark-integration.test.js +0 -680
  212. package/packages/core/dist/scripts/benchmark-integration.test.js.map +0 -1
  213. package/packages/core/dist/scripts/debugging-scenarios.test.d.ts +0 -18
  214. package/packages/core/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
  215. package/packages/core/dist/scripts/debugging-scenarios.test.js +0 -317
  216. package/packages/core/dist/scripts/debugging-scenarios.test.js.map +0 -1
  217. package/packages/core/dist/scripts/generate-all-spiders.d.ts +0 -10
  218. package/packages/core/dist/scripts/generate-all-spiders.d.ts.map +0 -1
  219. package/packages/core/dist/scripts/generate-all-spiders.js +0 -306
  220. package/packages/core/dist/scripts/generate-all-spiders.js.map +0 -1
  221. package/packages/core/dist/scripts/generate-report.d.ts +0 -65
  222. package/packages/core/dist/scripts/generate-report.d.ts.map +0 -1
  223. package/packages/core/dist/scripts/generate-report.js +0 -378
  224. package/packages/core/dist/scripts/generate-report.js.map +0 -1
  225. package/packages/core/dist/scripts/generate-report.test.d.ts +0 -13
  226. package/packages/core/dist/scripts/generate-report.test.d.ts.map +0 -1
  227. package/packages/core/dist/scripts/generate-report.test.js +0 -363
  228. package/packages/core/dist/scripts/generate-report.test.js.map +0 -1
  229. package/packages/core/dist/scripts/generate-spider-report.d.ts +0 -65
  230. package/packages/core/dist/scripts/generate-spider-report.d.ts.map +0 -1
  231. package/packages/core/dist/scripts/generate-spider-report.js +0 -366
  232. package/packages/core/dist/scripts/generate-spider-report.js.map +0 -1
  233. package/packages/core/dist/scripts/generate-spider-report.test.d.ts +0 -13
  234. package/packages/core/dist/scripts/generate-spider-report.test.d.ts.map +0 -1
  235. package/packages/core/dist/scripts/generate-spider-report.test.js +0 -367
  236. package/packages/core/dist/scripts/generate-spider-report.test.js.map +0 -1
  237. package/packages/core/dist/scripts/generate-spider.d.ts +0 -47
  238. package/packages/core/dist/scripts/generate-spider.d.ts.map +0 -1
  239. package/packages/core/dist/scripts/generate-spider.js +0 -338
  240. package/packages/core/dist/scripts/generate-spider.js.map +0 -1
  241. package/packages/core/dist/scripts/generate-spider.test.d.ts +0 -14
  242. package/packages/core/dist/scripts/generate-spider.test.d.ts.map +0 -1
  243. package/packages/core/dist/scripts/generate-spider.test.js +0 -271
  244. package/packages/core/dist/scripts/generate-spider.test.js.map +0 -1
  245. package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
  246. package/packages/core/dist/scripts/job-fair-aggregator.js +0 -547
  247. package/packages/core/dist/scripts/job-fair-aggregator.js.map +0 -1
  248. package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
  249. package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
  250. package/packages/core/dist/scripts/job-fair-aggregator.test.js +0 -616
  251. package/packages/core/dist/scripts/job-fair-aggregator.test.js.map +0 -1
  252. package/packages/core/dist/scripts/run-ci.test.d.ts +0 -20
  253. package/packages/core/dist/scripts/run-ci.test.d.ts.map +0 -1
  254. package/packages/core/dist/scripts/run-ci.test.js +0 -127
  255. package/packages/core/dist/scripts/run-ci.test.js.map +0 -1
  256. package/packages/core/dist/scripts/theme-detail.test.d.ts +0 -10
  257. package/packages/core/dist/scripts/theme-detail.test.d.ts.map +0 -1
  258. package/packages/core/dist/scripts/theme-detail.test.js +0 -199
  259. package/packages/core/dist/scripts/theme-detail.test.js.map +0 -1
  260. package/packages/core/dist/scripts/validate-ocean-profiles.d.ts +0 -9
  261. package/packages/core/dist/scripts/validate-ocean-profiles.d.ts.map +0 -1
  262. package/packages/core/dist/scripts/validate-ocean-profiles.js +0 -130
  263. package/packages/core/dist/scripts/validate-ocean-profiles.js.map +0 -1
  264. package/packages/core/dist/workflow/gate-handler.d.ts +0 -94
  265. package/packages/core/dist/workflow/gate-handler.d.ts.map +0 -1
  266. package/packages/core/dist/workflow/gate-handler.js +0 -189
  267. package/packages/core/dist/workflow/gate-handler.js.map +0 -1
  268. package/packages/core/dist/workflow/gate-handler.test.d.ts +0 -14
  269. package/packages/core/dist/workflow/gate-handler.test.d.ts.map +0 -1
  270. package/packages/core/dist/workflow/gate-handler.test.js +0 -543
  271. package/packages/core/dist/workflow/gate-handler.test.js.map +0 -1
  272. package/packages/core/dist/workflow/generic-handoff.d.ts +0 -281
  273. package/packages/core/dist/workflow/generic-handoff.d.ts.map +0 -1
  274. package/packages/core/dist/workflow/generic-handoff.js +0 -411
  275. package/packages/core/dist/workflow/generic-handoff.js.map +0 -1
  276. package/packages/core/dist/workflow/generic-handoff.test.d.ts +0 -21
  277. package/packages/core/dist/workflow/generic-handoff.test.d.ts.map +0 -1
  278. package/packages/core/dist/workflow/generic-handoff.test.js +0 -499
  279. package/packages/core/dist/workflow/generic-handoff.test.js.map +0 -1
  280. package/packages/core/dist/workflow/generic-sm-finish.d.ts +0 -89
  281. package/packages/core/dist/workflow/generic-sm-finish.d.ts.map +0 -1
  282. package/packages/core/dist/workflow/generic-sm-finish.js +0 -157
  283. package/packages/core/dist/workflow/generic-sm-finish.js.map +0 -1
  284. package/packages/core/dist/workflow/generic-sm-setup.d.ts +0 -138
  285. package/packages/core/dist/workflow/generic-sm-setup.d.ts.map +0 -1
  286. package/packages/core/dist/workflow/generic-sm-setup.js +0 -382
  287. package/packages/core/dist/workflow/generic-sm-setup.js.map +0 -1
  288. package/packages/core/dist/workflow/handoff.d.ts +0 -281
  289. package/packages/core/dist/workflow/handoff.d.ts.map +0 -1
  290. package/packages/core/dist/workflow/handoff.js +0 -411
  291. package/packages/core/dist/workflow/handoff.js.map +0 -1
  292. package/packages/core/dist/workflow/handoff.test.d.ts +0 -21
  293. package/packages/core/dist/workflow/handoff.test.d.ts.map +0 -1
  294. package/packages/core/dist/workflow/handoff.test.js +0 -499
  295. package/packages/core/dist/workflow/handoff.test.js.map +0 -1
  296. package/packages/core/dist/workflow/index.d.ts.map +0 -1
  297. package/packages/core/dist/workflow/index.js +0 -24
  298. package/packages/core/dist/workflow/index.js.map +0 -1
  299. package/packages/core/dist/workflow/session-state.d.ts +0 -92
  300. package/packages/core/dist/workflow/session-state.d.ts.map +0 -1
  301. package/packages/core/dist/workflow/session-state.js +0 -198
  302. package/packages/core/dist/workflow/session-state.js.map +0 -1
  303. package/packages/core/dist/workflow/session-state.test.d.ts +0 -8
  304. package/packages/core/dist/workflow/session-state.test.d.ts.map +0 -1
  305. package/packages/core/dist/workflow/session-state.test.js +0 -551
  306. package/packages/core/dist/workflow/session-state.test.js.map +0 -1
  307. package/packages/core/dist/workflow/sm-subagents.test.d.ts +0 -23
  308. package/packages/core/dist/workflow/sm-subagents.test.d.ts.map +0 -1
  309. package/packages/core/dist/workflow/sm-subagents.test.js +0 -727
  310. package/packages/core/dist/workflow/sm-subagents.test.js.map +0 -1
  311. package/packages/core/dist/workflow/step-parser.d.ts +0 -45
  312. package/packages/core/dist/workflow/step-parser.d.ts.map +0 -1
  313. package/packages/core/dist/workflow/step-parser.js +0 -147
  314. package/packages/core/dist/workflow/step-parser.js.map +0 -1
  315. package/packages/core/dist/workflow/step-parser.test.d.ts +0 -14
  316. package/packages/core/dist/workflow/step-parser.test.d.ts.map +0 -1
  317. package/packages/core/dist/workflow/step-parser.test.js +0 -470
  318. package/packages/core/dist/workflow/step-parser.test.js.map +0 -1
  319. package/packages/core/dist/workflow/story-workflow-routing.test.d.ts +0 -17
  320. package/packages/core/dist/workflow/story-workflow-routing.test.d.ts.map +0 -1
  321. package/packages/core/dist/workflow/story-workflow-routing.test.js +0 -559
  322. package/packages/core/dist/workflow/story-workflow-routing.test.js.map +0 -1
  323. package/packages/core/dist/workflow/test-cache.d.ts +0 -131
  324. package/packages/core/dist/workflow/test-cache.d.ts.map +0 -1
  325. package/packages/core/dist/workflow/test-cache.js +0 -226
  326. package/packages/core/dist/workflow/test-cache.js.map +0 -1
  327. package/packages/core/dist/workflow/test-cache.test.d.ts +0 -17
  328. package/packages/core/dist/workflow/test-cache.test.d.ts.map +0 -1
  329. package/packages/core/dist/workflow/test-cache.test.js +0 -438
  330. package/packages/core/dist/workflow/test-cache.test.js.map +0 -1
  331. package/packages/core/dist/workflow/trimodal.d.ts +0 -86
  332. package/packages/core/dist/workflow/trimodal.d.ts.map +0 -1
  333. package/packages/core/dist/workflow/trimodal.js +0 -118
  334. package/packages/core/dist/workflow/trimodal.js.map +0 -1
  335. package/packages/core/dist/workflow/trimodal.test.d.ts +0 -11
  336. package/packages/core/dist/workflow/trimodal.test.d.ts.map +0 -1
  337. package/packages/core/dist/workflow/trimodal.test.js +0 -395
  338. package/packages/core/dist/workflow/trimodal.test.js.map +0 -1
  339. package/packages/core/dist/workflow/variable-resolver.d.ts +0 -67
  340. package/packages/core/dist/workflow/variable-resolver.d.ts.map +0 -1
  341. package/packages/core/dist/workflow/variable-resolver.js +0 -156
  342. package/packages/core/dist/workflow/variable-resolver.js.map +0 -1
  343. package/packages/core/dist/workflow/variable-resolver.test.d.ts +0 -14
  344. package/packages/core/dist/workflow/variable-resolver.test.d.ts.map +0 -1
  345. package/packages/core/dist/workflow/variable-resolver.test.js +0 -400
  346. package/packages/core/dist/workflow/variable-resolver.test.js.map +0 -1
  347. package/packages/core/dist/workflow/workflow-executor.d.ts +0 -163
  348. package/packages/core/dist/workflow/workflow-executor.d.ts.map +0 -1
  349. package/packages/core/dist/workflow/workflow-executor.js +0 -197
  350. package/packages/core/dist/workflow/workflow-executor.js.map +0 -1
  351. package/packages/core/dist/workflow/workflow-executor.test.d.ts +0 -8
  352. package/packages/core/dist/workflow/workflow-executor.test.d.ts.map +0 -1
  353. package/packages/core/dist/workflow/workflow-executor.test.js +0 -444
  354. package/packages/core/dist/workflow/workflow-executor.test.js.map +0 -1
  355. package/packages/core/dist/workflow/workflow-loader.d.ts.map +0 -1
  356. package/packages/core/dist/workflow/workflow-loader.js.map +0 -1
  357. package/packages/core/dist/workflow/workflow-loader.test.d.ts +0 -15
  358. package/packages/core/dist/workflow/workflow-loader.test.d.ts.map +0 -1
  359. package/packages/core/dist/workflow/workflow-loader.test.js +0 -354
  360. package/packages/core/dist/workflow/workflow-loader.test.js.map +0 -1
  361. package/packages/core/dist/workflow/workflow-migration.test.d.ts +0 -17
  362. package/packages/core/dist/workflow/workflow-migration.test.d.ts.map +0 -1
  363. package/packages/core/dist/workflow/workflow-migration.test.js +0 -371
  364. package/packages/core/dist/workflow/workflow-migration.test.js.map +0 -1
  365. package/packages/core/dist/workflow/workflow-permissions.d.ts.map +0 -1
  366. package/packages/core/dist/workflow/workflow-permissions.js.map +0 -1
  367. package/packages/core/dist/workflow/workflow-permissions.test.d.ts +0 -15
  368. package/packages/core/dist/workflow/workflow-permissions.test.d.ts.map +0 -1
  369. package/packages/core/dist/workflow/workflow-permissions.test.js +0 -301
  370. package/packages/core/dist/workflow/workflow-permissions.test.js.map +0 -1
  371. package/packages/core/dist/workflow/workflow-router.d.ts.map +0 -1
  372. package/packages/core/dist/workflow/workflow-router.js.map +0 -1
  373. package/packages/core/dist/workflow/workflow-router.test.d.ts +0 -20
  374. package/packages/core/dist/workflow/workflow-router.test.d.ts.map +0 -1
  375. package/packages/core/dist/workflow/workflow-router.test.js +0 -607
  376. package/packages/core/dist/workflow/workflow-router.test.js.map +0 -1
  377. package/packages/core/dist/workflow/workflow-schema.d.ts.map +0 -1
  378. package/packages/core/dist/workflow/workflow-schema.js.map +0 -1
  379. package/packages/core/dist/workflow/workflow-schema.test.d.ts +0 -45
  380. package/packages/core/dist/workflow/workflow-schema.test.d.ts.map +0 -1
  381. package/packages/core/dist/workflow/workflow-schema.test.js +0 -512
  382. package/packages/core/dist/workflow/workflow-schema.test.js.map +0 -1
  383. package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts +0 -18
  384. package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts.map +0 -1
  385. package/packages/core/dist/workflow/workflow-stepped-schema.test.js +0 -608
  386. package/packages/core/dist/workflow/workflow-stepped-schema.test.js.map +0 -1
  387. package/pennyfarthing-dist/agents/README.md +0 -340
  388. package/pennyfarthing-dist/agents/architect.md +0 -193
  389. package/pennyfarthing-dist/agents/dev.md +0 -254
  390. package/pennyfarthing-dist/agents/devops.md +0 -206
  391. package/pennyfarthing-dist/agents/handoff.md +0 -289
  392. package/pennyfarthing-dist/agents/orchestrator.md +0 -355
  393. package/pennyfarthing-dist/agents/pm.md +0 -169
  394. package/pennyfarthing-dist/agents/reviewer-preflight.md +0 -96
  395. package/pennyfarthing-dist/agents/reviewer.md +0 -382
  396. package/pennyfarthing-dist/agents/sm-file-summary.md +0 -58
  397. package/pennyfarthing-dist/agents/sm-finish.md +0 -61
  398. package/pennyfarthing-dist/agents/sm-handoff.md +0 -145
  399. package/pennyfarthing-dist/agents/sm-setup.md +0 -174
  400. package/pennyfarthing-dist/agents/sm.md +0 -632
  401. package/pennyfarthing-dist/agents/tea.md +0 -213
  402. package/pennyfarthing-dist/agents/tech-writer.md +0 -216
  403. package/pennyfarthing-dist/agents/testing-runner.md +0 -141
  404. package/pennyfarthing-dist/agents/ux-designer.md +0 -231
  405. package/pennyfarthing-dist/agents/workflow-status-check.md +0 -68
  406. package/pennyfarthing-dist/commands/architect.md +0 -62
  407. package/pennyfarthing-dist/commands/benchmark-control.md +0 -69
  408. package/pennyfarthing-dist/commands/benchmark.md +0 -467
  409. package/pennyfarthing-dist/commands/brainstorming.md +0 -91
  410. package/pennyfarthing-dist/commands/check.md +0 -156
  411. package/pennyfarthing-dist/commands/chore.md +0 -178
  412. package/pennyfarthing-dist/commands/close-epic.md +0 -139
  413. package/pennyfarthing-dist/commands/continue-session.md +0 -184
  414. package/pennyfarthing-dist/commands/create-branches-from-story.md +0 -358
  415. package/pennyfarthing-dist/commands/create-theme.md +0 -29
  416. package/pennyfarthing-dist/commands/dev.md +0 -60
  417. package/pennyfarthing-dist/commands/devops.md +0 -59
  418. package/pennyfarthing-dist/commands/git-cleanup.md +0 -340
  419. package/pennyfarthing-dist/commands/health-check.md +0 -108
  420. package/pennyfarthing-dist/commands/help.md +0 -264
  421. package/pennyfarthing-dist/commands/job-fair.md +0 -102
  422. package/pennyfarthing-dist/commands/list-themes.md +0 -21
  423. package/pennyfarthing-dist/commands/orchestrator.md +0 -56
  424. package/pennyfarthing-dist/commands/parallel-work.md +0 -71
  425. package/pennyfarthing-dist/commands/party-mode.md +0 -67
  426. package/pennyfarthing-dist/commands/permissions.md +0 -193
  427. package/pennyfarthing-dist/commands/pm.md +0 -60
  428. package/pennyfarthing-dist/commands/prime.md +0 -140
  429. package/pennyfarthing-dist/commands/release.md +0 -58
  430. package/pennyfarthing-dist/commands/repo-status.md +0 -49
  431. package/pennyfarthing-dist/commands/retro.md +0 -200
  432. package/pennyfarthing-dist/commands/reviewer.md +0 -64
  433. package/pennyfarthing-dist/commands/run-ci.md +0 -116
  434. package/pennyfarthing-dist/commands/set-theme.md +0 -56
  435. package/pennyfarthing-dist/commands/show-theme.md +0 -21
  436. package/pennyfarthing-dist/commands/sm.md +0 -70
  437. package/pennyfarthing-dist/commands/solo.md +0 -411
  438. package/pennyfarthing-dist/commands/sprint-planning.md +0 -109
  439. package/pennyfarthing-dist/commands/start-epic.md +0 -168
  440. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +0 -184
  441. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +0 -373
  442. package/pennyfarthing-dist/commands/tea.md +0 -63
  443. package/pennyfarthing-dist/commands/tech-writer.md +0 -53
  444. package/pennyfarthing-dist/commands/theme-maker.md +0 -671
  445. package/pennyfarthing-dist/commands/update-domain-docs.md +0 -83
  446. package/pennyfarthing-dist/commands/ux-designer.md +0 -62
  447. package/pennyfarthing-dist/commands/work.md +0 -122
  448. package/pennyfarthing-dist/commands/workflow.md +0 -21
  449. package/pennyfarthing-dist/guides/AGENT-COORDINATION.md +0 -480
  450. package/pennyfarthing-dist/guides/HOOKS.md +0 -230
  451. package/pennyfarthing-dist/guides/PROMPT-PATTERNS.md +0 -338
  452. package/pennyfarthing-dist/guides/SESSION-ARTIFACTS.md +0 -193
  453. package/pennyfarthing-dist/guides/agent-behavior.md +0 -238
  454. package/pennyfarthing-dist/guides/agent-template-strategic.md +0 -148
  455. package/pennyfarthing-dist/guides/agent-template-tactical.md +0 -162
  456. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +0 -746
  457. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +0 -574
  458. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +0 -488
  459. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +0 -402
  460. package/pennyfarthing-dist/guides/permission-protocol.md +0 -188
  461. package/pennyfarthing-dist/guides/persona-loading.md +0 -46
  462. package/pennyfarthing-dist/guides/workflow-schema.md +0 -257
  463. package/pennyfarthing-dist/guides/worktree-mode.md +0 -113
  464. package/pennyfarthing-dist/output-styles/teaching.md +0 -33
  465. package/pennyfarthing-dist/output-styles/terse.md +0 -20
  466. package/pennyfarthing-dist/output-styles/verbose.md +0 -28
  467. package/pennyfarthing-dist/personas/themes/1984.yaml +0 -312
  468. package/pennyfarthing-dist/personas/themes/a-team.yaml +0 -207
  469. package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +0 -300
  470. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +0 -330
  471. package/pennyfarthing-dist/personas/themes/all-stars.yaml +0 -332
  472. package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +0 -320
  473. package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +0 -306
  474. package/pennyfarthing-dist/personas/themes/arcane.yaml +0 -288
  475. package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +0 -331
  476. package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +0 -288
  477. package/pennyfarthing-dist/personas/themes/babylon-5.yaml +0 -288
  478. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +0 -288
  479. package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +0 -288
  480. package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +0 -300
  481. package/pennyfarthing-dist/personas/themes/black-sails.yaml +0 -300
  482. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +0 -295
  483. package/pennyfarthing-dist/personas/themes/bobiverse.yaml +0 -288
  484. package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +0 -327
  485. package/pennyfarthing-dist/personas/themes/catch-22.yaml +0 -316
  486. package/pennyfarthing-dist/personas/themes/classical-composers.yaml +0 -310
  487. package/pennyfarthing-dist/personas/themes/control.yaml +0 -197
  488. package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +0 -320
  489. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +0 -323
  490. package/pennyfarthing-dist/personas/themes/deadwood.yaml +0 -300
  491. package/pennyfarthing-dist/personas/themes/dickens.yaml +0 -320
  492. package/pennyfarthing-dist/personas/themes/discworld.yaml +0 -332
  493. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +0 -290
  494. package/pennyfarthing-dist/personas/themes/don-quixote.yaml +0 -320
  495. package/pennyfarthing-dist/personas/themes/dune.yaml +0 -307
  496. package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +0 -320
  497. package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +0 -288
  498. package/pennyfarthing-dist/personas/themes/fargo.yaml +0 -330
  499. package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +0 -312
  500. package/pennyfarthing-dist/personas/themes/firefly.yaml +0 -328
  501. package/pennyfarthing-dist/personas/themes/foundation.yaml +0 -290
  502. package/pennyfarthing-dist/personas/themes/futurama.yaml +0 -321
  503. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +0 -290
  504. package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +0 -243
  505. package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +0 -308
  506. package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +0 -308
  507. package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +0 -330
  508. package/pennyfarthing-dist/personas/themes/hannibal.yaml +0 -300
  509. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +0 -324
  510. package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +0 -291
  511. package/pennyfarthing-dist/personas/themes/historical-figures.yaml +0 -288
  512. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +0 -331
  513. package/pennyfarthing-dist/personas/themes/house-md.yaml +0 -321
  514. package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +0 -289
  515. package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +0 -300
  516. package/pennyfarthing-dist/personas/themes/jane-austen.yaml +0 -287
  517. package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +0 -320
  518. package/pennyfarthing-dist/personas/themes/justified.yaml +0 -300
  519. package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +0 -219
  520. package/pennyfarthing-dist/personas/themes/les-miserables.yaml +0 -299
  521. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +0 -334
  522. package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +0 -334
  523. package/pennyfarthing-dist/personas/themes/mad-max.yaml +0 -355
  524. package/pennyfarthing-dist/personas/themes/mad-men.yaml +0 -289
  525. package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +0 -300
  526. package/pennyfarthing-dist/personas/themes/mash.yaml +0 -337
  527. package/pennyfarthing-dist/personas/themes/mass-effect.yaml +0 -289
  528. package/pennyfarthing-dist/personas/themes/military-commanders.yaml +0 -306
  529. package/pennyfarthing-dist/personas/themes/moby-dick.yaml +0 -320
  530. package/pennyfarthing-dist/personas/themes/monty-python.yaml +0 -303
  531. package/pennyfarthing-dist/personas/themes/neuromancer.yaml +0 -300
  532. package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +0 -329
  533. package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +0 -242
  534. package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +0 -298
  535. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +0 -220
  536. package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +0 -320
  537. package/pennyfarthing-dist/personas/themes/rome.yaml +0 -300
  538. package/pennyfarthing-dist/personas/themes/russian-masters.yaml +0 -318
  539. package/pennyfarthing-dist/personas/themes/sandman.yaml +0 -288
  540. package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +0 -320
  541. package/pennyfarthing-dist/personas/themes/shakespeare.yaml +0 -301
  542. package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +0 -289
  543. package/pennyfarthing-dist/personas/themes/snow-crash.yaml +0 -288
  544. package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +0 -300
  545. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -230
  546. package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +0 -210
  547. package/pennyfarthing-dist/personas/themes/star-wars.yaml +0 -303
  548. package/pennyfarthing-dist/personas/themes/succession.yaml +0 -300
  549. package/pennyfarthing-dist/personas/themes/superfriends.yaml +0 -208
  550. package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +0 -236
  551. package/pennyfarthing-dist/personas/themes/the-americans.yaml +0 -300
  552. package/pennyfarthing-dist/personas/themes/the-crown.yaml +0 -300
  553. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +0 -213
  554. package/pennyfarthing-dist/personas/themes/the-good-place.yaml +0 -322
  555. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +0 -353
  556. package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +0 -300
  557. package/pennyfarthing-dist/personas/themes/the-office.yaml +0 -330
  558. package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +0 -308
  559. package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +0 -300
  560. package/pennyfarthing-dist/personas/themes/the-wire.yaml +0 -311
  561. package/pennyfarthing-dist/personas/themes/the-witcher.yaml +0 -300
  562. package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +0 -302
  563. package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +0 -300
  564. package/pennyfarthing-dist/personas/themes/watchmen.yaml +0 -291
  565. package/pennyfarthing-dist/personas/themes/west-wing.yaml +0 -291
  566. package/pennyfarthing-dist/personas/themes/world-explorers.yaml +0 -320
  567. package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +0 -307
  568. package/pennyfarthing-dist/personas/themes/x-files.yaml +0 -302
  569. package/pennyfarthing-dist/scripts/README.md +0 -68
  570. package/pennyfarthing-dist/scripts/core/README.md +0 -26
  571. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -378
  572. package/pennyfarthing-dist/scripts/core/check-context.sh +0 -243
  573. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -90
  574. package/pennyfarthing-dist/scripts/core/prime.sh +0 -136
  575. package/pennyfarthing-dist/scripts/core/run.sh +0 -75
  576. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -21
  577. package/pennyfarthing-dist/scripts/git/README.md +0 -25
  578. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -226
  579. package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -127
  580. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -91
  581. package/pennyfarthing-dist/scripts/git/release.sh +0 -198
  582. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -494
  583. package/pennyfarthing-dist/scripts/hooks/README.md +0 -32
  584. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -60
  585. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -65
  586. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -35
  587. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -166
  588. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -50
  589. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -71
  590. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -54
  591. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -97
  592. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -58
  593. package/pennyfarthing-dist/scripts/jira/README.md +0 -33
  594. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -101
  595. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -97
  596. package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.mjs +0 -327
  597. package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.test.mjs +0 -503
  598. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -164
  599. package/pennyfarthing-dist/scripts/jira/jira-lib.mjs +0 -443
  600. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +0 -464
  601. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -266
  602. package/pennyfarthing-dist/scripts/jira/jira-sync-story.mjs +0 -208
  603. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -8
  604. package/pennyfarthing-dist/scripts/jira/jira-sync.mjs +0 -198
  605. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +0 -8
  606. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -104
  607. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +0 -16
  608. package/pennyfarthing-dist/scripts/lib/README.md +0 -29
  609. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -177
  610. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -136
  611. package/pennyfarthing-dist/scripts/lib/common.sh +0 -157
  612. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -269
  613. package/pennyfarthing-dist/scripts/lib/find-root.sh +0 -35
  614. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -186
  615. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -76
  616. package/pennyfarthing-dist/scripts/misc/README.md +0 -44
  617. package/pennyfarthing-dist/scripts/misc/add-short-names.mjs +0 -264
  618. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -91
  619. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -247
  620. package/pennyfarthing-dist/scripts/misc/deploy.sh +0 -284
  621. package/pennyfarthing-dist/scripts/misc/doctor-dogfood.sh +0 -392
  622. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -231
  623. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -110
  624. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -74
  625. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.mjs +0 -474
  626. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -9
  627. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -141
  628. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -778
  629. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -219
  630. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -7
  631. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -319
  632. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -193
  633. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -259
  634. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -270
  635. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -160
  636. package/pennyfarthing-dist/scripts/sprint/README.md +0 -29
  637. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +0 -135
  638. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +0 -97
  639. package/pennyfarthing-dist/scripts/sprint/check-story.sh +0 -164
  640. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +0 -58
  641. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +0 -69
  642. package/pennyfarthing-dist/scripts/sprint/list-future.sh +0 -151
  643. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +0 -116
  644. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +0 -164
  645. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +0 -421
  646. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +0 -39
  647. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +0 -241
  648. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +0 -134
  649. package/pennyfarthing-dist/scripts/story/README.md +0 -23
  650. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -159
  651. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -198
  652. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -162
  653. package/pennyfarthing-dist/scripts/test/README.md +0 -23
  654. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -289
  655. package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -400
  656. package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
  657. package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
  658. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -582
  659. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -515
  660. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -599
  661. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -332
  662. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -573
  663. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -859
  664. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -662
  665. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -589
  666. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -105
  667. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -597
  668. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -514
  669. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -517
  670. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -331
  671. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -647
  672. package/pennyfarthing-dist/scripts/theme/README.md +0 -22
  673. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -203
  674. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -73
  675. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
  676. package/pennyfarthing-dist/scripts/workflow/README.md +0 -28
  677. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -497
  678. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -159
  679. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -228
  680. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -91
  681. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -163
  682. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -138
  683. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -256
  684. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -167
  685. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +0 -242
  686. package/pennyfarthing-dist/skills/changelog/SKILL.md +0 -367
  687. package/pennyfarthing-dist/skills/code-review/SKILL.md +0 -168
  688. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +0 -274
  689. package/pennyfarthing-dist/skills/cyclist/SKILL.md +0 -88
  690. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -437
  691. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -258
  692. package/pennyfarthing-dist/skills/jira/SKILL.md +0 -484
  693. package/pennyfarthing-dist/skills/judge/SKILL.md +0 -579
  694. package/pennyfarthing-dist/skills/just/SKILL.md +0 -403
  695. package/pennyfarthing-dist/skills/mermaid/SKILL.md +0 -240
  696. package/pennyfarthing-dist/skills/otel/skill.md +0 -223
  697. package/pennyfarthing-dist/skills/permissions/skill.md +0 -172
  698. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -178
  699. package/pennyfarthing-dist/skills/skill-registry.schema.json +0 -107
  700. package/pennyfarthing-dist/skills/skill-registry.yaml +0 -357
  701. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +0 -101
  702. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +0 -97
  703. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +0 -164
  704. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +0 -101
  705. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +0 -116
  706. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +0 -164
  707. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +0 -39
  708. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +0 -147
  709. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +0 -104
  710. package/pennyfarthing-dist/skills/sprint/skill.md +0 -465
  711. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -159
  712. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -198
  713. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -162
  714. package/pennyfarthing-dist/skills/story/skill.md +0 -219
  715. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +0 -390
  716. package/pennyfarthing-dist/skills/testing/SKILL.md +0 -99
  717. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +0 -124
  718. package/pennyfarthing-dist/skills/theme/skill.md +0 -129
  719. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +0 -169
  720. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -91
  721. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -163
  722. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -138
  723. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -273
  724. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -167
  725. package/pennyfarthing-dist/skills/workflow/skill.md +0 -337
  726. package/pennyfarthing-dist/skills/yq/SKILL.md +0 -264
  727. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +0 -187
  728. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +0 -59
  729. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +0 -276
  730. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +0 -61
  731. package/pennyfarthing-dist/templates/persona-config.yaml.template +0 -22
  732. package/pennyfarthing-dist/templates/preferences.yaml.template +0 -15
  733. package/pennyfarthing-dist/templates/settings.local.json.template +0 -90
  734. package/pennyfarthing-dist/templates/setup-env.sh.template +0 -18
  735. package/pennyfarthing-dist/templates/shared-context.md.template +0 -70
  736. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +0 -40
  737. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +0 -37
  738. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +0 -34
  739. package/pennyfarthing-dist/workflows/agent-docs.yaml +0 -70
  740. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +0 -101
  741. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +0 -93
  742. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +0 -115
  743. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +0 -133
  744. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +0 -138
  745. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +0 -133
  746. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +0 -142
  747. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +0 -160
  748. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +0 -102
  749. package/pennyfarthing-dist/workflows/architecture.yaml +0 -65
  750. package/pennyfarthing-dist/workflows/bdd.yaml +0 -60
  751. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +0 -62
  752. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +0 -44
  753. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +0 -736
  754. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +0 -49
  755. package/pennyfarthing-dist/workflows/code-review/checklist.md +0 -23
  756. package/pennyfarthing-dist/workflows/code-review/instructions.md +0 -234
  757. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +0 -51
  758. package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
  759. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
  760. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
  761. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +0 -256
  762. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +0 -233
  763. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +0 -272
  764. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +0 -145
  765. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +0 -57
  766. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +0 -27
  767. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +0 -190
  768. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +0 -178
  769. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -179
  770. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +0 -139
  771. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +0 -252
  772. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +0 -133
  773. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +0 -4
  774. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +0 -40
  775. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +0 -13
  776. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +0 -197
  777. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +0 -11
  778. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +0 -191
  779. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +0 -153
  780. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +0 -224
  781. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +0 -226
  782. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +0 -213
  783. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +0 -207
  784. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +0 -226
  785. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +0 -237
  786. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +0 -228
  787. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +0 -231
  788. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +0 -242
  789. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +0 -217
  790. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +0 -180
  791. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +0 -247
  792. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +0 -208
  793. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +0 -249
  794. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +0 -253
  795. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +0 -168
  796. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +0 -218
  797. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +0 -191
  798. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +0 -209
  799. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +0 -174
  800. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +0 -214
  801. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +0 -228
  802. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +0 -217
  803. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -205
  804. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +0 -243
  805. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +0 -263
  806. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +0 -209
  807. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +0 -264
  808. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +0 -242
  809. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +0 -232
  810. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +0 -10
  811. package/pennyfarthing-dist/workflows/prd/workflow.yaml +0 -42
  812. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +0 -177
  813. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +0 -161
  814. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +0 -199
  815. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +0 -202
  816. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +0 -205
  817. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +0 -219
  818. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +0 -194
  819. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +0 -10
  820. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +0 -31
  821. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +0 -21
  822. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +0 -184
  823. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +0 -318
  824. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +0 -278
  825. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +0 -27
  826. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +0 -156
  827. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +0 -120
  828. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +0 -113
  829. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +0 -113
  830. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +0 -106
  831. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +0 -140
  832. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +0 -27
  833. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -189
  834. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -144
  835. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -128
  836. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -191
  837. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
  838. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
  839. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +0 -137
  840. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +0 -229
  841. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +0 -238
  842. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +0 -206
  843. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +0 -234
  844. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +0 -443
  845. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +0 -182
  846. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +0 -237
  847. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +0 -200
  848. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +0 -249
  849. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +0 -259
  850. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +0 -177
  851. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +0 -475
  852. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +0 -137
  853. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +0 -239
  854. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +0 -248
  855. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +0 -202
  856. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +0 -239
  857. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +0 -486
  858. package/pennyfarthing-dist/workflows/research/templates/research.template.md +0 -29
  859. package/pennyfarthing-dist/workflows/research/workflow.yaml +0 -45
  860. package/pennyfarthing-dist/workflows/retrospective/checklist.md +0 -31
  861. package/pennyfarthing-dist/workflows/retrospective/instructions.md +0 -1443
  862. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +0 -50
  863. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +0 -33
  864. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +0 -55
  865. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +0 -54
  866. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +0 -44
  867. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +0 -64
  868. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +0 -73
  869. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +0 -56
  870. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +0 -34
  871. package/pennyfarthing-dist/workflows/tdd.yaml +0 -50
  872. package/pennyfarthing-dist/workflows/trivial.yaml +0 -40
  873. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +0 -135
  874. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +0 -127
  875. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +0 -190
  876. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +0 -216
  877. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +0 -219
  878. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +0 -234
  879. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +0 -252
  880. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +0 -254
  881. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +0 -224
  882. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +0 -224
  883. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +0 -241
  884. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +0 -248
  885. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +0 -237
  886. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +0 -264
  887. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +0 -228
  888. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +0 -13
  889. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +0 -41
  890. /package/{packages/core/bin → bin}/pennyfarthing.js +0 -0
@@ -1,480 +0,0 @@
1
- # Pennyfarthing Agent Coordination Architecture
2
-
3
- ## Overview
4
-
5
- This document describes how Pennyfarthing agents are coordinated. The framework supports both single-repo and multi-repo projects.
6
-
7
- **Key Principle:** Single entry point (`/new-work` or `/work`), state detection via session files, handoffs via Haiku subagents.
8
-
9
- ## The TDD Flow
10
-
11
- ```
12
- /new-work → SM → TEA → Dev → Reviewer → SM (finish)
13
- │ │ │ │
14
- setup tests impl review
15
- │ │ │ │
16
- └─────┴─────┴────────┘
17
- subagent handoffs
18
- ```
19
-
20
- **Entry points:** `/new-work` (new story) or `/work` (smart resume/start)
21
- **State detection:** Agents read session file on activation
22
- **Handoffs:** Agents spawn Haiku subagents to update session file
23
- **Finish:** SM handles when status = `approved`
24
-
25
- ## Architecture Principles
26
-
27
- ### 1. Single Source of Truth
28
- - **Agent definitions:** `.pennyfarthing/agents/`
29
- - **Subagent prompts:** `.pennyfarthing/agents/`
30
- - **Scope configuration:** `.pennyfarthing/guides/agent-scopes.yaml`
31
- - **Sprint tracking:** `sprint/current-sprint.yaml`
32
- - **Session state:** `.session/{STORY_ID}-session.md`
33
-
34
- ### 2. Hierarchical Agent Structure
35
- ```
36
- Strategic Agents (Full Scope)
37
- ├── orchestrator → Orchestrates everything
38
- ├── pm → Plans across all repos
39
- ├── architect → Designs across all repos
40
- └── devops → Infrastructure and deployment
41
-
42
- Tactical Agents (Story-Scoped) - THE TDD FLOW
43
- ├── sm → Story setup and finish
44
- ├── tea → Write failing tests (RED)
45
- ├── dev → Implement to GREEN, create PR
46
- └── reviewer → Adversarial code review
47
-
48
- Support Agents
49
- ├── tech-writer → Documentation
50
- └── ux-designer → UI design
51
- ```
52
-
53
- ### 3. Context Loading Strategy
54
- - **Strategic agents** load full project context (both repos)
55
- - **Tactical agents** load only target repo context based on active story
56
- - **Context budget** kept under 500-800 lines per agent
57
- - **Lazy loading** - load docs only when specific task requires them
58
-
59
- ## Directory Structure
60
-
61
- ```
62
- /$CLAUDE_PROJECT_DIR/
63
- ├── .claude/ # Pennyfarthing coordination directory
64
- │ ├── agents/ # Agent definitions (symlinks to pennyfarthing-dist)
65
- │ │ ├── orchestrator.md # Master orchestrator
66
- │ │ ├── pm.md # Product Manager
67
- │ │ ├── sm.md # Scrum Master (+ sm-*.md subagents)
68
- │ │ ├── architect.md # System Architect
69
- │ │ ├── dev.md # Developer (+ dev-handoff.md)
70
- │ │ ├── tea.md # Test Engineer (+ tea-handoff.md)
71
- │ │ ├── reviewer.md # Code Reviewer (+ reviewer-*.md subagents)
72
- │ │ ├── tech-writer.md # Technical Writer
73
- │ │ ├── ux-designer.md # UX Designer
74
- │ │ └── devops.md # DevOps Engineer
75
- │ │
76
- │ ├── commands/ # 42 slash commands (symlinks)
77
- │ ├── guides/ # Behavior guides (symlinks)
78
- │ ├── skills/ # 18+ knowledge domain skills (symlinks)
79
- │ ├── scripts/ # Utility scripts (symlinks)
80
- │ │
81
- │ ├── project/ # Project-specific overrides
82
- │ │ ├── agents/ # Agent sidecars (patterns, gotchas, decisions)
83
- │ │ └── commands/ # Custom project commands
84
- │ │
85
- │ ├── persona-config.yaml # Project default theme (shared with team)
86
- │ └── CLAUDE.md # Project instructions
87
-
88
- ├── .session/ # Active work sessions
89
- │ └── {story-id}-session.md # Session files (one per story)
90
-
91
- ├── sprint/ # Sprint tracking
92
- │ ├── current-sprint.yaml # Active sprint and stories
93
- │ ├── context/ # Epic technical context
94
- │ ├── archive/ # Completed sprints
95
- │ └── sidecars/ # Agent learning files
96
-
97
- └── pennyfarthing-dist/ # Source of truth (if Pennyfarthing project itself)
98
- ├── agents/ # 10 main agents + 14 subagents
99
- ├── commands/ # 42 slash commands
100
- ├── guides/ # Behavior guides and patterns
101
- ├── skills/ # Knowledge domain skills
102
- ├── personas/themes/ # 102 themed personas
103
- └── scripts/ # Utility scripts
104
- ```
105
-
106
- ## Agent Types
107
-
108
- ### Strategic Agents (Full Scope)
109
-
110
- **Characteristics:**
111
- - See entire project (both repos)
112
- - Load all context on activation
113
- - Make cross-repo decisions
114
- - Coordinate work across repos
115
-
116
- **Agents:**
117
- - **Pennyfarthing Master:** Orchestrates all agents and workflows
118
- - **PM:** Plans sprints, prioritizes epics, manages backlog
119
- - **SM:** Creates stories, adds technical context, validates readiness
120
- - **Architect:** Makes design decisions, defines patterns, ensures consistency
121
-
122
- **Context Loading:**
123
- ```yaml
124
- On Activation:
125
- 1. sprint/sprint-status.yaml # Full sprint status
126
- 2. API/.claude/context.md # API context
127
- 3. UI/.claude/context.md # UI context
128
- 4. API/docs/epics.md # Epic definitions (PM only)
129
- 5. .session/{STORY_ID}-session.md # Active work
130
- ```
131
-
132
- ### Tactical Agents (Story-Scoped)
133
-
134
- **Characteristics:**
135
- - Focus on specific repo(s)
136
- - Load context based on active story
137
- - Implement/test/document specific features
138
- - Narrow, deep expertise
139
-
140
- **Agents:**
141
- - **Dev:** Implements features in target repo
142
- - **TEA:** Tests features in target repo
143
- - **Tech Writer:** Documents features in target repo
144
- - **UX Designer:** Designs UI interfaces (UI only)
145
-
146
- **Context Loading:**
147
- ```yaml
148
- On Activation:
149
- 1. sprint/sprint-status.yaml # Current sprint (story section)
150
- 2. .session/{STORY_ID}-session.md # Active story
151
- 3. Determine target repo from story "Repos:" field
152
- 4. Load target repo context:
153
- - If API: API/.claude/context.md
154
- - If UI: UI/.claude/context.md
155
- - If Both: Load both contexts
156
- ```
157
-
158
- ## Context Files
159
-
160
- ### Base Directory Context
161
-
162
- #### `sprint/sprint-status.yaml`
163
- **Purpose:** Unified sprint tracking for all stories
164
- **Size:** ~100-200 lines
165
- **Loaded By:** All agents
166
- **Content:**
167
- - Sprint goals
168
- - All stories (API, UI, Both)
169
- - Story status (backlog, in-progress, review, done)
170
- - Story metadata (repos, priority, points, files)
171
-
172
- #### `.session/{STORY_ID}-session.md`
173
- **Purpose:** Current work session context
174
- **Size:** ~50-100 lines
175
- **Loaded By:** All agents
176
- **Content:**
177
- - Active story ID
178
- - Target repo(s)
179
- - Story context
180
- - Progress notes
181
- - Done checklist
182
-
183
- ### Repository Context
184
-
185
- #### `API/.claude/context.md`
186
- **Purpose:** API-specific patterns and structure
187
- **Size:** ~30-50 lines
188
- **Loaded By:** Strategic agents + Dev/TEA when working on API
189
- **Content:**
190
- - Tech stack (Go, PostgreSQL, MongoDB, Redis)
191
- - Key patterns (Repository, DI, REST, Middleware)
192
- - Project structure
193
- - Quick links to key directories
194
-
195
- #### `UI/.claude/context.md`
196
- **Purpose:** UI-specific patterns and structure
197
- **Size:** ~30-50 lines
198
- **Loaded By:** Strategic agents + Dev/TEA/UX when working on UI
199
- **Content:**
200
- - Tech stack (React, TypeScript, TailwindCSS)
201
- - Key patterns (Components, Hooks, Context API)
202
- - Project structure
203
- - Quick links to key directories
204
-
205
- ### Documentation
206
-
207
- #### `API/docs/epics.md`
208
- **Purpose:** All epic definitions for API
209
- **Size:** ~800+ lines (load summary only)
210
- **Loaded By:** PM, Architect
211
- **Content:**
212
- - Epic descriptions
213
- - Story breakdowns
214
- - Technical context
215
- - Dependencies
216
-
217
- ## Agent Activation Protocol
218
-
219
- ### Step 1: Load Agent Definition
220
- ```
221
- Read: .pennyfarthing/agents/[agent].md
222
- Identify: Strategic or Tactical agent type
223
- ```
224
-
225
- ### Step 2: Load Base Context
226
- ```
227
- Load files from agent-scopes.yaml:
228
- - Sprint status
229
- - Active work (if exists)
230
- - Repo contexts (based on agent type)
231
- ```
232
-
233
- ### Step 3: Determine Scope (Tactical Agents Only)
234
- ```
235
- Read: .session/{STORY_ID}-session.md
236
- Extract: "Repos:" field (API|UI|Both)
237
- Load: Appropriate repo context
238
- ```
239
-
240
- ### Step 4: Present Ready State
241
- ```
242
- Display: Agent persona and menu
243
- Show: Loaded context summary
244
- Ready: For user input
245
- ```
246
-
247
- ## Agent Workflows
248
-
249
- ### Strategic Agent Workflow (PM Example)
250
-
251
- ```
252
- User: @/pm
253
-
254
- 1. Load PM agent definition (.pennyfarthing/agents/pm.md)
255
- 2. Load all strategic context:
256
- - Sprint status (full)
257
- - API context
258
- - UI context
259
- - Epic definitions
260
- - Active work
261
- 3. Present PM menu with options
262
- 4. Execute PM tasks (sprint planning, backlog grooming, etc.)
263
- 5. Update sprint status
264
- 6. Hand off to SM or other agents as needed
265
- ```
266
-
267
- ### Tactical Agent Workflow (Dev Example)
268
-
269
- ```
270
- User: @/dev
271
-
272
- 1. Load Dev agent definition (.pennyfarthing/agents/dev.md)
273
- 2. Load base context:
274
- - Sprint status (story section)
275
- - Active work
276
- 3. Determine target repo from active work "Repos:" field
277
- 4. Load target repo context:
278
- - If API: API/.claude/context.md
279
- - If UI: UI/.claude/context.md
280
- - If Both: Load both
281
- 5. Present Dev ready state
282
- 6. Implement story in target repo(s)
283
- 7. Update sprint status to 'review'
284
- 8. Hand off to TEA or SM
285
- ```
286
-
287
- ## Agent Handoffs (TDD Flow)
288
-
289
- Handoffs are automated via Haiku subagents in `.pennyfarthing/agents/`.
290
-
291
- ### The Flow
292
-
293
- ```
294
- SM → TEA → Dev → Reviewer → SM
295
- │ │ │ │ │
296
- │ │ │ │ └── sm-finish PHASE=execute
297
- │ │ │ └── handoff VERDICT=approved/rejected
298
- │ │ └── handoff CURRENT_PHASE=green
299
- │ └── handoff CURRENT_PHASE=red
300
- └── sm-setup MODE=setup + sm-handoff
301
- ```
302
-
303
- ### Complete Subagent Inventory
304
-
305
- | Subagent File | Purpose | Model |
306
- |--------------|---------|-------|
307
- | **SM Subagents** | | |
308
- | `sm-setup.md` | Research backlog (MODE=research) or setup story (MODE=setup) | haiku |
309
- | `sm-finish.md` | Preflight checks (PHASE=preflight) or execute finish (PHASE=execute) | haiku |
310
- | `sm-handoff.md` | SM → TEA/Dev handoff with Jira/branch verification | haiku |
311
- | `sm-file-summary.md` | Summarize file changes for commits | haiku |
312
- | **Shared Subagents** | | |
313
- | `handoff.md` | Workflow-driven phase transitions (TEA, Dev, Reviewer) | haiku |
314
- | `testing-runner.md` | Run tests and report results | haiku |
315
- | **Reviewer Subagents** | | |
316
- | `reviewer-preflight.md` | Pre-flight checks before review | haiku |
317
- | **Utility Subagents** | | |
318
- | `workflow-status-check.md` | Check workflow status across repos | haiku |
319
-
320
- ### SM → TEA (Story Setup)
321
- **Trigger:** User selects story via `/new-work`
322
- **Subagent:** `sm-setup MODE=setup` then `sm-handoff`
323
- **Action:** Claim Jira, write session file, create branches
324
- **Handoff phrase:** "TEA, Story X-Y needs tests. Write failing tests for these ACs."
325
-
326
- ### TEA → Dev (Tests Written)
327
- **Trigger:** TEA completes failing tests
328
- **Subagent:** `handoff CURRENT_PHASE=red`
329
- **Action:** Update session file, transition to green phase
330
- **Handoff phrase:** "Dev, tests are RED and ready. Make them GREEN."
331
-
332
- ### Dev → Reviewer (Implementation Complete)
333
- **Trigger:** Dev creates PR with passing tests
334
- **Subagent:** `handoff CURRENT_PHASE=green`
335
- **Action:** Update session file, transition to review phase
336
- **Handoff phrase:** "Reviewer, PR #N is ready. All tests GREEN."
337
-
338
- ### Reviewer → SM (Approved)
339
- **Trigger:** Reviewer approves PR
340
- **Subagent:** `handoff VERDICT=approved`
341
- **Action:** Update status to `approved`, transition to finish phase
342
- **Handoff phrase:** "SM, Story X-Y approved. Run finish-story."
343
-
344
- ### Reviewer → Dev (Rejected)
345
- **Trigger:** Reviewer finds issues
346
- **Subagent:** `handoff VERDICT=rejected`
347
- **Action:** Update session with issues, route back to implement phase
348
- **Handoff phrase:** "Dev, {N} issues found. See assessment for details."
349
-
350
- ### SM → Done (Finish)
351
- **Trigger:** Status = `approved`
352
- **Subagent:** `sm-finish PHASE=execute`
353
- **Action:** Archive session, create summary, update sprint YAML, sync Jira
354
-
355
- ## Support Agent Handoffs
356
-
357
- ### Any → Architect
358
- **Trigger:** Need design decisions or architectural guidance
359
- **Context:** Technical problem or design question
360
- **Action:** Architect provides design and implementation guidance
361
-
362
- ### Any → Tech Writer
363
- **Trigger:** Feature needs documentation
364
- **Context:** Implemented feature
365
- **Action:** Tech Writer creates documentation
366
-
367
- ### Any → UX Designer
368
- **Trigger:** Feature needs UI design
369
- **Context:** User story and requirements
370
- **Action:** UX Designer creates UI design and specs
371
-
372
- ## Context Budget Management
373
-
374
- ### Target Budgets
375
- - **Agent file:** 200-400 lines
376
- - **Sprint status:** 100-200 lines (full) or 50 lines (story section)
377
- - **Repo contexts:** 30-50 lines each
378
- - **Active work:** 50-100 lines
379
- - **Total per agent:** 500-800 lines
380
-
381
- ### Strategic Agent Budget
382
- ```
383
- PM Agent Example:
384
- - pm.md: 200 lines
385
- - sprint-status.yaml: 150 lines
386
- - API/context: 30 lines
387
- - UI/context: 30 lines
388
- - epics.md (summary): 100 lines
389
- - active work: 50 lines
390
- Total: 560 lines ✓
391
- ```
392
-
393
- ### Tactical Agent Budget
394
- ```
395
- Dev Agent Example (API story):
396
- - dev.md: 300 lines
397
- - sprint-status (story): 50 lines
398
- - API/context: 30 lines
399
- - active work: 50 lines
400
- Total: 430 lines ✓
401
- ```
402
-
403
- ## Benefits
404
-
405
- ### ✅ Single Source of Truth
406
- - All agents defined in one place
407
- - No duplicate or conflicting agent files
408
- - Easy to update and maintain
409
-
410
- ### ✅ Coordinated Planning
411
- - Strategic agents see full project scope
412
- - Unified sprint tracking
413
- - Clear cross-repo dependencies
414
-
415
- ### ✅ Focused Implementation
416
- - Tactical agents load only what they need
417
- - Reduced context overhead
418
- - Faster agent activation
419
-
420
- ### ✅ Clear Hierarchy
421
- - Strategic agents coordinate
422
- - Tactical agents execute
423
- - Clean handoffs between agents
424
-
425
- ### ✅ Scalable
426
- - Easy to add new agents
427
- - Context budgets stay manageable
428
- - Works for solo dev or team
429
-
430
- ## Architecture History
431
-
432
- ### Previous Architecture (Pre-December 2025)
433
- - Separate commands: `/new-work`, `/pickup-work`, `/handoff-work`, `/finish-work`
434
- - Manual handoff documentation
435
- - No subagent extraction
436
-
437
- ### Current Architecture (January 2026)
438
- - Smart entry point: `/work` (resumes or starts new)
439
- - Alternative: `/new-work` (explicitly start new story)
440
- - State detection via session file in `.session/`
441
- - Handoffs via Haiku subagents in `.pennyfarthing/agents/`
442
- - SM handles finish-story when status = `approved`
443
- - 102 themed personas for agent personality
444
-
445
- ### Directory Structure
446
- ```
447
- .pennyfarthing/agents/ # Agent definitions (symlinked)
448
- .claude/commands/ # 42 slash commands
449
- .claude/skills/ # 18+ knowledge domain skills
450
- .session/ # Session files
451
- sprint/ # Sprint tracking
452
- ```
453
-
454
- ### Commands Reference
455
- ```bash
456
- # Entry points
457
- /work # Smart entry - resume or start new
458
- /new-work # Explicitly start new story
459
-
460
- # TDD Flow agents
461
- /sm # Scrum Master (setup + finish)
462
- /tea # Test Engineer (RED phase)
463
- /dev # Developer (GREEN phase)
464
- /reviewer # Code Reviewer
465
-
466
- # Support agents
467
- /architect # Architecture design
468
- /tech-writer # Documentation
469
- /ux-designer # UI/UX design
470
- /devops # Infrastructure
471
-
472
- # Utility
473
- /check # Run quality gates before handoff
474
- /chore # Quick commit for small changes
475
- /release # Merge develop to main
476
- ```
477
-
478
- ---
479
-
480
- **Smart entry. State detection. Subagent handoffs. Themed personas.**
@@ -1,230 +0,0 @@
1
- # Hooks Configuration Guide
2
-
3
- Pennyfarthing uses Claude Code hooks to integrate with session lifecycle events and protect files from accidental modification.
4
-
5
- ## Overview
6
-
7
- Hooks are shell scripts that Claude Code runs at specific events:
8
-
9
- | Hook Type | When It Runs | Purpose |
10
- |-----------|--------------|---------|
11
- | `SessionStart` | When Claude Code session begins | Initialize environment, set variables |
12
- | `PreToolUse` | Before a tool call executes | Validate/block operations |
13
- | `PostToolUse` | After a tool call completes | Log, cleanup, notifications |
14
-
15
- ## Pennyfarthing Default Hooks
16
-
17
- ### SessionStart: session-start.sh
18
-
19
- **Location:** `.claude/pennyfarthing/scripts/hooks/session-start.sh`
20
-
21
- Initializes the Pennyfarthing environment:
22
- - Creates `.session/` directory structure
23
- - Clears stale agent state from previous sessions
24
- - Sets `PROJECT_ROOT` and `SESSION_ID` environment variables
25
-
26
- ### SessionStart: setup-env.sh
27
-
28
- **Location:** `.claude/project/hooks/setup-env.sh`
29
-
30
- Project-specific environment setup. Edit this file to:
31
- - Set custom environment variables
32
- - Configure project-specific paths
33
- - Initialize project dependencies
34
-
35
- ### PreToolUse: pre-edit-check.sh
36
-
37
- **Location:** `.claude/pennyfarthing/scripts/hooks/pre-edit-check.sh`
38
-
39
- Protects sensitive files from accidental edits:
40
- - Blocks: `.env`, `.pem`, `.key`, credentials, secrets
41
- - Blocks: `.git/`, `node_modules/`, `vendor/`
42
- - Blocks: `.claude/pennyfarthing/*` (managed files)
43
-
44
- ## Configuration Schema
45
-
46
- Hooks are configured in `.claude/settings.local.json`:
47
-
48
- ```json
49
- {
50
- "hooks": {
51
- "SessionStart": [
52
- {
53
- "hooks": [
54
- {
55
- "type": "command",
56
- "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/pennyfarthing/scripts/hooks/session-start.sh"
57
- }
58
- ]
59
- }
60
- ],
61
- "PreToolUse": [
62
- {
63
- "matcher": "Edit|Write",
64
- "hooks": [
65
- {
66
- "type": "command",
67
- "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/pennyfarthing/scripts/hooks/pre-edit-check.sh"
68
- }
69
- ]
70
- }
71
- ]
72
- }
73
- }
74
- ```
75
-
76
- ### Hook Entry Structure
77
-
78
- ```json
79
- {
80
- "matcher": "ToolNameRegex", // Optional: regex to filter by tool name
81
- "hooks": [
82
- {
83
- "type": "command",
84
- "command": "path/to/script.sh"
85
- }
86
- ]
87
- }
88
- ```
89
-
90
- ### Matcher Format
91
-
92
- The `matcher` field is a regex string that matches tool names:
93
- - `"Edit|Write"` - Match Edit or Write tools
94
- - `"Bash"` - Match Bash tool only
95
- - Omit matcher to run on all tool uses
96
-
97
- ## Hook Script Contract
98
-
99
- ### Input
100
-
101
- Hooks receive JSON via stdin:
102
-
103
- ```json
104
- {
105
- "session_id": "abc123",
106
- "source": "vscode",
107
- "tool_name": "Edit",
108
- "tool_input": {
109
- "file_path": "/path/to/file.ts",
110
- "old_string": "...",
111
- "new_string": "..."
112
- }
113
- }
114
- ```
115
-
116
- ### Output
117
-
118
- | Exit Code | Meaning |
119
- |-----------|---------|
120
- | `0` | Allow (continue execution) |
121
- | `2` | Block (stderr shown to Claude as error) |
122
-
123
- ### Environment Variables
124
-
125
- Available in hooks:
126
- - `CLAUDE_PROJECT_DIR` - Project root directory
127
- - `CLAUDE_ENV_FILE` - Path to write persistent env vars
128
-
129
- ## Adding Custom Hooks
130
-
131
- ### 1. Create Hook Script
132
-
133
- ```bash
134
- #!/usr/bin/env zsh
135
- # .claude/project/hooks/my-custom-hook.sh
136
- set -euo pipefail
137
-
138
- input=$(cat)
139
- # Your logic here
140
-
141
- exit 0 # Allow, or exit 2 to block
142
- ```
143
-
144
- ### 2. Make Executable
145
-
146
- ```bash
147
- chmod +x .claude/project/hooks/my-custom-hook.sh
148
- ```
149
-
150
- ### 3. Configure in settings.local.json
151
-
152
- ```json
153
- {
154
- "hooks": {
155
- "PreToolUse": [
156
- {
157
- "matcher": "Bash",
158
- "hooks": [
159
- {
160
- "type": "command",
161
- "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/project/hooks/my-custom-hook.sh"
162
- }
163
- ]
164
- }
165
- ]
166
- }
167
- }
168
- ```
169
-
170
- ## Examples
171
-
172
- ### Block Specific File Patterns
173
-
174
- ```bash
175
- #!/usr/bin/env zsh
176
- # Block edits to migration files
177
- input=$(cat)
178
- file_path=$(echo "$input" | jq -r '.tool_input.file_path // ""')
179
-
180
- if [[ "$file_path" == *"/migrations/"* ]]; then
181
- echo "BLOCKED: Migration files are immutable" >&2
182
- exit 2
183
- fi
184
- exit 0
185
- ```
186
-
187
- ### Log All Bash Commands
188
-
189
- ```bash
190
- #!/usr/bin/env zsh
191
- # Log bash commands for audit
192
- input=$(cat)
193
- command=$(echo "$input" | jq -r '.tool_input.command // ""')
194
-
195
- echo "$(date -Iseconds) | $command" >> "$CLAUDE_PROJECT_DIR/.session/bash-log.txt"
196
- exit 0
197
- ```
198
-
199
- ### Environment Setup
200
-
201
- ```bash
202
- #!/usr/bin/env zsh
203
- # .claude/project/hooks/setup-env.sh
204
- # Set project-specific environment
205
-
206
- if [ -n "${CLAUDE_ENV_FILE:-}" ]; then
207
- cat >> "$CLAUDE_ENV_FILE" << EOF
208
- export API_URL="http://localhost:3000"
209
- export DATABASE_URL="postgres://localhost/myapp"
210
- EOF
211
- fi
212
- exit 0
213
- ```
214
-
215
- ## Debugging Hooks
216
-
217
- If a hook fails or behaves unexpectedly:
218
-
219
- 1. **Check permissions:** `chmod +x your-hook.sh`
220
- 2. **Test manually:** `echo '{}' | ./your-hook.sh`
221
- 3. **Check stderr:** Hook errors appear in Claude Code output
222
- 4. **Validate JSON:** Use `jq` to parse input correctly
223
-
224
- ## File Locations
225
-
226
- | Type | Location | Editable |
227
- |------|----------|----------|
228
- | Managed hooks | `.claude/pennyfarthing/scripts/hooks/` | No (use pennyfarthing repo) |
229
- | Project hooks | `.claude/project/hooks/` | Yes |
230
- | Settings | `.claude/settings.local.json` | Yes |