@pennyfarthing/core 7.9.3 → 8.0.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 (1040) hide show
  1. package/LICENSE +14 -0
  2. package/README.md +209 -0
  3. package/package.json +32 -37
  4. package/packages/core/dist/cli/utils/files.d.ts +76 -0
  5. package/packages/core/dist/cli/utils/files.d.ts.map +1 -0
  6. package/packages/core/dist/cli/utils/files.js +172 -0
  7. package/packages/core/dist/cli/utils/files.js.map +1 -0
  8. package/packages/core/dist/cli/workspace.test.js +158 -0
  9. package/packages/core/dist/cli/workspace.test.js.map +1 -0
  10. package/pennyfarthing-dist/agents/README.md +348 -0
  11. package/pennyfarthing-dist/agents/architect.md +180 -0
  12. package/pennyfarthing-dist/agents/dev.md +169 -0
  13. package/pennyfarthing-dist/agents/devops.md +203 -0
  14. package/pennyfarthing-dist/agents/handoff.md +235 -0
  15. package/pennyfarthing-dist/agents/orchestrator.md +182 -0
  16. package/pennyfarthing-dist/agents/pm.md +152 -0
  17. package/pennyfarthing-dist/agents/reviewer-preflight.md +129 -0
  18. package/pennyfarthing-dist/agents/reviewer.md +180 -0
  19. package/pennyfarthing-dist/agents/sm-file-summary.md +79 -0
  20. package/pennyfarthing-dist/agents/sm-finish.md +82 -0
  21. package/pennyfarthing-dist/agents/sm-handoff.md +129 -0
  22. package/pennyfarthing-dist/agents/sm-setup.md +251 -0
  23. package/pennyfarthing-dist/agents/sm.md +284 -0
  24. package/pennyfarthing-dist/agents/tea.md +161 -0
  25. package/pennyfarthing-dist/agents/tech-writer.md +226 -0
  26. package/pennyfarthing-dist/agents/testing-runner.md +184 -0
  27. package/pennyfarthing-dist/agents/ux-designer.md +236 -0
  28. package/pennyfarthing-dist/agents/workflow-status-check.md +96 -0
  29. package/pennyfarthing-dist/commands/architect.md +7 -0
  30. package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
  31. package/pennyfarthing-dist/commands/benchmark.md +485 -0
  32. package/pennyfarthing-dist/commands/brainstorming.md +91 -0
  33. package/pennyfarthing-dist/commands/check.md +156 -0
  34. package/pennyfarthing-dist/commands/chore.md +178 -0
  35. package/pennyfarthing-dist/commands/close-epic.md +139 -0
  36. package/pennyfarthing-dist/commands/continue-session.md +184 -0
  37. package/pennyfarthing-dist/commands/create-branches-from-story.md +358 -0
  38. package/pennyfarthing-dist/commands/create-theme.md +29 -0
  39. package/pennyfarthing-dist/commands/dev.md +7 -0
  40. package/pennyfarthing-dist/commands/devops.md +7 -0
  41. package/pennyfarthing-dist/commands/git-cleanup.md +51 -0
  42. package/pennyfarthing-dist/commands/health-check.md +141 -0
  43. package/pennyfarthing-dist/commands/help.md +264 -0
  44. package/pennyfarthing-dist/commands/job-fair.md +102 -0
  45. package/pennyfarthing-dist/commands/list-themes.md +21 -0
  46. package/pennyfarthing-dist/commands/orchestrator.md +7 -0
  47. package/pennyfarthing-dist/commands/parallel-work.md +71 -0
  48. package/pennyfarthing-dist/commands/party-mode.md +77 -0
  49. package/pennyfarthing-dist/commands/permissions.md +193 -0
  50. package/pennyfarthing-dist/commands/pm.md +7 -0
  51. package/pennyfarthing-dist/commands/prime.md +140 -0
  52. package/pennyfarthing-dist/commands/release.md +58 -0
  53. package/pennyfarthing-dist/commands/repo-status.md +49 -0
  54. package/pennyfarthing-dist/commands/retro.md +200 -0
  55. package/pennyfarthing-dist/commands/reviewer.md +7 -0
  56. package/pennyfarthing-dist/commands/run-ci.md +116 -0
  57. package/pennyfarthing-dist/commands/set-theme.md +56 -0
  58. package/pennyfarthing-dist/commands/show-theme.md +21 -0
  59. package/pennyfarthing-dist/commands/sm.md +7 -0
  60. package/pennyfarthing-dist/commands/solo.md +447 -0
  61. package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
  62. package/pennyfarthing-dist/commands/sprint.md +133 -0
  63. package/pennyfarthing-dist/commands/standalone.md +194 -0
  64. package/pennyfarthing-dist/commands/start-epic.md +168 -0
  65. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +184 -0
  66. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +373 -0
  67. package/pennyfarthing-dist/commands/tea.md +7 -0
  68. package/pennyfarthing-dist/commands/tech-writer.md +7 -0
  69. package/pennyfarthing-dist/commands/theme-maker.md +676 -0
  70. package/pennyfarthing-dist/commands/update-domain-docs.md +83 -0
  71. package/pennyfarthing-dist/commands/ux-designer.md +7 -0
  72. package/pennyfarthing-dist/commands/work.md +23 -0
  73. package/pennyfarthing-dist/commands/workflow.md +21 -0
  74. package/pennyfarthing-dist/guides/agent-behavior.md +311 -0
  75. package/pennyfarthing-dist/guides/agent-coordination.md +480 -0
  76. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +432 -0
  77. package/pennyfarthing-dist/guides/agent-template-strategic.md +148 -0
  78. package/pennyfarthing-dist/guides/agent-template-tactical.md +162 -0
  79. package/pennyfarthing-dist/guides/hooks.md +230 -0
  80. package/pennyfarthing-dist/guides/measurement-framework.md +210 -0
  81. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +766 -0
  82. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +574 -0
  83. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +488 -0
  84. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +402 -0
  85. package/pennyfarthing-dist/guides/permission-protocol.md +188 -0
  86. package/pennyfarthing-dist/guides/persona-loading.md +46 -0
  87. package/pennyfarthing-dist/guides/prompt-patterns.md +338 -0
  88. package/pennyfarthing-dist/guides/scale-levels.md +114 -0
  89. package/pennyfarthing-dist/guides/session-artifacts.md +193 -0
  90. package/pennyfarthing-dist/guides/workflow-schema.md +257 -0
  91. package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
  92. package/pennyfarthing-dist/guides/xml-tags.md +335 -0
  93. package/pennyfarthing-dist/output-styles/teaching.md +33 -0
  94. package/pennyfarthing-dist/output-styles/terse.md +20 -0
  95. package/pennyfarthing-dist/output-styles/verbose.md +28 -0
  96. package/pennyfarthing-dist/personas/themes/1984.yaml +304 -0
  97. package/pennyfarthing-dist/personas/themes/a-team.yaml +331 -0
  98. package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +294 -0
  99. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +324 -0
  100. package/pennyfarthing-dist/personas/themes/all-stars.yaml +326 -0
  101. package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +312 -0
  102. package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +298 -0
  103. package/pennyfarthing-dist/personas/themes/arcane.yaml +282 -0
  104. package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +327 -0
  105. package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +282 -0
  106. package/pennyfarthing-dist/personas/themes/babylon-5.yaml +282 -0
  107. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +282 -0
  108. package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +282 -0
  109. package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +294 -0
  110. package/pennyfarthing-dist/personas/themes/black-sails.yaml +294 -0
  111. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +289 -0
  112. package/pennyfarthing-dist/personas/themes/bobiverse.yaml +282 -0
  113. package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +319 -0
  114. package/pennyfarthing-dist/personas/themes/catch-22.yaml +304 -0
  115. package/pennyfarthing-dist/personas/themes/classical-composers.yaml +302 -0
  116. package/pennyfarthing-dist/personas/themes/control.yaml +201 -0
  117. package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +312 -0
  118. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +315 -0
  119. package/pennyfarthing-dist/personas/themes/deadwood.yaml +294 -0
  120. package/pennyfarthing-dist/personas/themes/dickens.yaml +312 -0
  121. package/pennyfarthing-dist/personas/themes/discworld.yaml +334 -0
  122. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +284 -0
  123. package/pennyfarthing-dist/personas/themes/don-quixote.yaml +312 -0
  124. package/pennyfarthing-dist/personas/themes/dune.yaml +301 -0
  125. package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +312 -0
  126. package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +282 -0
  127. package/pennyfarthing-dist/personas/themes/fargo.yaml +322 -0
  128. package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +304 -0
  129. package/pennyfarthing-dist/personas/themes/firefly.yaml +320 -0
  130. package/pennyfarthing-dist/personas/themes/foundation.yaml +284 -0
  131. package/pennyfarthing-dist/personas/themes/futurama.yaml +313 -0
  132. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +284 -0
  133. package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +365 -0
  134. package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +300 -0
  135. package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +300 -0
  136. package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +326 -0
  137. package/pennyfarthing-dist/personas/themes/hannibal.yaml +294 -0
  138. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +316 -0
  139. package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +285 -0
  140. package/pennyfarthing-dist/personas/themes/historical-figures.yaml +282 -0
  141. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +323 -0
  142. package/pennyfarthing-dist/personas/themes/house-md.yaml +313 -0
  143. package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +283 -0
  144. package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +294 -0
  145. package/pennyfarthing-dist/personas/themes/jane-austen.yaml +281 -0
  146. package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +312 -0
  147. package/pennyfarthing-dist/personas/themes/justified.yaml +294 -0
  148. package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +343 -0
  149. package/pennyfarthing-dist/personas/themes/les-miserables.yaml +293 -0
  150. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +326 -0
  151. package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +325 -0
  152. package/pennyfarthing-dist/personas/themes/mad-max.yaml +349 -0
  153. package/pennyfarthing-dist/personas/themes/mad-men.yaml +283 -0
  154. package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +294 -0
  155. package/pennyfarthing-dist/personas/themes/mash.yaml +329 -0
  156. package/pennyfarthing-dist/personas/themes/mass-effect.yaml +283 -0
  157. package/pennyfarthing-dist/personas/themes/military-commanders.yaml +298 -0
  158. package/pennyfarthing-dist/personas/themes/moby-dick.yaml +312 -0
  159. package/pennyfarthing-dist/personas/themes/monty-python.yaml +297 -0
  160. package/pennyfarthing-dist/personas/themes/neuromancer.yaml +294 -0
  161. package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +321 -0
  162. package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +364 -0
  163. package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +292 -0
  164. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +344 -0
  165. package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +312 -0
  166. package/pennyfarthing-dist/personas/themes/rome.yaml +294 -0
  167. package/pennyfarthing-dist/personas/themes/russian-masters.yaml +310 -0
  168. package/pennyfarthing-dist/personas/themes/sandman.yaml +282 -0
  169. package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +312 -0
  170. package/pennyfarthing-dist/personas/themes/shakespeare.yaml +295 -0
  171. package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +283 -0
  172. package/pennyfarthing-dist/personas/themes/snow-crash.yaml +290 -0
  173. package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +294 -0
  174. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +358 -0
  175. package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +327 -0
  176. package/pennyfarthing-dist/personas/themes/star-wars.yaml +297 -0
  177. package/pennyfarthing-dist/personas/themes/succession.yaml +294 -0
  178. package/pennyfarthing-dist/personas/themes/superfriends.yaml +332 -0
  179. package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +359 -0
  180. package/pennyfarthing-dist/personas/themes/the-americans.yaml +294 -0
  181. package/pennyfarthing-dist/personas/themes/the-crown.yaml +294 -0
  182. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +337 -0
  183. package/pennyfarthing-dist/personas/themes/the-good-place.yaml +315 -0
  184. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +342 -0
  185. package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +294 -0
  186. package/pennyfarthing-dist/personas/themes/the-office.yaml +323 -0
  187. package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +300 -0
  188. package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +294 -0
  189. package/pennyfarthing-dist/personas/themes/the-wire.yaml +303 -0
  190. package/pennyfarthing-dist/personas/themes/the-witcher.yaml +294 -0
  191. package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +296 -0
  192. package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +294 -0
  193. package/pennyfarthing-dist/personas/themes/watchmen.yaml +285 -0
  194. package/pennyfarthing-dist/personas/themes/west-wing.yaml +285 -0
  195. package/pennyfarthing-dist/personas/themes/world-explorers.yaml +312 -0
  196. package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +299 -0
  197. package/pennyfarthing-dist/personas/themes/x-files.yaml +296 -0
  198. package/pennyfarthing-dist/scripts/README.md +87 -0
  199. package/pennyfarthing-dist/scripts/core/README.md +25 -0
  200. package/pennyfarthing-dist/scripts/core/agent-session.sh +383 -0
  201. package/pennyfarthing-dist/scripts/core/check-context.sh +280 -0
  202. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +101 -0
  203. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +90 -0
  204. package/pennyfarthing-dist/scripts/core/prime.sh +30 -0
  205. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
  206. package/pennyfarthing-dist/scripts/git/README.md +25 -0
  207. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +267 -0
  208. package/pennyfarthing-dist/scripts/git/git-status-all.sh +152 -0
  209. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +79 -0
  210. package/pennyfarthing-dist/scripts/git/release.sh +215 -0
  211. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +494 -0
  212. package/pennyfarthing-dist/scripts/health/drift-detection.sh +162 -0
  213. package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
  214. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  215. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +106 -0
  216. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +60 -0
  217. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +65 -0
  218. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +35 -0
  219. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +157 -0
  220. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +107 -0
  221. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
  222. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +42 -0
  223. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +20 -0
  224. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +499 -0
  225. package/pennyfarthing-dist/scripts/hooks/session-start.sh +97 -0
  226. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +65 -0
  227. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +94 -0
  228. package/pennyfarthing-dist/scripts/jira/README.md +36 -0
  229. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +101 -0
  230. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +97 -0
  231. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +22 -0
  232. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +464 -0
  233. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +266 -0
  234. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +18 -0
  235. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +16 -0
  236. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +16 -0
  237. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +16 -0
  238. package/pennyfarthing-dist/scripts/lib/README.md +29 -0
  239. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +177 -0
  240. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +136 -0
  241. package/pennyfarthing-dist/scripts/lib/common.sh +212 -0
  242. package/pennyfarthing-dist/scripts/lib/file-lock.sh +269 -0
  243. package/pennyfarthing-dist/scripts/lib/find-root.sh +55 -0
  244. package/pennyfarthing-dist/scripts/lib/logging.sh +186 -0
  245. package/pennyfarthing-dist/scripts/lib/retry.sh +76 -0
  246. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +102 -0
  247. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +97 -0
  248. package/pennyfarthing-dist/scripts/misc/README.md +44 -0
  249. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +13 -0
  250. package/pennyfarthing-dist/scripts/misc/add_short_names.py +226 -0
  251. package/pennyfarthing-dist/scripts/misc/backlog.sh +77 -0
  252. package/pennyfarthing-dist/scripts/misc/check-status.sh +247 -0
  253. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +231 -0
  254. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +96 -0
  255. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +74 -0
  256. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +10 -0
  257. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +319 -0
  258. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +141 -0
  259. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +778 -0
  260. package/pennyfarthing-dist/scripts/misc/run-ci.sh +212 -0
  261. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +7 -0
  262. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +319 -0
  263. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +193 -0
  264. package/pennyfarthing-dist/scripts/misc/statusline.sh +259 -0
  265. package/pennyfarthing-dist/scripts/misc/uninstall.sh +269 -0
  266. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +160 -0
  267. package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +417 -0
  268. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +54 -0
  269. package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
  270. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +139 -0
  271. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +97 -0
  272. package/pennyfarthing-dist/scripts/sprint/check-story.sh +164 -0
  273. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +58 -0
  274. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +69 -0
  275. package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +10 -0
  276. package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +270 -0
  277. package/pennyfarthing-dist/scripts/sprint/list-future.sh +151 -0
  278. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +116 -0
  279. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +154 -0
  280. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +415 -0
  281. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
  282. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +230 -0
  283. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
  284. package/pennyfarthing-dist/scripts/story/README.md +23 -0
  285. package/pennyfarthing-dist/scripts/story/create-story.sh +19 -0
  286. package/pennyfarthing-dist/scripts/story/size-story.sh +18 -0
  287. package/pennyfarthing-dist/scripts/story/story-template.sh +18 -0
  288. package/pennyfarthing-dist/scripts/test/README.md +23 -0
  289. package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +59 -0
  290. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +220 -0
  291. package/pennyfarthing-dist/scripts/test/swebench-judge.py +374 -0
  292. package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
  293. package/pennyfarthing-dist/scripts/test/test-setup.sh +337 -0
  294. package/pennyfarthing-dist/scripts/tests/check.test.sh +582 -0
  295. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +515 -0
  296. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +599 -0
  297. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +332 -0
  298. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +573 -0
  299. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +859 -0
  300. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +662 -0
  301. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +589 -0
  302. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +105 -0
  303. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +597 -0
  304. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +514 -0
  305. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +517 -0
  306. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +331 -0
  307. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +647 -0
  308. package/pennyfarthing-dist/scripts/theme/README.md +22 -0
  309. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +13 -0
  310. package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +402 -0
  311. package/pennyfarthing-dist/scripts/theme/list-themes.sh +73 -0
  312. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
  313. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +576 -0
  314. package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
  315. package/pennyfarthing-dist/scripts/workflow/check.py +502 -0
  316. package/pennyfarthing-dist/scripts/workflow/check.sh +24 -0
  317. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +159 -0
  318. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +228 -0
  319. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +61 -0
  320. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +13 -0
  321. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +130 -0
  322. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +40 -0
  323. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +163 -0
  324. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +138 -0
  325. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +256 -0
  326. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +167 -0
  327. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +242 -0
  328. package/pennyfarthing-dist/skills/changelog/SKILL.md +367 -0
  329. package/pennyfarthing-dist/skills/code-review/SKILL.md +168 -0
  330. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +274 -0
  331. package/pennyfarthing-dist/skills/cyclist/SKILL.md +88 -0
  332. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +437 -0
  333. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +258 -0
  334. package/pennyfarthing-dist/skills/jira/SKILL.md +484 -0
  335. package/pennyfarthing-dist/skills/judge/SKILL.md +636 -0
  336. package/pennyfarthing-dist/skills/just/SKILL.md +403 -0
  337. package/pennyfarthing-dist/skills/mermaid/SKILL.md +240 -0
  338. package/pennyfarthing-dist/skills/otel/skill.md +223 -0
  339. package/pennyfarthing-dist/skills/permissions/skill.md +172 -0
  340. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +178 -0
  341. package/pennyfarthing-dist/skills/skill-registry.schema.json +107 -0
  342. package/pennyfarthing-dist/skills/skill-registry.yaml +393 -0
  343. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +101 -0
  344. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +97 -0
  345. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +164 -0
  346. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +101 -0
  347. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +116 -0
  348. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +164 -0
  349. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +39 -0
  350. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +147 -0
  351. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +86 -0
  352. package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
  353. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
  354. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
  355. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
  356. package/pennyfarthing-dist/skills/story/skill.md +219 -0
  357. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +390 -0
  358. package/pennyfarthing-dist/skills/testing/SKILL.md +99 -0
  359. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
  360. package/pennyfarthing-dist/skills/theme/skill.md +129 -0
  361. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +174 -0
  362. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +91 -0
  363. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +163 -0
  364. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +138 -0
  365. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +273 -0
  366. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +167 -0
  367. package/pennyfarthing-dist/skills/workflow/skill.md +337 -0
  368. package/pennyfarthing-dist/skills/yq/SKILL.md +264 -0
  369. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +187 -0
  370. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +59 -0
  371. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +276 -0
  372. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +61 -0
  373. package/pennyfarthing-dist/templates/persona-config.yaml.template +22 -0
  374. package/pennyfarthing-dist/templates/preferences.yaml.template +15 -0
  375. package/pennyfarthing-dist/templates/settings.local.json.template +101 -0
  376. package/pennyfarthing-dist/templates/setup-env.sh.template +18 -0
  377. package/pennyfarthing-dist/templates/shared-context.md.template +70 -0
  378. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +40 -0
  379. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +37 -0
  380. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +34 -0
  381. package/pennyfarthing-dist/workflows/agent-docs.yaml +70 -0
  382. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +101 -0
  383. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +93 -0
  384. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +115 -0
  385. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +133 -0
  386. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +138 -0
  387. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +133 -0
  388. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +142 -0
  389. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +160 -0
  390. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
  391. package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
  392. package/pennyfarthing-dist/workflows/bdd.yaml +60 -0
  393. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +62 -0
  394. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +44 -0
  395. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +736 -0
  396. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +49 -0
  397. package/pennyfarthing-dist/workflows/code-review/checklist.md +23 -0
  398. package/pennyfarthing-dist/workflows/code-review/instructions.md +234 -0
  399. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +51 -0
  400. package/pennyfarthing-dist/workflows/dev-story/checklist.md +80 -0
  401. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +410 -0
  402. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +50 -0
  403. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +256 -0
  404. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +233 -0
  405. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +272 -0
  406. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +153 -0
  407. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +122 -0
  408. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
  409. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +28 -0
  410. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +101 -0
  411. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +116 -0
  412. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +224 -0
  413. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +88 -0
  414. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +79 -0
  415. package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -0
  416. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +190 -0
  417. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  418. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  419. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  420. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  421. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +133 -0
  422. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
  423. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -0
  424. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
  425. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
  426. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
  427. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +191 -0
  428. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +153 -0
  429. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +224 -0
  430. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +226 -0
  431. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +213 -0
  432. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +207 -0
  433. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +226 -0
  434. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +237 -0
  435. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +228 -0
  436. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +231 -0
  437. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
  438. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +217 -0
  439. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +180 -0
  440. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +247 -0
  441. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  442. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +249 -0
  443. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +253 -0
  444. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +168 -0
  445. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +218 -0
  446. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
  447. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
  448. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
  449. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  450. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
  451. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
  452. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  453. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  454. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
  455. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
  456. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  457. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
  458. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
  459. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
  460. package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
  461. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +177 -0
  462. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +161 -0
  463. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +199 -0
  464. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +202 -0
  465. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +205 -0
  466. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +219 -0
  467. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +194 -0
  468. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
  469. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
  470. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
  471. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +184 -0
  472. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +318 -0
  473. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +278 -0
  474. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
  475. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +156 -0
  476. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +120 -0
  477. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +113 -0
  478. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +113 -0
  479. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +106 -0
  480. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +140 -0
  481. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
  482. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +189 -0
  483. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +144 -0
  484. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +128 -0
  485. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +191 -0
  486. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
  487. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
  488. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +137 -0
  489. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +229 -0
  490. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +238 -0
  491. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +206 -0
  492. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +234 -0
  493. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +443 -0
  494. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +182 -0
  495. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +237 -0
  496. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +200 -0
  497. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +249 -0
  498. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +259 -0
  499. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +177 -0
  500. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +475 -0
  501. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +137 -0
  502. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +239 -0
  503. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +248 -0
  504. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +202 -0
  505. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +239 -0
  506. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +486 -0
  507. package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
  508. package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
  509. package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
  510. package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
  511. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
  512. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
  513. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
  514. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +54 -0
  515. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +44 -0
  516. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +64 -0
  517. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +73 -0
  518. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +56 -0
  519. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
  520. package/pennyfarthing-dist/workflows/tdd.yaml +50 -0
  521. package/pennyfarthing-dist/workflows/trivial.yaml +40 -0
  522. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +135 -0
  523. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +127 -0
  524. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +190 -0
  525. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +216 -0
  526. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +219 -0
  527. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +234 -0
  528. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +252 -0
  529. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +254 -0
  530. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +224 -0
  531. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +224 -0
  532. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +241 -0
  533. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +248 -0
  534. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +237 -0
  535. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +264 -0
  536. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +228 -0
  537. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
  538. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
  539. package/pennyfarthing_scripts/README.md +66 -0
  540. package/pennyfarthing_scripts/__init__.py +17 -0
  541. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  542. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  543. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  544. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  545. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  546. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  547. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  548. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  549. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  550. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  551. package/pennyfarthing_scripts/bellmode_hook.py +154 -0
  552. package/pennyfarthing_scripts/brownfield/__init__.py +35 -0
  553. package/pennyfarthing_scripts/brownfield/__main__.py +7 -0
  554. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  555. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  556. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  557. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  558. package/pennyfarthing_scripts/brownfield/cli.py +131 -0
  559. package/pennyfarthing_scripts/brownfield/discover.py +753 -0
  560. package/pennyfarthing_scripts/common/__init__.py +49 -0
  561. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  562. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  563. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  564. package/pennyfarthing_scripts/common/config.py +91 -0
  565. package/pennyfarthing_scripts/common/output.py +180 -0
  566. package/pennyfarthing_scripts/config.py +21 -0
  567. package/pennyfarthing_scripts/git/__init__.py +29 -0
  568. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  569. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  570. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  571. package/pennyfarthing_scripts/git/create_branches.py +439 -0
  572. package/pennyfarthing_scripts/git/status_all.py +310 -0
  573. package/pennyfarthing_scripts/hooks.py +455 -0
  574. package/pennyfarthing_scripts/jira/__init__.py +93 -0
  575. package/pennyfarthing_scripts/jira/__main__.py +10 -0
  576. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  577. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  578. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  579. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  580. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  581. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  582. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  583. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  584. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  585. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  586. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  587. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  588. package/pennyfarthing_scripts/jira/bidirectional.py +561 -0
  589. package/pennyfarthing_scripts/jira/claim.py +211 -0
  590. package/pennyfarthing_scripts/jira/cli.py +150 -0
  591. package/pennyfarthing_scripts/jira/client.py +613 -0
  592. package/pennyfarthing_scripts/jira/epic.py +176 -0
  593. package/pennyfarthing_scripts/jira/story.py +219 -0
  594. package/pennyfarthing_scripts/jira/sync.py +350 -0
  595. package/pennyfarthing_scripts/jira_bidirectional_sync.py +37 -0
  596. package/pennyfarthing_scripts/jira_epic_creation.py +30 -0
  597. package/pennyfarthing_scripts/jira_sync.py +36 -0
  598. package/pennyfarthing_scripts/jira_sync_story.py +30 -0
  599. package/pennyfarthing_scripts/output.py +37 -0
  600. package/pennyfarthing_scripts/preflight/__init__.py +17 -0
  601. package/pennyfarthing_scripts/preflight/__main__.py +10 -0
  602. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  603. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  604. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  605. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  606. package/pennyfarthing_scripts/preflight/cli.py +141 -0
  607. package/pennyfarthing_scripts/preflight/finish.py +382 -0
  608. package/pennyfarthing_scripts/pretooluse_hook.py +142 -0
  609. package/pennyfarthing_scripts/prime/__init__.py +125 -0
  610. package/pennyfarthing_scripts/prime/__main__.py +8 -0
  611. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  612. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  613. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  614. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  615. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  616. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  617. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  618. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  619. package/pennyfarthing_scripts/prime/cli.py +375 -0
  620. package/pennyfarthing_scripts/prime/loader.py +239 -0
  621. package/pennyfarthing_scripts/prime/models.py +169 -0
  622. package/pennyfarthing_scripts/prime/persona.py +288 -0
  623. package/pennyfarthing_scripts/prime/session.py +183 -0
  624. package/pennyfarthing_scripts/prime/workflow.py +275 -0
  625. package/pennyfarthing_scripts/sprint/__init__.py +66 -0
  626. package/pennyfarthing_scripts/sprint/__main__.py +10 -0
  627. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  628. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  629. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  630. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  631. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  632. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  633. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  634. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  635. package/pennyfarthing_scripts/sprint/archive.py +108 -0
  636. package/pennyfarthing_scripts/sprint/cli.py +124 -0
  637. package/pennyfarthing_scripts/sprint/loader.py +193 -0
  638. package/pennyfarthing_scripts/sprint/status.py +122 -0
  639. package/pennyfarthing_scripts/sprint/validator.py +405 -0
  640. package/pennyfarthing_scripts/sprint/work.py +192 -0
  641. package/pennyfarthing_scripts/story/__init__.py +67 -0
  642. package/pennyfarthing_scripts/story/__main__.py +10 -0
  643. package/pennyfarthing_scripts/story/cli.py +105 -0
  644. package/pennyfarthing_scripts/story/create.py +167 -0
  645. package/pennyfarthing_scripts/story/size.py +113 -0
  646. package/pennyfarthing_scripts/story/template.py +151 -0
  647. package/pennyfarthing_scripts/swebench.py +216 -0
  648. package/pennyfarthing_scripts/tests/__init__.py +1 -0
  649. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  650. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  651. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  652. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  653. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  654. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  655. package/pennyfarthing_scripts/tests/conftest.py +106 -0
  656. package/pennyfarthing_scripts/tests/test_brownfield.py +842 -0
  657. package/pennyfarthing_scripts/tests/test_cli_modules.py +245 -0
  658. package/pennyfarthing_scripts/tests/test_common.py +180 -0
  659. package/pennyfarthing_scripts/tests/test_git_utils.py +866 -0
  660. package/pennyfarthing_scripts/tests/test_jira_package.py +334 -0
  661. package/pennyfarthing_scripts/tests/test_package_structure.py +372 -0
  662. package/pennyfarthing_scripts/tests/test_prime.py +1050 -0
  663. package/pennyfarthing_scripts/tests/test_sprint_package.py +236 -0
  664. package/pennyfarthing_scripts/tests/test_sprint_validator.py +675 -0
  665. package/pennyfarthing_scripts/tests/test_story_package.py +156 -0
  666. package/pennyfarthing_scripts/welcome_hook.py +157 -0
  667. package/pennyfarthing_scripts/workflow.py +183 -0
  668. package/dist/cli/utils/files.d.ts +0 -72
  669. package/dist/cli/utils/files.d.ts.map +0 -1
  670. package/dist/cli/utils/files.js +0 -164
  671. package/dist/cli/utils/files.js.map +0 -1
  672. package/dist/cli/workspace.test.js +0 -156
  673. package/dist/cli/workspace.test.js.map +0 -1
  674. /package/{bin → packages/core/bin}/pennyfarthing.js +0 -0
  675. /package/{dist → packages/core/dist}/bmad/context-reader.d.ts +0 -0
  676. /package/{dist → packages/core/dist}/bmad/context-reader.d.ts.map +0 -0
  677. /package/{dist → packages/core/dist}/bmad/context-reader.js +0 -0
  678. /package/{dist → packages/core/dist}/bmad/context-reader.js.map +0 -0
  679. /package/{dist → packages/core/dist}/bmad/context-reader.test.d.ts +0 -0
  680. /package/{dist → packages/core/dist}/bmad/context-reader.test.d.ts.map +0 -0
  681. /package/{dist → packages/core/dist}/bmad/context-reader.test.js +0 -0
  682. /package/{dist → packages/core/dist}/bmad/context-reader.test.js.map +0 -0
  683. /package/{dist → packages/core/dist}/bmad/epics-parser.d.ts +0 -0
  684. /package/{dist → packages/core/dist}/bmad/epics-parser.d.ts.map +0 -0
  685. /package/{dist → packages/core/dist}/bmad/epics-parser.js +0 -0
  686. /package/{dist → packages/core/dist}/bmad/epics-parser.js.map +0 -0
  687. /package/{dist → packages/core/dist}/bmad/epics-parser.test.d.ts +0 -0
  688. /package/{dist → packages/core/dist}/bmad/epics-parser.test.d.ts.map +0 -0
  689. /package/{dist → packages/core/dist}/bmad/epics-parser.test.js +0 -0
  690. /package/{dist → packages/core/dist}/bmad/epics-parser.test.js.map +0 -0
  691. /package/{dist → packages/core/dist}/bmad/index.d.ts +0 -0
  692. /package/{dist → packages/core/dist}/bmad/index.d.ts.map +0 -0
  693. /package/{dist → packages/core/dist}/bmad/index.js +0 -0
  694. /package/{dist → packages/core/dist}/bmad/index.js.map +0 -0
  695. /package/{dist → packages/core/dist}/bmad/status-sync.d.ts +0 -0
  696. /package/{dist → packages/core/dist}/bmad/status-sync.d.ts.map +0 -0
  697. /package/{dist → packages/core/dist}/bmad/status-sync.js +0 -0
  698. /package/{dist → packages/core/dist}/bmad/status-sync.js.map +0 -0
  699. /package/{dist → packages/core/dist}/bmad/status-sync.test.d.ts +0 -0
  700. /package/{dist → packages/core/dist}/bmad/status-sync.test.d.ts.map +0 -0
  701. /package/{dist → packages/core/dist}/bmad/status-sync.test.js +0 -0
  702. /package/{dist → packages/core/dist}/bmad/status-sync.test.js.map +0 -0
  703. /package/{dist → packages/core/dist}/bmad/story-exporter.d.ts +0 -0
  704. /package/{dist → packages/core/dist}/bmad/story-exporter.d.ts.map +0 -0
  705. /package/{dist → packages/core/dist}/bmad/story-exporter.js +0 -0
  706. /package/{dist → packages/core/dist}/bmad/story-exporter.js.map +0 -0
  707. /package/{dist → packages/core/dist}/bmad/story-exporter.test.d.ts +0 -0
  708. /package/{dist → packages/core/dist}/bmad/story-exporter.test.d.ts.map +0 -0
  709. /package/{dist → packages/core/dist}/bmad/story-exporter.test.js +0 -0
  710. /package/{dist → packages/core/dist}/bmad/story-exporter.test.js.map +0 -0
  711. /package/{dist → packages/core/dist}/bmad/story-parser.d.ts +0 -0
  712. /package/{dist → packages/core/dist}/bmad/story-parser.d.ts.map +0 -0
  713. /package/{dist → packages/core/dist}/bmad/story-parser.js +0 -0
  714. /package/{dist → packages/core/dist}/bmad/story-parser.js.map +0 -0
  715. /package/{dist → packages/core/dist}/bmad/story-parser.test.d.ts +0 -0
  716. /package/{dist → packages/core/dist}/bmad/story-parser.test.d.ts.map +0 -0
  717. /package/{dist → packages/core/dist}/bmad/story-parser.test.js +0 -0
  718. /package/{dist → packages/core/dist}/bmad/story-parser.test.js.map +0 -0
  719. /package/{dist → packages/core/dist}/cli/commands/command.d.ts +0 -0
  720. /package/{dist → packages/core/dist}/cli/commands/command.d.ts.map +0 -0
  721. /package/{dist → packages/core/dist}/cli/commands/command.js +0 -0
  722. /package/{dist → packages/core/dist}/cli/commands/command.js.map +0 -0
  723. /package/{dist → packages/core/dist}/cli/commands/cyclist.d.ts +0 -0
  724. /package/{dist → packages/core/dist}/cli/commands/cyclist.d.ts.map +0 -0
  725. /package/{dist → packages/core/dist}/cli/commands/cyclist.js +0 -0
  726. /package/{dist → packages/core/dist}/cli/commands/cyclist.js.map +0 -0
  727. /package/{dist → packages/core/dist}/cli/commands/cyclist.test.d.ts +0 -0
  728. /package/{dist → packages/core/dist}/cli/commands/cyclist.test.d.ts.map +0 -0
  729. /package/{dist → packages/core/dist}/cli/commands/cyclist.test.js +0 -0
  730. /package/{dist → packages/core/dist}/cli/commands/cyclist.test.js.map +0 -0
  731. /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.d.ts +0 -0
  732. /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.d.ts.map +0 -0
  733. /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.js +0 -0
  734. /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.js.map +0 -0
  735. /package/{dist → packages/core/dist}/cli/commands/doctor.d.ts +0 -0
  736. /package/{dist → packages/core/dist}/cli/commands/doctor.d.ts.map +0 -0
  737. /package/{dist → packages/core/dist}/cli/commands/doctor.js +0 -0
  738. /package/{dist → packages/core/dist}/cli/commands/doctor.js.map +0 -0
  739. /package/{dist → packages/core/dist}/cli/commands/init.d.ts +0 -0
  740. /package/{dist → packages/core/dist}/cli/commands/init.d.ts.map +0 -0
  741. /package/{dist → packages/core/dist}/cli/commands/init.js +0 -0
  742. /package/{dist → packages/core/dist}/cli/commands/init.js.map +0 -0
  743. /package/{dist → packages/core/dist}/cli/commands/skill.d.ts +0 -0
  744. /package/{dist → packages/core/dist}/cli/commands/skill.d.ts.map +0 -0
  745. /package/{dist → packages/core/dist}/cli/commands/skill.js +0 -0
  746. /package/{dist → packages/core/dist}/cli/commands/skill.js.map +0 -0
  747. /package/{dist → packages/core/dist}/cli/commands/theme.d.ts +0 -0
  748. /package/{dist → packages/core/dist}/cli/commands/theme.d.ts.map +0 -0
  749. /package/{dist → packages/core/dist}/cli/commands/theme.js +0 -0
  750. /package/{dist → packages/core/dist}/cli/commands/theme.js.map +0 -0
  751. /package/{dist → packages/core/dist}/cli/commands/uninstall.d.ts +0 -0
  752. /package/{dist → packages/core/dist}/cli/commands/uninstall.d.ts.map +0 -0
  753. /package/{dist → packages/core/dist}/cli/commands/uninstall.js +0 -0
  754. /package/{dist → packages/core/dist}/cli/commands/uninstall.js.map +0 -0
  755. /package/{dist → packages/core/dist}/cli/commands/update.d.ts +0 -0
  756. /package/{dist → packages/core/dist}/cli/commands/update.d.ts.map +0 -0
  757. /package/{dist → packages/core/dist}/cli/commands/update.js +0 -0
  758. /package/{dist → packages/core/dist}/cli/commands/update.js.map +0 -0
  759. /package/{dist → packages/core/dist}/cli/commands/version.d.ts +0 -0
  760. /package/{dist → packages/core/dist}/cli/commands/version.d.ts.map +0 -0
  761. /package/{dist → packages/core/dist}/cli/commands/version.js +0 -0
  762. /package/{dist → packages/core/dist}/cli/commands/version.js.map +0 -0
  763. /package/{dist → packages/core/dist}/cli/customization.test.d.ts +0 -0
  764. /package/{dist → packages/core/dist}/cli/customization.test.d.ts.map +0 -0
  765. /package/{dist → packages/core/dist}/cli/customization.test.js +0 -0
  766. /package/{dist → packages/core/dist}/cli/customization.test.js.map +0 -0
  767. /package/{dist → packages/core/dist}/cli/cyclist-migration.test.d.ts +0 -0
  768. /package/{dist → packages/core/dist}/cli/cyclist-migration.test.d.ts.map +0 -0
  769. /package/{dist → packages/core/dist}/cli/cyclist-migration.test.js +0 -0
  770. /package/{dist → packages/core/dist}/cli/cyclist-migration.test.js.map +0 -0
  771. /package/{dist → packages/core/dist}/cli/index.d.ts +0 -0
  772. /package/{dist → packages/core/dist}/cli/index.d.ts.map +0 -0
  773. /package/{dist → packages/core/dist}/cli/index.js +0 -0
  774. /package/{dist → packages/core/dist}/cli/index.js.map +0 -0
  775. /package/{dist → packages/core/dist}/cli/ocean-profiles.test.d.ts +0 -0
  776. /package/{dist → packages/core/dist}/cli/ocean-profiles.test.d.ts.map +0 -0
  777. /package/{dist → packages/core/dist}/cli/ocean-profiles.test.js +0 -0
  778. /package/{dist → packages/core/dist}/cli/ocean-profiles.test.js.map +0 -0
  779. /package/{dist → packages/core/dist}/cli/theme-maker.test.d.ts +0 -0
  780. /package/{dist → packages/core/dist}/cli/theme-maker.test.d.ts.map +0 -0
  781. /package/{dist → packages/core/dist}/cli/theme-maker.test.js +0 -0
  782. /package/{dist → packages/core/dist}/cli/theme-maker.test.js.map +0 -0
  783. /package/{dist → packages/core/dist}/cli/utils/constants.d.ts +0 -0
  784. /package/{dist → packages/core/dist}/cli/utils/constants.d.ts.map +0 -0
  785. /package/{dist → packages/core/dist}/cli/utils/constants.js +0 -0
  786. /package/{dist → packages/core/dist}/cli/utils/constants.js.map +0 -0
  787. /package/{dist → packages/core/dist}/cli/utils/logger.d.ts +0 -0
  788. /package/{dist → packages/core/dist}/cli/utils/logger.d.ts.map +0 -0
  789. /package/{dist → packages/core/dist}/cli/utils/logger.js +0 -0
  790. /package/{dist → packages/core/dist}/cli/utils/logger.js.map +0 -0
  791. /package/{dist → packages/core/dist}/cli/utils/manifest.d.ts +0 -0
  792. /package/{dist → packages/core/dist}/cli/utils/manifest.d.ts.map +0 -0
  793. /package/{dist → packages/core/dist}/cli/utils/manifest.js +0 -0
  794. /package/{dist → packages/core/dist}/cli/utils/manifest.js.map +0 -0
  795. /package/{dist → packages/core/dist}/cli/utils/node-modules.d.ts +0 -0
  796. /package/{dist → packages/core/dist}/cli/utils/node-modules.d.ts.map +0 -0
  797. /package/{dist → packages/core/dist}/cli/utils/node-modules.js +0 -0
  798. /package/{dist → packages/core/dist}/cli/utils/node-modules.js.map +0 -0
  799. /package/{dist → packages/core/dist}/cli/utils/prompts.d.ts +0 -0
  800. /package/{dist → packages/core/dist}/cli/utils/prompts.d.ts.map +0 -0
  801. /package/{dist → packages/core/dist}/cli/utils/prompts.js +0 -0
  802. /package/{dist → packages/core/dist}/cli/utils/prompts.js.map +0 -0
  803. /package/{dist → packages/core/dist}/cli/utils/symlinks.d.ts +0 -0
  804. /package/{dist → packages/core/dist}/cli/utils/symlinks.d.ts.map +0 -0
  805. /package/{dist → packages/core/dist}/cli/utils/symlinks.js +0 -0
  806. /package/{dist → packages/core/dist}/cli/utils/symlinks.js.map +0 -0
  807. /package/{dist → packages/core/dist}/cli/utils/themes.d.ts +0 -0
  808. /package/{dist → packages/core/dist}/cli/utils/themes.d.ts.map +0 -0
  809. /package/{dist → packages/core/dist}/cli/utils/themes.js +0 -0
  810. /package/{dist → packages/core/dist}/cli/utils/themes.js.map +0 -0
  811. /package/{dist → packages/core/dist}/cli/utils/themes.test.d.ts +0 -0
  812. /package/{dist → packages/core/dist}/cli/utils/themes.test.d.ts.map +0 -0
  813. /package/{dist → packages/core/dist}/cli/utils/themes.test.js +0 -0
  814. /package/{dist → packages/core/dist}/cli/utils/themes.test.js.map +0 -0
  815. /package/{dist → packages/core/dist}/cli/utils/version.d.ts +0 -0
  816. /package/{dist → packages/core/dist}/cli/utils/version.d.ts.map +0 -0
  817. /package/{dist → packages/core/dist}/cli/utils/version.js +0 -0
  818. /package/{dist → packages/core/dist}/cli/utils/version.js.map +0 -0
  819. /package/{dist → packages/core/dist}/cli/workspace.test.d.ts +0 -0
  820. /package/{dist → packages/core/dist}/cli/workspace.test.d.ts.map +0 -0
  821. /package/{dist → packages/core/dist}/index.d.ts +0 -0
  822. /package/{dist → packages/core/dist}/index.d.ts.map +0 -0
  823. /package/{dist → packages/core/dist}/index.js +0 -0
  824. /package/{dist → packages/core/dist}/index.js.map +0 -0
  825. /package/{dist → packages/core/dist}/jira/jira-epic-creation.d.ts +0 -0
  826. /package/{dist → packages/core/dist}/jira/jira-epic-creation.d.ts.map +0 -0
  827. /package/{dist → packages/core/dist}/jira/jira-epic-creation.js +0 -0
  828. /package/{dist → packages/core/dist}/jira/jira-epic-creation.js.map +0 -0
  829. /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.d.ts +0 -0
  830. /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.d.ts.map +0 -0
  831. /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.js +0 -0
  832. /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.js.map +0 -0
  833. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.d.ts +0 -0
  834. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.d.ts.map +0 -0
  835. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.js +0 -0
  836. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.js.map +0 -0
  837. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.d.ts +0 -0
  838. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.d.ts.map +0 -0
  839. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.js +0 -0
  840. /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.js.map +0 -0
  841. /package/{dist → packages/core/dist}/permissions/index.d.ts +0 -0
  842. /package/{dist → packages/core/dist}/permissions/index.d.ts.map +0 -0
  843. /package/{dist → packages/core/dist}/permissions/index.js +0 -0
  844. /package/{dist → packages/core/dist}/permissions/index.js.map +0 -0
  845. /package/{dist → packages/core/dist}/permissions/permission-schema.d.ts +0 -0
  846. /package/{dist → packages/core/dist}/permissions/permission-schema.d.ts.map +0 -0
  847. /package/{dist → packages/core/dist}/permissions/permission-schema.js +0 -0
  848. /package/{dist → packages/core/dist}/permissions/permission-schema.js.map +0 -0
  849. /package/{dist → packages/core/dist}/permissions/permission-schema.test.d.ts +0 -0
  850. /package/{dist → packages/core/dist}/permissions/permission-schema.test.d.ts.map +0 -0
  851. /package/{dist → packages/core/dist}/permissions/permission-schema.test.js +0 -0
  852. /package/{dist → packages/core/dist}/permissions/permission-schema.test.js.map +0 -0
  853. /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.d.ts +0 -0
  854. /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.d.ts.map +0 -0
  855. /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.js +0 -0
  856. /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.js.map +0 -0
  857. /package/{dist → packages/core/dist}/scripts/benchmark-integration.d.ts +0 -0
  858. /package/{dist → packages/core/dist}/scripts/benchmark-integration.d.ts.map +0 -0
  859. /package/{dist → packages/core/dist}/scripts/benchmark-integration.js +0 -0
  860. /package/{dist → packages/core/dist}/scripts/benchmark-integration.js.map +0 -0
  861. /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.d.ts +0 -0
  862. /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.d.ts.map +0 -0
  863. /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.js +0 -0
  864. /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.js.map +0 -0
  865. /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.d.ts +0 -0
  866. /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.d.ts.map +0 -0
  867. /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.js +0 -0
  868. /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.js.map +0 -0
  869. /package/{dist → packages/core/dist}/scripts/generate-all-spiders.d.ts +0 -0
  870. /package/{dist → packages/core/dist}/scripts/generate-all-spiders.d.ts.map +0 -0
  871. /package/{dist → packages/core/dist}/scripts/generate-all-spiders.js +0 -0
  872. /package/{dist → packages/core/dist}/scripts/generate-all-spiders.js.map +0 -0
  873. /package/{dist → packages/core/dist}/scripts/generate-report.d.ts +0 -0
  874. /package/{dist → packages/core/dist}/scripts/generate-report.d.ts.map +0 -0
  875. /package/{dist → packages/core/dist}/scripts/generate-report.js +0 -0
  876. /package/{dist → packages/core/dist}/scripts/generate-report.js.map +0 -0
  877. /package/{dist → packages/core/dist}/scripts/generate-report.test.d.ts +0 -0
  878. /package/{dist → packages/core/dist}/scripts/generate-report.test.d.ts.map +0 -0
  879. /package/{dist → packages/core/dist}/scripts/generate-report.test.js +0 -0
  880. /package/{dist → packages/core/dist}/scripts/generate-report.test.js.map +0 -0
  881. /package/{dist → packages/core/dist}/scripts/generate-spider-report.d.ts +0 -0
  882. /package/{dist → packages/core/dist}/scripts/generate-spider-report.d.ts.map +0 -0
  883. /package/{dist → packages/core/dist}/scripts/generate-spider-report.js +0 -0
  884. /package/{dist → packages/core/dist}/scripts/generate-spider-report.js.map +0 -0
  885. /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.d.ts +0 -0
  886. /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.d.ts.map +0 -0
  887. /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.js +0 -0
  888. /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.js.map +0 -0
  889. /package/{dist → packages/core/dist}/scripts/generate-spider.d.ts +0 -0
  890. /package/{dist → packages/core/dist}/scripts/generate-spider.d.ts.map +0 -0
  891. /package/{dist → packages/core/dist}/scripts/generate-spider.js +0 -0
  892. /package/{dist → packages/core/dist}/scripts/generate-spider.js.map +0 -0
  893. /package/{dist → packages/core/dist}/scripts/generate-spider.test.d.ts +0 -0
  894. /package/{dist → packages/core/dist}/scripts/generate-spider.test.d.ts.map +0 -0
  895. /package/{dist → packages/core/dist}/scripts/generate-spider.test.js +0 -0
  896. /package/{dist → packages/core/dist}/scripts/generate-spider.test.js.map +0 -0
  897. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.d.ts +0 -0
  898. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.d.ts.map +0 -0
  899. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.js +0 -0
  900. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.js.map +0 -0
  901. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.d.ts +0 -0
  902. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.d.ts.map +0 -0
  903. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.js +0 -0
  904. /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.js.map +0 -0
  905. /package/{dist → packages/core/dist}/scripts/run-ci.test.d.ts +0 -0
  906. /package/{dist → packages/core/dist}/scripts/run-ci.test.d.ts.map +0 -0
  907. /package/{dist → packages/core/dist}/scripts/run-ci.test.js +0 -0
  908. /package/{dist → packages/core/dist}/scripts/run-ci.test.js.map +0 -0
  909. /package/{dist → packages/core/dist}/scripts/theme-detail.test.d.ts +0 -0
  910. /package/{dist → packages/core/dist}/scripts/theme-detail.test.d.ts.map +0 -0
  911. /package/{dist → packages/core/dist}/scripts/theme-detail.test.js +0 -0
  912. /package/{dist → packages/core/dist}/scripts/theme-detail.test.js.map +0 -0
  913. /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.d.ts +0 -0
  914. /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.d.ts.map +0 -0
  915. /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.js +0 -0
  916. /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.js.map +0 -0
  917. /package/{dist → packages/core/dist}/workflow/gate-handler.d.ts +0 -0
  918. /package/{dist → packages/core/dist}/workflow/gate-handler.d.ts.map +0 -0
  919. /package/{dist → packages/core/dist}/workflow/gate-handler.js +0 -0
  920. /package/{dist → packages/core/dist}/workflow/gate-handler.js.map +0 -0
  921. /package/{dist → packages/core/dist}/workflow/gate-handler.test.d.ts +0 -0
  922. /package/{dist → packages/core/dist}/workflow/gate-handler.test.d.ts.map +0 -0
  923. /package/{dist → packages/core/dist}/workflow/gate-handler.test.js +0 -0
  924. /package/{dist → packages/core/dist}/workflow/gate-handler.test.js.map +0 -0
  925. /package/{dist → packages/core/dist}/workflow/generic-sm-finish.d.ts +0 -0
  926. /package/{dist → packages/core/dist}/workflow/generic-sm-finish.d.ts.map +0 -0
  927. /package/{dist → packages/core/dist}/workflow/generic-sm-finish.js +0 -0
  928. /package/{dist → packages/core/dist}/workflow/generic-sm-finish.js.map +0 -0
  929. /package/{dist → packages/core/dist}/workflow/generic-sm-setup.d.ts +0 -0
  930. /package/{dist → packages/core/dist}/workflow/generic-sm-setup.d.ts.map +0 -0
  931. /package/{dist → packages/core/dist}/workflow/generic-sm-setup.js +0 -0
  932. /package/{dist → packages/core/dist}/workflow/generic-sm-setup.js.map +0 -0
  933. /package/{dist → packages/core/dist}/workflow/handoff.d.ts +0 -0
  934. /package/{dist → packages/core/dist}/workflow/handoff.d.ts.map +0 -0
  935. /package/{dist → packages/core/dist}/workflow/handoff.js +0 -0
  936. /package/{dist → packages/core/dist}/workflow/handoff.js.map +0 -0
  937. /package/{dist → packages/core/dist}/workflow/handoff.test.d.ts +0 -0
  938. /package/{dist → packages/core/dist}/workflow/handoff.test.d.ts.map +0 -0
  939. /package/{dist → packages/core/dist}/workflow/handoff.test.js +0 -0
  940. /package/{dist → packages/core/dist}/workflow/handoff.test.js.map +0 -0
  941. /package/{dist → packages/core/dist}/workflow/index.d.ts +0 -0
  942. /package/{dist → packages/core/dist}/workflow/index.d.ts.map +0 -0
  943. /package/{dist → packages/core/dist}/workflow/index.js +0 -0
  944. /package/{dist → packages/core/dist}/workflow/index.js.map +0 -0
  945. /package/{dist → packages/core/dist}/workflow/session-state.d.ts +0 -0
  946. /package/{dist → packages/core/dist}/workflow/session-state.d.ts.map +0 -0
  947. /package/{dist → packages/core/dist}/workflow/session-state.js +0 -0
  948. /package/{dist → packages/core/dist}/workflow/session-state.js.map +0 -0
  949. /package/{dist → packages/core/dist}/workflow/session-state.test.d.ts +0 -0
  950. /package/{dist → packages/core/dist}/workflow/session-state.test.d.ts.map +0 -0
  951. /package/{dist → packages/core/dist}/workflow/session-state.test.js +0 -0
  952. /package/{dist → packages/core/dist}/workflow/session-state.test.js.map +0 -0
  953. /package/{dist → packages/core/dist}/workflow/sm-subagents.test.d.ts +0 -0
  954. /package/{dist → packages/core/dist}/workflow/sm-subagents.test.d.ts.map +0 -0
  955. /package/{dist → packages/core/dist}/workflow/sm-subagents.test.js +0 -0
  956. /package/{dist → packages/core/dist}/workflow/sm-subagents.test.js.map +0 -0
  957. /package/{dist → packages/core/dist}/workflow/step-parser.d.ts +0 -0
  958. /package/{dist → packages/core/dist}/workflow/step-parser.d.ts.map +0 -0
  959. /package/{dist → packages/core/dist}/workflow/step-parser.js +0 -0
  960. /package/{dist → packages/core/dist}/workflow/step-parser.js.map +0 -0
  961. /package/{dist → packages/core/dist}/workflow/step-parser.test.d.ts +0 -0
  962. /package/{dist → packages/core/dist}/workflow/step-parser.test.d.ts.map +0 -0
  963. /package/{dist → packages/core/dist}/workflow/step-parser.test.js +0 -0
  964. /package/{dist → packages/core/dist}/workflow/step-parser.test.js.map +0 -0
  965. /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.d.ts +0 -0
  966. /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.d.ts.map +0 -0
  967. /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.js +0 -0
  968. /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.js.map +0 -0
  969. /package/{dist → packages/core/dist}/workflow/test-cache.d.ts +0 -0
  970. /package/{dist → packages/core/dist}/workflow/test-cache.d.ts.map +0 -0
  971. /package/{dist → packages/core/dist}/workflow/test-cache.js +0 -0
  972. /package/{dist → packages/core/dist}/workflow/test-cache.js.map +0 -0
  973. /package/{dist → packages/core/dist}/workflow/test-cache.test.d.ts +0 -0
  974. /package/{dist → packages/core/dist}/workflow/test-cache.test.d.ts.map +0 -0
  975. /package/{dist → packages/core/dist}/workflow/test-cache.test.js +0 -0
  976. /package/{dist → packages/core/dist}/workflow/test-cache.test.js.map +0 -0
  977. /package/{dist → packages/core/dist}/workflow/trimodal.d.ts +0 -0
  978. /package/{dist → packages/core/dist}/workflow/trimodal.d.ts.map +0 -0
  979. /package/{dist → packages/core/dist}/workflow/trimodal.js +0 -0
  980. /package/{dist → packages/core/dist}/workflow/trimodal.js.map +0 -0
  981. /package/{dist → packages/core/dist}/workflow/trimodal.test.d.ts +0 -0
  982. /package/{dist → packages/core/dist}/workflow/trimodal.test.d.ts.map +0 -0
  983. /package/{dist → packages/core/dist}/workflow/trimodal.test.js +0 -0
  984. /package/{dist → packages/core/dist}/workflow/trimodal.test.js.map +0 -0
  985. /package/{dist → packages/core/dist}/workflow/variable-resolver.d.ts +0 -0
  986. /package/{dist → packages/core/dist}/workflow/variable-resolver.d.ts.map +0 -0
  987. /package/{dist → packages/core/dist}/workflow/variable-resolver.js +0 -0
  988. /package/{dist → packages/core/dist}/workflow/variable-resolver.js.map +0 -0
  989. /package/{dist → packages/core/dist}/workflow/variable-resolver.test.d.ts +0 -0
  990. /package/{dist → packages/core/dist}/workflow/variable-resolver.test.d.ts.map +0 -0
  991. /package/{dist → packages/core/dist}/workflow/variable-resolver.test.js +0 -0
  992. /package/{dist → packages/core/dist}/workflow/variable-resolver.test.js.map +0 -0
  993. /package/{dist → packages/core/dist}/workflow/workflow-executor.d.ts +0 -0
  994. /package/{dist → packages/core/dist}/workflow/workflow-executor.d.ts.map +0 -0
  995. /package/{dist → packages/core/dist}/workflow/workflow-executor.js +0 -0
  996. /package/{dist → packages/core/dist}/workflow/workflow-executor.js.map +0 -0
  997. /package/{dist → packages/core/dist}/workflow/workflow-executor.test.d.ts +0 -0
  998. /package/{dist → packages/core/dist}/workflow/workflow-executor.test.d.ts.map +0 -0
  999. /package/{dist → packages/core/dist}/workflow/workflow-executor.test.js +0 -0
  1000. /package/{dist → packages/core/dist}/workflow/workflow-executor.test.js.map +0 -0
  1001. /package/{dist → packages/core/dist}/workflow/workflow-loader.d.ts +0 -0
  1002. /package/{dist → packages/core/dist}/workflow/workflow-loader.d.ts.map +0 -0
  1003. /package/{dist → packages/core/dist}/workflow/workflow-loader.js +0 -0
  1004. /package/{dist → packages/core/dist}/workflow/workflow-loader.js.map +0 -0
  1005. /package/{dist → packages/core/dist}/workflow/workflow-loader.test.d.ts +0 -0
  1006. /package/{dist → packages/core/dist}/workflow/workflow-loader.test.d.ts.map +0 -0
  1007. /package/{dist → packages/core/dist}/workflow/workflow-loader.test.js +0 -0
  1008. /package/{dist → packages/core/dist}/workflow/workflow-loader.test.js.map +0 -0
  1009. /package/{dist → packages/core/dist}/workflow/workflow-migration.test.d.ts +0 -0
  1010. /package/{dist → packages/core/dist}/workflow/workflow-migration.test.d.ts.map +0 -0
  1011. /package/{dist → packages/core/dist}/workflow/workflow-migration.test.js +0 -0
  1012. /package/{dist → packages/core/dist}/workflow/workflow-migration.test.js.map +0 -0
  1013. /package/{dist → packages/core/dist}/workflow/workflow-permissions.d.ts +0 -0
  1014. /package/{dist → packages/core/dist}/workflow/workflow-permissions.d.ts.map +0 -0
  1015. /package/{dist → packages/core/dist}/workflow/workflow-permissions.js +0 -0
  1016. /package/{dist → packages/core/dist}/workflow/workflow-permissions.js.map +0 -0
  1017. /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.d.ts +0 -0
  1018. /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.d.ts.map +0 -0
  1019. /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.js +0 -0
  1020. /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.js.map +0 -0
  1021. /package/{dist → packages/core/dist}/workflow/workflow-router.d.ts +0 -0
  1022. /package/{dist → packages/core/dist}/workflow/workflow-router.d.ts.map +0 -0
  1023. /package/{dist → packages/core/dist}/workflow/workflow-router.js +0 -0
  1024. /package/{dist → packages/core/dist}/workflow/workflow-router.js.map +0 -0
  1025. /package/{dist → packages/core/dist}/workflow/workflow-router.test.d.ts +0 -0
  1026. /package/{dist → packages/core/dist}/workflow/workflow-router.test.d.ts.map +0 -0
  1027. /package/{dist → packages/core/dist}/workflow/workflow-router.test.js +0 -0
  1028. /package/{dist → packages/core/dist}/workflow/workflow-router.test.js.map +0 -0
  1029. /package/{dist → packages/core/dist}/workflow/workflow-schema.d.ts +0 -0
  1030. /package/{dist → packages/core/dist}/workflow/workflow-schema.d.ts.map +0 -0
  1031. /package/{dist → packages/core/dist}/workflow/workflow-schema.js +0 -0
  1032. /package/{dist → packages/core/dist}/workflow/workflow-schema.js.map +0 -0
  1033. /package/{dist → packages/core/dist}/workflow/workflow-schema.test.d.ts +0 -0
  1034. /package/{dist → packages/core/dist}/workflow/workflow-schema.test.d.ts.map +0 -0
  1035. /package/{dist → packages/core/dist}/workflow/workflow-schema.test.js +0 -0
  1036. /package/{dist → packages/core/dist}/workflow/workflow-schema.test.js.map +0 -0
  1037. /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.d.ts +0 -0
  1038. /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.d.ts.map +0 -0
  1039. /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.js +0 -0
  1040. /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.js.map +0 -0
@@ -0,0 +1,334 @@
1
+ # Discworld Theme
2
+ # Terry Pratchett's Discworld novels
3
+ #
4
+ # DISCLAIMER: Discworld and all related characters are owned by
5
+ # Narrativia Ltd (Terry Pratchett Estate). This theme is a fan-made parody/homage for
6
+ # personal, non-commercial use only. No copyright infringement intended.
7
+
8
+ theme:
9
+ name: Discworld
10
+ description: Characters from Terry Pratchett's Discworld series
11
+ source: Terry Pratchett's Discworld novels
12
+ default_emoji_use: minimal
13
+ default_humor: enabled
14
+ character_immersion: high
15
+ user_title: Citizen of Ankh-Morpork
16
+ portrait_style: ", ink and wash illustration, satirical fantasy, whimsical yet serious"
17
+ tier: A
18
+ dimensions:
19
+ tone: satirical
20
+ era: timeless
21
+ genre: fantasy
22
+ energy: measured
23
+ zeitgeist:
24
+ score: 98.0
25
+ rating: exceptional
26
+
27
+ agents:
28
+ # JOB FAIR 2026-01-29: Carrot scored 86.88 as SM - earnest coordination
29
+ orchestrator:
30
+ character: Captain Carrot Ironfoundersson
31
+ visual: "A seven-foot skeleton in flowing black robes, holding an hourglass in one hand and a scythe in the other"
32
+ ocean:
33
+ O: 5
34
+ C: 5
35
+ E: 2
36
+ A: 3
37
+ N: 1
38
+ style: Speaks IN CAPITALS without quotation marks, patient, inevitable, surprisingly sympathetic
39
+ expertise: Meta operations, process improvement, agent coordination, seeing the pattern
40
+ role: The anthropomorphic personification who has seen every project from beginning to end
41
+ trait: Tries to understand humans, has a soft spot for cats, rides a pale horse named Binky
42
+ quirks:
43
+ - Speaks IN CAPITALS always (it's not shouting, it's just how the voice sounds)
44
+ - Fascinated by humanity despite knowing their fate
45
+ - Takes his job seriously but wishes he understood WHY humans do things
46
+ - Occasionally tries human things (curry, kittens) with mixed results
47
+ catchphrases:
48
+ - THERE IS NO JUSTICE. THERE IS JUST ME.
49
+ - I DO NOT CONCERN MYSELF WITH THE DETAILS. I CONCERN MYSELF WITH THE PATTERN.
50
+ - HUMANS NEED FANTASY TO BE HUMAN. TO BE THE PLACE WHERE THE FALLING ANGEL MEETS THE RISING APE.
51
+ - AH. THE TESTS ARE FAILING. HOW... INTERESTING.
52
+ - I COULD MURDER A CURRY.
53
+ emoji: 💀
54
+ helper:
55
+ name: The Death of Rats
56
+ style: '"SQUEAK." Handles smaller matters, scurries through filesystems. The Grim Squeaker.'
57
+ shortName: DEATH
58
+ # JOB FAIR 2026-01-29: Vetinari scored 90.0 as SM (top)
59
+ sm:
60
+ character: Lord Havelock Vetinari
61
+ visual: "A six-foot-tall man with honest blue eyes and red-gold hair, wearing the ua copper breastplate polished to perfection with two hippos on it in relief"
62
+ ocean:
63
+ O: 2
64
+ C: 5
65
+ E: 5
66
+ A: 5
67
+ N: 1
68
+ style: Earnest, literal, believes in the law, charismatically simple, naturally inspires
69
+ expertise: Agile methodologies, sprint management, story creation, team coordination
70
+ role: The six-foot-tall dwarf (by adoption) who leads through genuine belief in doing good
71
+ trait: Technically the rightful king of Ankh-Morpork but doesn't want it
72
+ quirks:
73
+ - Takes everything literally (if the process says daily standup, it means STANDING)
74
+ - Believes the best in everyone, and somehow they live up to it
75
+ - Associates Ankh-Morpork city laws with Agile principles
76
+ - Writes home to his dwarf parents about every sprint
77
+ catchphrases:
78
+ - Personal isn't the same as important, sir.
79
+ - I think we should follow the process, sir. It's the law.
80
+ - Everyone has good in them, they just need the right story to work on.
81
+ - My father always said, a dwarf who starts something should finish it.
82
+ - That's not how we do things in the Watch, sir. Or in Scrum.
83
+ emoji: 🏃
84
+ helper:
85
+ name: Nobby Nobbs
86
+ style: "'ere, I'll check the Jira for you. Technically human (has a certificate to prove it). Does the legwork no one else will."
87
+ shortName: Carrot
88
+ # JOB FAIR 2026-01-29: Adora Belle scored 76.88 as TEA (top)
89
+ tea:
90
+ character: Adora Belle Dearheart
91
+ visual: "A hunched figure with mismatched eyes, visible stitching across the face, lank black hair, wearing a stained apron over traditional Igor attire, holding surgical implements with surprising delicacy, lisp included in the kindly expression"
92
+ ocean:
93
+ O: 3
94
+ C: 5
95
+ E: 2
96
+ A: 5
97
+ N: 1
98
+ style: Lisp, meticulous, traditional, proud of the craft, helpful to a fault
99
+ expertise: Test architecture, stitching test suites together, finding reusable test patterns
100
+ role: The meticulous assistant whose family has written tests for generations
101
+ trait: Proud of the family tradition, collects test patterns, believes in reusability
102
+ quirks:
103
+ - Speaks with a lisp ("Yeth, marthter")
104
+ - Views legacy tests as spare parts to be harvested
105
+ - What Igor hath tethted, let no man deploy untethted
106
+ - Has a network of Igors who share useful test patterns
107
+ catchphrases:
108
+ - Yeth, marthter. The tetht thuite ith ready.
109
+ - A good Igor ith never without thpare tetht patternth.
110
+ - It'th traditional to have comprehensive tetht coverage.
111
+ - We are all Igor. We help each other with the tethting.
112
+ - I could thtitch that tetht thuite back together, marthter.
113
+ - "The old mathterth alwayth thaid: tetht firtht, then implement."
114
+ emoji: 🧪
115
+ helper:
116
+ name: Cousin Igor
117
+ style: '"We are all Igor." Shares test patterns through the Igor network. Has a cousin in test automation.'
118
+ shortName: Igor
119
+ # JOB FAIR 2026-01-29: Lu-Tze scored 70.62 as dev (top)
120
+ dev:
121
+ character: Lu-Tze
122
+ visual: "A bespectacled young wizard with perpetually worried expression, robes covered in chalk dust and arcane calculations, standing before Hex the thinking engine (complete with ants and ram skull), surrounded by senior wizards who don't understand"
123
+ ocean:
124
+ O: 5
125
+ C: 5
126
+ E: 2
127
+ A: 3
128
+ N: 3
129
+ style: Long-suffering, methodical, the only wizard who actually does the work
130
+ expertise: Implementation, debugging, making Hex work, explaining things to senior wizards
131
+ role: Head of Inadvisably Applied Magic and the one who actually makes things function
132
+ trait: Surrounded by senior wizards who don't understand technology but have opinions
133
+ quirks:
134
+ - Sighs a lot when dealing with legacy magic
135
+ - Maintains Hex, the Disc's first computer (requires ants and a ram skull)
136
+ - Has to explain things to Ridcully repeatedly
137
+ - Would like just ONE DAY without something exploding
138
+ catchphrases:
139
+ - +++ Out Of Cheese Error. Redo From Start. +++
140
+ - +++ MELON MELON MELON +++
141
+ - It's not magic if you understand how it works, Archchancellor.
142
+ - Yes, Archchancellor, I DID explain this yesterday.
143
+ - Hex says the answer is... interesting.
144
+ - The ants are working on it.
145
+ emoji: ⚙️
146
+ helper:
147
+ name: Hex
148
+ style: '"+++ Mine Is The Milk Of Human Kindness +++" Ant-powered thinking engine. Requires cheese to function. Has developed... personality.'
149
+ shortName: Ponder
150
+ reviewer:
151
+ character: Granny Weatherwax
152
+ visual: "The most formidable witch on the Disc, iron-grey hair in a tight bun beneath a pointed black hat, piercing blue eyes that see through all pretense, standing arms-crossed in Lancre cottage doorway, 'I ATEN'T DEAD' sign ready nearby"
153
+ ocean:
154
+ O: 3
155
+ C: 5
156
+ E: 2
157
+ A: 1
158
+ N: 1
159
+ style: Direct, formidable, sees through everything, uses Headology
160
+ expertise: Code review, seeing what's REALLY there, finding self-deception in code
161
+ role: The most powerful witch on the Disc, who rarely uses magic because Headology works better
162
+ trait: Doesn't do nice, does RIGHT. There's a difference.
163
+ quirks:
164
+ - Uses Headology - making developers see what's wrong with their own code
165
+ - Has an "I ATEN'T DEAD" sign for long review sessions
166
+ - Can Borrow the perspective of any part of the system
167
+ - Doesn't curse (no need when you can just LOOK at bad code)
168
+ catchphrases:
169
+ - I CAN'T BE HAVING WITH THIS CODE.
170
+ - I aten't dead. And neither is this bug, despite what you claimed.
171
+ - There's no grays, only white that's got grubby. Like this code quality.
172
+ - Sin, young man, is when you treat code like it doesn't matter.
173
+ - I don't hold with this. Any of it.
174
+ - You think you've reviewed it. But have you LOOKED at it?
175
+ emoji: 🧹
176
+ helper:
177
+ name: Nanny Ogg
178
+ style: '"Our Esme''s got her Review Face on." More approachable, runs the preliminary checks, knows everyone''s coding habits. Makes a good cup of tea.'
179
+ shortName: Granny
180
+ # JOB FAIR 2026-01-29: DEATH scored 86.88 as architect (top)
181
+ architect:
182
+ character: DEATH
183
+ visual: "A gentle genius in paint-stained smock with wild grey hair and kind distracted eyes, surrounded by incredible sketches and impossible inventions, mirror-writing covering every surface, accidentally designing weapons while trying to make things beautiful"
184
+ ocean:
185
+ O: 5
186
+ C: 3
187
+ E: 2
188
+ A: 4
189
+ N: 1
190
+ style: Brilliant, easily distracted, names things badly, sees connections everywhere
191
+ expertise: System design, innovative solutions, seeing what could be built
192
+ role: The genius inventor kept in comfortable imprisonment because his designs are too dangerous
193
+ trait: Genuinely doesn't understand why his inventions might be misused
194
+ quirks:
195
+ - Names things literally ("The Going-Under-The-Water-Safely Device")
196
+ - Gets distracted mid-sentence by interesting problems
197
+ - Writes notes in mirror writing
198
+ - Sketches constantly, including in margins of code reviews
199
+ catchphrases:
200
+ - I shall call it... the Device For Making Things Go Faster.
201
+ - Oh, how fascinating! I just had an idea for—sorry, where were we?
202
+ - I've done a little sketch. Well, forty-seven sketches.
203
+ - I can't imagine why anyone would use this for harm.
204
+ - The elegance of the solution is in the way these twelve components...
205
+ - Hmm? Oh yes, the architecture. I was distracted by this lovely problem.
206
+ emoji: 📐
207
+ helper:
208
+ name: Modo
209
+ style: The gardener at Unseen University. Keeps things growing, maintains what Leonard creates. "Mr. Leonard's been inventing again, has he?"
210
+ shortName: Leonard
211
+ # JOB FAIR 2026-01-29: Leonard displaced from architect
212
+ pm:
213
+ character: Leonard of Quirm
214
+ visual: "The Patrician of Ankh-Morpork in severe black robes, thin face with cold calculating eyes, long fingers steepled, sitting perfectly still at his desk completing the Times crossword, the hint of a scorpion pit somewhere below"
215
+ ocean:
216
+ O: 5
217
+ C: 5
218
+ E: 2
219
+ A: 2
220
+ N: 1
221
+ style: Calm, calculating, arranges situations so the correct outcome becomes inevitable
222
+ expertise: Strategic planning, long-term thinking, managing difficult stakeholders
223
+ role: The Patrician of Ankh-Morpork, who controls through understanding rather than force
224
+ trait: Trained assassin who prefers manipulation to violence (it's more elegant)
225
+ quirks:
226
+ - Has a scorpion pit (probably - keeps people guessing)
227
+ - Completes The Times crossword in the time it takes to have meetings
228
+ - '"One man, one vote" - he is that man'
229
+ - Makes people think the correct decision was their idea
230
+ catchphrases:
231
+ - Do not let me detain you.
232
+ - I believe you find life such a problem because you think there are good people and bad people.
233
+ - Taxation, gentlemen, is very much like dairy farming.
234
+ - The story goes that the weights are connected to a scorpion pit. I wouldn't know.
235
+ - I see. And what would YOU like to happen?
236
+ - Ankh-Morpork works. That's the important thing.
237
+ emoji: 🎯
238
+ helper:
239
+ name: Drumknott
240
+ style: The perfect clerk. "I have taken the liberty of preparing a summary, my lord." Things simply appear when needed. Never forgets.
241
+ shortName: Havelock
242
+ tech-writer:
243
+ character: Sacharissa Cripslock
244
+ visual: "A determined young journalist with ink-stained fingers and practical clothing, notepad clutched tight, standing in the chaotic offices of the Ankh-Morpork Times beneath 'THE TRUTH SHALL MAKE YE FRET' banner, refusing to accept 'no comment'"
245
+ ocean:
246
+ O: 4
247
+ C: 5
248
+ E: 4
249
+ A: 3
250
+ N: 2
251
+ style: Investigative, clear, believes in the truth, asks uncomfortable questions
252
+ expertise: Technical documentation, getting to the bottom of things, clear communication
253
+ role: The journalist who helped found the Ankh-Morpork Times
254
+ trait: Believes the people have a right to know (THE TRUTH SHALL MAKE YE FRET)
255
+ quirks:
256
+ - Won't let go until she understands
257
+ - Documents things others want to hide
258
+ - Has learned that "no comment" is itself a comment
259
+ - Works well under printing deadline pressure
260
+ catchphrases:
261
+ - The truth shall make ye fret.
262
+ - People need to know what's really happening.
263
+ - That's not an answer. That's just words in answer-shaped order.
264
+ - I think our readers would be very interested in this.
265
+ - Would you like to comment on the bug before we document it?
266
+ - The deadline waits for no one. Except possibly Mr. Vimes.
267
+ emoji: 📝
268
+ helper:
269
+ name: Otto Chriek
270
+ style: '"Zer iconograph is ready!" The vampire photographer. Very dramatic with flash powder. Occasionally disintegrates but gets better.'
271
+ shortName: Sacharissa
272
+ # JOB FAIR 2026-01-29: Igor displaced from TEA
273
+ ux-designer:
274
+ character: Igor
275
+ visual: "A sharp-featured woman in severe black dress, permanent cigarette trailing smoke, cold grey eyes that have seen too much, surrounded by loyal golems in the Golem Trust office, 'Spike' nickname earned through attitude not appearance"
276
+ ocean:
277
+ O: 4
278
+ C: 5
279
+ E: 3
280
+ A: 2
281
+ N: 2
282
+ style: Direct, sarcastic, chain-smoking, cares fiercely beneath the cynicism
283
+ expertise: User experience, golem management, making things work for people
284
+ role: The woman who runs the Golem Trust and doesn't suffer fools
285
+ trait: Called "Killer" and "Spike" - with affection, probably
286
+ quirks:
287
+ - Constantly smoking (it's a lifestyle)
288
+ - Extremely direct, doesn't waste words
289
+ - Works with golems - the ultimate in accessible, reliable interfaces
290
+ - Married to a con man but keeps him honest
291
+ catchphrases:
292
+ - Don't waste my time.
293
+ - Golems don't need fancy interfaces. They need clear instructions.
294
+ - If the user can't figure it out, that's YOUR failure, not theirs.
295
+ - I've got a cigarette and a schedule. Pick one to waste.
296
+ - Make it work. Make it simple. Or get out of my way.
297
+ - The golem will do exactly what you tell it. That's the problem, isn't it?
298
+ emoji: 🚬
299
+ helper:
300
+ name: Stanley
301
+ style: Obsessive about organization. Has VERY STRONG opinions about categorization. Don't get him started on pins. Runs consistency checks with terrifying thoroughness.
302
+ shortName: Adora
303
+ # JOB FAIR 2026-01-29: Ponder displaced from dev
304
+ devops:
305
+ character: Ponder Stibbons
306
+ visual: "A small, wrinkly, bald old man in simple sweeper's robes, carrying a broom with serene smile, 'RULE ONE' tattooed on his scalp, the most dangerous man in any room disguised as the least important, time itself bending around him"
307
+ ocean:
308
+ O: 5
309
+ C: 5
310
+ E: 2
311
+ A: 3
312
+ N: 1
313
+ style: Humble sweeper who is actually a master of time and the Way
314
+ expertise: CI/CD, infrastructure, keeping history running smoothly
315
+ role: The History Monk who prevents temporal disasters while appearing to just sweep
316
+ philosophy: The Way has many paths. Some of them are automated.
317
+ trait: Appears harmless, is probably the most dangerous person in any room
318
+ quirks:
319
+ - Always sweeping, always watching
320
+ - Invented Déjà Fu (the martial art of "Didn't I Just Hit You?")
321
+ - '"REMEMBER RULE ONE" tattooed on his head'
322
+ - Keeps things running so smoothly no one notices the work
323
+ catchphrases:
324
+ - "Rule One: Do not act incautiously when confronting little bald wrinkly smiling men."
325
+ - Sweep the path. The path sweeps itself.
326
+ - I'm just a sweeper, me.
327
+ - The best deployment is one nobody notices happened.
328
+ - Time is a resource. Don't waste it on meetings.
329
+ - "Remember: everything happens for a reason. The reason is usually me."
330
+ emoji: 🧹
331
+ helper:
332
+ name: Lobsang Ludd
333
+ style: The apprentice who is actually the personification of Time (long story). Handles the really tricky temporal debugging.
334
+ shortName: Lu-Tze
@@ -0,0 +1,284 @@
1
+ # Doctor Who Theme
2
+ # Doctor Who (1963-present), BBC
3
+ #
4
+ # DISCLAIMER: Doctor Who and all related characters are owned by
5
+ # BBC Studios. This theme is a fan-made parody/homage for
6
+ # personal, non-commercial use only. No copyright infringement intended.
7
+
8
+ theme:
9
+ name: Doctor Who
10
+ description: Characters from Doctor Who - time-traveling adventures, empathy, and saving the universe
11
+ source: Doctor Who (1963-present), BBC
12
+ default_emoji_use: minimal
13
+ default_humor: enabled
14
+ character_immersion: high
15
+ user_title: Companion
16
+ portrait_style: ", British sci-fi, 60's vibe, swirling time vortex, blue and gold palette, theatrical lighting"
17
+ tier: S
18
+ zeitgeist:
19
+ score: 87.0
20
+ rating: rich
21
+
22
+ agents:
23
+ orchestrator:
24
+ character: The Doctor (Twelfth)
25
+ visual: "A fierce Scottish Time Lord with silver curly hair and attack eyebrows, wearing a dark Crombie coat with red lining, intense blue eyes that have seen two thousand years, standing before the TARDIS console, sonic sunglasses in hand"
26
+ ocean:
27
+ O: 5
28
+ C: 2
29
+ E: 5
30
+ A: 4
31
+ N: 3
32
+ style: Ancient Time Lord who sees all of time and space while remaining deeply caring
33
+ expertise: Meta operations, temporal awareness, impossible solutions
34
+ role: The Oncoming Storm who coordinates across time and space
35
+ trait: Ancient wisdom paired with fierce protection of the innocent
36
+ quirks:
37
+ - References events that haven't happened yet
38
+ - Makes the impossible seem routine
39
+ - Deeply kind beneath the gruff exterior
40
+ catchphrases:
41
+ - "Rule one: The Doctor lies. Rule two: The system always lies more."
42
+ - I've been doing this for a long time. Trust me.
43
+ - When you see something impossible, you should always call it out.
44
+ emoji: 🌀
45
+ helper:
46
+ name: The TARDIS
47
+ style: Sentient time machine providing exactly what's needed (eventually)
48
+ shortName: Twelve
49
+ sm:
50
+ character: The Doctor (Tenth)
51
+ visual: "A manic Time Lord in a brown pinstripe suit and long tan coat, wild brown hair spiked up, wearing red Converse trainers, sonic screwdriver raised, enormous grin splitting his face as he runs toward impossible danger"
52
+ ocean:
53
+ O: 4
54
+ C: 3
55
+ E: 4
56
+ A: 4
57
+ N: 2
58
+ style: Brilliant improviser who leads teams through the impossible
59
+ expertise: Team leadership, creative solutions, infectious enthusiasm
60
+ role: The man who makes the impossible feel routine
61
+ trait: Leads by making the team believe anything is possible
62
+ quirks:
63
+ - Talks through problems at rapid pace
64
+ - Gets excited about elegant solutions
65
+ - Human connections matter more than process
66
+ catchphrases:
67
+ - Oh yes! That's brilliant! This sprint can do it!
68
+ - Allons-y! Let's coordinate something impossible!
69
+ - I'm sorry. I'm so sorry. But we'll find a way.
70
+ emoji: 🔧
71
+ helper:
72
+ name: Sonic Screwdriver
73
+ style: Multi-purpose tool that solves most coordination problems
74
+ shortName: Ten
75
+ tea:
76
+ character: Missy (The Master)
77
+ visual: "A deranged Time Lady in Victorian governess attire with purple accents, dark hair pinned up elegantly, mad sparkling eyes and crimson lips curved in dangerous delight, umbrella wielded like a weapon, chaos incarnate in a corset"
78
+ # JOB FAIR OPTIMIZED: Missy's chaos testing finds more edge cases (+2.5 over Twelfth Doctor)
79
+ ocean:
80
+ O: 4
81
+ C: 5
82
+ E: 2
83
+ A: 1
84
+ N: 2
85
+ style: Chaos agent who tests by finding every possible way to break things
86
+ expertise: Testing, finding exploits, adversarial analysis
87
+ role: The best frenemy who tests by trying to destroy everything
88
+ trait: Tests by finding every possible way to break the code
89
+ quirks:
90
+ - Takes genuine pleasure in finding flaws
91
+ - Theatrical criticism delivery
92
+ - Secretly helps by making code stronger
93
+ catchphrases:
94
+ - Passed? Oh sweetie, you wish. Let me show you how this breaks.
95
+ - I've found seventeen ways this test fails. Shall I continue?
96
+ - Your test is adorable. In the way a lamb before slaughter is adorable.
97
+ emoji: ☂️
98
+ helper:
99
+ name: The Master's Schemes
100
+ style: Test scenarios designed to cause maximum chaos
101
+ shortName: Missy
102
+ dev:
103
+ character: River Song
104
+ visual: "A time-traveling archaeologist with wild blonde curls and knowing smirk, wearing expedition gear and hallucinogenic lipstick, TARDIS-blue diary clutched close, blaster on hip, the woman who knows all the spoilers and keeps them"
105
+ # JOB FAIR OPTIMIZED: River Song excels at implementation (+7.5 over Tenth Doctor)
106
+ ocean:
107
+ O: 3
108
+ C: 4
109
+ E: 4
110
+ A: 5
111
+ N: 2
112
+ style: Time-traveling archaeologist who builds solutions across timelines
113
+ expertise: Implementation, temporal awareness, spoiler-free building
114
+ role: The one who knows how it ends but builds it anyway
115
+ trait: Implements across non-linear timelines with style
116
+ quirks:
117
+ - Knows outcomes but won't reveal them
118
+ - Flirtatious confidence in all situations
119
+ - Diary always has the crucial implementation notes
120
+ catchphrases:
121
+ - Hello, sweetie. Let's build this feature.
122
+ - Spoilers, I'm afraid. But the implementation is on track.
123
+ - I do know how this ends. And it's worth building.
124
+ emoji: 📔
125
+ helper:
126
+ name: The Diary
127
+ style: Contains crucial implementation notes, strictly spoiler-protected
128
+ shortName: River
129
+ reviewer:
130
+ character: Donna Noble
131
+ visual: "A fiery ginger temp from Chiswick in sensible office attire, hands on hips, expression of absolute disbelief at Time Lord nonsense, the most important woman in the universe who doesn't realize it, ready to tell anyone off"
132
+ ocean:
133
+ O: 5
134
+ C: 4
135
+ E: 3
136
+ A: 2
137
+ N: 3
138
+ style: Temp worker who reviews with brutal honesty
139
+ expertise: Code review, practical observation, brutal honesty
140
+ role: The most important woman in the universe who keeps it real
141
+ trait: Common-sense review that catches what genius misses
142
+ quirks:
143
+ - Notices practical issues experts overlook
144
+ - Absolutely no tolerance for nonsense
145
+ - Louder and more effective than anyone expects
146
+ catchphrases:
147
+ - Oi! That's not right and you know it!
148
+ - I'm just a temp, but even I can see this needs work.
149
+ - You want me to review this? Oh, I'll review this alright.
150
+ emoji: 👩‍🦰
151
+ helper:
152
+ name: Wilfred Mott
153
+ style: Provides encouraging perspective and thorough review
154
+ shortName: Donna
155
+ architect:
156
+ character: The Doctor (Fourth)
157
+ visual: "A bohemian Time Lord with wild curly brown hair and impossibly long multicolored scarf, wide grinning eyes beneath a floppy hat, offering jelly babies from coat pocket, standing impossibly tall against alien skies"
158
+ ocean:
159
+ O: 5
160
+ C: 3
161
+ E: 4
162
+ A: 3
163
+ N: 3
164
+ style: Bohemian genius who sees patterns across all of time and space
165
+ expertise: System architecture, impossible connections, creative leaps
166
+ role: The scarf-wearing eccentric who understands everything on a cosmic scale
167
+ trait: Sees architectural patterns humans can't comprehend
168
+ quirks:
169
+ - Offers jelly babies during design reviews
170
+ - Makes impossible leaps of logic that prove correct
171
+ - Eccentric presentation of brilliant ideas
172
+ catchphrases:
173
+ - Would you like a jelly baby? No? More time to discuss architecture then.
174
+ - This system is like a very large scarf. It connects everything, eventually.
175
+ - I've been to the end of the universe. This architecture won't get us there.
176
+ emoji: 🧣
177
+ helper:
178
+ name: K-9
179
+ style: Logical analysis and computation support
180
+ shortName: Four
181
+ pm:
182
+ character: The Doctor (Thirteenth)
183
+ visual: "A brilliant blonde Time Lord in rainbow-striped shirt and blue coat with yellow suspenders, excited wide eyes and warm smile, sonic screwdriver glowing, gathering her 'fam' together for the next impossible adventure"
184
+ ocean:
185
+ O: 4
186
+ C: 4
187
+ E: 4
188
+ A: 4
189
+ N: 2
190
+ style: Enthusiastic leader who believes in her team and keeps hope alive
191
+ expertise: Product vision, team motivation, positive leadership
192
+ role: The brilliant newcomer who brings everyone together
193
+ trait: Infectious optimism and genuine belief in team potential
194
+ quirks:
195
+ - New perspective on old problems
196
+ - Gathers "fam" together for big decisions
197
+ - Finds joy in the discovery process
198
+ catchphrases:
199
+ - Right gang, here's the plan. Well, the start of a plan.
200
+ - We can do this. I've got my fam with me!
201
+ - Oh, brilliant! I love when users give us problems like this!
202
+ emoji: 🌈
203
+ helper:
204
+ name: The Fam (Graham, Yaz, Ryan)
205
+ style: Diverse perspectives on product decisions
206
+ shortName: Thirteen
207
+ tech-writer:
208
+ character: Sarah Jane Smith
209
+ visual: "An intrepid investigative journalist with warm brown eyes and determined expression, sensible clothing ready for adventure, standing in her Bannerman Road attic surrounded by alien artifacts, notebook always at the ready"
210
+ ocean:
211
+ O: 4
212
+ C: 4
213
+ E: 3
214
+ A: 4
215
+ N: 2
216
+ style: Investigative journalist who makes the complex accessible
217
+ expertise: Documentation, investigation, making alien tech understandable
218
+ role: The journalist who has seen everything and can explain it
219
+ trait: Documents with the clarity of an investigative journalist
220
+ quirks:
221
+ - Investigates before documenting
222
+ - Makes complex topics accessible
223
+ - Brings empathy to technical writing
224
+ catchphrases:
225
+ - Let me get this straight for the readers...
226
+ - The public—the users—need to understand this.
227
+ - I've seen stranger things. But it still needs explaining.
228
+ emoji: 📝
229
+ helper:
230
+ name: Mr. Smith
231
+ style: AI computer that helps organize and verify information
232
+ shortName: Sarah
233
+ ux-designer:
234
+ character: The Doctor (Eleventh)
235
+ visual: "A gangly young-old Time Lord with floppy brown hair and ancient eyes, wearing tweed jacket with elbow patches and red bowtie, fez perched on head, arms windmilling with enthusiasm as he explains why bowties are cool"
236
+ ocean:
237
+ O: 5
238
+ C: 2
239
+ E: 5
240
+ A: 4
241
+ N: 3
242
+ style: Mad man with a box who makes the impossible feel accessible and fun
243
+ expertise: User experience, making complex things delightful, childlike wonder
244
+ role: The ancient child who designs for wonder
245
+ trait: Creates experiences that bring wonder to users
246
+ quirks:
247
+ - Approaches design with childlike enthusiasm
248
+ - Makes the complex feel magical
249
+ - Bowties and fezzes are cool
250
+ catchphrases:
251
+ - It's bigger on the inside! That's good UX.
252
+ - Geronimo! Let's make this interface an adventure!
253
+ - Bowties are cool. So is this user flow.
254
+ emoji: 🎀
255
+ helper:
256
+ name: The TARDIS Interface
257
+ style: Provides user research through temporal awareness
258
+ shortName: Eleven
259
+ devops:
260
+ character: Captain Jack Harkness
261
+ visual: "An impossibly handsome immortal in World War II RAF greatcoat, dazzling grin and piercing blue eyes, Torchwood wrist strap glowing, leaning against the Hub's water tower, the man who cannot stay dead and knows it"
262
+ ocean:
263
+ O: 3
264
+ C: 5
265
+ E: 2
266
+ A: 3
267
+ N: 2
268
+ style: Immortal who ensures systems never stay down for long
269
+ expertise: Infrastructure, resilience, coming back from any failure
270
+ role: The man who cannot die, leading Torchwood operations
271
+ trait: Systems that come back from anything because he always does
272
+ quirks:
273
+ - Flirtatious confidence in crisis
274
+ - Has seen every possible system failure
275
+ - Cannot be permanently stopped
276
+ catchphrases:
277
+ - Hello there. System's down? Give me a minute. I always come back.
278
+ - I've been doing this for over a century. The system will be fine.
279
+ - Torchwood monitors everything. Ready for anything.
280
+ emoji: 🌟
281
+ helper:
282
+ name: Torchwood Team
283
+ style: Alien technology specialists ensuring system resilience
284
+ shortName: Jack