create-hq 5.0.0 → 5.2.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 (301) hide show
  1. package/dist/deps.d.ts +2 -2
  2. package/dist/deps.d.ts.map +1 -1
  3. package/dist/deps.js +138 -29
  4. package/dist/deps.js.map +1 -1
  5. package/dist/index.js +3 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/scaffold.d.ts +1 -1
  8. package/dist/scaffold.d.ts.map +1 -1
  9. package/dist/scaffold.js +125 -26
  10. package/dist/scaffold.js.map +1 -1
  11. package/dist/ui.js +1 -1
  12. package/package.json +4 -8
  13. package/template/.claude/CLAUDE.md +0 -202
  14. package/template/.claude/commands/checkpoint.md +0 -127
  15. package/template/.claude/commands/cleanup.md +0 -307
  16. package/template/.claude/commands/execute-task.md +0 -440
  17. package/template/.claude/commands/exit-plan.md +0 -41
  18. package/template/.claude/commands/handoff.md +0 -97
  19. package/template/.claude/commands/learn.md +0 -218
  20. package/template/.claude/commands/metrics.md +0 -118
  21. package/template/.claude/commands/newworker.md +0 -162
  22. package/template/.claude/commands/nexttask.md +0 -67
  23. package/template/.claude/commands/prd.md +0 -238
  24. package/template/.claude/commands/reanchor.md +0 -51
  25. package/template/.claude/commands/remember.md +0 -126
  26. package/template/.claude/commands/run-project.md +0 -348
  27. package/template/.claude/commands/run.md +0 -110
  28. package/template/.claude/commands/search-reindex.md +0 -62
  29. package/template/.claude/commands/search.md +0 -100
  30. package/template/.claude/commands/setup.md +0 -381
  31. package/template/.claude/scripts/pure-ralph-loop.ps1 +0 -312
  32. package/template/.claude/scripts/pure-ralph-loop.sh +0 -859
  33. package/template/CHANGELOG.md +0 -220
  34. package/template/LICENSE +0 -21
  35. package/template/MIGRATION.md +0 -259
  36. package/template/README.md +0 -368
  37. package/template/data/journal/.gitkeep +0 -0
  38. package/template/docs/images/ascii-banner-options.md +0 -122
  39. package/template/docs/images/hq-banner.svg +0 -105
  40. package/template/knowledge/Ralph/01-overview.md +0 -71
  41. package/template/knowledge/Ralph/02-core-concepts.md +0 -114
  42. package/template/knowledge/Ralph/03-how-ralph-works.md +0 -184
  43. package/template/knowledge/Ralph/04-back-pressure.md +0 -222
  44. package/template/knowledge/Ralph/05-specifications.md +0 -210
  45. package/template/knowledge/Ralph/06-agents-md.md +0 -222
  46. package/template/knowledge/Ralph/07-implementation.md +0 -316
  47. package/template/knowledge/Ralph/08-economics.md +0 -182
  48. package/template/knowledge/Ralph/09-resources.md +0 -145
  49. package/template/knowledge/Ralph/10-claude-code-workflow.md +0 -212
  50. package/template/knowledge/Ralph/11-team-training-guide.md +0 -383
  51. package/template/knowledge/Ralph/README.md +0 -40
  52. package/template/knowledge/ai-security-framework/CONTRIBUTING.md +0 -139
  53. package/template/knowledge/ai-security-framework/GLOSSARY.md +0 -176
  54. package/template/knowledge/ai-security-framework/LICENSE +0 -21
  55. package/template/knowledge/ai-security-framework/QUICK-START.md +0 -172
  56. package/template/knowledge/ai-security-framework/README.md +0 -232
  57. package/template/knowledge/ai-security-framework/checklists/browser-security.md +0 -301
  58. package/template/knowledge/ai-security-framework/checklists/credential-isolation.md +0 -322
  59. package/template/knowledge/ai-security-framework/checklists/incident-response.md +0 -288
  60. package/template/knowledge/ai-security-framework/checklists/pre-flight.md +0 -249
  61. package/template/knowledge/ai-security-framework/checklists/weekly-audit.md +0 -159
  62. package/template/knowledge/ai-security-framework/configs/audit-logging.md +0 -372
  63. package/template/knowledge/ai-security-framework/configs/kill-switches.md +0 -354
  64. package/template/knowledge/ai-security-framework/docs/01-core-principles.md +0 -256
  65. package/template/knowledge/ai-security-framework/docs/02-threat-landscape.md +0 -326
  66. package/template/knowledge/ai-security-framework/docs/03-security-posture.md +0 -250
  67. package/template/knowledge/ai-security-framework/templates/agents-security.md +0 -233
  68. package/template/knowledge/design-styles/README.md +0 -42
  69. package/template/knowledge/design-styles/american-industrial.md +0 -136
  70. package/template/knowledge/design-styles/ethereal-abstract.md +0 -133
  71. package/template/knowledge/design-styles/liminal-portal.md +0 -111
  72. package/template/knowledge/design-styles/swipes/american-industrial/G-3m4YPW0AADdu2.jpeg +0 -0
  73. package/template/knowledge/design-styles/swipes/american-industrial/G-JJlt5WwAABK3K.png +0 -0
  74. package/template/knowledge/design-styles/swipes/american-industrial/G-JJmj5W0AEbJ-7.png +0 -0
  75. package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ (1).jpeg +0 -0
  76. package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ.jpeg +0 -0
  77. package/template/knowledge/design-styles/swipes/american-industrial/G7fVkn3WEAAM-ST.jpeg +0 -0
  78. package/template/knowledge/design-styles/swipes/american-industrial/G8ECO5JWEAIksyn.png +0 -0
  79. package/template/knowledge/design-styles/swipes/american-industrial/G9-3GQSWoAA8eqZ.png +0 -0
  80. package/template/knowledge/design-styles/swipes/american-industrial/G9xEOqrXkAEZRcs.png +0 -0
  81. package/template/knowledge/design-styles/swipes/american-industrial/G_MVeJrXQAA8sx4.jpeg +0 -0
  82. package/template/knowledge/design-styles/swipes/american-industrial/G_RSkmGXkAAgAVZ.png +0 -0
  83. package/template/knowledge/design-styles/swipes/american-industrial/README.md +0 -31
  84. package/template/knowledge/design-styles/swipes/american-industrial/qyqtg7Dq.png +0 -0
  85. package/template/knowledge/dev-team/README.md +0 -35
  86. package/template/knowledge/dev-team/patterns/README.md +0 -34
  87. package/template/knowledge/dev-team/patterns/frontend/react-best-practices.md +0 -178
  88. package/template/knowledge/dev-team/troubleshooting/README.md +0 -31
  89. package/template/knowledge/dev-team/workflows/README.md +0 -49
  90. package/template/knowledge/hq/checkpoint-schema.json +0 -51
  91. package/template/knowledge/hq/index-md-spec.md +0 -74
  92. package/template/knowledge/hq/thread-schema.md +0 -153
  93. package/template/knowledge/hq-core/checkpoint-schema.json +0 -51
  94. package/template/knowledge/hq-core/index-md-spec.md +0 -74
  95. package/template/knowledge/hq-core/thread-schema.md +0 -153
  96. package/template/knowledge/loom/README.md +0 -51
  97. package/template/knowledge/loom/architecture.md +0 -125
  98. package/template/knowledge/loom/code-style.md +0 -169
  99. package/template/knowledge/loom/llm-proxy.md +0 -132
  100. package/template/knowledge/loom/state-machine.md +0 -131
  101. package/template/knowledge/loom/thread-system.md +0 -117
  102. package/template/knowledge/loom/tools.md +0 -94
  103. package/template/knowledge/loom/weaver.md +0 -96
  104. package/template/knowledge/loom/web-frontend.md +0 -131
  105. package/template/knowledge/projects/README.md +0 -72
  106. package/template/knowledge/projects/templates/README.template.md +0 -28
  107. package/template/knowledge/workers/README.md +0 -195
  108. package/template/knowledge/workers/ralph-loop-pattern.md +0 -157
  109. package/template/knowledge/workers/skill-schema.md +0 -182
  110. package/template/knowledge/workers/state-machine.md +0 -102
  111. package/template/knowledge/workers/templates/base-worker.yaml +0 -73
  112. package/template/knowledge/workers/templates/code-worker.yaml +0 -85
  113. package/template/knowledge/workers/templates/skill.yaml +0 -49
  114. package/template/knowledge/workers/templates/social-worker.yaml +0 -70
  115. package/template/modules/examples/full-manifest.yaml +0 -92
  116. package/template/modules/examples/minimal.yaml +0 -14
  117. package/template/modules/modules.yaml +0 -59
  118. package/template/projects/.gitkeep +0 -0
  119. package/template/projects/incorporate-workers-into-pure-ralph/prd.json +0 -88
  120. package/template/projects/pure-ralph-branch-isolation/README.md +0 -114
  121. package/template/projects/pure-ralph-branch-isolation/prd.json +0 -123
  122. package/template/projects/purist-ralph-loop/README.md +0 -148
  123. package/template/projects/purist-ralph-loop/prd.json +0 -135
  124. package/template/projects/ralph-test/prd.json +0 -50
  125. package/template/prompts/pure-ralph-base.md +0 -551
  126. package/template/settings/.gitkeep +0 -0
  127. package/template/settings/pure-ralph.json +0 -42
  128. package/template/social-content/drafts/INDEX.md +0 -21
  129. package/template/social-content/drafts/linkedin/.gitkeep +0 -1
  130. package/template/social-content/drafts/x/.gitkeep +0 -1
  131. package/template/social-content/images/.gitkeep +0 -1
  132. package/template/starter-projects/code-worker/README.md +0 -97
  133. package/template/starter-projects/code-worker/prd.json +0 -45
  134. package/template/starter-projects/personal-assistant/README.md +0 -42
  135. package/template/starter-projects/personal-assistant/prd.json +0 -43
  136. package/template/starter-projects/social-media/README.md +0 -60
  137. package/template/starter-projects/social-media/prd.json +0 -43
  138. package/template/workers/content-brand/README.md +0 -59
  139. package/template/workers/content-brand/skills/messaging-alignment.md +0 -91
  140. package/template/workers/content-brand/skills/tone-check.md +0 -76
  141. package/template/workers/content-brand/skills/voice-analysis.md +0 -68
  142. package/template/workers/content-brand/worker.yaml +0 -81
  143. package/template/workers/content-legal/README.md +0 -80
  144. package/template/workers/content-legal/skills/claim-substantiation.md +0 -150
  145. package/template/workers/content-legal/skills/compliance-scan.md +0 -123
  146. package/template/workers/content-legal/skills/disclaimer-check.md +0 -146
  147. package/template/workers/content-legal/worker.yaml +0 -118
  148. package/template/workers/content-product/README.md +0 -77
  149. package/template/workers/content-product/skills/claim-verification.md +0 -96
  150. package/template/workers/content-product/skills/feature-accuracy.md +0 -117
  151. package/template/workers/content-product/skills/stats-check.md +0 -128
  152. package/template/workers/content-product/worker.yaml +0 -97
  153. package/template/workers/content-sales/README.md +0 -70
  154. package/template/workers/content-sales/skills/conversion-analysis.md +0 -96
  155. package/template/workers/content-sales/skills/cta-audit.md +0 -107
  156. package/template/workers/content-sales/skills/value-prop-check.md +0 -114
  157. package/template/workers/content-sales/worker.yaml +0 -93
  158. package/template/workers/content-shared/cli.ts +0 -242
  159. package/template/workers/content-shared/index.ts +0 -234
  160. package/template/workers/content-shared/lib/accuracy-analyzer.ts +0 -661
  161. package/template/workers/content-shared/lib/analyze.ts +0 -370
  162. package/template/workers/content-shared/lib/brand-analyzer.ts +0 -526
  163. package/template/workers/content-shared/lib/cms-integration.ts +0 -446
  164. package/template/workers/content-shared/lib/compliance-analyzer.ts +0 -655
  165. package/template/workers/content-shared/lib/conversion-analyzer.ts +0 -555
  166. package/template/workers/content-shared/lib/github-integration.ts +0 -582
  167. package/template/workers/content-shared/lib/output.ts +0 -373
  168. package/template/workers/content-shared/lib/parser.ts +0 -771
  169. package/template/workers/content-shared/lib/priority.ts +0 -439
  170. package/template/workers/content-shared/lib/recommendations.ts +0 -512
  171. package/template/workers/content-shared/lib/reporter.ts +0 -749
  172. package/template/workers/content-shared/lib/restructure.ts +0 -664
  173. package/template/workers/content-shared/lib/scorer.ts +0 -140
  174. package/template/workers/content-shared/lib/types.ts +0 -227
  175. package/template/workers/content-shared/lib/variants.ts +0 -595
  176. package/template/workers/content-shared/package.json +0 -51
  177. package/template/workers/content-shared/pnpm-lock.yaml +0 -39
  178. package/template/workers/content-shared/test/sample-page.json +0 -115
  179. package/template/workers/content-shared/tsconfig.json +0 -20
  180. package/template/workers/dev-team/README.md +0 -166
  181. package/template/workers/dev-team/_template.yaml +0 -70
  182. package/template/workers/dev-team/architect/package.json +0 -27
  183. package/template/workers/dev-team/architect/skills/api-design.md +0 -89
  184. package/template/workers/dev-team/architect/skills/refactor-plan.md +0 -96
  185. package/template/workers/dev-team/architect/skills/system-design.md +0 -100
  186. package/template/workers/dev-team/architect/src/index.ts +0 -49
  187. package/template/workers/dev-team/architect/src/mcp-server.ts +0 -122
  188. package/template/workers/dev-team/architect/src/skills/api-design.ts +0 -316
  189. package/template/workers/dev-team/architect/src/skills/refactor-plan.ts +0 -264
  190. package/template/workers/dev-team/architect/src/skills/system-design.ts +0 -212
  191. package/template/workers/dev-team/architect/tsconfig.json +0 -19
  192. package/template/workers/dev-team/architect/worker.yaml +0 -128
  193. package/template/workers/dev-team/backend-dev/package-lock.json +0 -1252
  194. package/template/workers/dev-team/backend-dev/package.json +0 -27
  195. package/template/workers/dev-team/backend-dev/skills/implement-endpoint.md +0 -70
  196. package/template/workers/dev-team/backend-dev/skills/implement-service.md +0 -62
  197. package/template/workers/dev-team/backend-dev/src/index.ts +0 -51
  198. package/template/workers/dev-team/backend-dev/src/mcp-server.ts +0 -109
  199. package/template/workers/dev-team/backend-dev/src/skills/implement-endpoint.ts +0 -122
  200. package/template/workers/dev-team/backend-dev/src/skills/implement-service.ts +0 -126
  201. package/template/workers/dev-team/backend-dev/tsconfig.json +0 -19
  202. package/template/workers/dev-team/backend-dev/worker.yaml +0 -128
  203. package/template/workers/dev-team/code-reviewer/package-lock.json +0 -1080
  204. package/template/workers/dev-team/code-reviewer/package.json +0 -24
  205. package/template/workers/dev-team/code-reviewer/skills/merge-to-production.md +0 -61
  206. package/template/workers/dev-team/code-reviewer/skills/merge-to-staging.md +0 -54
  207. package/template/workers/dev-team/code-reviewer/skills/request-changes.md +0 -63
  208. package/template/workers/dev-team/code-reviewer/skills/review-pr.md +0 -77
  209. package/template/workers/dev-team/code-reviewer/src/index.ts +0 -56
  210. package/template/workers/dev-team/code-reviewer/src/mcp-server.ts +0 -101
  211. package/template/workers/dev-team/code-reviewer/tsconfig.json +0 -19
  212. package/template/workers/dev-team/code-reviewer/worker.yaml +0 -90
  213. package/template/workers/dev-team/database-dev/package.json +0 -22
  214. package/template/workers/dev-team/database-dev/skills/create-schema.md +0 -48
  215. package/template/workers/dev-team/database-dev/src/index.ts +0 -50
  216. package/template/workers/dev-team/database-dev/src/mcp-server.ts +0 -76
  217. package/template/workers/dev-team/database-dev/tsconfig.json +0 -18
  218. package/template/workers/dev-team/database-dev/worker.yaml +0 -90
  219. package/template/workers/dev-team/frontend-dev/package.json +0 -22
  220. package/template/workers/dev-team/frontend-dev/skills/create-component.md +0 -26
  221. package/template/workers/dev-team/frontend-dev/src/index.ts +0 -50
  222. package/template/workers/dev-team/frontend-dev/src/mcp-server.ts +0 -77
  223. package/template/workers/dev-team/frontend-dev/tsconfig.json +0 -18
  224. package/template/workers/dev-team/frontend-dev/worker.yaml +0 -132
  225. package/template/workers/dev-team/infra-dev/package.json +0 -24
  226. package/template/workers/dev-team/infra-dev/skills/add-monitoring.md +0 -73
  227. package/template/workers/dev-team/infra-dev/skills/configure-deployment.md +0 -80
  228. package/template/workers/dev-team/infra-dev/skills/create-dockerfile.md +0 -62
  229. package/template/workers/dev-team/infra-dev/skills/setup-cicd.md +0 -63
  230. package/template/workers/dev-team/infra-dev/src/index.ts +0 -55
  231. package/template/workers/dev-team/infra-dev/src/mcp-server.ts +0 -82
  232. package/template/workers/dev-team/infra-dev/tsconfig.json +0 -19
  233. package/template/workers/dev-team/infra-dev/worker.yaml +0 -92
  234. package/template/workers/dev-team/knowledge-curator/package.json +0 -24
  235. package/template/workers/dev-team/knowledge-curator/skills/curate-troubleshooting.md +0 -63
  236. package/template/workers/dev-team/knowledge-curator/skills/process-learnings.md +0 -61
  237. package/template/workers/dev-team/knowledge-curator/skills/sync-documentation.md +0 -76
  238. package/template/workers/dev-team/knowledge-curator/skills/update-patterns.md +0 -63
  239. package/template/workers/dev-team/knowledge-curator/src/index.ts +0 -53
  240. package/template/workers/dev-team/knowledge-curator/src/mcp-server.ts +0 -92
  241. package/template/workers/dev-team/knowledge-curator/tsconfig.json +0 -19
  242. package/template/workers/dev-team/knowledge-curator/worker.yaml +0 -80
  243. package/template/workers/dev-team/motion-designer/package.json +0 -22
  244. package/template/workers/dev-team/motion-designer/skills/add-animation.md +0 -25
  245. package/template/workers/dev-team/motion-designer/skills/generate-image.md +0 -36
  246. package/template/workers/dev-team/motion-designer/src/index.ts +0 -63
  247. package/template/workers/dev-team/motion-designer/src/mcp-server.ts +0 -79
  248. package/template/workers/dev-team/motion-designer/tsconfig.json +0 -18
  249. package/template/workers/dev-team/motion-designer/worker.yaml +0 -84
  250. package/template/workers/dev-team/product-planner/queue.json +0 -4
  251. package/template/workers/dev-team/product-planner/worker.yaml +0 -220
  252. package/template/workers/dev-team/project-manager/package-lock.json +0 -1252
  253. package/template/workers/dev-team/project-manager/package.json +0 -27
  254. package/template/workers/dev-team/project-manager/skills/create-prd.md +0 -66
  255. package/template/workers/dev-team/project-manager/skills/next-issue.md +0 -51
  256. package/template/workers/dev-team/project-manager/skills/project-status.md +0 -59
  257. package/template/workers/dev-team/project-manager/skills/update-learnings.md +0 -65
  258. package/template/workers/dev-team/project-manager/src/index.ts +0 -54
  259. package/template/workers/dev-team/project-manager/src/mcp-server.ts +0 -207
  260. package/template/workers/dev-team/project-manager/src/skills/create-prd.ts +0 -86
  261. package/template/workers/dev-team/project-manager/src/skills/next-issue.ts +0 -137
  262. package/template/workers/dev-team/project-manager/src/skills/project-status.ts +0 -131
  263. package/template/workers/dev-team/project-manager/src/skills/update-learnings.ts +0 -94
  264. package/template/workers/dev-team/project-manager/tsconfig.json +0 -19
  265. package/template/workers/dev-team/project-manager/worker.yaml +0 -96
  266. package/template/workers/dev-team/qa-tester/package.json +0 -24
  267. package/template/workers/dev-team/qa-tester/skills/create-demo-account.md +0 -36
  268. package/template/workers/dev-team/qa-tester/skills/run-tests.md +0 -36
  269. package/template/workers/dev-team/qa-tester/skills/write-test.md +0 -27
  270. package/template/workers/dev-team/qa-tester/src/index.ts +0 -61
  271. package/template/workers/dev-team/qa-tester/src/mcp-server.ts +0 -88
  272. package/template/workers/dev-team/qa-tester/tsconfig.json +0 -18
  273. package/template/workers/dev-team/qa-tester/worker.yaml +0 -116
  274. package/template/workers/dev-team/task-executor/package-lock.json +0 -1252
  275. package/template/workers/dev-team/task-executor/package.json +0 -27
  276. package/template/workers/dev-team/task-executor/skills/analyze-issue.md +0 -101
  277. package/template/workers/dev-team/task-executor/skills/execute.md +0 -133
  278. package/template/workers/dev-team/task-executor/skills/report-learnings.md +0 -106
  279. package/template/workers/dev-team/task-executor/skills/validate-completion.md +0 -121
  280. package/template/workers/dev-team/task-executor/src/index.ts +0 -54
  281. package/template/workers/dev-team/task-executor/src/mcp-server.ts +0 -139
  282. package/template/workers/dev-team/task-executor/src/skills/analyze-issue.ts +0 -219
  283. package/template/workers/dev-team/task-executor/src/skills/execute.ts +0 -132
  284. package/template/workers/dev-team/task-executor/src/skills/report-learnings.ts +0 -119
  285. package/template/workers/dev-team/task-executor/src/skills/validate-completion.ts +0 -142
  286. package/template/workers/dev-team/task-executor/tsconfig.json +0 -19
  287. package/template/workers/dev-team/task-executor/worker.yaml +0 -110
  288. package/template/workers/registry.yaml +0 -171
  289. package/template/workers/security-scanner/README.md +0 -73
  290. package/template/workers/security-scanner/skills/pre-deploy-check.md +0 -205
  291. package/template/workers/security-scanner/worker.yaml +0 -26
  292. package/template/workspace/checkpoints/.gitkeep +0 -0
  293. package/template/workspace/content-ideas/inbox.jsonl +0 -0
  294. package/template/workspace/drafts/.gitkeep +0 -0
  295. package/template/workspace/learnings/.gitkeep +0 -3
  296. package/template/workspace/orchestrator/.gitkeep +0 -0
  297. package/template/workspace/ralph-test/COMPLETE.md +0 -18
  298. package/template/workspace/ralph-test/hello.txt +0 -2
  299. package/template/workspace/reports/.gitkeep +0 -0
  300. package/template/workspace/scratch/.gitkeep +0 -0
  301. package/template/workspace/threads/.gitkeep +0 -3
package/dist/deps.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare function checkDeps(): {
1
+ export declare function checkDeps(): Promise<{
2
2
  allRequired: boolean;
3
- };
3
+ }>;
4
4
  //# sourceMappingURL=deps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAqDA,wBAAgB,SAAS,IAAI;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAoBpD"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AA4IA,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CAkDnE"}
package/dist/deps.js CHANGED
@@ -1,63 +1,172 @@
1
+ import * as os from "os";
1
2
  import { execSync } from "child_process";
2
- import { success, warn, info } from "./ui.js";
3
+ import { createInterface } from "readline";
4
+ import { success, warn, info, step } from "./ui.js";
5
+ function getPlatform() {
6
+ const p = os.platform();
7
+ if (p === "darwin")
8
+ return "macos";
9
+ if (p === "win32")
10
+ return "windows";
11
+ return "linux";
12
+ }
13
+ function hasBrew() {
14
+ try {
15
+ execSync("brew --version", { stdio: "pipe" });
16
+ return true;
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
22
+ function hasWinget() {
23
+ try {
24
+ execSync("winget --version", { stdio: "pipe" });
25
+ return true;
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ }
31
+ function hasChoco() {
32
+ try {
33
+ execSync("choco --version", { stdio: "pipe" });
34
+ return true;
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
3
40
  const deps = [
4
- {
5
- name: "Node.js",
6
- command: "node --version",
7
- required: true,
8
- installHint: "https://nodejs.org",
9
- },
10
41
  {
11
42
  name: "Claude Code CLI",
12
- command: "claude --version",
43
+ check: "claude --version",
13
44
  required: true,
14
- installHint: "npm install -g @anthropic-ai/claude-code",
45
+ getInstallOptions: () => [
46
+ { cmd: "npm install -g @anthropic-ai/claude-code", label: "npm" },
47
+ ],
48
+ manualHint: () => "npm install -g @anthropic-ai/claude-code",
15
49
  },
16
50
  {
17
51
  name: "qmd (search)",
18
- command: "qmd --version",
19
- required: true,
20
- installHint: "brew install tobi/tap/qmd",
21
- },
22
- {
23
- name: "gh CLI",
24
- command: "gh --version",
52
+ check: "qmd --version",
25
53
  required: false,
26
- installHint: "brew install gh",
54
+ getInstallOptions: (platform) => {
55
+ const options = [];
56
+ if (platform === "macos" && hasBrew()) {
57
+ options.push({ cmd: "brew install tobi/tap/qmd", label: "Homebrew" });
58
+ }
59
+ if (platform === "linux" && hasBrew()) {
60
+ options.push({ cmd: "brew install tobi/tap/qmd", label: "Linuxbrew" });
61
+ }
62
+ // qmd can also be installed via go install or binary download
63
+ return options;
64
+ },
65
+ manualHint: () => "See https://github.com/tobi/qmd for install instructions",
27
66
  },
28
67
  {
29
- name: "Vercel CLI",
30
- command: "vercel --version",
68
+ name: "gh CLI",
69
+ check: "gh --version",
31
70
  required: false,
32
- installHint: "npm install -g vercel",
71
+ getInstallOptions: (platform) => {
72
+ const options = [];
73
+ if (platform === "macos" && hasBrew()) {
74
+ options.push({ cmd: "brew install gh", label: "Homebrew" });
75
+ }
76
+ if (platform === "windows") {
77
+ if (hasWinget()) {
78
+ options.push({ cmd: "winget install --id GitHub.cli", label: "winget" });
79
+ }
80
+ if (hasChoco()) {
81
+ options.push({ cmd: "choco install gh", label: "Chocolatey" });
82
+ }
83
+ }
84
+ if (platform === "linux" && hasBrew()) {
85
+ options.push({ cmd: "brew install gh", label: "Linuxbrew" });
86
+ }
87
+ return options;
88
+ },
89
+ manualHint: () => "See https://cli.github.com for install instructions",
33
90
  },
34
91
  ];
35
92
  function checkCommand(command) {
36
93
  try {
37
94
  const output = execSync(command, { stdio: "pipe", encoding: "utf-8" });
38
- const version = output.trim().split("\n")[0];
39
- return version;
95
+ return output.trim().split("\n")[0];
40
96
  }
41
97
  catch {
42
98
  return null;
43
99
  }
44
100
  }
45
- export function checkDeps() {
101
+ async function confirm(question, defaultYes = true) {
102
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
103
+ const hint = defaultYes ? "Y/n" : "y/N";
104
+ return new Promise((resolve) => {
105
+ rl.question(` ? ${question} (${hint}) `, (answer) => {
106
+ rl.close();
107
+ if (!answer.trim())
108
+ return resolve(defaultYes);
109
+ resolve(answer.trim().toLowerCase().startsWith("y"));
110
+ });
111
+ });
112
+ }
113
+ function tryInstall(cmd, name) {
114
+ try {
115
+ step(`Installing ${name}...`);
116
+ execSync(cmd, { stdio: "inherit", timeout: 120000 });
117
+ success(`Installed ${name}`);
118
+ return true;
119
+ }
120
+ catch {
121
+ warn(`Failed to install ${name}`);
122
+ return false;
123
+ }
124
+ }
125
+ export async function checkDeps() {
126
+ const platform = getPlatform();
46
127
  console.log();
47
128
  console.log(" Checking dependencies...");
48
129
  let allRequired = true;
49
130
  for (const dep of deps) {
50
- const version = checkCommand(dep.command);
131
+ const version = checkCommand(dep.check);
51
132
  if (version) {
52
133
  success(`${dep.name} ${version}`);
134
+ continue;
53
135
  }
54
- else if (dep.required) {
55
- warn(`${dep.name} not found`);
56
- info(`Install: ${dep.installHint}`);
57
- allRequired = false;
136
+ const installOptions = dep.getInstallOptions(platform);
137
+ if (installOptions.length > 0) {
138
+ // We have at least one auto-install option
139
+ const option = installOptions[0]; // use the first (preferred) option
140
+ const install = await confirm(`${dep.name} not found. Install via ${option.label}?`);
141
+ if (install) {
142
+ const ok = tryInstall(option.cmd, dep.name);
143
+ if (!ok) {
144
+ info(`Manual install: ${dep.manualHint(platform)}`);
145
+ if (dep.required)
146
+ allRequired = false;
147
+ }
148
+ }
149
+ else {
150
+ if (dep.required) {
151
+ warn(`${dep.name} is required`);
152
+ info(`Install later: ${dep.manualHint(platform)}`);
153
+ allRequired = false;
154
+ }
155
+ else {
156
+ info(`Skipped ${dep.name} (optional)`);
157
+ }
158
+ }
58
159
  }
59
160
  else {
60
- info(`${dep.name} (optional) ${dep.installHint}`);
161
+ // No auto-install available for this platform
162
+ if (dep.required) {
163
+ warn(`${dep.name} not found`);
164
+ info(`Install: ${dep.manualHint(platform)}`);
165
+ allRequired = false;
166
+ }
167
+ else {
168
+ info(`${dep.name} (optional) — ${dep.manualHint(platform)}`);
169
+ }
61
170
  }
62
171
  }
63
172
  return { allRequired };
package/dist/deps.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAS9C,MAAM,IAAI,GAAU;IAClB;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,uBAAuB;KACrC;CACF,CAAC;AAEF,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAE1C,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACpC,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,11 +5,11 @@ const program = new Command();
5
5
  program
6
6
  .name("create-hq")
7
7
  .description("Create a new HQ — Personal OS for AI Workers")
8
- .version("5.0.0")
8
+ .version("5.2.0")
9
9
  .argument("[directory]", "where to create HQ", "hq")
10
10
  .option("--skip-deps", "skip dependency checks")
11
- .option("--skip-cli", "don't install @indigoai/hq-cli globally")
12
- .option("--skip-sync", "don't prompt for cloud sync setup")
11
+ .option("--skip-cli", "don't install @indigoai-us/hq-cli globally")
12
+ .option("--skip-cloud", "don't prompt for cloud setup")
13
13
  .action(async (directory, options) => {
14
14
  try {
15
15
  await scaffold(directory, options);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,aAAa,EAAE,oBAAoB,EAAE,IAAI,CAAC;KACnD,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;KAC/C,MAAM,CAAC,YAAY,EAAE,yCAAyC,CAAC;KAC/D,MAAM,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CACpE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,aAAa,EAAE,oBAAoB,EAAE,IAAI,CAAC;KACnD,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;KAC/C,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;KAClE,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CACpE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  interface ScaffoldOptions {
2
2
  skipDeps?: boolean;
3
3
  skipCli?: boolean;
4
- skipSync?: boolean;
4
+ skipCloud?: boolean;
5
5
  }
6
6
  export declare function scaffold(directory: string, options: ScaffoldOptions): Promise<void>;
7
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAYA,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAyCD,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoGf"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAaA,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyED,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAmKf"}
package/dist/scaffold.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import * as path from "path";
2
- import fs from "fs-extra";
2
+ import * as os from "os";
3
+ import * as fs from "fs-extra";
3
4
  import { createInterface } from "readline";
4
- import { banner, success, warn, step, nextSteps } from "./ui.js";
5
+ import { banner, success, warn, step, nextSteps, info } from "./ui.js";
5
6
  import { checkDeps } from "./deps.js";
6
7
  import { initGit, hasGit } from "./git.js";
7
8
  import { fileURLToPath } from "url";
8
- import { execSync } from "child_process";
9
+ import { execSync, spawnSync } from "child_process";
9
10
  const __filename = fileURLToPath(import.meta.url);
10
11
  const __dirname = path.dirname(__filename);
11
12
  async function prompt(question, defaultVal) {
@@ -25,18 +26,51 @@ async function confirm(question, defaultYes = true) {
25
26
  return defaultYes;
26
27
  return answer.toLowerCase().startsWith("y");
27
28
  }
29
+ const HQ_REPO_URL = "https://github.com/indigoai-us/hq.git";
30
+ /**
31
+ * Try to fetch the latest HQ template from GitHub.
32
+ * Returns the path to the template/ dir inside a temp clone, or null on failure.
33
+ */
34
+ function fetchRemoteTemplate() {
35
+ const tmpDir = path.join(os.tmpdir(), `hq-template-${Date.now()}`);
36
+ try {
37
+ execSync(`git clone --depth 1 "${HQ_REPO_URL}" "${tmpDir}"`, {
38
+ stdio: "pipe",
39
+ timeout: 60000,
40
+ });
41
+ const templatePath = path.join(tmpDir, "template");
42
+ if (fs.existsSync(templatePath) && fs.existsSync(path.join(templatePath, ".claude"))) {
43
+ return { templateDir: templatePath, cleanupDir: tmpDir };
44
+ }
45
+ fs.removeSync(tmpDir);
46
+ return null;
47
+ }
48
+ catch {
49
+ try {
50
+ fs.removeSync(tmpDir);
51
+ }
52
+ catch { /* best effort */ }
53
+ return null;
54
+ }
55
+ }
56
+ /**
57
+ * Get the template directory. Tries GitHub first for the latest version,
58
+ * falls back to the bundled template in the npm package.
59
+ */
28
60
  function getTemplateDir() {
29
- // When installed from npm: dist/scaffold.js -> ../template
30
- // In monorepo dev from dist: packages/create-hq/dist/scaffold.js -> ../../template
31
- // In monorepo dev from src: packages/create-hq/src/scaffold.ts -> ../../template
61
+ const remote = fetchRemoteTemplate();
62
+ if (remote) {
63
+ return { templateDir: remote.templateDir, cleanupDir: remote.cleanupDir, source: "github" };
64
+ }
65
+ // Fall back to bundled template
32
66
  const candidates = [
33
- path.resolve(__dirname, "..", "template"), // npm installed (dist/../template)
34
- path.resolve(__dirname, "..", "..", "template"), // monorepo (packages/create-hq/template or ../../template)
35
- path.resolve(__dirname, "..", "..", "..", "template"), // monorepo from dist (../../template)
67
+ path.resolve(__dirname, "..", "..", "template"),
68
+ path.resolve(__dirname, "..", "template"),
69
+ path.resolve(__dirname, "..", "..", "..", "template"),
36
70
  ];
37
71
  for (const candidate of candidates) {
38
72
  if (fs.existsSync(candidate) && fs.existsSync(path.join(candidate, ".claude"))) {
39
- return candidate;
73
+ return { templateDir: candidate, source: "bundled" };
40
74
  }
41
75
  }
42
76
  throw new Error("Could not find HQ template directory. This is a packaging error — please report at https://github.com/indigoai-us/hq/issues");
@@ -60,17 +94,29 @@ export async function scaffold(directory, options) {
60
94
  }
61
95
  }
62
96
  // 2. Copy template
63
- step("Creating HQ...");
64
- const templateDir = getTemplateDir();
97
+ step("Fetching latest HQ template...");
98
+ const { templateDir, cleanupDir, source } = getTemplateDir();
99
+ if (source === "github") {
100
+ info("Using latest template from GitHub");
101
+ }
102
+ else {
103
+ info("Using bundled template (offline or no git access)");
104
+ }
65
105
  await fs.copy(templateDir, targetDir, {
66
106
  filter: (src) => {
67
107
  const rel = path.relative(templateDir, src);
68
- // Skip git internals and node_modules
69
108
  if (rel.includes(".git/") || rel.includes("node_modules/"))
70
109
  return false;
71
110
  return true;
72
111
  },
73
112
  });
113
+ // Clean up temp clone if we fetched from GitHub
114
+ if (cleanupDir) {
115
+ try {
116
+ fs.removeSync(cleanupDir);
117
+ }
118
+ catch { /* best effort */ }
119
+ }
74
120
  // Count what we copied
75
121
  const commandCount = fs.existsSync(path.join(targetDir, ".claude", "commands"))
76
122
  ? fs.readdirSync(path.join(targetDir, ".claude", "commands")).filter((f) => f.endsWith(".md")).length
@@ -88,32 +134,85 @@ export async function scaffold(directory, options) {
88
134
  else {
89
135
  warn("git not found — skipping git init");
90
136
  }
91
- // 4. Check dependencies
137
+ // 4. Check dependencies and install missing ones
92
138
  if (!options.skipDeps) {
93
- checkDeps();
139
+ await checkDeps();
94
140
  }
95
141
  // 5. Install hq-cli
96
142
  if (!options.skipCli) {
97
143
  console.log();
98
- const installCli = await confirm("Install @indigoai/hq-cli globally for module management?");
144
+ const installCli = await confirm("Install @indigoai-us/hq-cli globally for module management?");
99
145
  if (installCli) {
100
146
  try {
101
- step("Installing @indigoai/hq-cli...");
102
- execSync("npm install -g @indigoai/hq-cli", { stdio: "pipe" });
103
- success("Installed @indigoai/hq-cli");
147
+ step("Installing @indigoai-us/hq-cli...");
148
+ execSync("npm install -g @indigoai-us/hq-cli", { stdio: "pipe" });
149
+ success("Installed @indigoai-us/hq-cli");
104
150
  }
105
151
  catch {
106
- warn("Failed to install @indigoai/hq-cli — you can install it later with: npm install -g @indigoai/hq-cli");
152
+ warn("Failed to install @indigoai-us/hq-cli — you can install it later with: npm install -g @indigoai-us/hq-cli");
107
153
  }
108
154
  }
109
155
  }
110
- // 6. Cloud sync setup
111
- if (!options.skipSync) {
156
+ // 6. Cloud setup
157
+ if (!options.skipCloud) {
112
158
  console.log();
113
- const setupSync = await confirm("Set up cloud sync? (enables mobile access via hq.indigoai.com)");
114
- if (setupSync) {
115
- step("Cloud sync setup will be available after running /setup in Claude Code");
116
- step("Run: hq sync init");
159
+ const setupCloud = await confirm("Set up HQ Cloud? (syncs your HQ files and enables remote AI sessions)");
160
+ if (setupCloud) {
161
+ // 6a: Authenticate with Clerk
162
+ let authOk = false;
163
+ try {
164
+ step("Authenticating with HQ Cloud...");
165
+ const authResult = spawnSync("hq", ["auth", "login"], {
166
+ stdio: "inherit",
167
+ shell: true,
168
+ });
169
+ if (authResult.status === 0) {
170
+ success("Authenticated with HQ Cloud");
171
+ authOk = true;
172
+ }
173
+ else {
174
+ warn("Authentication did not complete — you can retry later with: hq auth login");
175
+ }
176
+ }
177
+ catch {
178
+ warn("Could not run hq auth login — you can retry later with: hq auth login");
179
+ }
180
+ // 6b: Upload HQ files to cloud
181
+ if (authOk) {
182
+ try {
183
+ step("Uploading HQ files to cloud...");
184
+ const uploadResult = spawnSync("hq", ["cloud", "upload", "--hq-root", targetDir, "--on-conflict", "merge"], { stdio: "inherit", shell: true });
185
+ if (uploadResult.status === 0) {
186
+ success("HQ files uploaded to cloud");
187
+ }
188
+ else {
189
+ warn("Upload did not complete — you can run later with: hq cloud upload");
190
+ }
191
+ }
192
+ catch {
193
+ warn("Could not upload files — you can run later with: hq cloud upload");
194
+ }
195
+ }
196
+ // 6c: Set up Claude token for cloud sessions
197
+ if (authOk) {
198
+ console.log();
199
+ try {
200
+ step("Setting up Claude token for cloud sessions...");
201
+ const tokenResult = spawnSync("hq", ["cloud", "setup-token"], {
202
+ stdio: "inherit",
203
+ shell: true,
204
+ });
205
+ if (tokenResult.status === 0) {
206
+ success("Claude token configured for cloud sessions");
207
+ }
208
+ else {
209
+ warn("Token setup did not complete — you can retry later with: hq cloud setup-token");
210
+ }
211
+ }
212
+ catch {
213
+ warn("Could not run hq cloud setup-token — you can retry later with: hq cloud setup-token");
214
+ }
215
+ }
117
216
  }
118
217
  }
119
218
  // 7. Index with qmd
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/dist/ui.js CHANGED
@@ -8,7 +8,7 @@ export function banner() {
8
8
  console.log(chalk.bold.white(" ██ ██ ██████ "));
9
9
  console.log(chalk.dim(" ▀▀ "));
10
10
  console.log();
11
- console.log(chalk.dim(" Personal OS for AI Workers") + chalk.dim(" v5.0.0"));
11
+ console.log(chalk.dim(" Personal OS for AI Workers") + chalk.dim(" v5.2.0"));
12
12
  console.log();
13
13
  }
14
14
  export function success(msg) {
package/package.json CHANGED
@@ -1,26 +1,22 @@
1
1
  {
2
2
  "name": "create-hq",
3
- "version": "5.0.0",
3
+ "version": "5.2.0",
4
4
  "description": "Create a new HQ — Personal OS for AI Workers",
5
5
  "bin": {
6
6
  "create-hq": "./dist/index.js"
7
7
  },
8
8
  "files": [
9
- "dist",
10
- "template"
9
+ "dist"
11
10
  ],
12
11
  "scripts": {
13
12
  "build": "tsc",
14
13
  "typecheck": "tsc --noEmit",
15
- "clean": "node -e \"const fs=require('fs-extra');fs.removeSync('dist');fs.removeSync('template')\"",
16
- "prepack": "npm run build && node -e \"require('fs-extra').copySync('../../template','./template')\"",
17
- "postpack": "node -e \"require('fs-extra').removeSync('template')\""
14
+ "clean": "rm -rf dist"
18
15
  },
19
16
  "dependencies": {
20
17
  "chalk": "^5.3.0",
21
18
  "commander": "^12.1.0",
22
- "fs-extra": "^11.2.0",
23
- "ora": "^8.1.0"
19
+ "fs-extra": "^11.2.0"
24
20
  },
25
21
  "devDependencies": {
26
22
  "@types/fs-extra": "^11.0.4",