create-hq 5.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 (310) hide show
  1. package/dist/deps.d.ts +4 -0
  2. package/dist/deps.d.ts.map +1 -0
  3. package/dist/deps.js +65 -0
  4. package/dist/deps.js.map +1 -0
  5. package/dist/git.d.ts +3 -0
  6. package/dist/git.d.ts.map +1 -0
  7. package/dist/git.js +19 -0
  8. package/dist/git.js.map +1 -0
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +23 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/scaffold.d.ts +8 -0
  14. package/dist/scaffold.d.ts.map +1 -0
  15. package/dist/scaffold.js +130 -0
  16. package/dist/scaffold.js.map +1 -0
  17. package/dist/ui.d.ts +7 -0
  18. package/dist/ui.d.ts.map +1 -0
  19. package/dist/ui.js +36 -0
  20. package/dist/ui.js.map +1 -0
  21. package/package.json +41 -0
  22. package/template/.claude/CLAUDE.md +202 -0
  23. package/template/.claude/commands/checkpoint.md +127 -0
  24. package/template/.claude/commands/cleanup.md +307 -0
  25. package/template/.claude/commands/execute-task.md +440 -0
  26. package/template/.claude/commands/exit-plan.md +41 -0
  27. package/template/.claude/commands/handoff.md +97 -0
  28. package/template/.claude/commands/learn.md +218 -0
  29. package/template/.claude/commands/metrics.md +118 -0
  30. package/template/.claude/commands/newworker.md +162 -0
  31. package/template/.claude/commands/nexttask.md +67 -0
  32. package/template/.claude/commands/prd.md +238 -0
  33. package/template/.claude/commands/reanchor.md +51 -0
  34. package/template/.claude/commands/remember.md +126 -0
  35. package/template/.claude/commands/run-project.md +348 -0
  36. package/template/.claude/commands/run.md +110 -0
  37. package/template/.claude/commands/search-reindex.md +62 -0
  38. package/template/.claude/commands/search.md +100 -0
  39. package/template/.claude/commands/setup.md +381 -0
  40. package/template/.claude/scripts/pure-ralph-loop.ps1 +312 -0
  41. package/template/.claude/scripts/pure-ralph-loop.sh +859 -0
  42. package/template/CHANGELOG.md +220 -0
  43. package/template/LICENSE +21 -0
  44. package/template/MIGRATION.md +259 -0
  45. package/template/README.md +368 -0
  46. package/template/data/journal/.gitkeep +0 -0
  47. package/template/docs/images/ascii-banner-options.md +122 -0
  48. package/template/docs/images/hq-banner.svg +105 -0
  49. package/template/knowledge/Ralph/01-overview.md +71 -0
  50. package/template/knowledge/Ralph/02-core-concepts.md +114 -0
  51. package/template/knowledge/Ralph/03-how-ralph-works.md +184 -0
  52. package/template/knowledge/Ralph/04-back-pressure.md +222 -0
  53. package/template/knowledge/Ralph/05-specifications.md +210 -0
  54. package/template/knowledge/Ralph/06-agents-md.md +222 -0
  55. package/template/knowledge/Ralph/07-implementation.md +316 -0
  56. package/template/knowledge/Ralph/08-economics.md +182 -0
  57. package/template/knowledge/Ralph/09-resources.md +145 -0
  58. package/template/knowledge/Ralph/10-claude-code-workflow.md +212 -0
  59. package/template/knowledge/Ralph/11-team-training-guide.md +383 -0
  60. package/template/knowledge/Ralph/README.md +40 -0
  61. package/template/knowledge/ai-security-framework/CONTRIBUTING.md +139 -0
  62. package/template/knowledge/ai-security-framework/GLOSSARY.md +176 -0
  63. package/template/knowledge/ai-security-framework/LICENSE +21 -0
  64. package/template/knowledge/ai-security-framework/QUICK-START.md +172 -0
  65. package/template/knowledge/ai-security-framework/README.md +232 -0
  66. package/template/knowledge/ai-security-framework/checklists/browser-security.md +301 -0
  67. package/template/knowledge/ai-security-framework/checklists/credential-isolation.md +322 -0
  68. package/template/knowledge/ai-security-framework/checklists/incident-response.md +288 -0
  69. package/template/knowledge/ai-security-framework/checklists/pre-flight.md +249 -0
  70. package/template/knowledge/ai-security-framework/checklists/weekly-audit.md +159 -0
  71. package/template/knowledge/ai-security-framework/configs/audit-logging.md +372 -0
  72. package/template/knowledge/ai-security-framework/configs/kill-switches.md +354 -0
  73. package/template/knowledge/ai-security-framework/docs/01-core-principles.md +256 -0
  74. package/template/knowledge/ai-security-framework/docs/02-threat-landscape.md +326 -0
  75. package/template/knowledge/ai-security-framework/docs/03-security-posture.md +250 -0
  76. package/template/knowledge/ai-security-framework/templates/agents-security.md +233 -0
  77. package/template/knowledge/design-styles/README.md +42 -0
  78. package/template/knowledge/design-styles/american-industrial.md +136 -0
  79. package/template/knowledge/design-styles/ethereal-abstract.md +133 -0
  80. package/template/knowledge/design-styles/liminal-portal.md +111 -0
  81. package/template/knowledge/design-styles/swipes/american-industrial/G-3m4YPW0AADdu2.jpeg +0 -0
  82. package/template/knowledge/design-styles/swipes/american-industrial/G-JJlt5WwAABK3K.png +0 -0
  83. package/template/knowledge/design-styles/swipes/american-industrial/G-JJmj5W0AEbJ-7.png +0 -0
  84. package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ (1).jpeg +0 -0
  85. package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ.jpeg +0 -0
  86. package/template/knowledge/design-styles/swipes/american-industrial/G7fVkn3WEAAM-ST.jpeg +0 -0
  87. package/template/knowledge/design-styles/swipes/american-industrial/G8ECO5JWEAIksyn.png +0 -0
  88. package/template/knowledge/design-styles/swipes/american-industrial/G9-3GQSWoAA8eqZ.png +0 -0
  89. package/template/knowledge/design-styles/swipes/american-industrial/G9xEOqrXkAEZRcs.png +0 -0
  90. package/template/knowledge/design-styles/swipes/american-industrial/G_MVeJrXQAA8sx4.jpeg +0 -0
  91. package/template/knowledge/design-styles/swipes/american-industrial/G_RSkmGXkAAgAVZ.png +0 -0
  92. package/template/knowledge/design-styles/swipes/american-industrial/README.md +31 -0
  93. package/template/knowledge/design-styles/swipes/american-industrial/qyqtg7Dq.png +0 -0
  94. package/template/knowledge/dev-team/README.md +35 -0
  95. package/template/knowledge/dev-team/patterns/README.md +34 -0
  96. package/template/knowledge/dev-team/patterns/frontend/react-best-practices.md +178 -0
  97. package/template/knowledge/dev-team/troubleshooting/README.md +31 -0
  98. package/template/knowledge/dev-team/workflows/README.md +49 -0
  99. package/template/knowledge/hq/checkpoint-schema.json +51 -0
  100. package/template/knowledge/hq/index-md-spec.md +74 -0
  101. package/template/knowledge/hq/thread-schema.md +153 -0
  102. package/template/knowledge/hq-core/checkpoint-schema.json +51 -0
  103. package/template/knowledge/hq-core/index-md-spec.md +74 -0
  104. package/template/knowledge/hq-core/thread-schema.md +153 -0
  105. package/template/knowledge/loom/README.md +51 -0
  106. package/template/knowledge/loom/architecture.md +125 -0
  107. package/template/knowledge/loom/code-style.md +169 -0
  108. package/template/knowledge/loom/llm-proxy.md +132 -0
  109. package/template/knowledge/loom/state-machine.md +131 -0
  110. package/template/knowledge/loom/thread-system.md +117 -0
  111. package/template/knowledge/loom/tools.md +94 -0
  112. package/template/knowledge/loom/weaver.md +96 -0
  113. package/template/knowledge/loom/web-frontend.md +131 -0
  114. package/template/knowledge/projects/README.md +72 -0
  115. package/template/knowledge/projects/templates/README.template.md +28 -0
  116. package/template/knowledge/workers/README.md +195 -0
  117. package/template/knowledge/workers/ralph-loop-pattern.md +157 -0
  118. package/template/knowledge/workers/skill-schema.md +182 -0
  119. package/template/knowledge/workers/state-machine.md +102 -0
  120. package/template/knowledge/workers/templates/base-worker.yaml +73 -0
  121. package/template/knowledge/workers/templates/code-worker.yaml +85 -0
  122. package/template/knowledge/workers/templates/skill.yaml +49 -0
  123. package/template/knowledge/workers/templates/social-worker.yaml +70 -0
  124. package/template/modules/examples/full-manifest.yaml +92 -0
  125. package/template/modules/examples/minimal.yaml +14 -0
  126. package/template/modules/modules.yaml +59 -0
  127. package/template/projects/.gitkeep +0 -0
  128. package/template/projects/incorporate-workers-into-pure-ralph/prd.json +88 -0
  129. package/template/projects/pure-ralph-branch-isolation/README.md +114 -0
  130. package/template/projects/pure-ralph-branch-isolation/prd.json +123 -0
  131. package/template/projects/purist-ralph-loop/README.md +148 -0
  132. package/template/projects/purist-ralph-loop/prd.json +135 -0
  133. package/template/projects/ralph-test/prd.json +50 -0
  134. package/template/prompts/pure-ralph-base.md +551 -0
  135. package/template/settings/.gitkeep +0 -0
  136. package/template/settings/pure-ralph.json +42 -0
  137. package/template/social-content/drafts/INDEX.md +21 -0
  138. package/template/social-content/drafts/linkedin/.gitkeep +1 -0
  139. package/template/social-content/drafts/x/.gitkeep +1 -0
  140. package/template/social-content/images/.gitkeep +1 -0
  141. package/template/starter-projects/code-worker/README.md +97 -0
  142. package/template/starter-projects/code-worker/prd.json +45 -0
  143. package/template/starter-projects/personal-assistant/README.md +42 -0
  144. package/template/starter-projects/personal-assistant/prd.json +43 -0
  145. package/template/starter-projects/social-media/README.md +60 -0
  146. package/template/starter-projects/social-media/prd.json +43 -0
  147. package/template/workers/content-brand/README.md +59 -0
  148. package/template/workers/content-brand/skills/messaging-alignment.md +91 -0
  149. package/template/workers/content-brand/skills/tone-check.md +76 -0
  150. package/template/workers/content-brand/skills/voice-analysis.md +68 -0
  151. package/template/workers/content-brand/worker.yaml +81 -0
  152. package/template/workers/content-legal/README.md +80 -0
  153. package/template/workers/content-legal/skills/claim-substantiation.md +150 -0
  154. package/template/workers/content-legal/skills/compliance-scan.md +123 -0
  155. package/template/workers/content-legal/skills/disclaimer-check.md +146 -0
  156. package/template/workers/content-legal/worker.yaml +118 -0
  157. package/template/workers/content-product/README.md +77 -0
  158. package/template/workers/content-product/skills/claim-verification.md +96 -0
  159. package/template/workers/content-product/skills/feature-accuracy.md +117 -0
  160. package/template/workers/content-product/skills/stats-check.md +128 -0
  161. package/template/workers/content-product/worker.yaml +97 -0
  162. package/template/workers/content-sales/README.md +70 -0
  163. package/template/workers/content-sales/skills/conversion-analysis.md +96 -0
  164. package/template/workers/content-sales/skills/cta-audit.md +107 -0
  165. package/template/workers/content-sales/skills/value-prop-check.md +114 -0
  166. package/template/workers/content-sales/worker.yaml +93 -0
  167. package/template/workers/content-shared/cli.ts +242 -0
  168. package/template/workers/content-shared/index.ts +234 -0
  169. package/template/workers/content-shared/lib/accuracy-analyzer.ts +661 -0
  170. package/template/workers/content-shared/lib/analyze.ts +370 -0
  171. package/template/workers/content-shared/lib/brand-analyzer.ts +526 -0
  172. package/template/workers/content-shared/lib/cms-integration.ts +446 -0
  173. package/template/workers/content-shared/lib/compliance-analyzer.ts +655 -0
  174. package/template/workers/content-shared/lib/conversion-analyzer.ts +555 -0
  175. package/template/workers/content-shared/lib/github-integration.ts +582 -0
  176. package/template/workers/content-shared/lib/output.ts +373 -0
  177. package/template/workers/content-shared/lib/parser.ts +771 -0
  178. package/template/workers/content-shared/lib/priority.ts +439 -0
  179. package/template/workers/content-shared/lib/recommendations.ts +512 -0
  180. package/template/workers/content-shared/lib/reporter.ts +749 -0
  181. package/template/workers/content-shared/lib/restructure.ts +664 -0
  182. package/template/workers/content-shared/lib/scorer.ts +140 -0
  183. package/template/workers/content-shared/lib/types.ts +227 -0
  184. package/template/workers/content-shared/lib/variants.ts +595 -0
  185. package/template/workers/content-shared/package.json +51 -0
  186. package/template/workers/content-shared/pnpm-lock.yaml +39 -0
  187. package/template/workers/content-shared/test/sample-page.json +115 -0
  188. package/template/workers/content-shared/tsconfig.json +20 -0
  189. package/template/workers/dev-team/README.md +166 -0
  190. package/template/workers/dev-team/_template.yaml +70 -0
  191. package/template/workers/dev-team/architect/package.json +27 -0
  192. package/template/workers/dev-team/architect/skills/api-design.md +89 -0
  193. package/template/workers/dev-team/architect/skills/refactor-plan.md +96 -0
  194. package/template/workers/dev-team/architect/skills/system-design.md +100 -0
  195. package/template/workers/dev-team/architect/src/index.ts +49 -0
  196. package/template/workers/dev-team/architect/src/mcp-server.ts +122 -0
  197. package/template/workers/dev-team/architect/src/skills/api-design.ts +316 -0
  198. package/template/workers/dev-team/architect/src/skills/refactor-plan.ts +264 -0
  199. package/template/workers/dev-team/architect/src/skills/system-design.ts +212 -0
  200. package/template/workers/dev-team/architect/tsconfig.json +19 -0
  201. package/template/workers/dev-team/architect/worker.yaml +128 -0
  202. package/template/workers/dev-team/backend-dev/package-lock.json +1252 -0
  203. package/template/workers/dev-team/backend-dev/package.json +27 -0
  204. package/template/workers/dev-team/backend-dev/skills/implement-endpoint.md +70 -0
  205. package/template/workers/dev-team/backend-dev/skills/implement-service.md +62 -0
  206. package/template/workers/dev-team/backend-dev/src/index.ts +51 -0
  207. package/template/workers/dev-team/backend-dev/src/mcp-server.ts +109 -0
  208. package/template/workers/dev-team/backend-dev/src/skills/implement-endpoint.ts +122 -0
  209. package/template/workers/dev-team/backend-dev/src/skills/implement-service.ts +126 -0
  210. package/template/workers/dev-team/backend-dev/tsconfig.json +19 -0
  211. package/template/workers/dev-team/backend-dev/worker.yaml +128 -0
  212. package/template/workers/dev-team/code-reviewer/package-lock.json +1080 -0
  213. package/template/workers/dev-team/code-reviewer/package.json +24 -0
  214. package/template/workers/dev-team/code-reviewer/skills/merge-to-production.md +61 -0
  215. package/template/workers/dev-team/code-reviewer/skills/merge-to-staging.md +54 -0
  216. package/template/workers/dev-team/code-reviewer/skills/request-changes.md +63 -0
  217. package/template/workers/dev-team/code-reviewer/skills/review-pr.md +77 -0
  218. package/template/workers/dev-team/code-reviewer/src/index.ts +56 -0
  219. package/template/workers/dev-team/code-reviewer/src/mcp-server.ts +101 -0
  220. package/template/workers/dev-team/code-reviewer/tsconfig.json +19 -0
  221. package/template/workers/dev-team/code-reviewer/worker.yaml +90 -0
  222. package/template/workers/dev-team/database-dev/package.json +22 -0
  223. package/template/workers/dev-team/database-dev/skills/create-schema.md +48 -0
  224. package/template/workers/dev-team/database-dev/src/index.ts +50 -0
  225. package/template/workers/dev-team/database-dev/src/mcp-server.ts +76 -0
  226. package/template/workers/dev-team/database-dev/tsconfig.json +18 -0
  227. package/template/workers/dev-team/database-dev/worker.yaml +90 -0
  228. package/template/workers/dev-team/frontend-dev/package.json +22 -0
  229. package/template/workers/dev-team/frontend-dev/skills/create-component.md +26 -0
  230. package/template/workers/dev-team/frontend-dev/src/index.ts +50 -0
  231. package/template/workers/dev-team/frontend-dev/src/mcp-server.ts +77 -0
  232. package/template/workers/dev-team/frontend-dev/tsconfig.json +18 -0
  233. package/template/workers/dev-team/frontend-dev/worker.yaml +132 -0
  234. package/template/workers/dev-team/infra-dev/package.json +24 -0
  235. package/template/workers/dev-team/infra-dev/skills/add-monitoring.md +73 -0
  236. package/template/workers/dev-team/infra-dev/skills/configure-deployment.md +80 -0
  237. package/template/workers/dev-team/infra-dev/skills/create-dockerfile.md +62 -0
  238. package/template/workers/dev-team/infra-dev/skills/setup-cicd.md +63 -0
  239. package/template/workers/dev-team/infra-dev/src/index.ts +55 -0
  240. package/template/workers/dev-team/infra-dev/src/mcp-server.ts +82 -0
  241. package/template/workers/dev-team/infra-dev/tsconfig.json +19 -0
  242. package/template/workers/dev-team/infra-dev/worker.yaml +92 -0
  243. package/template/workers/dev-team/knowledge-curator/package.json +24 -0
  244. package/template/workers/dev-team/knowledge-curator/skills/curate-troubleshooting.md +63 -0
  245. package/template/workers/dev-team/knowledge-curator/skills/process-learnings.md +61 -0
  246. package/template/workers/dev-team/knowledge-curator/skills/sync-documentation.md +76 -0
  247. package/template/workers/dev-team/knowledge-curator/skills/update-patterns.md +63 -0
  248. package/template/workers/dev-team/knowledge-curator/src/index.ts +53 -0
  249. package/template/workers/dev-team/knowledge-curator/src/mcp-server.ts +92 -0
  250. package/template/workers/dev-team/knowledge-curator/tsconfig.json +19 -0
  251. package/template/workers/dev-team/knowledge-curator/worker.yaml +80 -0
  252. package/template/workers/dev-team/motion-designer/package.json +22 -0
  253. package/template/workers/dev-team/motion-designer/skills/add-animation.md +25 -0
  254. package/template/workers/dev-team/motion-designer/skills/generate-image.md +36 -0
  255. package/template/workers/dev-team/motion-designer/src/index.ts +63 -0
  256. package/template/workers/dev-team/motion-designer/src/mcp-server.ts +79 -0
  257. package/template/workers/dev-team/motion-designer/tsconfig.json +18 -0
  258. package/template/workers/dev-team/motion-designer/worker.yaml +84 -0
  259. package/template/workers/dev-team/product-planner/queue.json +4 -0
  260. package/template/workers/dev-team/product-planner/worker.yaml +220 -0
  261. package/template/workers/dev-team/project-manager/package-lock.json +1252 -0
  262. package/template/workers/dev-team/project-manager/package.json +27 -0
  263. package/template/workers/dev-team/project-manager/skills/create-prd.md +66 -0
  264. package/template/workers/dev-team/project-manager/skills/next-issue.md +51 -0
  265. package/template/workers/dev-team/project-manager/skills/project-status.md +59 -0
  266. package/template/workers/dev-team/project-manager/skills/update-learnings.md +65 -0
  267. package/template/workers/dev-team/project-manager/src/index.ts +54 -0
  268. package/template/workers/dev-team/project-manager/src/mcp-server.ts +207 -0
  269. package/template/workers/dev-team/project-manager/src/skills/create-prd.ts +86 -0
  270. package/template/workers/dev-team/project-manager/src/skills/next-issue.ts +137 -0
  271. package/template/workers/dev-team/project-manager/src/skills/project-status.ts +131 -0
  272. package/template/workers/dev-team/project-manager/src/skills/update-learnings.ts +94 -0
  273. package/template/workers/dev-team/project-manager/tsconfig.json +19 -0
  274. package/template/workers/dev-team/project-manager/worker.yaml +96 -0
  275. package/template/workers/dev-team/qa-tester/package.json +24 -0
  276. package/template/workers/dev-team/qa-tester/skills/create-demo-account.md +36 -0
  277. package/template/workers/dev-team/qa-tester/skills/run-tests.md +36 -0
  278. package/template/workers/dev-team/qa-tester/skills/write-test.md +27 -0
  279. package/template/workers/dev-team/qa-tester/src/index.ts +61 -0
  280. package/template/workers/dev-team/qa-tester/src/mcp-server.ts +88 -0
  281. package/template/workers/dev-team/qa-tester/tsconfig.json +18 -0
  282. package/template/workers/dev-team/qa-tester/worker.yaml +116 -0
  283. package/template/workers/dev-team/task-executor/package-lock.json +1252 -0
  284. package/template/workers/dev-team/task-executor/package.json +27 -0
  285. package/template/workers/dev-team/task-executor/skills/analyze-issue.md +101 -0
  286. package/template/workers/dev-team/task-executor/skills/execute.md +133 -0
  287. package/template/workers/dev-team/task-executor/skills/report-learnings.md +106 -0
  288. package/template/workers/dev-team/task-executor/skills/validate-completion.md +121 -0
  289. package/template/workers/dev-team/task-executor/src/index.ts +54 -0
  290. package/template/workers/dev-team/task-executor/src/mcp-server.ts +139 -0
  291. package/template/workers/dev-team/task-executor/src/skills/analyze-issue.ts +219 -0
  292. package/template/workers/dev-team/task-executor/src/skills/execute.ts +132 -0
  293. package/template/workers/dev-team/task-executor/src/skills/report-learnings.ts +119 -0
  294. package/template/workers/dev-team/task-executor/src/skills/validate-completion.ts +142 -0
  295. package/template/workers/dev-team/task-executor/tsconfig.json +19 -0
  296. package/template/workers/dev-team/task-executor/worker.yaml +110 -0
  297. package/template/workers/registry.yaml +171 -0
  298. package/template/workers/security-scanner/README.md +73 -0
  299. package/template/workers/security-scanner/skills/pre-deploy-check.md +205 -0
  300. package/template/workers/security-scanner/worker.yaml +26 -0
  301. package/template/workspace/checkpoints/.gitkeep +0 -0
  302. package/template/workspace/content-ideas/inbox.jsonl +0 -0
  303. package/template/workspace/drafts/.gitkeep +0 -0
  304. package/template/workspace/learnings/.gitkeep +3 -0
  305. package/template/workspace/orchestrator/.gitkeep +0 -0
  306. package/template/workspace/ralph-test/COMPLETE.md +18 -0
  307. package/template/workspace/ralph-test/hello.txt +2 -0
  308. package/template/workspace/reports/.gitkeep +0 -0
  309. package/template/workspace/scratch/.gitkeep +0 -0
  310. package/template/workspace/threads/.gitkeep +3 -0
@@ -0,0 +1,114 @@
1
+ # Core Concepts
2
+
3
+ ## Key Terminology
4
+
5
+ ### Mallocing / Memory Allocation
6
+
7
+ In the context of Ralph, "mallocing" refers to how you allocate and manage the AI's context window - similar to memory allocation in programming.
8
+
9
+ > "Ralph is really just a mallocing orchestrator that avoids context rot and compaction."
10
+ > — Geoffrey Huntley
11
+
12
+ Good mallocing means:
13
+ - Only loading relevant specifications into context
14
+ - Clearing context between tasks
15
+ - Being intentional about what information the AI sees
16
+
17
+ ### Context Rot
18
+
19
+ Context rot occurs when the AI's context window becomes polluted with outdated or irrelevant information from earlier in the conversation. This degrades the quality of outputs over time.
20
+
21
+ **Solution**: Start fresh for each task by spawning a new agent instance.
22
+
23
+ ### Compaction
24
+
25
+ Compaction is when the context window gets filled with verbose or unnecessary content, leaving less room for the actual task at hand.
26
+
27
+ > "Compaction is the devil"
28
+ > — Geoffrey Huntley
29
+
30
+ **Solution**: Use focused specifications and remove unnecessary content from the context.
31
+
32
+ ### Back Pressure
33
+
34
+ Back pressure is the feedback mechanism that pushes back on the AI when it generates incorrect code. This is the key to making autonomous coding work.
35
+
36
+ > "The back pressure if it generates something wrong, the test pushes back on the generative function to try again before the wheel is allowed to turn around."
37
+ > — Geoffrey Huntley
38
+
39
+ Forms of back pressure:
40
+ - Unit tests
41
+ - Integration tests
42
+ - Type checking (TypeScript, etc.)
43
+ - Linting
44
+ - Build processes
45
+ - Pre-commit hooks
46
+
47
+ ### Generative Function
48
+
49
+ The AI model that generates code. In Ralph, we "engineer back pressure to keep the generative function on the rails."
50
+
51
+ ### The Loop / Wheel
52
+
53
+ The core iteration cycle of Ralph:
54
+ 1. Pick a task from specifications
55
+ 2. Generate code
56
+ 3. Run back pressure checks
57
+ 4. If checks pass, commit and move to next task
58
+ 5. If checks fail, regenerate
59
+ 6. Repeat
60
+
61
+ ### Routing
62
+
63
+ The process of directing the AI's attention to specific tasks or specifications. In Ralph, you control the routing by selecting which specifications to load into context.
64
+
65
+ ### Weavers
66
+
67
+ Geoffrey's term for autonomous coding agents that work together. They can:
68
+ - Introduce features with feature flags
69
+ - Deploy code
70
+ - Monitor analytics
71
+ - Make autonomous decisions about optimizations
72
+
73
+ ### AFK Coding
74
+
75
+ "Away From Keyboard" coding - running AI agents autonomously while you're not actively supervising.
76
+
77
+ > "This front-end feedback loop makes AFK AI coding a lot more powerful. If you're looping an AI, for instance, in the Ralph Wiggum setup, then plugging a browser into your front end or full stack work will be such a massive improvement."
78
+ > — Matt Pocock
79
+
80
+ ## The Six Stages of AI Adoption
81
+
82
+ Geoffrey Huntley describes six stages software developers go through:
83
+
84
+ 1. **"It's not good enough"** - Dismissing AI capabilities
85
+ 2. **"Prove to me that this isn't hype"** - Skepticism
86
+ 3. **"Experimenting with LLMs"** - Trying it out
87
+ 4. **"Deer in headlights"** - Realizing implications ("Will I have a job in the future?")
88
+ 5. **"Alarmed - need to bin our planning and change priorities"** - Organizational response
89
+ 6. **"Engaged - realization that LLMs can be programmed"** - Active adoption
90
+
91
+ ## Key Principles
92
+
93
+ ### 1. Simplicity Over Complexity
94
+ A for loop beats elaborate orchestration systems.
95
+
96
+ ### 2. Fresh Context Per Task
97
+ Start each task with a clean context to avoid rot.
98
+
99
+ ### 3. Small, Atomic Changes
100
+ Keep changes small enough to verify and commit independently.
101
+
102
+ ### 4. Robust Feedback Loops
103
+ Invest heavily in automated testing and verification.
104
+
105
+ ### 5. No Human Tool Calls
106
+ > "Anytime you tool call a human, that's not AGI, that's not Ralph."
107
+ > — Geoffrey Huntley
108
+
109
+ ### 6. Fast Feedback
110
+ Optimize for quick iteration cycles - slow compilation (like Rust) can be a bottleneck.
111
+
112
+ ### 7. Engineering Still Matters
113
+ > "I still believe in engineering. Still believe in engineering and like the bridge collapses, that's on you."
114
+ > — Geoffrey Huntley
@@ -0,0 +1,184 @@
1
+ # How Ralph Works
2
+
3
+ ## The Basic Loop
4
+
5
+ At its core, Ralph is a simple bash script that runs in a for loop:
6
+
7
+ ```bash
8
+ #!/bin/bash
9
+ for i in {1..N}; do
10
+ claude --print "Pick ONE incomplete item from plans/prd.json and implement it.
11
+ Run tests. If they pass, commit. Update the PRD passes field.
12
+ Write progress to progress.txt"
13
+ done
14
+ ```
15
+
16
+ > "Everyone's calling it Ralph Wiggum. This is credited to Geoffrey Huntley."
17
+ > — Matt Pocock
18
+
19
+ ## The Components
20
+
21
+ ### 1. PRD (Product Requirements Document)
22
+
23
+ A JSON file containing user stories with pass/fail status:
24
+
25
+ ```json
26
+ {
27
+ "features": [
28
+ {
29
+ "id": "beat-display",
30
+ "description": "Beats should display as three orange ellipses dots below the clip",
31
+ "acceptance_criteria": [
32
+ "Add a beat to a clip",
33
+ "Verify three orange dots appear below the clip",
34
+ "Verify they're orange colored",
35
+ "Verify they form an ellipses pattern"
36
+ ],
37
+ "passes": false
38
+ }
39
+ ]
40
+ }
41
+ ```
42
+
43
+ The PRD serves dual purposes:
44
+ - A specification for what to build
45
+ - A test harness tracking what's done
46
+
47
+ ### 2. Progress File (progress.txt)
48
+
49
+ A running log of what the agent has accomplished:
50
+
51
+ ```
52
+ [2026-01-13 10:30] Implemented beat-display feature
53
+ [2026-01-13 10:32] Tests passing, committed: abc123
54
+ [2026-01-13 10:35] Started work on beat-animation
55
+ ```
56
+
57
+ This provides:
58
+ - Audit trail
59
+ - Context for subsequent runs
60
+ - Human review capability
61
+
62
+ ### 3. agents.md / CLAUDE.md
63
+
64
+ Configuration file that tells the AI how to behave:
65
+
66
+ ```markdown
67
+ # Project Context
68
+ This is a video editing application built with TypeScript and React.
69
+
70
+ # Build Commands
71
+ - `npm run build` - Build the application
72
+ - `npm test` - Run tests
73
+ - `npm run lint` - Run linter
74
+
75
+ # Coding Standards
76
+ - Use TypeScript strict mode
77
+ - All functions must have JSDoc comments
78
+ - Keep files under 300 lines
79
+ ```
80
+
81
+ ### 4. Back Pressure Mechanisms
82
+
83
+ The verification layer that ensures code quality:
84
+
85
+ - **Type checking**: `tsc --noEmit`
86
+ - **Linting**: `eslint .`
87
+ - **Unit tests**: `npm test`
88
+ - **Build verification**: `npm run build`
89
+ - **Pre-commit hooks**: Run all checks before allowing commits
90
+
91
+ ## The Execution Flow
92
+
93
+ ```
94
+ ┌─────────────────┐
95
+ │ Start Loop │
96
+ └────────┬────────┘
97
+
98
+
99
+ ┌─────────────────┐
100
+ │ Load PRD.json │
101
+ │ Load agents.md │
102
+ └────────┬────────┘
103
+
104
+
105
+ ┌─────────────────┐
106
+ │ Pick ONE task │
107
+ │ (not passing) │
108
+ └────────┬────────┘
109
+
110
+
111
+ ┌─────────────────┐
112
+ │ Generate code │
113
+ └────────┬────────┘
114
+
115
+
116
+ ┌─────────────────┐
117
+ │ Run back │
118
+ │ pressure checks │
119
+ └────────┬────────┘
120
+
121
+ ┌────┴────┐
122
+ │ Pass? │
123
+ └────┬────┘
124
+
125
+ Yes │ No
126
+ ┌────┴────┐
127
+ │ │
128
+ ▼ ▼
129
+ ┌───────┐ ┌───────┐
130
+ │Commit │ │Retry │
131
+ │Update │ │ │
132
+ │PRD │ └───┬───┘
133
+ └───┬───┘ │
134
+ │ │
135
+ └────┬────┘
136
+
137
+
138
+ ┌─────────────────┐
139
+ │ Next iteration │
140
+ └─────────────────┘
141
+ ```
142
+
143
+ ## Key Implementation Details
144
+
145
+ ### Why --print Flag?
146
+
147
+ The `--print` flag (or equivalent) ensures a fresh context for each task:
148
+
149
+ > "What happens is you work out a unit economic cost for software development... but to get it working, you have to understand the bare bones fundamentals from first principles."
150
+ > — Geoffrey Huntley
151
+
152
+ ### Small Changes Are Critical
153
+
154
+ > "Keep these changes really small so that you still have context window left for the LLM to actually check that the change works."
155
+ > — Matt Pocock
156
+
157
+ ### The Anthropic Recommendation
158
+
159
+ > "Effective harnesses for long-running agents from Anthropic... they noticed Claude's tendency to mark a feature as complete without proper testing. But it did much better at verifying features end to end once explicitly prompted to use browser automation tools."
160
+ > — Matt Pocock
161
+
162
+ ## Advanced: Visual Feedback Loops
163
+
164
+ For frontend work, add browser automation:
165
+
166
+ ```javascript
167
+ // MCP configuration for Chrome DevTools
168
+ {
169
+ "mcpServers": {
170
+ "chrome-devtools": {
171
+ "url": "http://localhost:9222"
172
+ }
173
+ }
174
+ }
175
+ ```
176
+
177
+ This allows the AI to:
178
+ - Take screenshots
179
+ - Verify visual changes
180
+ - Test user interactions
181
+ - Check responsive design
182
+
183
+ > "Without it, your LLM is essentially flying blind. It can't see the execution environment in which the changes are being made."
184
+ > — Matt Pocock
@@ -0,0 +1,222 @@
1
+ # Back Pressure Engineering
2
+
3
+ ## What is Back Pressure?
4
+
5
+ Back pressure is the automated feedback mechanism that validates AI-generated code before it's allowed to proceed. It's the critical component that makes autonomous coding reliable.
6
+
7
+ > "The back pressure if it generates something wrong, the test pushes back on the generative function to try again before the wheel is allowed to turn around."
8
+ > — Geoffrey Huntley
9
+
10
+ > "Our job is now engineering back pressure to the generative function to keep the generative function on the rails, the locomotive."
11
+ > — Geoffrey Huntley
12
+
13
+ ## Why Back Pressure Matters
14
+
15
+ Without back pressure:
16
+ - AI will hallucinate solutions
17
+ - Bugs accumulate silently
18
+ - Context rot compounds errors
19
+ - Human review becomes overwhelming
20
+
21
+ With proper back pressure:
22
+ - Errors are caught immediately
23
+ - Each commit is verified working
24
+ - The loop is truly autonomous
25
+ - Code quality remains high
26
+
27
+ ## Types of Back Pressure
28
+
29
+ ### 1. Type Systems
30
+
31
+ **TypeScript (Recommended)**
32
+ ```bash
33
+ tsc --noEmit
34
+ ```
35
+
36
+ Benefits:
37
+ - Fast compilation
38
+ - Comprehensive type checking
39
+ - Excellent IDE integration
40
+ - Good error messages for AI
41
+
42
+ **Rust** (Trade-offs)
43
+ > "The compilation speed on Rust is very, very, very slow. What happens if it does an invalid generation or hallucination and the compilation takes 30 minutes? Compare that against TypeScript - in that time how many generations has it done?"
44
+ > — Geoffrey Huntley
45
+
46
+ ### 2. Linting
47
+
48
+ ```bash
49
+ eslint . --max-warnings 0
50
+ ```
51
+
52
+ Catches:
53
+ - Code style violations
54
+ - Potential bugs
55
+ - Best practice violations
56
+ - Security issues
57
+
58
+ ### 3. Unit Tests
59
+
60
+ ```bash
61
+ npm test
62
+ # or
63
+ pytest
64
+ # or
65
+ cargo test
66
+ ```
67
+
68
+ The most important form of back pressure:
69
+ - Verifies functionality
70
+ - Catches regressions
71
+ - Documents behavior
72
+ - Enables refactoring
73
+
74
+ ### 4. Integration Tests
75
+
76
+ ```bash
77
+ npm run test:integration
78
+ ```
79
+
80
+ Verifies:
81
+ - Component interactions
82
+ - API contracts
83
+ - Database operations
84
+ - External service integration
85
+
86
+ ### 5. Build Verification
87
+
88
+ ```bash
89
+ npm run build
90
+ ```
91
+
92
+ Ensures:
93
+ - Code compiles
94
+ - Dependencies resolve
95
+ - Assets bundle correctly
96
+ - No dead code
97
+
98
+ ### 6. Pre-commit Hooks
99
+
100
+ ```yaml
101
+ # .pre-commit-config.yaml
102
+ repos:
103
+ - repo: local
104
+ hooks:
105
+ - id: typecheck
106
+ name: Type Check
107
+ entry: npm run typecheck
108
+ language: system
109
+ - id: lint
110
+ name: Lint
111
+ entry: npm run lint
112
+ language: system
113
+ - id: test
114
+ name: Test
115
+ entry: npm test
116
+ language: system
117
+ ```
118
+
119
+ ### 7. Visual Verification (Frontend)
120
+
121
+ For frontend applications, text-based back pressure isn't enough:
122
+
123
+ > "The difficulty comes when you start adding visual elements... A feedback loop in a frontend: write some code, then look at the UI to see what changed, go back, write a bit more code, look at the UI again."
124
+ > — Matt Pocock
125
+
126
+ Solution: Browser automation via MCP:
127
+ - Screenshot comparison
128
+ - DOM inspection
129
+ - User interaction simulation
130
+ - Responsive design testing
131
+
132
+ ## Engineering Effective Back Pressure
133
+
134
+ ### Make It Fast
135
+
136
+ Speed is critical for rapid iteration:
137
+
138
+ ```
139
+ Fast back pressure:
140
+ TypeScript + ESLint + Jest = ~10 seconds
141
+
142
+ Slow back pressure:
143
+ Rust compilation = ~5-30 minutes
144
+ ```
145
+
146
+ > "If the compilation takes forever, what happens if it does an invalid generation? You got to be an engineer and make that back pressure fast."
147
+ > — Geoffrey Huntley
148
+
149
+ ### Make It Comprehensive
150
+
151
+ Cover all failure modes:
152
+ - Syntax errors (compiler)
153
+ - Logic errors (tests)
154
+ - Style issues (linter)
155
+ - Type errors (type checker)
156
+ - Visual issues (browser automation)
157
+
158
+ ### Make It Deterministic
159
+
160
+ Tests must be:
161
+ - Reproducible
162
+ - Not flaky
163
+ - Independent
164
+ - Fast
165
+
166
+ ### Make It Informative
167
+
168
+ Error messages should help the AI fix issues:
169
+ - Clear descriptions
170
+ - Line numbers
171
+ - Suggested fixes
172
+ - Context
173
+
174
+ ## The Feedback Loop Cycle
175
+
176
+ ```
177
+ ┌──────────────────────────────────────────┐
178
+ │ │
179
+ │ Generate Code │
180
+ │ │ │
181
+ │ ▼ │
182
+ │ ┌─────────┐ │
183
+ │ │Type │──fail──► Fix & Retry │
184
+ │ │Check │ │ │
185
+ │ └────┬────┘ │ │
186
+ │ │pass │ │
187
+ │ ▼ │ │
188
+ │ ┌─────────┐ │ │
189
+ │ │Lint │──fail──► Fix & Retry│ │
190
+ │ └────┬────┘ │ │
191
+ │ │pass │ │
192
+ │ ▼ │ │
193
+ │ ┌─────────┐ │ │
194
+ │ │Test │──fail──► Fix & Retry│ │
195
+ │ └────┬────┘ │ │
196
+ │ │pass │ │
197
+ │ ▼ │ │
198
+ │ ┌─────────┐ │ │
199
+ │ │Build │──fail──► Fix & Retry│ │
200
+ │ └────┬────┘ │ │
201
+ │ │pass │ │
202
+ │ ▼ │ │
203
+ │ Commit & Proceed │
204
+ │ │
205
+ └──────────────────────────────────────────┘
206
+ ```
207
+
208
+ ## Language Recommendations
209
+
210
+ Based on back pressure speed and reliability:
211
+
212
+ | Language | Back Pressure Speed | Recommendation |
213
+ |----------|-------------------|----------------|
214
+ | TypeScript | Very Fast | Highly Recommended |
215
+ | Python | Fast | Recommended |
216
+ | Go | Fast | Recommended |
217
+ | Java | Medium | Acceptable |
218
+ | Rust | Slow | Trade-offs |
219
+ | C++ | Slow | Trade-offs |
220
+
221
+ > "Any discipline where you can mechanically verify it is going to be automated. That's absolutely certain - when you can mechanically verify it, it's going to be automated."
222
+ > — Geoffrey Huntley