@pennyfarthing/core 9.0.0 → 9.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/README.md +16 -7
  2. package/package.json +1 -1
  3. package/packages/core/dist/cli/commands/doctor.d.ts +5 -2
  4. package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
  5. package/packages/core/dist/cli/commands/doctor.js +327 -17
  6. package/packages/core/dist/cli/commands/doctor.js.map +1 -1
  7. package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
  8. package/packages/core/dist/cli/commands/init.js +3 -246
  9. package/packages/core/dist/cli/commands/init.js.map +1 -1
  10. package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
  11. package/packages/core/dist/cli/commands/update.js +4 -140
  12. package/packages/core/dist/cli/commands/update.js.map +1 -1
  13. package/packages/core/dist/cli/utils/constants.d.ts +7 -1
  14. package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
  15. package/packages/core/dist/cli/utils/constants.js +2 -0
  16. package/packages/core/dist/cli/utils/constants.js.map +1 -1
  17. package/packages/core/dist/cli/utils/settings.d.ts +22 -0
  18. package/packages/core/dist/cli/utils/settings.d.ts.map +1 -0
  19. package/packages/core/dist/cli/utils/settings.js +300 -0
  20. package/packages/core/dist/cli/utils/settings.js.map +1 -0
  21. package/pennyfarthing-dist/commands/chore.md +18 -17
  22. package/pennyfarthing-dist/commands/continue-session.md +41 -7
  23. package/pennyfarthing-dist/commands/fix-blocker.md +22 -0
  24. package/pennyfarthing-dist/commands/git-cleanup.md +25 -19
  25. package/pennyfarthing-dist/commands/patch.md +210 -0
  26. package/pennyfarthing-dist/commands/setup.md +65 -0
  27. package/pennyfarthing-dist/guides/session-schema.md +346 -0
  28. package/pennyfarthing-dist/guides/skill-schema.md +412 -0
  29. package/pennyfarthing-dist/guides/workflow-step-schema.md +512 -0
  30. package/pennyfarthing-dist/guides/xml-tags.md +292 -0
  31. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  32. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +43 -8
  33. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +30 -0
  34. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +78 -0
  35. package/pennyfarthing-dist/scripts/lib/find-root.sh +32 -7
  36. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +13 -2
  37. package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +139 -0
  38. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +4 -0
  39. package/pennyfarthing-dist/skills/changelog/SKILL.md +18 -0
  40. package/pennyfarthing-dist/skills/code-review/SKILL.md +5 -1
  41. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +3 -0
  42. package/pennyfarthing-dist/skills/cyclist/SKILL.md +2 -2
  43. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +24 -0
  44. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +3 -0
  45. package/pennyfarthing-dist/skills/judge/SKILL.md +8 -0
  46. package/pennyfarthing-dist/skills/just/SKILL.md +11 -0
  47. package/pennyfarthing-dist/skills/mermaid/SKILL.md +16 -0
  48. package/pennyfarthing-dist/skills/otel/skill.md +4 -0
  49. package/pennyfarthing-dist/skills/permissions/skill.md +3 -0
  50. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +9 -0
  51. package/pennyfarthing-dist/skills/story/skill.md +16 -16
  52. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +56 -0
  53. package/pennyfarthing-dist/skills/testing/SKILL.md +22 -0
  54. package/pennyfarthing-dist/skills/theme/skill.md +12 -0
  55. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +4 -0
  56. package/pennyfarthing-dist/skills/workflow/skill.md +22 -14
  57. package/pennyfarthing-dist/skills/yq/SKILL.md +8 -0
  58. package/pennyfarthing-dist/templates/settings.local.json.template +9 -0
  59. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +12 -0
  60. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +12 -0
  61. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +12 -0
  62. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +12 -0
  63. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +12 -0
  64. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +12 -0
  65. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +12 -0
  66. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +12 -0
  67. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +25 -0
  68. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +23 -0
  69. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +26 -0
  70. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +24 -0
  71. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +23 -0
  72. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +43 -41
  73. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +50 -19
  74. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +102 -111
  75. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +48 -39
  76. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +30 -31
  77. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +21 -0
  78. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +21 -0
  79. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +23 -0
  80. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +23 -0
  81. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +28 -0
  82. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +25 -0
  83. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-01-connect.md +257 -0
  84. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +107 -0
  85. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +127 -0
  86. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +122 -0
  87. package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +51 -0
  88. package/pennyfarthing-dist/workflows/patch.yaml +2 -3
  89. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +6 -0
  90. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +6 -0
  91. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +6 -0
  92. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +6 -0
  93. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +6 -0
  94. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +6 -0
  95. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +6 -0
  96. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +6 -0
  97. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +6 -0
  98. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +6 -0
  99. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +6 -0
  100. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +6 -0
  101. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +6 -0
  102. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +6 -0
  103. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +6 -0
  104. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +6 -0
  105. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +6 -0
  106. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +6 -0
  107. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +6 -0
  108. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +6 -0
  109. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +6 -0
  110. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +6 -0
  111. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +6 -0
  112. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +6 -0
  113. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +6 -0
  114. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +6 -0
  115. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +6 -0
  116. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +6 -0
  117. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +6 -0
  118. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +6 -0
  119. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +6 -0
  120. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +6 -0
  121. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +18 -0
  122. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +19 -0
  123. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +22 -0
  124. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +22 -0
  125. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +23 -0
  126. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +24 -0
  127. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +22 -0
  128. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +22 -0
  129. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +31 -0
  130. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +28 -0
  131. package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +157 -0
  132. package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +217 -0
  133. package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +159 -0
  134. package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +186 -0
  135. package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +185 -0
  136. package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +279 -0
  137. package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +200 -0
  138. package/pennyfarthing-dist/workflows/project-setup/steps/step-08-cyclist.md +245 -0
  139. package/pennyfarthing-dist/workflows/project-setup/steps/step-09-complete.md +203 -0
  140. package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +41 -0
  141. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +21 -0
  142. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +23 -0
  143. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +25 -0
  144. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +22 -0
  145. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +23 -0
  146. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +23 -0
  147. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +12 -0
  148. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +12 -0
  149. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +12 -0
  150. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +12 -0
  151. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +22 -0
  152. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +24 -0
  153. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +25 -0
  154. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +26 -0
  155. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +26 -0
  156. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +34 -0
  157. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +23 -0
  158. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +25 -0
  159. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +27 -0
  160. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +26 -0
  161. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +27 -0
  162. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +26 -0
  163. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +35 -0
  164. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +22 -0
  165. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +25 -0
  166. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +26 -0
  167. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +26 -0
  168. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +29 -1
  169. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +37 -1
  170. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +15 -0
  171. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +17 -0
  172. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +16 -0
  173. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +17 -0
  174. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +22 -0
  175. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +6 -0
  176. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +6 -0
  177. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +6 -0
  178. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +6 -0
  179. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +6 -0
  180. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +6 -0
  181. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +6 -0
  182. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +6 -0
  183. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +6 -0
  184. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +6 -0
  185. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +6 -0
  186. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +6 -0
  187. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +6 -0
  188. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +6 -0
  189. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +6 -0
  190. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  191. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  192. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  193. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  194. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  195. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  196. package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
  197. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  198. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  199. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  200. package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
  201. package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
  202. package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
  203. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  204. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  205. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  206. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  207. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  208. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  209. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  210. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  211. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  212. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  213. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  214. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  215. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  216. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  217. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  218. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  219. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  220. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  221. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  222. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  223. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  224. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  225. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  226. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  227. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  228. package/pennyfarthing_scripts/migration/__init__.py +39 -0
  229. package/pennyfarthing_scripts/migration/__main__.py +10 -0
  230. package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
  231. package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
  232. package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
  233. package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
  234. package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
  235. package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
  236. package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
  237. package/pennyfarthing_scripts/migration/cli.py +304 -0
  238. package/pennyfarthing_scripts/migration/session.py +384 -0
  239. package/pennyfarthing_scripts/migration/skill.py +188 -0
  240. package/pennyfarthing_scripts/migration/step.py +229 -0
  241. package/pennyfarthing_scripts/migration/validate.py +282 -0
  242. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  243. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  244. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  245. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  246. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  247. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  248. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  249. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  250. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  251. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  252. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  253. package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
  254. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  255. package/pennyfarthing_scripts/schema_validation_hook.py +306 -0
  256. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  257. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  258. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  259. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  260. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  261. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  262. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  263. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  264. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  265. package/pennyfarthing_scripts/sprint/archive_epic.py +399 -0
  266. package/pennyfarthing_scripts/sprint/cli.py +100 -0
  267. package/pennyfarthing_scripts/sprint/import_epic.py +431 -0
  268. package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
  269. package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
  270. package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
  271. package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
  272. package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
  273. package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
  274. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  275. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  276. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  277. package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
  278. package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
  279. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  280. package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
  281. package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
  282. package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
  283. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  284. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
  285. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  286. package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
  287. package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
  288. package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
  289. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  290. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  291. package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +0 -10
  292. package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +0 -270
@@ -1,4 +1,4 @@
1
- import { readFileSync, writeFileSync, copyFileSync, readdirSync } from 'fs';
1
+ import { copyFileSync, readdirSync } from 'fs';
2
2
  import { join, relative } from 'path';
3
3
  import fsExtra from 'fs-extra';
4
4
  const { ensureDirSync, removeSync } = fsExtra;
@@ -9,6 +9,7 @@ import { getPackageVersion, getAssetsPath } from '../utils/version.js';
9
9
  import { copyDirectory, copyCommandsDirectory, copySkillsDirectory } from '../utils/symlinks.js';
10
10
  import { findNodeModulesPath } from '../utils/node-modules.js';
11
11
  import { DIRECTORY_SYMLINKS, CORE_AGENTS } from '../utils/constants.js';
12
+ import { mergeSettingsLocalJson } from '../utils/settings.js';
12
13
  export async function updateCommand(options) {
13
14
  const projectRoot = process.cwd();
14
15
  const dryRun = options.dryRun;
@@ -60,7 +61,7 @@ export async function updateCommand(options) {
60
61
  logger.error(' npm install pennyfarthing');
61
62
  process.exit(1);
62
63
  }
63
- const settingsUpdated = await mergeSettingsHooks(projectRoot, assetsPath, { dryRun });
64
+ const settingsUpdated = await mergeSettingsLocalJson(projectRoot, assetsPath, { dryRun });
64
65
  if (!updateInfo.needsUpdate && updateInfo.userModifiedFiles.length === 0 && !settingsUpdated) {
65
66
  logger.success(`Already up to date (v${updateInfo.currentVersion})`);
66
67
  return;
@@ -128,7 +129,7 @@ async function updateInstalledContent(projectRoot, nodeModulesPath, manifest, ve
128
129
  await migrateSidecars(projectRoot, { dryRun });
129
130
  // Update settings
130
131
  const assetsPath = getAssetsPath();
131
- await mergeSettingsHooks(projectRoot, assetsPath, { dryRun });
132
+ await mergeSettingsLocalJson(projectRoot, assetsPath, { dryRun });
132
133
  // Update manifest version
133
134
  logger.newline();
134
135
  logger.info('Updating manifest...');
@@ -281,141 +282,4 @@ function compareVersions(a, b) {
281
282
  }
282
283
  return 0;
283
284
  }
284
- /**
285
- * Merge required hooks into existing settings.local.json
286
- * This ensures critical hooks like SessionStart are always configured
287
- * Returns true if any changes were made
288
- */
289
- async function mergeSettingsHooks(projectRoot, assetsPath, options) {
290
- const settingsPath = join(projectRoot, '.claude/settings.local.json');
291
- const templatePath = join(assetsPath, 'templates/settings.local.json.template');
292
- if (!pathExists(templatePath)) {
293
- return false;
294
- }
295
- const templateContent = JSON.parse(readFileSync(templatePath, 'utf8'));
296
- // If no existing settings, create from template
297
- if (!pathExists(settingsPath)) {
298
- if (!options.dryRun) {
299
- ensureDirSync(join(projectRoot, '.claude'));
300
- writeFileSync(settingsPath, JSON.stringify(templateContent, null, 2), 'utf8');
301
- }
302
- logger.created('.claude/settings.local.json');
303
- return true;
304
- }
305
- // Read existing settings
306
- let existingSettings;
307
- try {
308
- existingSettings = JSON.parse(readFileSync(settingsPath, 'utf8'));
309
- }
310
- catch {
311
- logger.warning('Could not parse existing settings.local.json, skipping merge');
312
- return false;
313
- }
314
- let modified = false;
315
- // Ensure hooks object exists
316
- if (!existingSettings.hooks) {
317
- existingSettings.hooks = {};
318
- modified = true;
319
- }
320
- const hooks = existingSettings.hooks;
321
- // Merge SessionStart hooks - these are critical for PROJECT_ROOT
322
- if (!hooks.SessionStart) {
323
- hooks.SessionStart = templateContent.hooks?.SessionStart || [];
324
- modified = true;
325
- logger.info('Added missing SessionStart hooks');
326
- }
327
- else if (Array.isArray(hooks.SessionStart)) {
328
- // Check if session-start.sh hook is configured
329
- const hasSessionStartHook = hooks.SessionStart.some((entry) => {
330
- if (typeof entry === 'object' && entry !== null) {
331
- const hookEntry = entry;
332
- return hookEntry.hooks?.some(h => h.command?.includes('session-start.sh'));
333
- }
334
- return false;
335
- });
336
- if (!hasSessionStartHook && templateContent.hooks?.SessionStart) {
337
- // Prepend the session-start.sh hook entry
338
- const sessionStartEntry = templateContent.hooks.SessionStart.find((entry) => {
339
- if (typeof entry === 'object' && entry !== null) {
340
- const hookEntry = entry;
341
- return hookEntry.hooks?.some(h => h.command?.includes('session-start.sh'));
342
- }
343
- return false;
344
- });
345
- if (sessionStartEntry) {
346
- hooks.SessionStart = [sessionStartEntry, ...hooks.SessionStart];
347
- modified = true;
348
- logger.info('Added missing session-start.sh hook');
349
- }
350
- }
351
- }
352
- // Merge SessionEnd hooks if missing
353
- if (!hooks.SessionEnd && templateContent.hooks?.SessionEnd) {
354
- hooks.SessionEnd = templateContent.hooks.SessionEnd;
355
- modified = true;
356
- logger.info('Added missing SessionEnd hooks');
357
- }
358
- // Merge Stop hooks if missing (question reflector enforcement)
359
- if (!hooks.Stop && templateContent.hooks?.Stop) {
360
- hooks.Stop = templateContent.hooks.Stop;
361
- modified = true;
362
- logger.info('Added missing Stop hooks');
363
- }
364
- else if (Array.isArray(hooks.Stop)) {
365
- // Check if question-reflector-check hook is configured
366
- const hasReflectorHook = hooks.Stop.some((entry) => {
367
- if (typeof entry === 'object' && entry !== null) {
368
- const hookEntry = entry;
369
- return hookEntry.hooks?.some(h => h.command?.includes('question-reflector-check'));
370
- }
371
- return false;
372
- });
373
- if (!hasReflectorHook && templateContent.hooks?.Stop) {
374
- // Prepend the question-reflector-check hook entry
375
- const reflectorEntry = templateContent.hooks.Stop.find((entry) => {
376
- if (typeof entry === 'object' && entry !== null) {
377
- const hookEntry = entry;
378
- return hookEntry.hooks?.some(h => h.command?.includes('question-reflector-check'));
379
- }
380
- return false;
381
- });
382
- if (reflectorEntry) {
383
- hooks.Stop = [reflectorEntry, ...hooks.Stop];
384
- modified = true;
385
- logger.info('Added missing question-reflector-check hook');
386
- }
387
- }
388
- }
389
- // Ensure statusLine is configured and points to new location
390
- const statusLine = existingSettings.statusLine;
391
- if (!statusLine) {
392
- existingSettings.statusLine = templateContent.statusLine;
393
- modified = true;
394
- logger.info('Added missing statusLine configuration');
395
- }
396
- else if (statusLine.command && typeof statusLine.command === 'string') {
397
- // Migrate from any legacy path to new path (.pennyfarthing/scripts/misc/statusline.sh)
398
- const legacyPaths = [
399
- '.claude/core/statusline.sh',
400
- '.claude/statusline.sh',
401
- '.claude/pennyfarthing/statusline.sh', // Old copy-mode path (v4.0.0-4.0.3)
402
- '.claude/pennyfarthing/scripts/statusline.sh', // Bug in template (fixed in v4.0.5)
403
- '.claude/scripts/statusline.sh', // Previous location (pre-v6.6)
404
- '.pennyfarthing/scripts/statusline.sh' // Missing misc/ subdirectory (fixed in v7.0.3)
405
- ];
406
- for (const legacyPath of legacyPaths) {
407
- if (statusLine.command.includes(legacyPath)) {
408
- statusLine.command = statusLine.command.replace(legacyPath, '.pennyfarthing/scripts/misc/statusline.sh');
409
- modified = true;
410
- logger.info(`Updated statusLine path from ${legacyPath} to new location`);
411
- break;
412
- }
413
- }
414
- }
415
- if (modified && !options.dryRun) {
416
- writeFileSync(settingsPath, JSON.stringify(existingSettings, null, 2), 'utf8');
417
- logger.updated('.claude/settings.local.json');
418
- }
419
- return modified;
420
- }
421
285
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export declare const DIRECTORY_SYMLINKS: readonly [{
18
18
  }, {
19
19
  readonly name: "guides";
20
20
  readonly link: ".pennyfarthing/guides";
21
+ }, {
22
+ readonly name: "output-styles";
23
+ readonly link: ".pennyfarthing/output-styles";
21
24
  }, {
22
25
  readonly name: "personas";
23
26
  readonly link: ".pennyfarthing/personas";
@@ -38,6 +41,9 @@ export declare const ALL_SYMLINKS: readonly [{
38
41
  }, {
39
42
  readonly name: "guides";
40
43
  readonly link: ".pennyfarthing/guides";
44
+ }, {
45
+ readonly name: "output-styles";
46
+ readonly link: ".pennyfarthing/output-styles";
41
47
  }, {
42
48
  readonly name: "personas";
43
49
  readonly link: ".pennyfarthing/personas";
@@ -58,7 +64,7 @@ export declare const ALL_SYMLINKS: readonly [{
58
64
  * Paths managed by Pennyfarthing (used in manifest)
59
65
  * Commands and skills in .claude/ (for discovery), rest in .pennyfarthing/
60
66
  */
61
- export declare const MANAGED_PATHS: readonly [".claude/commands", ".claude/skills", ".pennyfarthing/agents", ".pennyfarthing/guides", ".pennyfarthing/personas", ".pennyfarthing/scripts", ".pennyfarthing/workflows"];
67
+ export declare const MANAGED_PATHS: readonly [".claude/commands", ".claude/skills", ".pennyfarthing/agents", ".pennyfarthing/guides", ".pennyfarthing/output-styles", ".pennyfarthing/personas", ".pennyfarthing/scripts", ".pennyfarthing/workflows"];
62
68
  export type SymlinkDefinition = {
63
69
  readonly name: string;
64
70
  readonly link: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW,sHAWd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAMrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;EAIf,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,aAAa,oLAQhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW,sHAWd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAOrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAIf,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,aAAa,oNAShB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC"}
@@ -25,6 +25,7 @@ export const CORE_AGENTS = [
25
25
  export const DIRECTORY_SYMLINKS = [
26
26
  { name: 'agents', link: '.pennyfarthing/agents' },
27
27
  { name: 'guides', link: '.pennyfarthing/guides' },
28
+ { name: 'output-styles', link: '.pennyfarthing/output-styles' },
28
29
  { name: 'personas', link: '.pennyfarthing/personas' },
29
30
  { name: 'scripts', link: '.pennyfarthing/scripts' },
30
31
  { name: 'workflows', link: '.pennyfarthing/workflows' }
@@ -47,6 +48,7 @@ export const MANAGED_PATHS = [
47
48
  '.claude/skills',
48
49
  '.pennyfarthing/agents',
49
50
  '.pennyfarthing/guides',
51
+ '.pennyfarthing/output-styles',
50
52
  '.pennyfarthing/personas',
51
53
  '.pennyfarthing/scripts',
52
54
  '.pennyfarthing/workflows'
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK;IACL,KAAK;IACL,IAAI;IACJ,UAAU;IACV,WAAW;IACX,IAAI;IACJ,aAAa;IACb,aAAa;IACb,QAAQ;IACR,cAAc;CACN,CAAC;AAIX;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACrD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE;IACnD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE;CAC/C,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,kBAAkB;IACrB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;CAClC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB;IAClB,gBAAgB;IAChB,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,0BAA0B;CAClB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK;IACL,KAAK;IACL,IAAI;IACJ,UAAU;IACV,WAAW;IACX,IAAI;IACJ,aAAa;IACb,aAAa;IACb,QAAQ;IACR,cAAc;CACN,CAAC;AAIX;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,8BAA8B,EAAE;IAC/D,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACrD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE;IACnD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE;CAC/C,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,kBAAkB;IACrB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;CAClC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB;IAClB,gBAAgB;IAChB,uBAAuB;IACvB,uBAAuB;IACvB,8BAA8B;IAC9B,yBAAyB;IACzB,wBAAwB;IACxB,0BAA0B;CAClB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Shared settings.local.json utilities for init, update, and doctor commands
3
+ * Handles merging required hooks into existing settings
4
+ */
5
+ /**
6
+ * Get list of installed skill names from the skills directory
7
+ */
8
+ export declare function getInstalledSkillNames(projectRoot: string): string[];
9
+ /**
10
+ * Merge required hooks into existing settings.local.json
11
+ * This ensures critical hooks are always configured
12
+ *
13
+ * @param projectRoot - Project root directory
14
+ * @param assetsPath - Path to pennyfarthing-dist assets
15
+ * @param options - Options including dryRun and registerSkills
16
+ * @returns true if any changes were made
17
+ */
18
+ export declare function mergeSettingsLocalJson(projectRoot: string, assetsPath: string, options: {
19
+ dryRun?: boolean;
20
+ registerSkills?: boolean;
21
+ }): Promise<boolean>;
22
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBpE;AAkED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACtD,OAAO,CAAC,OAAO,CAAC,CAiOlB"}
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Shared settings.local.json utilities for init, update, and doctor commands
3
+ * Handles merging required hooks into existing settings
4
+ */
5
+ import { readFileSync, writeFileSync, readdirSync, statSync } from 'fs';
6
+ import { join } from 'path';
7
+ import fsExtra from 'fs-extra';
8
+ const { ensureDirSync } = fsExtra;
9
+ import { logger } from './logger.js';
10
+ import { pathExists } from './files.js';
11
+ /**
12
+ * Get list of installed skill names from the skills directory
13
+ */
14
+ export function getInstalledSkillNames(projectRoot) {
15
+ const skillsDir = join(projectRoot, '.claude/skills');
16
+ if (!pathExists(skillsDir)) {
17
+ return [];
18
+ }
19
+ try {
20
+ const entries = readdirSync(skillsDir);
21
+ return entries.filter((entry) => {
22
+ if (entry.startsWith('.'))
23
+ return false;
24
+ const entryPath = join(skillsDir, entry);
25
+ try {
26
+ const stats = statSync(entryPath);
27
+ return stats.isDirectory();
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ });
33
+ }
34
+ catch {
35
+ return [];
36
+ }
37
+ }
38
+ /**
39
+ * Legacy statusline paths that should be migrated
40
+ */
41
+ const LEGACY_STATUSLINE_PATHS = [
42
+ '.claude/core/statusline.sh',
43
+ '.claude/statusline.sh',
44
+ '.claude/pennyfarthing/statusline.sh',
45
+ '.claude/pennyfarthing/scripts/statusline.sh',
46
+ '.claude/scripts/statusline.sh',
47
+ '.pennyfarthing/scripts/statusline.sh'
48
+ ];
49
+ /**
50
+ * Legacy script paths that should be migrated to .pennyfarthing/scripts/
51
+ */
52
+ const LEGACY_SCRIPT_PATHS = [
53
+ '.claude/pennyfarthing/scripts/',
54
+ '.claude/scripts/'
55
+ ];
56
+ /**
57
+ * Check if a hook entry contains a specific hook by command substring
58
+ */
59
+ function hookEntryContains(entry, substring) {
60
+ if (typeof entry === 'object' && entry !== null) {
61
+ const hookEntry = entry;
62
+ return hookEntry.hooks?.some(h => h.command?.includes(substring)) ?? false;
63
+ }
64
+ return false;
65
+ }
66
+ /**
67
+ * Find a hook entry by command substring
68
+ */
69
+ function findHookEntry(hookArray, substring) {
70
+ return hookArray.find((entry) => hookEntryContains(entry, substring));
71
+ }
72
+ /**
73
+ * Migrate hook paths from legacy locations to .pennyfarthing/scripts/
74
+ */
75
+ function migrateHookPaths(hookArray) {
76
+ let migrated = false;
77
+ for (const entry of hookArray) {
78
+ if (typeof entry === 'object' && entry !== null) {
79
+ const hookEntry = entry;
80
+ if (hookEntry.hooks) {
81
+ for (const h of hookEntry.hooks) {
82
+ if (h.command) {
83
+ for (const legacyPath of LEGACY_SCRIPT_PATHS) {
84
+ if (h.command.includes(legacyPath)) {
85
+ h.command = h.command.replace(legacyPath, '.pennyfarthing/scripts/');
86
+ migrated = true;
87
+ break;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ return migrated;
96
+ }
97
+ /**
98
+ * Merge required hooks into existing settings.local.json
99
+ * This ensures critical hooks are always configured
100
+ *
101
+ * @param projectRoot - Project root directory
102
+ * @param assetsPath - Path to pennyfarthing-dist assets
103
+ * @param options - Options including dryRun and registerSkills
104
+ * @returns true if any changes were made
105
+ */
106
+ export async function mergeSettingsLocalJson(projectRoot, assetsPath, options) {
107
+ const settingsPath = join(projectRoot, '.claude/settings.local.json');
108
+ const templatePath = join(assetsPath, 'templates/settings.local.json.template');
109
+ if (!pathExists(templatePath)) {
110
+ logger.warning('settings.local.json template not found');
111
+ return false;
112
+ }
113
+ const templateContent = JSON.parse(readFileSync(templatePath, 'utf8'));
114
+ // Get installed skills to register in permissions
115
+ const installedSkills = options.registerSkills ? getInstalledSkillNames(projectRoot) : [];
116
+ // If no existing settings, create from template with all installed skills
117
+ if (!pathExists(settingsPath)) {
118
+ if (installedSkills.length > 0) {
119
+ const permissions = templateContent.permissions?.allow || [];
120
+ for (const skill of installedSkills) {
121
+ const skillPermission = `Skill(${skill})`;
122
+ if (!permissions.includes(skillPermission)) {
123
+ permissions.push(skillPermission);
124
+ }
125
+ }
126
+ templateContent.permissions = { ...templateContent.permissions, allow: permissions };
127
+ }
128
+ if (!options.dryRun) {
129
+ ensureDirSync(join(projectRoot, '.claude'));
130
+ writeFileSync(settingsPath, JSON.stringify(templateContent, null, 2), 'utf8');
131
+ }
132
+ logger.created('.claude/settings.local.json');
133
+ if (installedSkills.length > 0) {
134
+ logger.info(` Registered ${installedSkills.length} skills in permissions`);
135
+ }
136
+ return true;
137
+ }
138
+ // Read existing settings
139
+ let existingSettings;
140
+ try {
141
+ existingSettings = JSON.parse(readFileSync(settingsPath, 'utf8'));
142
+ }
143
+ catch {
144
+ logger.warning('Could not parse existing settings.local.json, skipping merge');
145
+ return false;
146
+ }
147
+ let modified = false;
148
+ // Ensure hooks object exists
149
+ if (!existingSettings.hooks) {
150
+ existingSettings.hooks = {};
151
+ modified = true;
152
+ }
153
+ const hooks = existingSettings.hooks;
154
+ // Merge SessionStart hooks - critical for PROJECT_ROOT
155
+ if (!hooks.SessionStart) {
156
+ hooks.SessionStart = templateContent.hooks?.SessionStart || [];
157
+ modified = true;
158
+ logger.info('Added missing SessionStart hooks');
159
+ }
160
+ else if (Array.isArray(hooks.SessionStart)) {
161
+ const hasSessionStartHook = hooks.SessionStart.some((entry) => hookEntryContains(entry, 'session-start.sh'));
162
+ if (!hasSessionStartHook && templateContent.hooks?.SessionStart) {
163
+ const sessionStartEntry = findHookEntry(templateContent.hooks.SessionStart, 'session-start.sh');
164
+ if (sessionStartEntry) {
165
+ hooks.SessionStart = [sessionStartEntry, ...hooks.SessionStart];
166
+ modified = true;
167
+ logger.info('Added missing session-start.sh hook');
168
+ }
169
+ }
170
+ }
171
+ // Merge SessionEnd hooks if missing
172
+ if (!hooks.SessionEnd && templateContent.hooks?.SessionEnd) {
173
+ hooks.SessionEnd = templateContent.hooks.SessionEnd;
174
+ modified = true;
175
+ logger.info('Added missing SessionEnd hooks');
176
+ }
177
+ // Merge Stop hooks if missing (question reflector enforcement)
178
+ if (!hooks.Stop && templateContent.hooks?.Stop) {
179
+ hooks.Stop = templateContent.hooks.Stop;
180
+ modified = true;
181
+ logger.info('Added missing Stop hooks');
182
+ }
183
+ else if (Array.isArray(hooks.Stop)) {
184
+ const hasReflectorHook = hooks.Stop.some((entry) => hookEntryContains(entry, 'question-reflector-check'));
185
+ if (!hasReflectorHook && templateContent.hooks?.Stop) {
186
+ const reflectorEntry = findHookEntry(templateContent.hooks.Stop, 'question-reflector-check');
187
+ if (reflectorEntry) {
188
+ hooks.Stop = [reflectorEntry, ...hooks.Stop];
189
+ modified = true;
190
+ logger.info('Added missing question-reflector-check hook');
191
+ }
192
+ }
193
+ }
194
+ // Merge PostToolUse hooks if missing (bell mode)
195
+ if (!hooks.PostToolUse && templateContent.hooks?.PostToolUse) {
196
+ hooks.PostToolUse = templateContent.hooks.PostToolUse;
197
+ modified = true;
198
+ logger.info('Added missing PostToolUse hooks');
199
+ }
200
+ else if (Array.isArray(hooks.PostToolUse)) {
201
+ const hasBellModeHook = hooks.PostToolUse.some((entry) => hookEntryContains(entry, 'bell-mode-hook'));
202
+ if (!hasBellModeHook && templateContent.hooks?.PostToolUse) {
203
+ const bellModeEntry = findHookEntry(templateContent.hooks.PostToolUse, 'bell-mode-hook');
204
+ if (bellModeEntry) {
205
+ hooks.PostToolUse = [bellModeEntry, ...hooks.PostToolUse];
206
+ modified = true;
207
+ logger.info('Added missing bell-mode-hook');
208
+ }
209
+ }
210
+ }
211
+ // Merge PreToolUse hooks - ensure all required hooks are configured
212
+ if (!hooks.PreToolUse && templateContent.hooks?.PreToolUse) {
213
+ hooks.PreToolUse = templateContent.hooks.PreToolUse;
214
+ modified = true;
215
+ logger.info('Added missing PreToolUse hooks');
216
+ }
217
+ else if (Array.isArray(hooks.PreToolUse)) {
218
+ // Check for context-circuit-breaker
219
+ const hasCircuitBreaker = hooks.PreToolUse.some((entry) => hookEntryContains(entry, 'context-circuit-breaker'));
220
+ if (!hasCircuitBreaker && templateContent.hooks?.PreToolUse) {
221
+ const circuitBreakerEntry = findHookEntry(templateContent.hooks.PreToolUse, 'context-circuit-breaker');
222
+ if (circuitBreakerEntry) {
223
+ hooks.PreToolUse = [...hooks.PreToolUse, circuitBreakerEntry];
224
+ modified = true;
225
+ logger.info('Added missing context-circuit-breaker hook');
226
+ }
227
+ }
228
+ // Check for schema-validation hook
229
+ const hasSchemaValidation = hooks.PreToolUse.some((entry) => hookEntryContains(entry, 'schema-validation'));
230
+ if (!hasSchemaValidation && templateContent.hooks?.PreToolUse) {
231
+ const schemaValidationEntry = findHookEntry(templateContent.hooks.PreToolUse, 'schema-validation');
232
+ if (schemaValidationEntry) {
233
+ hooks.PreToolUse = [...hooks.PreToolUse, schemaValidationEntry];
234
+ modified = true;
235
+ logger.info('Added missing schema-validation hook');
236
+ }
237
+ }
238
+ }
239
+ // Ensure statusLine is configured and points to new location
240
+ const statusLine = existingSettings.statusLine;
241
+ if (!statusLine) {
242
+ existingSettings.statusLine = templateContent.statusLine;
243
+ modified = true;
244
+ logger.info('Added missing statusLine configuration');
245
+ }
246
+ else if (statusLine.command && typeof statusLine.command === 'string') {
247
+ // Migrate from any legacy path to new path
248
+ for (const legacyPath of LEGACY_STATUSLINE_PATHS) {
249
+ if (statusLine.command.includes(legacyPath)) {
250
+ statusLine.command = statusLine.command.replace(legacyPath, '.pennyfarthing/scripts/misc/statusline.sh');
251
+ modified = true;
252
+ logger.info(`Updated statusLine path from ${legacyPath} to new location`);
253
+ break;
254
+ }
255
+ }
256
+ }
257
+ // Migrate hook paths from legacy locations to .pennyfarthing/scripts/
258
+ for (const hookType of ['SessionStart', 'SessionEnd', 'PreToolUse', 'PostToolUse', 'Stop']) {
259
+ if (Array.isArray(hooks[hookType])) {
260
+ if (migrateHookPaths(hooks[hookType])) {
261
+ modified = true;
262
+ logger.info(`Migrated ${hookType} hook paths to new location`);
263
+ }
264
+ }
265
+ }
266
+ // Merge skill permissions - ensure all installed skills are registered
267
+ if (installedSkills.length > 0) {
268
+ if (!existingSettings.permissions) {
269
+ existingSettings.permissions = { allow: [] };
270
+ modified = true;
271
+ }
272
+ const permissions = existingSettings.permissions;
273
+ if (!permissions.allow) {
274
+ permissions.allow = [];
275
+ modified = true;
276
+ }
277
+ const allowList = permissions.allow;
278
+ let skillsAdded = 0;
279
+ for (const skill of installedSkills) {
280
+ const skillPermission = `Skill(${skill})`;
281
+ if (!allowList.includes(skillPermission)) {
282
+ allowList.push(skillPermission);
283
+ skillsAdded++;
284
+ modified = true;
285
+ }
286
+ }
287
+ if (skillsAdded > 0) {
288
+ logger.info(`Registered ${skillsAdded} missing skills in permissions`);
289
+ }
290
+ }
291
+ if (modified && !options.dryRun) {
292
+ writeFileSync(settingsPath, JSON.stringify(existingSettings, null, 2), 'utf8');
293
+ logger.updated('.claude/settings.local.json');
294
+ }
295
+ else if (!modified) {
296
+ logger.skipped('.claude/settings.local.json', 'already configured');
297
+ }
298
+ return modified;
299
+ }
300
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/cli/utils/settings.ts"],"names":[],"mappings":"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"}