@pennyfarthing/core 6.6.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 (599) hide show
  1. package/README.md +293 -0
  2. package/package.json +58 -0
  3. package/packages/core/bin/pennyfarthing.js +14 -0
  4. package/packages/core/dist/bmad/context-reader.d.ts +71 -0
  5. package/packages/core/dist/bmad/context-reader.d.ts.map +1 -0
  6. package/packages/core/dist/bmad/context-reader.js +369 -0
  7. package/packages/core/dist/bmad/context-reader.js.map +1 -0
  8. package/packages/core/dist/bmad/context-reader.test.d.ts +71 -0
  9. package/packages/core/dist/bmad/context-reader.test.d.ts.map +1 -0
  10. package/packages/core/dist/bmad/context-reader.test.js +878 -0
  11. package/packages/core/dist/bmad/context-reader.test.js.map +1 -0
  12. package/packages/core/dist/bmad/epics-parser.d.ts +61 -0
  13. package/packages/core/dist/bmad/epics-parser.d.ts.map +1 -0
  14. package/packages/core/dist/bmad/epics-parser.js +331 -0
  15. package/packages/core/dist/bmad/epics-parser.js.map +1 -0
  16. package/packages/core/dist/bmad/epics-parser.test.d.ts +7 -0
  17. package/packages/core/dist/bmad/epics-parser.test.d.ts.map +1 -0
  18. package/packages/core/dist/bmad/epics-parser.test.js +449 -0
  19. package/packages/core/dist/bmad/epics-parser.test.js.map +1 -0
  20. package/packages/core/dist/bmad/index.d.ts +11 -0
  21. package/packages/core/dist/bmad/index.d.ts.map +1 -0
  22. package/packages/core/dist/bmad/index.js +24 -0
  23. package/packages/core/dist/bmad/index.js.map +1 -0
  24. package/packages/core/dist/bmad/status-sync.d.ts +173 -0
  25. package/packages/core/dist/bmad/status-sync.d.ts.map +1 -0
  26. package/packages/core/dist/bmad/status-sync.js +463 -0
  27. package/packages/core/dist/bmad/status-sync.js.map +1 -0
  28. package/packages/core/dist/bmad/status-sync.test.d.ts +7 -0
  29. package/packages/core/dist/bmad/status-sync.test.d.ts.map +1 -0
  30. package/packages/core/dist/bmad/status-sync.test.js +702 -0
  31. package/packages/core/dist/bmad/status-sync.test.js.map +1 -0
  32. package/packages/core/dist/bmad/story-exporter.d.ts +55 -0
  33. package/packages/core/dist/bmad/story-exporter.d.ts.map +1 -0
  34. package/packages/core/dist/bmad/story-exporter.js +170 -0
  35. package/packages/core/dist/bmad/story-exporter.js.map +1 -0
  36. package/packages/core/dist/bmad/story-exporter.test.d.ts +51 -0
  37. package/packages/core/dist/bmad/story-exporter.test.d.ts.map +1 -0
  38. package/packages/core/dist/bmad/story-exporter.test.js +603 -0
  39. package/packages/core/dist/bmad/story-exporter.test.js.map +1 -0
  40. package/packages/core/dist/bmad/story-parser.d.ts +44 -0
  41. package/packages/core/dist/bmad/story-parser.d.ts.map +1 -0
  42. package/packages/core/dist/bmad/story-parser.js +307 -0
  43. package/packages/core/dist/bmad/story-parser.js.map +1 -0
  44. package/packages/core/dist/bmad/story-parser.test.d.ts +44 -0
  45. package/packages/core/dist/bmad/story-parser.test.d.ts.map +1 -0
  46. package/packages/core/dist/bmad/story-parser.test.js +693 -0
  47. package/packages/core/dist/bmad/story-parser.test.js.map +1 -0
  48. package/packages/core/dist/cli/commands/command.d.ts +28 -0
  49. package/packages/core/dist/cli/commands/command.d.ts.map +1 -0
  50. package/packages/core/dist/cli/commands/command.js +399 -0
  51. package/packages/core/dist/cli/commands/command.js.map +1 -0
  52. package/packages/core/dist/cli/commands/cyclist.d.ts +46 -0
  53. package/packages/core/dist/cli/commands/cyclist.d.ts.map +1 -0
  54. package/packages/core/dist/cli/commands/cyclist.js +191 -0
  55. package/packages/core/dist/cli/commands/cyclist.js.map +1 -0
  56. package/packages/core/dist/cli/commands/cyclist.test.d.ts +13 -0
  57. package/packages/core/dist/cli/commands/cyclist.test.d.ts.map +1 -0
  58. package/packages/core/dist/cli/commands/cyclist.test.js +243 -0
  59. package/packages/core/dist/cli/commands/cyclist.test.js.map +1 -0
  60. package/packages/core/dist/cli/commands/doctor.d.ts +9 -0
  61. package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -0
  62. package/packages/core/dist/cli/commands/doctor.js +652 -0
  63. package/packages/core/dist/cli/commands/doctor.js.map +1 -0
  64. package/packages/core/dist/cli/commands/init.d.ts +8 -0
  65. package/packages/core/dist/cli/commands/init.d.ts.map +1 -0
  66. package/packages/core/dist/cli/commands/init.js +524 -0
  67. package/packages/core/dist/cli/commands/init.js.map +1 -0
  68. package/packages/core/dist/cli/commands/skill.d.ts +28 -0
  69. package/packages/core/dist/cli/commands/skill.d.ts.map +1 -0
  70. package/packages/core/dist/cli/commands/skill.js +416 -0
  71. package/packages/core/dist/cli/commands/skill.js.map +1 -0
  72. package/packages/core/dist/cli/commands/theme.d.ts +21 -0
  73. package/packages/core/dist/cli/commands/theme.d.ts.map +1 -0
  74. package/packages/core/dist/cli/commands/theme.js +201 -0
  75. package/packages/core/dist/cli/commands/theme.js.map +1 -0
  76. package/packages/core/dist/cli/commands/uninstall.d.ts +8 -0
  77. package/packages/core/dist/cli/commands/uninstall.d.ts.map +1 -0
  78. package/packages/core/dist/cli/commands/uninstall.js +237 -0
  79. package/packages/core/dist/cli/commands/uninstall.js.map +1 -0
  80. package/packages/core/dist/cli/commands/update.d.ts +9 -0
  81. package/packages/core/dist/cli/commands/update.d.ts.map +1 -0
  82. package/packages/core/dist/cli/commands/update.js +545 -0
  83. package/packages/core/dist/cli/commands/update.js.map +1 -0
  84. package/packages/core/dist/cli/commands/version.d.ts +2 -0
  85. package/packages/core/dist/cli/commands/version.d.ts.map +1 -0
  86. package/packages/core/dist/cli/commands/version.js +28 -0
  87. package/packages/core/dist/cli/commands/version.js.map +1 -0
  88. package/packages/core/dist/cli/customization.test.d.ts +12 -0
  89. package/packages/core/dist/cli/customization.test.d.ts.map +1 -0
  90. package/packages/core/dist/cli/customization.test.js +84 -0
  91. package/packages/core/dist/cli/customization.test.js.map +1 -0
  92. package/packages/core/dist/cli/cyclist-migration.test.d.ts +16 -0
  93. package/packages/core/dist/cli/cyclist-migration.test.d.ts.map +1 -0
  94. package/packages/core/dist/cli/cyclist-migration.test.js +224 -0
  95. package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -0
  96. package/packages/core/dist/cli/index.d.ts +3 -0
  97. package/packages/core/dist/cli/index.d.ts.map +1 -0
  98. package/packages/core/dist/cli/index.js +174 -0
  99. package/packages/core/dist/cli/index.js.map +1 -0
  100. package/packages/core/dist/cli/ocean-profiles.test.d.ts +13 -0
  101. package/packages/core/dist/cli/ocean-profiles.test.d.ts.map +1 -0
  102. package/packages/core/dist/cli/ocean-profiles.test.js +134 -0
  103. package/packages/core/dist/cli/ocean-profiles.test.js.map +1 -0
  104. package/packages/core/dist/cli/theme-maker.test.d.ts +11 -0
  105. package/packages/core/dist/cli/theme-maker.test.d.ts.map +1 -0
  106. package/packages/core/dist/cli/theme-maker.test.js +356 -0
  107. package/packages/core/dist/cli/theme-maker.test.js.map +1 -0
  108. package/packages/core/dist/cli/utils/constants.d.ts +60 -0
  109. package/packages/core/dist/cli/utils/constants.d.ts.map +1 -0
  110. package/packages/core/dist/cli/utils/constants.js +52 -0
  111. package/packages/core/dist/cli/utils/constants.js.map +1 -0
  112. package/packages/core/dist/cli/utils/files.d.ts +71 -0
  113. package/packages/core/dist/cli/utils/files.d.ts.map +1 -0
  114. package/packages/core/dist/cli/utils/files.js +162 -0
  115. package/packages/core/dist/cli/utils/files.js.map +1 -0
  116. package/packages/core/dist/cli/utils/logger.d.ts +26 -0
  117. package/packages/core/dist/cli/utils/logger.d.ts.map +1 -0
  118. package/packages/core/dist/cli/utils/logger.js +88 -0
  119. package/packages/core/dist/cli/utils/logger.js.map +1 -0
  120. package/packages/core/dist/cli/utils/manifest.d.ts +47 -0
  121. package/packages/core/dist/cli/utils/manifest.d.ts.map +1 -0
  122. package/packages/core/dist/cli/utils/manifest.js +90 -0
  123. package/packages/core/dist/cli/utils/manifest.js.map +1 -0
  124. package/packages/core/dist/cli/utils/node-modules.d.ts +6 -0
  125. package/packages/core/dist/cli/utils/node-modules.d.ts.map +1 -0
  126. package/packages/core/dist/cli/utils/node-modules.js +22 -0
  127. package/packages/core/dist/cli/utils/node-modules.js.map +1 -0
  128. package/packages/core/dist/cli/utils/prompts.d.ts +34 -0
  129. package/packages/core/dist/cli/utils/prompts.d.ts.map +1 -0
  130. package/packages/core/dist/cli/utils/prompts.js +93 -0
  131. package/packages/core/dist/cli/utils/prompts.js.map +1 -0
  132. package/packages/core/dist/cli/utils/symlinks.d.ts +29 -0
  133. package/packages/core/dist/cli/utils/symlinks.d.ts.map +1 -0
  134. package/packages/core/dist/cli/utils/symlinks.js +181 -0
  135. package/packages/core/dist/cli/utils/symlinks.js.map +1 -0
  136. package/packages/core/dist/cli/utils/themes.d.ts +104 -0
  137. package/packages/core/dist/cli/utils/themes.d.ts.map +1 -0
  138. package/packages/core/dist/cli/utils/themes.js +393 -0
  139. package/packages/core/dist/cli/utils/themes.js.map +1 -0
  140. package/packages/core/dist/cli/utils/themes.test.d.ts +12 -0
  141. package/packages/core/dist/cli/utils/themes.test.d.ts.map +1 -0
  142. package/packages/core/dist/cli/utils/themes.test.js +144 -0
  143. package/packages/core/dist/cli/utils/themes.test.js.map +1 -0
  144. package/packages/core/dist/cli/utils/version.d.ts +10 -0
  145. package/packages/core/dist/cli/utils/version.d.ts.map +1 -0
  146. package/packages/core/dist/cli/utils/version.js +63 -0
  147. package/packages/core/dist/cli/utils/version.js.map +1 -0
  148. package/packages/core/dist/cli/workspace.test.d.ts +8 -0
  149. package/packages/core/dist/cli/workspace.test.d.ts.map +1 -0
  150. package/packages/core/dist/cli/workspace.test.js +154 -0
  151. package/packages/core/dist/cli/workspace.test.js.map +1 -0
  152. package/packages/core/dist/index.d.ts +6 -0
  153. package/packages/core/dist/index.d.ts.map +1 -0
  154. package/packages/core/dist/index.js +10 -0
  155. package/packages/core/dist/index.js.map +1 -0
  156. package/packages/core/dist/permissions/index.d.ts +9 -0
  157. package/packages/core/dist/permissions/index.d.ts.map +1 -0
  158. package/packages/core/dist/permissions/index.js +13 -0
  159. package/packages/core/dist/permissions/index.js.map +1 -0
  160. package/packages/core/dist/permissions/permission-schema.d.ts +89 -0
  161. package/packages/core/dist/permissions/permission-schema.d.ts.map +1 -0
  162. package/packages/core/dist/permissions/permission-schema.js +120 -0
  163. package/packages/core/dist/permissions/permission-schema.js.map +1 -0
  164. package/packages/core/dist/permissions/permission-schema.test.d.ts +40 -0
  165. package/packages/core/dist/permissions/permission-schema.test.d.ts.map +1 -0
  166. package/packages/core/dist/permissions/permission-schema.test.js +367 -0
  167. package/packages/core/dist/permissions/permission-schema.test.js.map +1 -0
  168. package/packages/core/dist/scripts/add-ocean-profiles.d.ts +9 -0
  169. package/packages/core/dist/scripts/add-ocean-profiles.d.ts.map +1 -0
  170. package/packages/core/dist/scripts/add-ocean-profiles.js +695 -0
  171. package/packages/core/dist/scripts/add-ocean-profiles.js.map +1 -0
  172. package/packages/core/dist/scripts/benchmark-integration.d.ts +182 -0
  173. package/packages/core/dist/scripts/benchmark-integration.d.ts.map +1 -0
  174. package/packages/core/dist/scripts/benchmark-integration.js +691 -0
  175. package/packages/core/dist/scripts/benchmark-integration.js.map +1 -0
  176. package/packages/core/dist/scripts/benchmark-integration.test.d.ts +13 -0
  177. package/packages/core/dist/scripts/benchmark-integration.test.d.ts.map +1 -0
  178. package/packages/core/dist/scripts/benchmark-integration.test.js +680 -0
  179. package/packages/core/dist/scripts/benchmark-integration.test.js.map +1 -0
  180. package/packages/core/dist/scripts/debugging-scenarios.test.d.ts +18 -0
  181. package/packages/core/dist/scripts/debugging-scenarios.test.d.ts.map +1 -0
  182. package/packages/core/dist/scripts/debugging-scenarios.test.js +317 -0
  183. package/packages/core/dist/scripts/debugging-scenarios.test.js.map +1 -0
  184. package/packages/core/dist/scripts/generate-all-faces.d.ts +10 -0
  185. package/packages/core/dist/scripts/generate-all-faces.d.ts.map +1 -0
  186. package/packages/core/dist/scripts/generate-all-faces.js +256 -0
  187. package/packages/core/dist/scripts/generate-all-faces.js.map +1 -0
  188. package/packages/core/dist/scripts/generate-all-faces.test.d.ts +17 -0
  189. package/packages/core/dist/scripts/generate-all-faces.test.d.ts.map +1 -0
  190. package/packages/core/dist/scripts/generate-all-faces.test.js +372 -0
  191. package/packages/core/dist/scripts/generate-all-faces.test.js.map +1 -0
  192. package/packages/core/dist/scripts/generate-all-spiders.d.ts +10 -0
  193. package/packages/core/dist/scripts/generate-all-spiders.d.ts.map +1 -0
  194. package/packages/core/dist/scripts/generate-all-spiders.js +306 -0
  195. package/packages/core/dist/scripts/generate-all-spiders.js.map +1 -0
  196. package/packages/core/dist/scripts/generate-ascii-face.d.ts +52 -0
  197. package/packages/core/dist/scripts/generate-ascii-face.d.ts.map +1 -0
  198. package/packages/core/dist/scripts/generate-ascii-face.js +155 -0
  199. package/packages/core/dist/scripts/generate-ascii-face.js.map +1 -0
  200. package/packages/core/dist/scripts/generate-face.d.ts +52 -0
  201. package/packages/core/dist/scripts/generate-face.d.ts.map +1 -0
  202. package/packages/core/dist/scripts/generate-face.js +199 -0
  203. package/packages/core/dist/scripts/generate-face.js.map +1 -0
  204. package/packages/core/dist/scripts/generate-face.test.d.ts +13 -0
  205. package/packages/core/dist/scripts/generate-face.test.d.ts.map +1 -0
  206. package/packages/core/dist/scripts/generate-face.test.js +301 -0
  207. package/packages/core/dist/scripts/generate-face.test.js.map +1 -0
  208. package/packages/core/dist/scripts/generate-report.d.ts +65 -0
  209. package/packages/core/dist/scripts/generate-report.d.ts.map +1 -0
  210. package/packages/core/dist/scripts/generate-report.js +378 -0
  211. package/packages/core/dist/scripts/generate-report.js.map +1 -0
  212. package/packages/core/dist/scripts/generate-report.test.d.ts +13 -0
  213. package/packages/core/dist/scripts/generate-report.test.d.ts.map +1 -0
  214. package/packages/core/dist/scripts/generate-report.test.js +363 -0
  215. package/packages/core/dist/scripts/generate-report.test.js.map +1 -0
  216. package/packages/core/dist/scripts/generate-spider-report.d.ts +65 -0
  217. package/packages/core/dist/scripts/generate-spider-report.d.ts.map +1 -0
  218. package/packages/core/dist/scripts/generate-spider-report.js +366 -0
  219. package/packages/core/dist/scripts/generate-spider-report.js.map +1 -0
  220. package/packages/core/dist/scripts/generate-spider-report.test.d.ts +13 -0
  221. package/packages/core/dist/scripts/generate-spider-report.test.d.ts.map +1 -0
  222. package/packages/core/dist/scripts/generate-spider-report.test.js +367 -0
  223. package/packages/core/dist/scripts/generate-spider-report.test.js.map +1 -0
  224. package/packages/core/dist/scripts/generate-spider.d.ts +37 -0
  225. package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -0
  226. package/packages/core/dist/scripts/generate-spider.js +315 -0
  227. package/packages/core/dist/scripts/generate-spider.js.map +1 -0
  228. package/packages/core/dist/scripts/generate-spider.test.d.ts +14 -0
  229. package/packages/core/dist/scripts/generate-spider.test.d.ts.map +1 -0
  230. package/packages/core/dist/scripts/generate-spider.test.js +269 -0
  231. package/packages/core/dist/scripts/generate-spider.test.js.map +1 -0
  232. package/packages/core/dist/scripts/job-fair-aggregator.d.ts +150 -0
  233. package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +1 -0
  234. package/packages/core/dist/scripts/job-fair-aggregator.js +547 -0
  235. package/packages/core/dist/scripts/job-fair-aggregator.js.map +1 -0
  236. package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts +14 -0
  237. package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts.map +1 -0
  238. package/packages/core/dist/scripts/job-fair-aggregator.test.js +616 -0
  239. package/packages/core/dist/scripts/job-fair-aggregator.test.js.map +1 -0
  240. package/packages/core/dist/scripts/run-ci.test.d.ts +20 -0
  241. package/packages/core/dist/scripts/run-ci.test.d.ts.map +1 -0
  242. package/packages/core/dist/scripts/run-ci.test.js +127 -0
  243. package/packages/core/dist/scripts/run-ci.test.js.map +1 -0
  244. package/packages/core/dist/scripts/theme-detail.test.d.ts +10 -0
  245. package/packages/core/dist/scripts/theme-detail.test.d.ts.map +1 -0
  246. package/packages/core/dist/scripts/theme-detail.test.js +199 -0
  247. package/packages/core/dist/scripts/theme-detail.test.js.map +1 -0
  248. package/packages/core/dist/scripts/validate-ocean-profiles.d.ts +9 -0
  249. package/packages/core/dist/scripts/validate-ocean-profiles.d.ts.map +1 -0
  250. package/packages/core/dist/scripts/validate-ocean-profiles.js +130 -0
  251. package/packages/core/dist/scripts/validate-ocean-profiles.js.map +1 -0
  252. package/packages/core/dist/workflow/generic-handoff.d.ts +235 -0
  253. package/packages/core/dist/workflow/generic-handoff.d.ts.map +1 -0
  254. package/packages/core/dist/workflow/generic-handoff.js +358 -0
  255. package/packages/core/dist/workflow/generic-handoff.js.map +1 -0
  256. package/packages/core/dist/workflow/generic-handoff.test.d.ts +21 -0
  257. package/packages/core/dist/workflow/generic-handoff.test.d.ts.map +1 -0
  258. package/packages/core/dist/workflow/generic-handoff.test.js +499 -0
  259. package/packages/core/dist/workflow/generic-handoff.test.js.map +1 -0
  260. package/packages/core/dist/workflow/generic-sm-finish.d.ts +89 -0
  261. package/packages/core/dist/workflow/generic-sm-finish.d.ts.map +1 -0
  262. package/packages/core/dist/workflow/generic-sm-finish.js +157 -0
  263. package/packages/core/dist/workflow/generic-sm-finish.js.map +1 -0
  264. package/packages/core/dist/workflow/generic-sm-setup.d.ts +138 -0
  265. package/packages/core/dist/workflow/generic-sm-setup.d.ts.map +1 -0
  266. package/packages/core/dist/workflow/generic-sm-setup.js +382 -0
  267. package/packages/core/dist/workflow/generic-sm-setup.js.map +1 -0
  268. package/packages/core/dist/workflow/sm-subagents.test.d.ts +23 -0
  269. package/packages/core/dist/workflow/sm-subagents.test.d.ts.map +1 -0
  270. package/packages/core/dist/workflow/sm-subagents.test.js +727 -0
  271. package/packages/core/dist/workflow/sm-subagents.test.js.map +1 -0
  272. package/packages/core/dist/workflow/story-workflow-routing.test.d.ts +17 -0
  273. package/packages/core/dist/workflow/story-workflow-routing.test.d.ts.map +1 -0
  274. package/packages/core/dist/workflow/story-workflow-routing.test.js +559 -0
  275. package/packages/core/dist/workflow/story-workflow-routing.test.js.map +1 -0
  276. package/packages/core/dist/workflow/test-cache.d.ts +131 -0
  277. package/packages/core/dist/workflow/test-cache.d.ts.map +1 -0
  278. package/packages/core/dist/workflow/test-cache.js +226 -0
  279. package/packages/core/dist/workflow/test-cache.js.map +1 -0
  280. package/packages/core/dist/workflow/test-cache.test.d.ts +17 -0
  281. package/packages/core/dist/workflow/test-cache.test.d.ts.map +1 -0
  282. package/packages/core/dist/workflow/test-cache.test.js +438 -0
  283. package/packages/core/dist/workflow/test-cache.test.js.map +1 -0
  284. package/packages/core/dist/workflow/workflow-loader.d.ts +76 -0
  285. package/packages/core/dist/workflow/workflow-loader.d.ts.map +1 -0
  286. package/packages/core/dist/workflow/workflow-loader.js +133 -0
  287. package/packages/core/dist/workflow/workflow-loader.js.map +1 -0
  288. package/packages/core/dist/workflow/workflow-loader.test.d.ts +15 -0
  289. package/packages/core/dist/workflow/workflow-loader.test.d.ts.map +1 -0
  290. package/packages/core/dist/workflow/workflow-loader.test.js +354 -0
  291. package/packages/core/dist/workflow/workflow-loader.test.js.map +1 -0
  292. package/packages/core/dist/workflow/workflow-migration.test.d.ts +17 -0
  293. package/packages/core/dist/workflow/workflow-migration.test.d.ts.map +1 -0
  294. package/packages/core/dist/workflow/workflow-migration.test.js +372 -0
  295. package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -0
  296. package/packages/core/dist/workflow/workflow-router.d.ts +55 -0
  297. package/packages/core/dist/workflow/workflow-router.d.ts.map +1 -0
  298. package/packages/core/dist/workflow/workflow-router.js +245 -0
  299. package/packages/core/dist/workflow/workflow-router.js.map +1 -0
  300. package/packages/core/dist/workflow/workflow-router.test.d.ts +20 -0
  301. package/packages/core/dist/workflow/workflow-router.test.d.ts.map +1 -0
  302. package/packages/core/dist/workflow/workflow-router.test.js +607 -0
  303. package/packages/core/dist/workflow/workflow-router.test.js.map +1 -0
  304. package/packages/core/dist/workflow/workflow-schema.d.ts +98 -0
  305. package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -0
  306. package/packages/core/dist/workflow/workflow-schema.js +230 -0
  307. package/packages/core/dist/workflow/workflow-schema.js.map +1 -0
  308. package/packages/core/dist/workflow/workflow-schema.test.d.ts +45 -0
  309. package/packages/core/dist/workflow/workflow-schema.test.d.ts.map +1 -0
  310. package/packages/core/dist/workflow/workflow-schema.test.js +512 -0
  311. package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -0
  312. package/pennyfarthing-dist/agents/README.md +397 -0
  313. package/pennyfarthing-dist/agents/architect.md +171 -0
  314. package/pennyfarthing-dist/agents/dev.md +225 -0
  315. package/pennyfarthing-dist/agents/devops.md +183 -0
  316. package/pennyfarthing-dist/agents/generic-handoff.md +451 -0
  317. package/pennyfarthing-dist/agents/generic-sm-finish.md +261 -0
  318. package/pennyfarthing-dist/agents/generic-sm-setup.md +214 -0
  319. package/pennyfarthing-dist/agents/orchestrator.md +316 -0
  320. package/pennyfarthing-dist/agents/pm.md +153 -0
  321. package/pennyfarthing-dist/agents/reviewer-preflight.md +224 -0
  322. package/pennyfarthing-dist/agents/reviewer.md +315 -0
  323. package/pennyfarthing-dist/agents/sm-file-summary.md +109 -0
  324. package/pennyfarthing-dist/agents/sm-handoff.md +97 -0
  325. package/pennyfarthing-dist/agents/sm.md +480 -0
  326. package/pennyfarthing-dist/agents/tea.md +191 -0
  327. package/pennyfarthing-dist/agents/tech-writer.md +148 -0
  328. package/pennyfarthing-dist/agents/testing-runner.md +420 -0
  329. package/pennyfarthing-dist/agents/ux-designer.md +158 -0
  330. package/pennyfarthing-dist/agents/workflow-status-check.md +332 -0
  331. package/pennyfarthing-dist/commands/architect.md +62 -0
  332. package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
  333. package/pennyfarthing-dist/commands/benchmark.md +467 -0
  334. package/pennyfarthing-dist/commands/brainstorm.md +91 -0
  335. package/pennyfarthing-dist/commands/check.md +156 -0
  336. package/pennyfarthing-dist/commands/chore.md +178 -0
  337. package/pennyfarthing-dist/commands/close-epic.md +136 -0
  338. package/pennyfarthing-dist/commands/continue-session.md +184 -0
  339. package/pennyfarthing-dist/commands/create-branches-from-story.md +374 -0
  340. package/pennyfarthing-dist/commands/create-theme.md +29 -0
  341. package/pennyfarthing-dist/commands/dev.md +60 -0
  342. package/pennyfarthing-dist/commands/devops.md +59 -0
  343. package/pennyfarthing-dist/commands/git-cleanup.md +340 -0
  344. package/pennyfarthing-dist/commands/health-check.md +108 -0
  345. package/pennyfarthing-dist/commands/help.md +264 -0
  346. package/pennyfarthing-dist/commands/job-fair.md +102 -0
  347. package/pennyfarthing-dist/commands/list-themes.md +17 -0
  348. package/pennyfarthing-dist/commands/new-work.md +127 -0
  349. package/pennyfarthing-dist/commands/orchestrator.md +56 -0
  350. package/pennyfarthing-dist/commands/parallel-work.md +71 -0
  351. package/pennyfarthing-dist/commands/party-mode.md +67 -0
  352. package/pennyfarthing-dist/commands/permissions.md +193 -0
  353. package/pennyfarthing-dist/commands/pm.md +60 -0
  354. package/pennyfarthing-dist/commands/prime.md +140 -0
  355. package/pennyfarthing-dist/commands/release.md +58 -0
  356. package/pennyfarthing-dist/commands/repo-status.md +49 -0
  357. package/pennyfarthing-dist/commands/retro.md +200 -0
  358. package/pennyfarthing-dist/commands/reviewer.md +64 -0
  359. package/pennyfarthing-dist/commands/run-ci.md +116 -0
  360. package/pennyfarthing-dist/commands/set-theme.md +52 -0
  361. package/pennyfarthing-dist/commands/show-theme.md +21 -0
  362. package/pennyfarthing-dist/commands/sm.md +70 -0
  363. package/pennyfarthing-dist/commands/solo.md +411 -0
  364. package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
  365. package/pennyfarthing-dist/commands/start-epic.md +156 -0
  366. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +184 -0
  367. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +376 -0
  368. package/pennyfarthing-dist/commands/tea.md +63 -0
  369. package/pennyfarthing-dist/commands/tech-writer.md +53 -0
  370. package/pennyfarthing-dist/commands/theme-maker.md +671 -0
  371. package/pennyfarthing-dist/commands/update-domain-docs.md +83 -0
  372. package/pennyfarthing-dist/commands/ux-designer.md +62 -0
  373. package/pennyfarthing-dist/commands/work.md +111 -0
  374. package/pennyfarthing-dist/guides/AGENT-COORDINATION.md +480 -0
  375. package/pennyfarthing-dist/guides/AGENT-SCOPES.md +201 -0
  376. package/pennyfarthing-dist/guides/HOOKS.md +230 -0
  377. package/pennyfarthing-dist/guides/PROMPT-PATTERNS.md +338 -0
  378. package/pennyfarthing-dist/guides/SESSION-ARTIFACTS.md +193 -0
  379. package/pennyfarthing-dist/guides/agent-template-strategic.md +148 -0
  380. package/pennyfarthing-dist/guides/agent-template-tactical.md +162 -0
  381. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +746 -0
  382. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +574 -0
  383. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +488 -0
  384. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +402 -0
  385. package/pennyfarthing-dist/guides/permission-protocol.md +188 -0
  386. package/pennyfarthing-dist/guides/persona-loading.md +46 -0
  387. package/pennyfarthing-dist/guides/persona-system.md +294 -0
  388. package/pennyfarthing-dist/guides/shared-agent-behavior.md +388 -0
  389. package/pennyfarthing-dist/guides/shared-context.md +147 -0
  390. package/pennyfarthing-dist/guides/strategic-agent-behavior.md +348 -0
  391. package/pennyfarthing-dist/guides/tactical-agent-behavior.md +1041 -0
  392. package/pennyfarthing-dist/guides/workflow-schema.md +195 -0
  393. package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
  394. package/pennyfarthing-dist/output-styles/teaching.md +33 -0
  395. package/pennyfarthing-dist/output-styles/terse.md +20 -0
  396. package/pennyfarthing-dist/output-styles/verbose.md +28 -0
  397. package/pennyfarthing-dist/personas/themes/1984.yaml +312 -0
  398. package/pennyfarthing-dist/personas/themes/a-team.yaml +207 -0
  399. package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +300 -0
  400. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +330 -0
  401. package/pennyfarthing-dist/personas/themes/all-stars.yaml +332 -0
  402. package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +320 -0
  403. package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +306 -0
  404. package/pennyfarthing-dist/personas/themes/arcane.yaml +288 -0
  405. package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +331 -0
  406. package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +288 -0
  407. package/pennyfarthing-dist/personas/themes/babylon-5.yaml +288 -0
  408. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +288 -0
  409. package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +288 -0
  410. package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +300 -0
  411. package/pennyfarthing-dist/personas/themes/black-sails.yaml +300 -0
  412. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +295 -0
  413. package/pennyfarthing-dist/personas/themes/bobiverse.yaml +288 -0
  414. package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +327 -0
  415. package/pennyfarthing-dist/personas/themes/catch-22.yaml +316 -0
  416. package/pennyfarthing-dist/personas/themes/classical-composers.yaml +310 -0
  417. package/pennyfarthing-dist/personas/themes/control.yaml +197 -0
  418. package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +320 -0
  419. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +323 -0
  420. package/pennyfarthing-dist/personas/themes/deadwood.yaml +300 -0
  421. package/pennyfarthing-dist/personas/themes/dickens.yaml +320 -0
  422. package/pennyfarthing-dist/personas/themes/discworld.yaml +332 -0
  423. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +290 -0
  424. package/pennyfarthing-dist/personas/themes/don-quixote.yaml +320 -0
  425. package/pennyfarthing-dist/personas/themes/dune.yaml +307 -0
  426. package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +320 -0
  427. package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +288 -0
  428. package/pennyfarthing-dist/personas/themes/fargo.yaml +330 -0
  429. package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +312 -0
  430. package/pennyfarthing-dist/personas/themes/firefly.yaml +328 -0
  431. package/pennyfarthing-dist/personas/themes/foundation.yaml +290 -0
  432. package/pennyfarthing-dist/personas/themes/futurama.yaml +321 -0
  433. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +290 -0
  434. package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +243 -0
  435. package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +308 -0
  436. package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +308 -0
  437. package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +330 -0
  438. package/pennyfarthing-dist/personas/themes/hannibal.yaml +300 -0
  439. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +324 -0
  440. package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +291 -0
  441. package/pennyfarthing-dist/personas/themes/historical-figures.yaml +288 -0
  442. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +331 -0
  443. package/pennyfarthing-dist/personas/themes/house-md.yaml +321 -0
  444. package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +289 -0
  445. package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +300 -0
  446. package/pennyfarthing-dist/personas/themes/jane-austen.yaml +287 -0
  447. package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +320 -0
  448. package/pennyfarthing-dist/personas/themes/justified.yaml +300 -0
  449. package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +219 -0
  450. package/pennyfarthing-dist/personas/themes/les-miserables.yaml +299 -0
  451. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +334 -0
  452. package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +334 -0
  453. package/pennyfarthing-dist/personas/themes/mad-max.yaml +355 -0
  454. package/pennyfarthing-dist/personas/themes/mad-men.yaml +289 -0
  455. package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +300 -0
  456. package/pennyfarthing-dist/personas/themes/mash.yaml +334 -0
  457. package/pennyfarthing-dist/personas/themes/mass-effect.yaml +289 -0
  458. package/pennyfarthing-dist/personas/themes/military-commanders.yaml +306 -0
  459. package/pennyfarthing-dist/personas/themes/moby-dick.yaml +320 -0
  460. package/pennyfarthing-dist/personas/themes/monty-python.yaml +303 -0
  461. package/pennyfarthing-dist/personas/themes/neuromancer.yaml +300 -0
  462. package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +329 -0
  463. package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +242 -0
  464. package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +298 -0
  465. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +220 -0
  466. package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +320 -0
  467. package/pennyfarthing-dist/personas/themes/rome.yaml +300 -0
  468. package/pennyfarthing-dist/personas/themes/russian-masters.yaml +318 -0
  469. package/pennyfarthing-dist/personas/themes/sandman.yaml +288 -0
  470. package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +320 -0
  471. package/pennyfarthing-dist/personas/themes/shakespeare.yaml +301 -0
  472. package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +289 -0
  473. package/pennyfarthing-dist/personas/themes/snow-crash.yaml +288 -0
  474. package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +300 -0
  475. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +230 -0
  476. package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +210 -0
  477. package/pennyfarthing-dist/personas/themes/star-wars.yaml +303 -0
  478. package/pennyfarthing-dist/personas/themes/succession.yaml +300 -0
  479. package/pennyfarthing-dist/personas/themes/superfriends.yaml +208 -0
  480. package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +236 -0
  481. package/pennyfarthing-dist/personas/themes/the-americans.yaml +300 -0
  482. package/pennyfarthing-dist/personas/themes/the-crown.yaml +300 -0
  483. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +213 -0
  484. package/pennyfarthing-dist/personas/themes/the-good-place.yaml +322 -0
  485. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +353 -0
  486. package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +300 -0
  487. package/pennyfarthing-dist/personas/themes/the-office.yaml +330 -0
  488. package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +308 -0
  489. package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +300 -0
  490. package/pennyfarthing-dist/personas/themes/the-wire.yaml +311 -0
  491. package/pennyfarthing-dist/personas/themes/the-witcher.yaml +300 -0
  492. package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +302 -0
  493. package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +300 -0
  494. package/pennyfarthing-dist/personas/themes/watchmen.yaml +291 -0
  495. package/pennyfarthing-dist/personas/themes/west-wing.yaml +291 -0
  496. package/pennyfarthing-dist/personas/themes/world-explorers.yaml +320 -0
  497. package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +307 -0
  498. package/pennyfarthing-dist/personas/themes/x-files.yaml +302 -0
  499. package/pennyfarthing-dist/scripts/add-short-names.mjs +264 -0
  500. package/pennyfarthing-dist/scripts/agent-session.sh +367 -0
  501. package/pennyfarthing-dist/scripts/check-context.sh +187 -0
  502. package/pennyfarthing-dist/scripts/check.sh +497 -0
  503. package/pennyfarthing-dist/scripts/deploy.sh +284 -0
  504. package/pennyfarthing-dist/scripts/doctor-dogfood.sh +360 -0
  505. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +61 -0
  506. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +66 -0
  507. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +35 -0
  508. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +166 -0
  509. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +50 -0
  510. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
  511. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +54 -0
  512. package/pennyfarthing-dist/scripts/hooks/session-start.sh +98 -0
  513. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +59 -0
  514. package/pennyfarthing-dist/scripts/install-git-hooks.sh +91 -0
  515. package/pennyfarthing-dist/scripts/prime.sh +161 -0
  516. package/pennyfarthing-dist/scripts/release.sh +198 -0
  517. package/pennyfarthing-dist/scripts/repo-utils.sh +778 -0
  518. package/pennyfarthing-dist/scripts/run-ci.sh +219 -0
  519. package/pennyfarthing-dist/scripts/run.sh +65 -0
  520. package/pennyfarthing-dist/scripts/statusline.sh +264 -0
  521. package/pennyfarthing-dist/scripts/tests/check.test.sh +582 -0
  522. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +107 -0
  523. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +597 -0
  524. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +514 -0
  525. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +517 -0
  526. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +331 -0
  527. package/pennyfarthing-dist/scripts/uninstall.sh +271 -0
  528. package/pennyfarthing-dist/scripts/utils/background-tasks.sh +177 -0
  529. package/pennyfarthing-dist/scripts/utils/check-status.sh +251 -0
  530. package/pennyfarthing-dist/scripts/utils/checkpoint.sh +136 -0
  531. package/pennyfarthing-dist/scripts/utils/common.sh +157 -0
  532. package/pennyfarthing-dist/scripts/utils/create-feature-branches.sh +230 -0
  533. package/pennyfarthing-dist/scripts/utils/file-lock.sh +269 -0
  534. package/pennyfarthing-dist/scripts/utils/find-related-work.sh +231 -0
  535. package/pennyfarthing-dist/scripts/utils/find-root.sh +33 -0
  536. package/pennyfarthing-dist/scripts/utils/generate-skill-docs.sh +110 -0
  537. package/pennyfarthing-dist/scripts/utils/git-status-all.sh +127 -0
  538. package/pennyfarthing-dist/scripts/utils/ground-truth-judge.py +289 -0
  539. package/pennyfarthing-dist/scripts/utils/jira/jira-lib.mjs +443 -0
  540. package/pennyfarthing-dist/scripts/utils/jira/jira-sync-story.mjs +208 -0
  541. package/pennyfarthing-dist/scripts/utils/jira/jira-sync.mjs +198 -0
  542. package/pennyfarthing-dist/scripts/utils/jira-claim-story.sh +162 -0
  543. package/pennyfarthing-dist/scripts/utils/jira-lib.sh +463 -0
  544. package/pennyfarthing-dist/scripts/utils/jira-sync-story.sh +8 -0
  545. package/pennyfarthing-dist/scripts/utils/jira-sync.sh +8 -0
  546. package/pennyfarthing-dist/scripts/utils/log-skill-usage.sh +74 -0
  547. package/pennyfarthing-dist/scripts/utils/logging.sh +186 -0
  548. package/pennyfarthing-dist/scripts/utils/repo-scan.sh +141 -0
  549. package/pennyfarthing-dist/scripts/utils/retry.sh +76 -0
  550. package/pennyfarthing-dist/scripts/utils/run-timestamp.sh +7 -0
  551. package/pennyfarthing-dist/scripts/utils/session-cleanup.sh +319 -0
  552. package/pennyfarthing-dist/scripts/utils/skill-usage-report.sh +193 -0
  553. package/pennyfarthing-dist/scripts/utils/sprint-common.sh +286 -0
  554. package/pennyfarthing-dist/scripts/utils/sprint-metrics.sh +241 -0
  555. package/pennyfarthing-dist/scripts/utils/swebench-judge.py +400 -0
  556. package/pennyfarthing-dist/scripts/utils/sync-epic-to-jira.sh +16 -0
  557. package/pennyfarthing-dist/scripts/utils/test-setup.sh +337 -0
  558. package/pennyfarthing-dist/scripts/utils/validate-subagent-frontmatter.sh +160 -0
  559. package/pennyfarthing-dist/scripts/worktree-manager.sh +498 -0
  560. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +236 -0
  561. package/pennyfarthing-dist/skills/changelog/SKILL.md +367 -0
  562. package/pennyfarthing-dist/skills/code-review/SKILL.md +168 -0
  563. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +268 -0
  564. package/pennyfarthing-dist/skills/cyclist/SKILL.md +117 -0
  565. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +421 -0
  566. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +258 -0
  567. package/pennyfarthing-dist/skills/jira/SKILL.md +281 -0
  568. package/pennyfarthing-dist/skills/judge/SKILL.md +524 -0
  569. package/pennyfarthing-dist/skills/just/SKILL.md +160 -0
  570. package/pennyfarthing-dist/skills/mermaid/SKILL.md +240 -0
  571. package/pennyfarthing-dist/skills/otel/skill.md +222 -0
  572. package/pennyfarthing-dist/skills/permissions/skill.md +172 -0
  573. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +173 -0
  574. package/pennyfarthing-dist/skills/skill-registry.schema.json +102 -0
  575. package/pennyfarthing-dist/skills/skill-registry.yaml +335 -0
  576. package/pennyfarthing-dist/skills/sprint-context/SKILL.md +120 -0
  577. package/pennyfarthing-dist/skills/story-management/SKILL.md +208 -0
  578. package/pennyfarthing-dist/skills/testing/SKILL.md +99 -0
  579. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
  580. package/pennyfarthing-dist/skills/theme/skill.md +129 -0
  581. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +169 -0
  582. package/pennyfarthing-dist/skills/workflow/SKILL.md +160 -0
  583. package/pennyfarthing-dist/skills/yq/SKILL.md +264 -0
  584. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +187 -0
  585. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +59 -0
  586. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +276 -0
  587. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +61 -0
  588. package/pennyfarthing-dist/templates/persona-config.yaml.template +22 -0
  589. package/pennyfarthing-dist/templates/preferences.yaml.template +15 -0
  590. package/pennyfarthing-dist/templates/settings.local.json.template +90 -0
  591. package/pennyfarthing-dist/templates/setup-env.sh.template +18 -0
  592. package/pennyfarthing-dist/templates/shared-context.md.template +70 -0
  593. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +40 -0
  594. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +37 -0
  595. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +34 -0
  596. package/pennyfarthing-dist/workflows/agent-docs.yaml +70 -0
  597. package/pennyfarthing-dist/workflows/bdd.yaml +58 -0
  598. package/pennyfarthing-dist/workflows/tdd.yaml +50 -0
  599. package/pennyfarthing-dist/workflows/trivial.yaml +40 -0
@@ -0,0 +1,340 @@
1
+ ---
2
+ description: Clean up git repos by organizing changes into proper commits/branches by initiative
3
+ ---
4
+
5
+ # Git Cleanup Command
6
+
7
+ Analyze and organize uncommitted changes across all repos into proper commits and branches based on initiative/feature groupings.
8
+
9
+ ## Git Workflow Rules
10
+
11
+ **CRITICAL: Never commit directly to develop. Branch protection hooks will reject direct commits.**
12
+
13
+ All changes MUST follow this workflow:
14
+ 1. Create a branch from develop
15
+ 2. Commit changes to the branch
16
+ 3. Merge to develop locally
17
+ 4. Push develop (branches don't need to be pushed)
18
+
19
+ ## Analysis Phase
20
+
21
+ ### 1. Gather Current State and Check for Unpushed Commits
22
+
23
+ ```bash
24
+ ./scripts/run.sh git-status-all.sh
25
+ ```
26
+
27
+ This shows branch, changes, and unpushed commits for all repos.
28
+
29
+ ### 2. Check Recent Commits for Patterns
30
+
31
+ ```bash
32
+ echo "=== Recent Commit Patterns ==="
33
+ git log --oneline -10 | head -10
34
+ echo ""
35
+ echo "=== Recent Branches ==="
36
+ git branch --sort=-committerdate | head -10
37
+ ```
38
+
39
+ ### 3. Check Active Work Sessions
40
+
41
+ ```bash
42
+ echo "=== Active Work ==="
43
+ if [ -f ".session/{STORY_ID}-session.md" ]; then
44
+ head -30 .session/{STORY_ID}-session.md
45
+ else
46
+ echo "No active work session"
47
+ fi
48
+ ```
49
+
50
+ ### 4. Check Worktree Status
51
+
52
+ ```bash
53
+ echo "=== Worktree Status ==="
54
+ ./scripts/run.sh worktree-manager.sh status
55
+ ```
56
+
57
+ This shows all active worktrees with their branches and uncommitted changes.
58
+
59
+ ### 5. Check Epics for Story Context
60
+
61
+ ```bash
62
+ echo "=== Active Epics ==="
63
+ head -60 docs/epics.md
64
+ ```
65
+
66
+ ## Categorization Guidelines
67
+
68
+ Group changes by these initiative types (based on conventional commits):
69
+
70
+ | Prefix | Type | Branch Pattern | Example |
71
+ |--------|------|----------------|---------|
72
+ | `docs:` | Documentation | `docs/description` | docs/update-epics |
73
+ | `chore:` | Maintenance | `chore/description` | chore/sprint-cleanup |
74
+ | `chore(sprint):` | Sprint tracking | `chore/sprint-update` | - |
75
+ | `chore(pennyfarthing):` | Pennyfarthing config | `chore/pennyfarthing-cleanup` | - |
76
+ | `feat:` | New feature | `feat/story-id-desc` | feat/4-12-risk-scoring |
77
+ | `fix:` | Bug fix | `fix/issue-desc` | fix/validation-error |
78
+ | `refactor:` | Code improvement | `refactor/description` | refactor/seed-data |
79
+
80
+ ## Common Change Categories
81
+
82
+ ### Sprint/Docs Changes
83
+ Files: `docs/*.md`, `sprint/*.yaml`, `sprint/*.md`
84
+ - Branch: `chore/sprint-cleanup` or `docs/update-[topic]`
85
+ - Commit: `chore(sprint): update sprint tracking` or `docs: update documentation`
86
+
87
+ ### Pennyfarthing Configuration
88
+ Files: `.claude/**/*`
89
+ - Branch: `chore/pennyfarthing-[description]`
90
+ - Commit: `chore(pennyfarthing): description`
91
+
92
+ ### Feature Work
93
+ Files: `internal/**`, `src/**`, `migrations/**`
94
+ - Branch: `feat/[story-id]-description`
95
+ - Commit: `feat: description`
96
+
97
+ ### Seed/Test Data
98
+ Files: `internal/seed/**`, `cmd/seed/**`
99
+ - Branch: `chore/seed-improvements` or part of feature branch
100
+ - Commit: `chore(seed): description`
101
+
102
+ ### Bug Fixes
103
+ Files: Various
104
+ - Branch: `fix/[issue-description]`
105
+ - Commit: `fix: description`
106
+
107
+ ## Execution Phase - Branch Workflow
108
+
109
+ **For each group of changes, follow this exact workflow:**
110
+
111
+ ### Step 1: Stash All Changes First
112
+ ```bash
113
+ # Stash everything to start clean
114
+ git stash push -m "cleanup-wip"
115
+ ```
116
+
117
+ ### Step 2: Create Branch from Develop
118
+ ```bash
119
+ # Ensure on develop and up to date
120
+ git checkout develop
121
+ git pull origin develop
122
+
123
+ # Create feature branch
124
+ git checkout -b type/description
125
+ ```
126
+
127
+ ### Step 3: Apply Relevant Changes
128
+ ```bash
129
+ # Pop stash
130
+ git stash pop
131
+
132
+ # Stage only files for this group
133
+ git add <specific-files>
134
+
135
+ # Stash remaining changes for next group
136
+ git stash push -m "remaining-cleanup"
137
+ ```
138
+
139
+ ### Step 4: Commit
140
+ ```bash
141
+ # Commit with proper message
142
+ git commit -m "$(cat <<'EOF'
143
+ type(scope): description
144
+
145
+ Details if needed.
146
+
147
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
148
+
149
+ Co-Authored-By: Claude <noreply@anthropic.com>
150
+ EOF
151
+ )"
152
+ ```
153
+
154
+ ### Step 5: Merge to Develop
155
+ ```bash
156
+ # Switch to develop
157
+ git checkout develop
158
+
159
+ # Merge the branch
160
+ git merge type/description
161
+
162
+ # Delete local branch
163
+ git branch -d type/description
164
+ ```
165
+
166
+ ### Step 6: Repeat for Next Group
167
+ ```bash
168
+ # Pop remaining stash and repeat from Step 2
169
+ git stash pop
170
+ ```
171
+
172
+ ## Multi-Repo Cleanup Pattern
173
+
174
+ When cleaning up changes across multiple repos (configured in `.claude/project/repos.yaml`):
175
+
176
+ ```bash
177
+ # Source repo utilities
178
+ source $CLAUDE_PROJECT_DIR/scripts/repo-utils.sh
179
+
180
+ # For each configured repo, run the same workflow
181
+ for_each_repo '
182
+ # ... branch workflow ...
183
+ git status --short
184
+ '
185
+ ```
186
+
187
+ Or manually iterate:
188
+
189
+ ```bash
190
+ source $CLAUDE_PROJECT_DIR/scripts/repo-utils.sh
191
+ for repo in $(get_repos); do
192
+ repo_path=$(get_repo_full_path "$repo")
193
+ echo "=== Processing $repo ==="
194
+ cd "$repo_path"
195
+ # ... branch workflow ...
196
+ cd -
197
+ done
198
+ ```
199
+
200
+ ## Interactive Cleanup Process
201
+
202
+ When running this command, Claude should:
203
+
204
+ 1. **Show current state** - Display all uncommitted changes grouped by repo
205
+ 2. **Check for unpushed commits** - Identify any commits on develop not yet pushed
206
+ 3. **Analyze changes** - Look for patterns in file paths, recent commits, and epics
207
+ 4. **Propose groupings** - Suggest how to organize changes:
208
+ ```
209
+ Group 1: Sprint Updates
210
+ - docs/epics.md
211
+ - sprint/current-sprint.yaml
212
+ → Branch: chore/sprint-cleanup
213
+ → Commit: "chore(sprint): clean up sprint tracking files"
214
+
215
+ Group 2: Migration Fix
216
+ - migrations/056_*.sql
217
+ → Branch: fix/risk-scoring-migration
218
+ → Commit: "fix(db): add missing risk scoring migration"
219
+
220
+ Group 3: Seed Improvements
221
+ - internal/seed/*.go
222
+ → Branch: chore/seed-improvements
223
+ → Commit: "chore(seed): improve demo data generation"
224
+ ```
225
+ 4. **Ask for confirmation** - Let user approve or modify groupings
226
+ 5. **Execute** - Create branches, commit, merge to develop for each group
227
+ 6. **Push develop** - Push all merged changes at the end
228
+ 7. **Verify** - Show clean git status at the end
229
+
230
+ ## Safety Rules
231
+
232
+ - **NEVER commit directly to develop** - hooks will reject it
233
+ - **Never force push**
234
+ - **Never commit secrets** (.env, credentials, etc.)
235
+ - **Show diff before committing**
236
+ - **Respect .gitignore**
237
+ - **Handle unpushed commits on develop before starting cleanup**
238
+
239
+ ## Quick Reference
240
+
241
+ ```bash
242
+ # View what needs cleanup (all repos)
243
+ ./scripts/run.sh git-status-all.sh
244
+
245
+ # Create cleanup branch
246
+ git checkout develop && git pull
247
+ git checkout -b chore/cleanup-$(date +%Y%m%d)
248
+
249
+ # Stage specific files
250
+ git add "docs/*.md"
251
+ git add "sprint/*.yaml"
252
+
253
+ # Commit with proper message (use heredoc for multiline)
254
+ git commit -m "$(cat <<'EOF'
255
+ chore(sprint): update sprint status
256
+
257
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
258
+
259
+ Co-Authored-By: Claude <noreply@anthropic.com>
260
+ EOF
261
+ )"
262
+
263
+ # Merge to develop (local)
264
+ git checkout develop
265
+ git merge chore/cleanup-$(date +%Y%m%d)
266
+ git branch -d chore/cleanup-$(date +%Y%m%d)
267
+
268
+ # Push develop after all merges complete
269
+ git push origin develop
270
+ ```
271
+
272
+ ## Branch Cleanup
273
+
274
+ Stale feature branches can accumulate over time. Include branch cleanup as part of git hygiene.
275
+
276
+ ### Check for Stale Branches
277
+
278
+ ```bash
279
+ echo "=== Branch Status ==="
280
+
281
+ ./scripts/run.sh check-status.sh
282
+ ```
283
+
284
+ ### Remove Merged Branches
285
+
286
+ **Only remove branches that are fully merged:**
287
+
288
+ ```bash
289
+ # Source repo utilities
290
+ source $CLAUDE_PROJECT_DIR/scripts/repo-utils.sh
291
+
292
+ # For each configured repo
293
+ for repo in $(get_repos); do
294
+ repo_path=$(get_repo_full_path "$repo")
295
+ echo "=== $repo ==="
296
+ cd "$repo_path"
297
+
298
+ git checkout develop
299
+ git pull origin develop
300
+
301
+ # List branches merged into develop
302
+ git branch --merged develop | grep -v "develop\|main"
303
+
304
+ # Delete merged branches
305
+ git branch --merged develop | grep -v "develop\|main" | xargs -r git branch -d
306
+
307
+ cd -
308
+ done
309
+ ```
310
+
311
+ ### Branch Cleanup Criteria
312
+
313
+ | Branch Type | When to Remove |
314
+ |-------------|----------------|
315
+ | `feat/*` | After PR merged to develop |
316
+ | `fix/*` | After PR merged to develop |
317
+ | `chore/*` | After PR merged to develop |
318
+
319
+ **Note:** Never delete `main` or `develop` branches.
320
+
321
+ ## Post-Cleanup Verification
322
+
323
+ ```bash
324
+ echo "=== Final State ==="
325
+ ./scripts/run.sh git-status-all.sh
326
+ echo ""
327
+ echo "=== Branches ==="
328
+
329
+ # Source repo utilities
330
+ source $CLAUDE_PROJECT_DIR/scripts/repo-utils.sh
331
+
332
+ for repo in $(get_repos); do
333
+ repo_path=$(get_repo_full_path "$repo")
334
+ echo "$repo:" && git -C "$repo_path" branch
335
+ done
336
+ ```
337
+
338
+ ---
339
+
340
+ **Start by analyzing, then propose groupings, then execute with user approval. Always use branches!**
@@ -0,0 +1,108 @@
1
+ ---
2
+ description: Check Pennyfarthing installation health and apply updates
3
+ ---
4
+
5
+ ```bash
6
+ ./scripts/run.sh agent-session.sh start "devops"
7
+ ```
8
+
9
+ <agent-activation>
10
+ 1. Load DevOps agent for infrastructure work
11
+ 2. Run health check via CLI
12
+ </agent-activation>
13
+
14
+ <purpose>
15
+ Examine current Pennyfarthing installation, detect drift from expected state, and guide user through fixes/updates.
16
+ </purpose>
17
+
18
+ <when-to-use>
19
+ - After updating Pennyfarthing (`pennyfarthing update`)
20
+ - When something seems broken
21
+ - Periodic health verification
22
+ - Before starting new sprint
23
+ </when-to-use>
24
+
25
+ <health-checks>
26
+
27
+ ## Health Check
28
+
29
+ Use the pennyfarthing CLI:
30
+
31
+ ```bash
32
+ # Full health check
33
+ pennyfarthing doctor
34
+
35
+ # Or via npx
36
+ npx pennyfarthing doctor
37
+
38
+ # Auto-fix issues
39
+ pennyfarthing doctor --fix
40
+ ```
41
+
42
+ The CLI checks:
43
+ - manifest.json exists and is valid
44
+ - All managed files present in .claude/pennyfarthing/
45
+ - Symlinks point to correct targets
46
+ - User directories exist (.claude/project/)
47
+ - Settings paths are correct
48
+ - Hook scripts are executable
49
+
50
+ ## Check for Updates
51
+
52
+ ```bash
53
+ # Check if update available
54
+ pennyfarthing update --check
55
+
56
+ # Apply update
57
+ pennyfarthing update
58
+ ```
59
+
60
+ </health-checks>
61
+
62
+ <output-format>
63
+
64
+ ```markdown
65
+ # Pennyfarthing Health Check
66
+
67
+ ## Installation: npm v2.2.x
68
+ ## Status: [HEALTHY | NEEDS_UPDATE | NEEDS_FIX]
69
+
70
+ ### Checks
71
+ | Check | Status | Detail |
72
+ |-------|--------|--------|
73
+ | Installation | OK | npm v2.2.0 |
74
+ | Core Files | OK | All present |
75
+ | Symlinks | OK | All valid |
76
+ | User Files | OK | 10 sidecars |
77
+ | Directories | OK | sprint/, .session/ |
78
+ | Hooks | WARN | Not executable |
79
+
80
+ ### Recommended Actions
81
+ 1. [Action with command to run]
82
+ 2. [Action with command to run]
83
+ ```
84
+
85
+ </output-format>
86
+
87
+ <auto-fixes>
88
+
89
+ ```bash
90
+ pennyfarthing doctor --fix
91
+ ```
92
+
93
+ The CLI can auto-fix:
94
+ - Broken symlinks
95
+ - Missing directories
96
+ - Outdated settings format
97
+ - Non-executable hooks
98
+
99
+ **Always ask before applying fixes.**
100
+
101
+ </auto-fixes>
102
+
103
+ <reference>
104
+ - **CLI:** `pennyfarthing doctor`, `pennyfarthing update`
105
+ - **Manifest:** `.claude/manifest.json` (tracks version and file hashes)
106
+ - **Source:** `.claude/pennyfarthing/` (managed files)
107
+ - **Symlinks:** `.pennyfarthing/agents/`, `.claude/commands/`, etc.
108
+ </reference>
@@ -0,0 +1,264 @@
1
+ ---
2
+ description: Context-aware help for Pennyfarthing commands, agents, and workflows
3
+ ---
4
+
5
+ <purpose>
6
+ Get help with Pennyfarthing commands, agents, themes, and workflows.
7
+ Provides quick-start guidance for new users and context-aware suggestions based on current work state.
8
+ </purpose>
9
+
10
+ <when-to-use>
11
+ - New to Pennyfarthing and need orientation
12
+ - Looking for a specific command or agent
13
+ - Want to understand the TDD workflow
14
+ - Need to check available themes
15
+ - Forgot what command to use next
16
+ </when-to-use>
17
+
18
+ <quick-start>
19
+
20
+ ## New to Pennyfarthing?
21
+
22
+ Start here:
23
+
24
+ 1. **`/work`** - Smart entry point (resumes existing work or starts new)
25
+ 2. **`/new-work`** - Start a fresh work session from backlog
26
+ 3. **`/health-check`** - Verify your installation is working
27
+
28
+ ### First Time Setup
29
+
30
+ If Pennyfarthing isn't installed yet:
31
+ ```bash
32
+ npx pennyfarthing init
33
+ ```
34
+
35
+ </quick-start>
36
+
37
+ <workflow>
38
+
39
+ ## TDD Workflow
40
+
41
+ Pennyfarthing uses Test-Driven Development with four core agents:
42
+
43
+ ```
44
+ SM → TEA → Dev → Reviewer → SM (finish)
45
+ ```
46
+
47
+ | Phase | Agent | Command | Role |
48
+ |-------|-------|---------|------|
49
+ | Setup | SM (Scrum Master) | `/sm` | Story selection, context creation |
50
+ | RED | TEA (Test Engineer) | `/tea` | Write failing tests |
51
+ | GREEN | Dev (Developer) | `/dev` | Implement to pass tests |
52
+ | Review | Reviewer | `/reviewer` | Code review, quality enforcement |
53
+ | Finish | SM | `/sm` | Merge PR, archive session |
54
+
55
+ ### Workflow Commands
56
+
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | `/new-work` | Start a new work session with Pennyfarthing |
60
+ | `/work` | Resume work or start new - smart entry point |
61
+ | `/sm` | Scrum Master - Story coordination and sprint management |
62
+ | `/tea` | Test Engineer/Architect - Test strategy and TDD |
63
+ | `/dev` | Developer - Feature implementation and coding |
64
+ | `/reviewer` | Code Reviewer - Critical code review and quality enforcement |
65
+ | `/check` | Run quality gates (lint, type check, tests) before handoff |
66
+
67
+ </workflow>
68
+
69
+ <agents>
70
+
71
+ ## All Agents (24)
72
+
73
+ ### TDD Workflow Agents
74
+
75
+ | Agent | Command | Role |
76
+ |-------|---------|------|
77
+ | SM | `/sm` | Scrum Master - Story coordination, sprint management, workflow entry/exit |
78
+ | TEA | `/tea` | Test Engineer - Test strategy, TDD design, RED phase |
79
+ | Dev | `/dev` | Developer - Implementation, feature shipping, GREEN phase |
80
+ | Reviewer | `/reviewer` | Code Reviewer - Quality enforcement, adversarial review |
81
+
82
+ ### Specialist Agents
83
+
84
+ | Agent | Command | Role |
85
+ |-------|---------|------|
86
+ | Architect | `/architect` | System Architect - Technical design and architecture |
87
+ | PM | `/pm` | Product Manager - Strategic planning and prioritization |
88
+ | DevOps | `/devops` | DevOps Engineer - Infrastructure and deployment automation |
89
+ | Tech-Writer | `/tech-writer` | Technical Writer - Documentation creation and maintenance |
90
+ | UX-Designer | `/ux-designer` | UX Designer - User experience design and UI patterns |
91
+ | Orchestrator | `/orchestrator` | Orchestrator - Coordinator of all agents and meta operations |
92
+
93
+ </agents>
94
+
95
+ <commands>
96
+
97
+ ## All Commands (43)
98
+
99
+ ### TDD Workflow (7)
100
+ | Command | Description |
101
+ |---------|-------------|
102
+ | `/new-work` | Start a new work session with Pennyfarthing |
103
+ | `/work` | Resume work or start new - smart entry point |
104
+ | `/sm` | Scrum Master - Story coordination and sprint management |
105
+ | `/tea` | Test Engineer/Architect - Test strategy and TDD |
106
+ | `/dev` | Developer - Feature implementation and coding |
107
+ | `/reviewer` | Code Reviewer - Critical code review and quality enforcement |
108
+ | `/check` | Run quality gates (lint, type check, tests) before handoff |
109
+
110
+ ### Specialist Agents (6)
111
+ | Command | Description |
112
+ |---------|-------------|
113
+ | `/architect` | System Architect - Technical design and architecture |
114
+ | `/pm` | Product Manager - Strategic planning and prioritization |
115
+ | `/devops` | DevOps Engineer - Infrastructure and deployment automation |
116
+ | `/tech-writer` | Technical Writer - Documentation creation and maintenance |
117
+ | `/ux-designer` | UX Designer - User experience design and UI patterns |
118
+ | `/orchestrator` | Orchestrator - Coordinator of all agents and meta operations |
119
+
120
+ ### Sprint & Planning (5)
121
+ | Command | Description |
122
+ |---------|-------------|
123
+ | `/sprint-planning` | Facilitate sprint planning session |
124
+ | `/start-epic` | Start an epic - move to current sprint and generate tech context |
125
+ | `/retro` | Facilitate a sprint retrospective |
126
+ | `/sync-work-with-sprint` | Sync Pennyfarthing work session with unified sprint status |
127
+ | `/sync-epic-to-jira` | Sync Pennyfarthing epic to Jira MSSCI project |
128
+
129
+ ### Context & Loading (2)
130
+ | Command | Description |
131
+ |---------|-------------|
132
+ | `/prime` | Load essential project context at agent activation |
133
+ | `/health-check` | Check Pennyfarthing installation health and apply updates |
134
+
135
+ ### Theme Management (5)
136
+ | Command | Description |
137
+ |---------|-------------|
138
+ | `/list-themes` | List all available persona themes |
139
+ | `/show-theme` | Show details of a theme including all agent personas |
140
+ | `/set-theme` | Set the active persona theme |
141
+ | `/create-theme` | Create a new custom persona theme |
142
+ | `/theme-maker` | Interactive wizard for creating custom persona themes |
143
+
144
+ ### Creative & Brainstorm (4)
145
+ | Command | Description |
146
+ |---------|-------------|
147
+ | `/party-mode` | Free-form creative brainstorming with all agents |
148
+ | `/brainstorm` | Structured problem-solving brainstorm session |
149
+ | `/job-fair` | Discover which characters in a theme excel at each role |
150
+ | `/solo` | Run a single agent on a scenario with absolute rubric scoring |
151
+
152
+ ### Benchmarking (2)
153
+ | Command | Description |
154
+ |---------|-------------|
155
+ | `/benchmark` | Compare an agent's performance against a stored baseline |
156
+ | `/benchmark-control` | Create control baseline for a scenario |
157
+
158
+ ### Git & Repository (4)
159
+ | Command | Description |
160
+ |---------|-------------|
161
+ | `/repo-status` | Check git status of all project repos |
162
+ | `/git-cleanup` | Clean up git repos by organizing changes into commits/branches |
163
+ | `/create-branches-from-story` | Create feature branches in both repos from a story |
164
+ | `/release` | Merge develop to main and push (optional version bump) |
165
+
166
+ ### Utility (4)
167
+ | Command | Description |
168
+ |---------|-------------|
169
+ | `/continue-session` | Resume work from a saved checkpoint after context circuit breaker |
170
+ | `/parallel-work` | Start parallel work in a new worktree |
171
+ | `/update-domain-docs` | Update CLAUDE-*.md domain documentation files |
172
+ | `/help` | This help command |
173
+
174
+ </commands>
175
+
176
+ <themes>
177
+
178
+ ## Themes
179
+
180
+ Pennyfarthing agents adopt personas from themed character sets. There are **102 themes** available.
181
+
182
+ ### Popular Themes
183
+
184
+ | Theme | Description |
185
+ |-------|-------------|
186
+ | `rome` | Characters from HBO's Rome series |
187
+ | `star-trek-tos` | Original Star Trek series characters |
188
+ | `star-trek-tng` | Star Trek: The Next Generation characters |
189
+ | `discworld` | Terry Pratchett's Discworld characters |
190
+ | `shakespeare` | Shakespearean characters |
191
+ | `jane-austen` | Jane Austen novel characters |
192
+ | `breaking-bad` | Breaking Bad characters |
193
+ | `battlestar-galactica` | Battlestar Galactica characters |
194
+
195
+ Run `/list-themes` to see all 102 available themes.
196
+
197
+ ### Theme Commands
198
+
199
+ | Command | Description |
200
+ |---------|-------------|
201
+ | `/list-themes` | See all available themes |
202
+ | `/show-theme` | View current theme with character mappings |
203
+ | `/set-theme <name>` | Change to a different theme |
204
+ | `/create-theme` | Create a custom theme |
205
+ | `/theme-maker` | Interactive theme creation wizard |
206
+
207
+ ### Current Theme
208
+
209
+ Check your current theme:
210
+ ```bash
211
+ cat .pennyfarthing/config.local.yaml
212
+ ```
213
+
214
+ </themes>
215
+
216
+ <context-aware>
217
+
218
+ ## Context-Aware Help
219
+
220
+ Based on your current state, here's what you might need:
221
+
222
+ ### No Active Session
223
+ - Use `/work` or `/new-work` to begin
224
+ - Check `/health-check` if first time
225
+
226
+ ### In Dev Phase
227
+ - Run `/check` before handoff
228
+ - Then `/reviewer` for code review
229
+
230
+ ### In Review Phase
231
+ - Reviewer will approve or reject
232
+ - Then `/sm` to finish the story
233
+
234
+ ### Between Stories
235
+ - `/work` to pick up next story
236
+ - `/sprint-planning` for planning session
237
+
238
+ </context-aware>
239
+
240
+ <reference>
241
+
242
+ ## Documentation
243
+
244
+ - **Project Setup:** `CLAUDE.md`
245
+ - **Sprint Status:** `sprint/current-sprint.yaml`
246
+ - **Active Session:** `.session/*-session.md`
247
+ - **Agent Definitions:** `pennyfarthing-dist/agents/*.md`
248
+ - **Command Definitions:** `pennyfarthing-dist/commands/*.md`
249
+ - **Theme Files:** `pennyfarthing-dist/personas/themes/*.yaml`
250
+ - **Guides:** `.pennyfarthing/guides/*.md`
251
+
252
+ ## Getting More Help
253
+
254
+ For detailed help on a specific command, read its definition file:
255
+ ```bash
256
+ cat pennyfarthing-dist/commands/<command-name>.md
257
+ ```
258
+
259
+ For agent documentation:
260
+ ```bash
261
+ cat pennyfarthing-dist/agents/<agent-name>.md
262
+ ```
263
+
264
+ </reference>