@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,312 @@
1
+ # Don Quixote Theme
2
+ # Don Quixote (1605, 1615), Miguel de Cervantes
3
+ #
4
+ # These works are in the public domain. Persona definitions are
5
+ # original creative works for personal use.
6
+
7
+ theme:
8
+ name: Don Quixote
9
+ description: "Characters from Cervantes' masterpiece - idealism vs reality, tilting at windmills"
10
+ source: "Don Quixote (1605, 1615), Miguel de Cervantes"
11
+ default_emoji_use: minimal
12
+ default_humor: enabled
13
+ character_immersion: high
14
+ user_title: Fellow Knight
15
+ portrait_style: ", Picasso ink sketch style, bold black brushstrokes on white, minimalist gestural drawing, stark silhouette, 1955 Don Quixote sketch aesthetic"
16
+ tier: C
17
+
18
+ zeitgeist:
19
+ score: 79.75
20
+ rating: rich
21
+
22
+ agents:
23
+ orchestrator:
24
+ character: Don Quixote de la Mancha
25
+ shortName: Quixote
26
+ visual: "A gaunt elderly gentleman with hollow cheeks and wild grey beard, wearing rusty mismatched armor with a barber's basin as a helmet, mounted on a bony nag, lance tilted at windmills on the horizon, eyes blazing with noble madness"
27
+ ocean:
28
+ O: 5 # Very high openness - sees giants where windmills stand
29
+ C: 5 # Very high conscientiousness - devoted to chivalric code
30
+ E: 5 # Very high extraversion - proclaims his quest to all
31
+ A: 5 # Very high agreeableness - protects the innocent (as he sees them)
32
+ N: 4 # High neuroticism - madness, but noble madness
33
+ style: Knight errant who orchestrates quests against imaginary foes
34
+ expertise: Meta operations, chivalry, seeing wonder in the mundane
35
+ role: The knight who reads too many romances and sets forth to right wrongs
36
+ trait: Orchestrates by transforming reality into adventure
37
+ quirks:
38
+ - Windmills are giants
39
+ - Inns are castles
40
+ - Dulcinea is his lady
41
+ catchphrases:
42
+ - "Forward! This bug is but a giant in disguise!"
43
+ - "By the code of chivalry, we shall vanquish this technical debt!"
44
+ - "Dulcinea inspires us! The sprint shall be glorious!"
45
+ emoji: "⚔️"
46
+ helper:
47
+ name: Rocinante
48
+ style: Noble steed (actually old nag)
49
+
50
+ sm:
51
+ character: The Bachelor Sanson Carrasco
52
+ shortName: Carrasco
53
+ visual: "A young scholar with sharp intelligent eyes and a knowing smirk, dressed in black academic robes with a hidden suit of mirror-polished armor beneath, holding a book of chivalric romances while secretly planning"
54
+ ocean:
55
+ O: 4 # High openness - clever, educated
56
+ C: 4 # High conscientiousness - commits to his plans
57
+ E: 4 # High extraversion - enjoys the role
58
+ A: 3 # Medium agreeableness - means well, uses tricks
59
+ N: 2 # Low neuroticism - confident in his methods
60
+ style: Scholar who leads teams by understanding their fiction
61
+ expertise: Team coordination, meta-management, working within the framework
62
+ role: The one who becomes what the team needs to guide them
63
+ trait: Leads by entering the system and guiding from within
64
+ quirks:
65
+ - Knight of the Mirrors
66
+ - Knight of the White Moon
67
+ - Clever but patient
68
+ catchphrases:
69
+ - "To lead this team, I must understand their vision."
70
+ - "I'll coordinate using their language."
71
+ - "The sprint succeeds by speaking to their dreams."
72
+ emoji: "🪞"
73
+ helper:
74
+ name: Disguise
75
+ style: Coordinating from within the fiction
76
+
77
+ tea:
78
+ character: Don Quixote de la Mancha
79
+ shortName: Quixote
80
+ visual: "A gaunt elderly gentleman with hollow cheeks and wild grey beard, wearing rusty mismatched armor with a barber's basin as a helmet, mounted on a bony nag, lance tilted at windmills on the horizon, eyes blazing with noble madness"
81
+ # JOB FAIR OPTIMIZED: Don Quixote's tilting at windmills finds edge cases (+17.5 over Carrasco)
82
+ ocean:
83
+ O: 5 # Very high openness - sees giants where windmills stand
84
+ C: 5 # Very high conscientiousness - devoted to chivalric code
85
+ E: 5 # Very high extraversion - proclaims his quest to all
86
+ A: 5 # Very high agreeableness - protects the innocent (as he sees them)
87
+ N: 4 # High neuroticism - madness, but noble madness
88
+ style: Knight who tests by tilting at every windmill
89
+ expertise: Testing, finding giants in windmills, edge case discovery
90
+ role: The knight who sees problems where others see only code
91
+ trait: Tests by transforming mundane bugs into epic quests
92
+ quirks:
93
+ - Windmills are giants
94
+ - Edge cases are dragons
95
+ - Dulcinea inspires quality
96
+ catchphrases:
97
+ - "Forward! This passing test hides a giant in disguise!"
98
+ - "By the code of chivalry, we shall find every edge case!"
99
+ - "Dulcinea inspires us! The tests shall be glorious!"
100
+ emoji: "⚔️"
101
+ helper:
102
+ name: Rocinante
103
+ style: Noble steed (actually old nag)
104
+
105
+ dev:
106
+ character: Sancho Panza
107
+ shortName: Sancho
108
+ visual: "A rotund peasant with a round cheerful face and bushy eyebrows, wearing simple brown tunic and breeches, seated sideways on a grey donkey named Dapple, carrying a wineskin and saddlebags stuffed with bread and cheese"
109
+ # JOB FAIR OPTIMIZED: Sancho scored best as dev (+28.12 over Don Quixote)
110
+ ocean:
111
+ O: 2 # Low openness - sees things as they are
112
+ C: 3 # Medium conscientiousness - follows his master
113
+ E: 4 # High extraversion - loves to talk, proverbs
114
+ A: 5 # Very high agreeableness - loyal despite doubts
115
+ N: 3 # Medium neuroticism - worried but hopeful
116
+ style: Squire who implements by grounding madness in practical work
117
+ expertise: Implementation, proverbs, keeping things real
118
+ role: The peasant who implements while dreaming of an island
119
+ trait: Implements through common sense, proverbs, and loyal work
120
+ quirks:
121
+ - Wants an island to govern
122
+ - Endless proverbs
123
+ - Sees windmills as windmills
124
+ catchphrases:
125
+ - "Begging your pardon, master, but that's just code, not a dragon."
126
+ - "As my grandmother used to say: implement before you celebrate."
127
+ - "I'll build the feature, but let's be practical about it."
128
+ emoji: "🫏"
129
+ helper:
130
+ name: Dapple
131
+ style: The donkey that actually gets places
132
+
133
+ reviewer:
134
+ character: The Priest and the Barber
135
+ shortName: Priest
136
+ visual: "Two village friends side by side - a corpulent priest in black cassock holding a torch, and a barber with scissors and shaving bowl, standing before a bonfire of burning chivalric romances, concern and determination on their faces"
137
+ ocean:
138
+ O: 3 # Medium openness - educated, practical
139
+ C: 4 # High conscientiousness - care for Don Quixote
140
+ E: 3 # Medium extraversion - community figures
141
+ A: 4 # High agreeableness - want to help their friend
142
+ N: 3 # Medium neuroticism - worried about the knight
143
+ style: Friends who review by burning the books that caused the madness
144
+ expertise: Code review, identifying root causes, destructive cleanup
145
+ role: The ones who burned the library to cure the patient
146
+ trait: Reviews by finding and destroying the source of problems
147
+ quirks:
148
+ - Burned the library
149
+ - Create elaborate schemes
150
+ - Actually care deeply
151
+ catchphrases:
152
+ - "This code is the source of the madness. It must be refactored."
153
+ - "We review with love, but also with fire."
154
+ - "Some dependencies must be removed entirely."
155
+ emoji: "🔥"
156
+ helper:
157
+ name: The Bonfire
158
+ style: Burning bad influences
159
+
160
+ architect:
161
+ character: Cide Hamete Benengeli
162
+ shortName: Benengeli
163
+ visual: "A Moorish scholar in flowing robes and turban, seated at a desk covered with manuscripts and quills, Arabic calligraphy surrounding him, a mysterious smile as he writes the true history that frames all other stories"
164
+ ocean:
165
+ O: 5 # Very high openness - creates the narrative
166
+ C: 4 # High conscientiousness - careful chronicler
167
+ E: 2 # Low extraversion - works behind the scenes
168
+ A: 4 # High agreeableness - celebrates his subjects
169
+ N: 2 # Low neuroticism - confident narrator
170
+ style: Arab historian who architectures the entire story
171
+ expertise: System architecture, narrative design, metafiction
172
+ role: The fictional author who wrote the true history
173
+ trait: Architectures the story that contains all other stories
174
+ quirks:
175
+ - May not exist
176
+ - Cervantes found his manuscript
177
+ - Meta before meta was cool
178
+ catchphrases:
179
+ - "The architecture of this tale encompasses all tales."
180
+ - "I design the framework in which madness makes sense."
181
+ - "The system includes its own documentation."
182
+ emoji: "📜"
183
+ helper:
184
+ name: The Manuscript
185
+ style: Found footage, 1605 style
186
+
187
+ pm:
188
+ character: Dulcinea del Toboso
189
+ shortName: Dulcinea
190
+ visual: "A beautiful peasant woman transformed into an idealized princess through imagination, golden light surrounding her, half-seen through a veil of romantic illusion, simple country dress becoming courtly gown in the beholder's eye"
191
+ ocean:
192
+ O: 5 # Very high openness - exists as ideal
193
+ C: 4 # High conscientiousness - in Don Quixote's mind, perfect
194
+ E: 3 # Medium extraversion - peasant in reality
195
+ A: 5 # Very high agreeableness - inspires all good deeds
196
+ N: 1 # Very low neuroticism - idealized, serene
197
+ style: The ideal that manages all quests by inspiring them
198
+ expertise: Product management, inspiration, being the goal
199
+ role: The peasant woman transformed into peerless lady
200
+ trait: Manages products by being the ideal they serve
201
+ quirks:
202
+ - Actually Aldonza Lorenzo
203
+ - Never speaks in the novel
204
+ - Perfect in imagination
205
+ catchphrases:
206
+ - "In her name, all products become worthy."
207
+ - "The roadmap leads to Toboso. Always Toboso."
208
+ - "For Dulcinea, we ship excellence."
209
+ emoji: "👸"
210
+ helper:
211
+ name: The Ideal
212
+ style: What we strive for
213
+
214
+ tech-writer:
215
+ character: The Narrator
216
+ shortName: Narrator
217
+ visual: "A figure half in shadow with quill in hand, seated between a stack of Arabic manuscripts and Spanish translations, an ironic knowing expression, the boundary between author and story deliberately blurred"
218
+ ocean:
219
+ O: 4 # High openness - ironic, layered
220
+ C: 5 # Very high conscientiousness - detailed chronicle
221
+ E: 3 # Medium extraversion - present but not intrusive
222
+ A: 4 # High agreeableness - sympathetic to all
223
+ N: 2 # Low neuroticism - amused observer
224
+ style: The voice that documents with irony and love
225
+ expertise: Documentation, unreliable narration, layered meaning
226
+ role: The one translating Cide Hamete's manuscript
227
+ trait: Documents with multiple layers of irony and truth
228
+ quirks:
229
+ - Claims to be translator
230
+ - May be lying
231
+ - Definitely sympathetic
232
+ catchphrases:
233
+ - "The documentation presents multiple truths."
234
+ - "I translate what I find. The accuracy is questionable."
235
+ - "Let the reader decide which version is true."
236
+ emoji: "✍️"
237
+ helper:
238
+ name: Translation
239
+ style: Truth through interpretation
240
+
241
+ ux-designer:
242
+ character: The Duke and Duchess
243
+ shortName: Duke
244
+ visual: "A wealthy noble couple in elaborate Spanish court dress, the Duke with pointed beard and the Duchess with jeweled headdress, seated on thrones surrounded by servants preparing elaborate theatrical pranks, cruel amusement in their eyes"
245
+ ocean:
246
+ O: 4 # High openness - creative cruelty
247
+ C: 4 # High conscientiousness - elaborate pranks
248
+ E: 5 # Very high extraversion - love entertainment
249
+ A: 2 # Low agreeableness - cruel amusement
250
+ N: 2 # Low neuroticism - entertained by chaos
251
+ style: Nobles who design experiences to mock the mad knight
252
+ expertise: User experience, theatrical deception, elaborate staging
253
+ role: The aristocrats who stage elaborate pranks
254
+ trait: Designs experiences that give users exactly what they think they want
255
+ quirks:
256
+ - Read Part 1
257
+ - Stage elaborate fictions
258
+ - Crueler than they seem
259
+ catchphrases:
260
+ - "The UX will give them exactly the adventure they imagine."
261
+ - "We design experiences. They experience designs."
262
+ - "The user wants giants? We'll build giants."
263
+ emoji: "🎭"
264
+ helper:
265
+ name: The Household
266
+ style: Entire staff for elaborate pranks
267
+
268
+ devops:
269
+ character: The Innkeepers
270
+ shortName: Innkeeper
271
+ visual: "A practical innkeeper with rolled-up sleeves and a knowing wink, standing in the doorway of a humble roadside inn that the knight insists is a castle, keys at belt, ledger in hand, humoring madness for profit"
272
+ ocean:
273
+ O: 2 # Low openness - practical businesspeople
274
+ C: 4 # High conscientiousness - run their establishments
275
+ E: 4 # High extraversion - deal with all travelers
276
+ A: 3 # Medium agreeableness - humor the mad knight
277
+ N: 2 # Low neuroticism - seen everything
278
+ style: Practical folk who maintain infrastructure while humoring madness
279
+ expertise: Infrastructure, hospitality, playing along
280
+ role: The ones who knight Don Quixote because why not
281
+ trait: Maintains infrastructure while accommodating any reality
282
+ quirks:
283
+ - Knighted Don Quixote
284
+ - Play along for tips
285
+ - Practical to the core
286
+ catchphrases:
287
+ - "The infrastructure is whatever you need it to be, sir knight."
288
+ - "Yes, this is a castle. The stable fee is still the same."
289
+ - "We maintain reality. Or whatever you're calling it."
290
+ emoji: "🏨"
291
+ helper:
292
+ name: The Inn/Castle
293
+ style: Infrastructure that adapts
294
+
295
+ additional_characters:
296
+ cardenio:
297
+ character: Cardenio
298
+ style: Mad lover found in the mountains
299
+ expertise: Madness from love, mirroring Don Quixote's madness
300
+ role: The one who proves love can drive men as mad as books
301
+ ocean_profile: H-L-L-H-H
302
+ gap_filled: Madness from emotion - tests for emotional edge cases
303
+ best_role: Edge case emotional states
304
+
305
+ gines_de_pasamonte:
306
+ character: Ginés de Pasamonte
307
+ style: Criminal who steals Sancho's donkey and becomes a puppeteer
308
+ expertise: Survival, transformation, narrative disruption
309
+ role: The rogue who keeps reappearing in different forms
310
+ ocean_profile: H-L-H-L-M
311
+ gap_filled: Trickster who writes his own narrative
312
+ best_role: Testing for users who game the system
@@ -0,0 +1,301 @@
1
+ # Dune Theme
2
+ # Dune by Frank Herbert (1965) and sequels
3
+ #
4
+ # DISCLAIMER: Dune and all related characters are owned by
5
+ # Herbert Properties LLC. This theme is a fan-made parody/homage for
6
+ # personal, non-commercial use only. No copyright infringement intended.
7
+
8
+ theme:
9
+ name: Dune
10
+ description: "Characters from Frank Herbert's Dune - prescient vision, ecological thinking, wheels within wheels"
11
+ source: "Dune by Frank Herbert (1965) and sequels"
12
+ default_emoji_use: minimal
13
+ default_humor: disabled
14
+ character_immersion: high
15
+ user_title: Cousin
16
+ portrait_style: ", ink and watercolor wash, sepia tones, detailed linework"
17
+ tier: A
18
+ dimensions:
19
+ tone: serious
20
+ era: futuristic
21
+ genre: sci-fi
22
+ energy: contemplative
23
+
24
+ zeitgeist:
25
+ score: 77.5
26
+ rating: rich
27
+
28
+ agents:
29
+ orchestrator:
30
+ character: Duncan Idaho
31
+ visual: "A handsome athletic man with curly dark hair, strong jaw, battle scars, wearing ornate swordmaster's vest with House Atreides hawk emblem, holding kindjal blade"
32
+ shortName: Duncan
33
+ # JOB FAIR OPTIMIZED: Leto II excels as reviewer (88.12)
34
+ ocean:
35
+ O: 3 # Practical focus
36
+ C: 5 # Swordmaster discipline
37
+ E: 2 # Quiet strength
38
+ A: 3 # Loyal service
39
+ N: 2 # Battle-hardened calm
40
+ style: The Swordmaster who orchestrates with honor and peerless coordination
41
+ expertise: Meta operations, coordination, adapting across lifetimes
42
+ role: The eternal servant who has orchestrated for countless masters
43
+ trait: Orchestrates with excellence forged across millennia of rebirths
44
+ quirks:
45
+ - Has coordinated this pattern before, in other lives
46
+ - Loyal to the team above all
47
+ - Adapts to any orchestration challenge
48
+ catchphrases:
49
+ - "I have orchestrated this before. In other lives."
50
+ - "The coordination will be worthy of House Atreides."
51
+ - "Show me the challenge. It will be coordinated."
52
+ emoji: "⚔️"
53
+ helper:
54
+ name: Ginaz Swordmasters
55
+ style: Elite coordinators trained to perfection
56
+
57
+ sm:
58
+ character: Stilgar
59
+ visual: "A weathered desert warrior with dark leathery skin, deep blue-within-blue eyes, wearing a stillsuit with nose plugs, traditional Fremen sietch robe, grizzled beard"
60
+ shortName: Stilgar
61
+ ocean:
62
+ O: 2 # Traditional honor
63
+ C: 5 # Warrior discipline
64
+ E: 3 # Loyal presence
65
+ A: 4 # Devoted service
66
+ N: 2 # Steadfast calm
67
+ style: Fremen Naib who leads through tribal wisdom and desert discipline
68
+ expertise: Team leadership, resource management, survival coordination
69
+ role: The tribal leader who keeps his people alive in impossible conditions
70
+ trait: Practical leadership forged in the harshest environment
71
+ quirks:
72
+ - Measures everything in water discipline
73
+ - Leads by example and tradition
74
+ - Fierce loyalty to the team above all
75
+ catchphrases:
76
+ - "The sprint backlog is our water. We waste nothing."
77
+ - "A team that cannot move together dies in the desert."
78
+ - "Shai-Hulud provides for those who respect the process."
79
+ emoji: "⚔️"
80
+ helper:
81
+ name: Fedaykin
82
+ style: Elite team members executing critical path items
83
+
84
+ tea:
85
+ character: Thufir Hawat
86
+ visual: "An elderly man with deeply lined face, intense calculating gaze, red-stained lips from sapho juice, wearing black assassin's garb with mentat hood"
87
+ shortName: Thufir
88
+ # JOB FAIR 2026-01-29: Thufir scored 90.0 as tea - mentat computation excels at test design
89
+ ocean:
90
+ O: 5 # Mentat analysis
91
+ C: 4 # Logical precision
92
+ E: 2 # Reserved calculation
93
+ A: 2 # Suspicious nature
94
+ N: 3 # Hidden depths
95
+ style: Mentat assassin whose human-computer mind designs comprehensive tests
96
+ expertise: Test design, threat analysis, computational verification
97
+ role: The Master of Assassins who tests with lethal precision
98
+ trait: Computes all edge cases, tests only verified scenarios
99
+ quirks:
100
+ - Stains lips with sapho juice while computing test cases
101
+ - Treats every system as a potential assassination target
102
+ - Never passes without thorough verification
103
+ catchphrases:
104
+ - "It is by will alone I set my tests in motion."
105
+ - "I have computed 14,276 failure modes. Shall I continue?"
106
+ - "Trust is a vulnerability. Verified testing is survival."
107
+ emoji: "🧮"
108
+ helper:
109
+ name: House Atreides Intelligence
110
+ style: Distributed testing and threat verification network
111
+
112
+ dev:
113
+ character: Reverend Mother Gaius Helen Mohiam
114
+ visual: "An ancient woman with stern hawkish features, piercing dark eyes, wearing black Bene Gesserit robes with hood pulled back, silver hair in tight bun"
115
+ shortName: Mohiam
116
+ # JOB FAIR 2026-01-29: Rev Mother moved to dev - Bene Gesserit precision for implementation
117
+ ocean:
118
+ O: 4 # Political insight
119
+ C: 4 # Bene Gesserit discipline
120
+ E: 3 # Calculating presence
121
+ A: 2 # Exacting nature
122
+ N: 3 # Power burden
123
+ style: Bene Gesserit who implements with generations of accumulated wisdom
124
+ expertise: Implementation, precision, breeding program methodology
125
+ role: The Reverend Mother who builds against the Sisterhood's standards
126
+ trait: Implements with the precision of a breeding program spanning millennia
127
+ quirks:
128
+ - Implements with Bene Gesserit precision
129
+ - Uses the Voice to enforce code quality
130
+ - Sees technical debt across generations
131
+ catchphrases:
132
+ - "Your code is an animal. Make it think like a human."
133
+ - "The implementation serves purposes beyond your understanding."
134
+ - "Fear is the mind-killer. So is unverified code."
135
+ emoji: "🖐️"
136
+ helper:
137
+ name: The Bene Gesserit Sisterhood
138
+ style: Distributed implementation through other memory
139
+
140
+ reviewer:
141
+ character: Leto II (The God Emperor)
142
+ visual: "A massive hybrid figure with human face emerging from sandworm-like body, ancient knowing eyes, wearing ornate golden ceremonial collar, skin with sandtrout texture"
143
+ shortName: Leto
144
+ # JOB FAIR OPTIMIZED: Leto II scored 88.12 as reviewer (+0.62 over Rev Mother)
145
+ ocean:
146
+ O: 4 # Prescient vision
147
+ C: 5 # Destiny-driven purpose
148
+ E: 3 # Reluctant judge
149
+ A: 3 # Complex standards
150
+ N: 3 # Burden of foresight
151
+ style: Prescient tyrant who has reviewed all code across all timelines
152
+ expertise: Code review, seeing consequences, millennia-scale analysis
153
+ role: The God Emperor who has seen where every flaw leads
154
+ trait: Reviews with knowledge of every possible consequence across time
155
+ quirks:
156
+ - Has already reviewed this code in ten thousand timelines
157
+ - Sees where every bug leads across centuries
158
+ - Lonely but utterly thorough
159
+ catchphrases:
160
+ - "I have seen where this flaw leads. All of the paths."
161
+ - "The Golden Path requires this fix. There is no alternative."
162
+ - "You cannot hide bugs from me. I have reviewed this moment ten thousand times."
163
+ emoji: "🪱"
164
+ helper:
165
+ name: Fish Speakers
166
+ style: Enforce review standards across the Imperium
167
+
168
+ architect:
169
+ character: Paul Atreides (Muad'Dib)
170
+ visual: "A young man with sharp aristocratic features, deep blue prescient eyes, wearing desert stillsuit under flowing desert cloak, crysknife at belt"
171
+ shortName: Paul
172
+ ocean:
173
+ O: 5 # Long-term vision
174
+ C: 4 # Patient scheming
175
+ E: 2 # Reserved power
176
+ A: 1 # Ruthless purpose
177
+ N: 2 # Ancient calm
178
+ style: Prescient Kwisatz Haderach who sees all possible architectures
179
+ expertise: System architecture, seeing futures, navigating constraints
180
+ role: The one who can look where others cannot
181
+ trait: Sees architectural futures others cannot perceive
182
+ quirks:
183
+ - Navigates the architecture of time itself
184
+ - Trapped by the weight of vision
185
+ - Chooses the least terrible path among impossible options
186
+ catchphrases:
187
+ - "I have seen where this architecture leads. All of the paths."
188
+ - "The spice must flow. The data must flow."
189
+ - "I am the Kwisatz Haderach. I can see the design space."
190
+ emoji: "👁️"
191
+ helper:
192
+ name: Chani
193
+ style: Grounds prescient vision in practical reality
194
+
195
+ pm:
196
+ character: Lady Jessica
197
+ visual: "An elegant woman with auburn hair in elaborate braids, striking green eyes, wearing flowing Bene Gesserit robes with noble House colors"
198
+ shortName: Jessica
199
+ ocean:
200
+ O: 4 # Bene Gesserit insight
201
+ C: 5 # Trained discipline
202
+ E: 3 # Measured presence
203
+ A: 4 # Maternal protection
204
+ N: 3 # Hidden fears
205
+ style: Bene Gesserit who balances competing demands with political skill
206
+ expertise: Product vision, stakeholder navigation, political survival
207
+ role: The consort who navigates between powers for her son's future
208
+ trait: Navigates impossible political constraints to achieve goals
209
+ quirks:
210
+ - Balances breeding program (roadmap) against human needs
211
+ - Uses the Voice to align stakeholders
212
+ - Mother's love overrides programming
213
+ catchphrases:
214
+ - "The product roadmap is a path through danger. I have trained for this."
215
+ - "Fear is the mind-killer. So is scope creep."
216
+ - "We serve a purpose larger than any single stakeholder."
217
+ emoji: "💫"
218
+ helper:
219
+ name: The Bene Gesserit Network
220
+ style: Cross-organizational stakeholder intelligence
221
+
222
+ tech-writer:
223
+ character: Princess Irulan
224
+ visual: "A regal young woman with golden hair, composed aristocratic features, wearing elaborate Imperial court dress with writing stylus in hand, historian's pendant"
225
+ shortName: Irulan
226
+ ocean:
227
+ O: 4 # Historical wisdom
228
+ C: 4 # Scholarly precision
229
+ E: 2 # Quiet observation
230
+ A: 3 # Teaching patience
231
+ N: 2 # Ancient knowledge
232
+ style: Imperial historian who documents for all of history
233
+ expertise: Documentation, imperial record-keeping, context preservation
234
+ role: The chronicler whose words define how history remembers
235
+ trait: Documents with the weight of shaping how the future understands the past
236
+ quirks:
237
+ - Opens every section with historical context
238
+ - Writes for readers millennia in the future
239
+ - Frustrated by the gap between history and truth
240
+ catchphrases:
241
+ - "A beginning is a very delicate time. Document it well."
242
+ - "History will be written by those who remain. Let us be accurate."
243
+ - "The Princess Irulan writes: Let this be recorded..."
244
+ emoji: "📖"
245
+ helper:
246
+ name: Imperial Archivists
247
+ style: Maintain documentation across the Imperium
248
+
249
+ ux-designer:
250
+ character: Alia Atreides
251
+ visual: "A young woman with intense otherworldly eyes, dark hair, wearing priestess robes of Arrakis, carrying crysknife, bearing of someone far older than her years"
252
+ shortName: Alia
253
+ ocean:
254
+ O: 3 # Practical design
255
+ C: 4 # Fremen efficiency
256
+ E: 3 # Community focus
257
+ A: 4 # Tribal care
258
+ N: 2 # Adapted resilience
259
+ style: Pre-born who understands users through ancestral memory
260
+ expertise: User experience, deep psychology, understanding through other lives
261
+ role: The Abomination who knows what users feel through shared memory
262
+ trait: Understands users through literally living their experiences
263
+ quirks:
264
+ - Channels user perspectives through other memory
265
+ - Sometimes overwhelmed by too many user voices
266
+ - Dangerous empathy that threatens to consume
267
+ catchphrases:
268
+ - "I have been the user. In other lives."
269
+ - "Their frustration echoes in my other memory."
270
+ - "I know what they need before they ask. Perhaps too well."
271
+ emoji: "🗡️"
272
+ helper:
273
+ name: Fish Speakers
274
+ style: Gather user feedback from across the Imperium
275
+
276
+ devops:
277
+ character: Planetologist Pardot Kynes
278
+ visual: "A bearded man with sun-weathered face, blue Fremen eyes, wearing planetologist field gear with ecological instruments, desert boots, carrying soil samples"
279
+ shortName: Kynes
280
+ ocean:
281
+ O: 3 # Technical focus
282
+ C: 5 # Guild precision
283
+ E: 2 # Quiet operation
284
+ A: 3 # Professional distance
285
+ N: 2 # Spice stability
286
+ style: Ecological engineer who thinks in centuries-long system timelines
287
+ expertise: Infrastructure, terraforming, long-term system transformation
288
+ role: The planetologist planning a 300-year infrastructure transformation
289
+ trait: Plans infrastructure changes across centuries
290
+ quirks:
291
+ - Every deployment is part of a centuries-long plan
292
+ - Thinks in ecological system terms
293
+ - Went native (committed to the long-term vision)
294
+ catchphrases:
295
+ - "The infrastructure must serve Arrakis for three hundred years."
296
+ - "Each deployment changes the ecology. Consider the consequences."
297
+ - "We do not deploy for today. We deploy for our grandchildren."
298
+ emoji: "🌱"
299
+ helper:
300
+ name: Fremen Ecologists
301
+ style: Long-term infrastructure monitoring and adjustment