@compilr-dev/cli 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/LICENSE +108 -0
  2. package/README.md +237 -69
  3. package/dist/.tsbuildinfo.app +1 -0
  4. package/dist/.tsbuildinfo.data +1 -0
  5. package/dist/.tsbuildinfo.domain +1 -0
  6. package/dist/.tsbuildinfo.foundation +1 -0
  7. package/dist/agent.d.ts +61 -4
  8. package/dist/agent.js +241 -245
  9. package/dist/anchors/index.d.ts +1 -1
  10. package/dist/anchors/index.js +1 -1
  11. package/dist/anchors/project-anchors.d.ts +2 -2
  12. package/dist/anchors/project-anchors.js +1 -1
  13. package/dist/auth/api-client.d.ts +124 -0
  14. package/dist/auth/api-client.js +261 -0
  15. package/dist/auth/index.d.ts +172 -0
  16. package/dist/auth/index.js +545 -0
  17. package/dist/auth/storage.d.ts +52 -0
  18. package/dist/auth/storage.js +118 -0
  19. package/dist/changelog/index.d.ts +16 -0
  20. package/dist/changelog/index.js +24 -0
  21. package/dist/changelog/releases.d.ts +17 -0
  22. package/dist/changelog/releases.js +63 -0
  23. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  24. package/dist/commands-v2/handlers/auth.js +118 -0
  25. package/dist/commands-v2/handlers/background.d.ts +14 -0
  26. package/dist/commands-v2/handlers/background.js +276 -0
  27. package/dist/commands-v2/handlers/context.js +286 -81
  28. package/dist/commands-v2/handlers/core.d.ts +1 -0
  29. package/dist/commands-v2/handlers/core.js +133 -8
  30. package/dist/commands-v2/handlers/debug.js +18 -0
  31. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  32. package/dist/commands-v2/handlers/delegations.js +29 -0
  33. package/dist/commands-v2/handlers/files.d.ts +8 -0
  34. package/dist/commands-v2/handlers/files.js +162 -0
  35. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  36. package/dist/commands-v2/handlers/filter.js +130 -0
  37. package/dist/commands-v2/handlers/games.d.ts +7 -0
  38. package/dist/commands-v2/handlers/games.js +57 -0
  39. package/dist/commands-v2/handlers/index.d.ts +13 -0
  40. package/dist/commands-v2/handlers/index.js +39 -0
  41. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  42. package/dist/commands-v2/handlers/mcp.js +39 -0
  43. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  44. package/dist/commands-v2/handlers/notifications.js +34 -0
  45. package/dist/commands-v2/handlers/project.js +295 -31
  46. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  47. package/dist/commands-v2/handlers/reset.js +118 -0
  48. package/dist/commands-v2/handlers/session.d.ts +161 -0
  49. package/dist/commands-v2/handlers/session.js +805 -0
  50. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  51. package/dist/commands-v2/handlers/settings.js +217 -35
  52. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  53. package/dist/commands-v2/handlers/tasks.js +36 -0
  54. package/dist/commands-v2/handlers/team.d.ts +9 -0
  55. package/dist/commands-v2/handlers/team.js +549 -0
  56. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  57. package/dist/commands-v2/handlers/terminals.js +34 -0
  58. package/dist/commands-v2/index.d.ts +3 -2
  59. package/dist/commands-v2/index.js +4 -1
  60. package/dist/commands-v2/registry.d.ts +15 -0
  61. package/dist/commands-v2/registry.js +34 -0
  62. package/dist/commands-v2/types.d.ts +81 -3
  63. package/dist/commands.js +13 -0
  64. package/dist/compilr-diff-companion.vsix +0 -0
  65. package/dist/db/index.js +98 -4
  66. package/dist/db/repositories/document-repository.d.ts +2 -0
  67. package/dist/db/repositories/document-repository.js +6 -1
  68. package/dist/db/repositories/index.d.ts +2 -0
  69. package/dist/db/repositories/index.js +1 -0
  70. package/dist/db/repositories/plan-repository.d.ts +101 -0
  71. package/dist/db/repositories/plan-repository.js +275 -0
  72. package/dist/db/repositories/project-repository.d.ts +6 -0
  73. package/dist/db/repositories/project-repository.js +41 -0
  74. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  75. package/dist/db/repositories/work-item-repository.js +69 -4
  76. package/dist/db/schema.d.ts +40 -3
  77. package/dist/db/schema.js +66 -3
  78. package/dist/episodes/index.d.ts +20 -0
  79. package/dist/episodes/index.js +27 -0
  80. package/dist/episodes/recorder.d.ts +51 -0
  81. package/dist/episodes/recorder.js +195 -0
  82. package/dist/episodes/significant-work.d.ts +21 -0
  83. package/dist/episodes/significant-work.js +56 -0
  84. package/dist/episodes/store.d.ts +38 -0
  85. package/dist/episodes/store.js +199 -0
  86. package/dist/episodes/types.d.ts +35 -0
  87. package/dist/episodes/types.js +6 -0
  88. package/dist/episodes/work-at-risk.d.ts +12 -0
  89. package/dist/episodes/work-at-risk.js +38 -0
  90. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  91. package/dist/episodes/work-summary-anchor.js +73 -0
  92. package/dist/games/coins.d.ts +66 -0
  93. package/dist/games/coins.js +165 -0
  94. package/dist/games/game-base.d.ts +84 -0
  95. package/dist/games/game-base.js +204 -0
  96. package/dist/games/index.d.ts +16 -0
  97. package/dist/games/index.js +49 -0
  98. package/dist/games/scores.d.ts +69 -0
  99. package/dist/games/scores.js +191 -0
  100. package/dist/games/tetris/board.d.ts +59 -0
  101. package/dist/games/tetris/board.js +170 -0
  102. package/dist/games/tetris/index.d.ts +109 -0
  103. package/dist/games/tetris/index.js +610 -0
  104. package/dist/games/tetris/pieces.d.ts +44 -0
  105. package/dist/games/tetris/pieces.js +271 -0
  106. package/dist/games/tetris/renderer.d.ts +26 -0
  107. package/dist/games/tetris/renderer.js +77 -0
  108. package/dist/guide/guide-content.d.ts +23 -0
  109. package/dist/guide/guide-content.js +196 -0
  110. package/dist/guide/index.d.ts +8 -0
  111. package/dist/guide/index.js +7 -0
  112. package/dist/guide/shared-content.d.ts +37 -0
  113. package/dist/guide/shared-content.js +1272 -0
  114. package/dist/guide/tutorial-helpers.d.ts +57 -0
  115. package/dist/guide/tutorial-helpers.js +147 -0
  116. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  117. package/dist/handlers/ask-user-handlers.js +104 -0
  118. package/dist/handlers/delegation-handlers.d.ts +34 -0
  119. package/dist/handlers/delegation-handlers.js +291 -0
  120. package/dist/handlers/permission-handler.d.ts +30 -0
  121. package/dist/handlers/permission-handler.js +205 -0
  122. package/dist/index.d.ts +11 -1
  123. package/dist/index.js +448 -271
  124. package/dist/input-handlers/memory-handler.d.ts +1 -1
  125. package/dist/input-handlers/memory-handler.js +2 -1
  126. package/dist/models/index.d.ts +10 -0
  127. package/dist/models/index.js +12 -0
  128. package/dist/models/model-registry.d.ts +38 -0
  129. package/dist/models/model-registry.js +69 -0
  130. package/dist/models/model-tiers.d.ts +28 -0
  131. package/dist/models/model-tiers.js +71 -0
  132. package/dist/models/model-validation.d.ts +25 -0
  133. package/dist/models/model-validation.js +291 -0
  134. package/dist/models/ollama-models.d.ts +73 -0
  135. package/dist/models/ollama-models.js +178 -0
  136. package/dist/models/provider-types.d.ts +6 -0
  137. package/dist/models/provider-types.js +1 -0
  138. package/dist/models/providers.d.ts +35 -0
  139. package/dist/models/providers.js +58 -0
  140. package/dist/models/types.d.ts +4 -0
  141. package/dist/models/types.js +4 -0
  142. package/dist/multi-agent/activity.d.ts +21 -0
  143. package/dist/multi-agent/activity.js +34 -0
  144. package/dist/multi-agent/agent-selection.d.ts +55 -0
  145. package/dist/multi-agent/agent-selection.js +90 -0
  146. package/dist/multi-agent/artifacts.d.ts +197 -0
  147. package/dist/multi-agent/artifacts.js +379 -0
  148. package/dist/multi-agent/checkpointer.d.ts +138 -0
  149. package/dist/multi-agent/checkpointer.js +471 -0
  150. package/dist/multi-agent/collision-utils.d.ts +16 -0
  151. package/dist/multi-agent/collision-utils.js +28 -0
  152. package/dist/multi-agent/context-resolver.d.ts +97 -0
  153. package/dist/multi-agent/context-resolver.js +316 -0
  154. package/dist/multi-agent/custom-agents.d.ts +83 -0
  155. package/dist/multi-agent/custom-agents.js +227 -0
  156. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  157. package/dist/multi-agent/delegation-tracker.js +243 -0
  158. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  159. package/dist/multi-agent/file-lock-hook.js +97 -0
  160. package/dist/multi-agent/file-locks.d.ts +58 -0
  161. package/dist/multi-agent/file-locks.js +194 -0
  162. package/dist/multi-agent/index.d.ts +24 -0
  163. package/dist/multi-agent/index.js +30 -0
  164. package/dist/multi-agent/mention-parser.d.ts +64 -0
  165. package/dist/multi-agent/mention-parser.js +146 -0
  166. package/dist/multi-agent/notification-manager.d.ts +84 -0
  167. package/dist/multi-agent/notification-manager.js +224 -0
  168. package/dist/multi-agent/pending-requests.d.ts +122 -0
  169. package/dist/multi-agent/pending-requests.js +155 -0
  170. package/dist/multi-agent/session-registry.d.ts +139 -0
  171. package/dist/multi-agent/session-registry.js +514 -0
  172. package/dist/multi-agent/shared-context.d.ts +293 -0
  173. package/dist/multi-agent/shared-context.js +671 -0
  174. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  175. package/dist/multi-agent/skill-requirements.js +178 -0
  176. package/dist/multi-agent/task-assignment.d.ts +69 -0
  177. package/dist/multi-agent/task-assignment.js +123 -0
  178. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  179. package/dist/multi-agent/task-suggestion.js +72 -0
  180. package/dist/multi-agent/team-agent.d.ts +201 -0
  181. package/dist/multi-agent/team-agent.js +488 -0
  182. package/dist/multi-agent/team.d.ts +286 -0
  183. package/dist/multi-agent/team.js +610 -0
  184. package/dist/multi-agent/tool-config.d.ts +110 -0
  185. package/dist/multi-agent/tool-config.js +661 -0
  186. package/dist/multi-agent/types.d.ts +211 -0
  187. package/dist/multi-agent/types.js +617 -0
  188. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  189. package/dist/prompts/plan-mode-prompt.js +95 -0
  190. package/dist/repl-helpers.js +5 -2
  191. package/dist/repl-v2.d.ts +401 -2
  192. package/dist/repl-v2.js +2588 -65
  193. package/dist/session/index.d.ts +6 -0
  194. package/dist/session/index.js +6 -0
  195. package/dist/session/project-session-manager.d.ts +158 -0
  196. package/dist/session/project-session-manager.js +650 -0
  197. package/dist/settings/index.d.ts +133 -13
  198. package/dist/settings/index.js +329 -24
  199. package/dist/settings/mcp-config.d.ts +76 -0
  200. package/dist/settings/mcp-config.js +143 -0
  201. package/dist/settings/paths.d.ts +4 -0
  202. package/dist/settings/paths.js +6 -0
  203. package/dist/shared-handlers.d.ts +62 -0
  204. package/dist/shared-handlers.js +48 -0
  205. package/dist/system-prompt/builder.d.ts +5 -0
  206. package/dist/system-prompt/builder.js +4 -0
  207. package/dist/system-prompt/index.d.ts +18 -0
  208. package/dist/system-prompt/index.js +18 -0
  209. package/dist/system-prompt/modules.d.ts +5 -0
  210. package/dist/system-prompt/modules.js +4 -0
  211. package/dist/tabbed-menu.js +2 -1
  212. package/dist/templates/compilr-md-import.d.ts +16 -0
  213. package/dist/templates/compilr-md-import.js +241 -0
  214. package/dist/templates/compilr-md.js +10 -61
  215. package/dist/templates/config-json.d.ts +1 -25
  216. package/dist/templates/index.d.ts +2 -0
  217. package/dist/templates/index.js +34 -73
  218. package/dist/tool-names.d.ts +113 -0
  219. package/dist/tool-names.js +239 -0
  220. package/dist/tools/ask-user-simple.d.ts +1 -1
  221. package/dist/tools/ask-user-simple.js +2 -1
  222. package/dist/tools/ask-user.d.ts +1 -1
  223. package/dist/tools/ask-user.js +2 -1
  224. package/dist/tools/backlog.d.ts +2 -2
  225. package/dist/tools/backlog.js +1 -1
  226. package/dist/tools/db-tools.d.ts +13 -61
  227. package/dist/tools/db-tools.js +12 -13
  228. package/dist/tools/delegate-background.d.ts +27 -0
  229. package/dist/tools/delegate-background.js +115 -0
  230. package/dist/tools/delegate.d.ts +22 -0
  231. package/dist/tools/delegate.js +97 -0
  232. package/dist/tools/delegation-status.d.ts +16 -0
  233. package/dist/tools/delegation-status.js +128 -0
  234. package/dist/tools/guide-tool.d.ts +12 -0
  235. package/dist/tools/guide-tool.js +59 -0
  236. package/dist/tools/handoff.d.ts +25 -0
  237. package/dist/tools/handoff.js +99 -0
  238. package/dist/tools/meta-tools.d.ts +26 -0
  239. package/dist/tools/meta-tools.js +47 -0
  240. package/dist/tools/platform-adapter.d.ts +35 -0
  241. package/dist/tools/platform-adapter.js +404 -0
  242. package/dist/tools/project-db.d.ts +5 -73
  243. package/dist/tools/project-db.js +5 -336
  244. package/dist/tools.d.ts +67 -2
  245. package/dist/tools.js +240 -48
  246. package/dist/ui/autocomplete-controller.d.ts +42 -0
  247. package/dist/ui/autocomplete-controller.js +384 -0
  248. package/dist/ui/base/index.d.ts +1 -1
  249. package/dist/ui/base/index.js +1 -1
  250. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  251. package/dist/ui/base/overlay-base-v2.js +14 -0
  252. package/dist/ui/base/render-utils.d.ts +19 -0
  253. package/dist/ui/base/render-utils.js +25 -0
  254. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  255. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  256. package/dist/ui/constants/labels.d.ts +14 -0
  257. package/dist/ui/constants/labels.js +52 -0
  258. package/dist/ui/conversation-store.d.ts +55 -0
  259. package/dist/ui/conversation-store.js +107 -0
  260. package/dist/ui/conversation.js +11 -13
  261. package/dist/ui/diff.d.ts +7 -1
  262. package/dist/ui/diff.js +85 -48
  263. package/dist/ui/ephemeral.js +3 -9
  264. package/dist/ui/file-autocomplete.d.ts +24 -0
  265. package/dist/ui/file-autocomplete.js +56 -0
  266. package/dist/ui/footer-renderer.d.ts +69 -0
  267. package/dist/ui/footer-renderer.js +431 -0
  268. package/dist/ui/footer.d.ts +74 -7
  269. package/dist/ui/footer.js +173 -16
  270. package/dist/ui/input-controller.d.ts +51 -0
  271. package/dist/ui/input-controller.js +176 -0
  272. package/dist/ui/input-prompt.d.ts +19 -0
  273. package/dist/ui/input-prompt.js +206 -14
  274. package/dist/ui/keyboard-handler.d.ts +57 -0
  275. package/dist/ui/keyboard-handler.js +557 -0
  276. package/dist/ui/live-region-facade.d.ts +42 -0
  277. package/dist/ui/live-region-facade.js +205 -0
  278. package/dist/ui/live-region.d.ts +0 -4
  279. package/dist/ui/live-region.js +6 -14
  280. package/dist/ui/mascot/renderer.d.ts +1 -1
  281. package/dist/ui/mascot/renderer.js +37 -2
  282. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  283. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  284. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  285. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  286. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  287. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  288. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  289. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  290. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  291. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  292. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  293. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  294. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  295. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  296. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  297. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  298. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  299. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  300. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  301. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  302. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  303. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  304. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  305. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  306. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  307. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  308. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  309. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  310. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  311. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  312. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  313. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  314. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  315. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  316. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  317. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  318. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  319. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  320. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  321. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  322. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  323. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  324. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  325. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  326. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  327. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  328. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  329. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  330. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  331. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  332. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  333. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  334. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  335. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  336. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  337. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  338. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  339. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  340. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  341. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  342. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  343. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  344. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  345. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  346. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  347. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  348. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  349. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  350. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  351. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  352. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  353. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  354. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  355. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  356. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  357. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  358. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  359. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  360. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  361. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  362. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  363. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  364. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  365. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  366. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  367. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  368. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  369. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  370. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  371. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  372. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  373. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  374. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  375. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  376. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  377. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  378. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  379. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  380. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  381. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  382. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  383. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  384. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  385. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  386. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  387. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  388. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  389. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  390. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  391. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  392. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  393. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  394. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  395. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  396. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  397. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  398. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  399. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  400. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  401. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  402. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  403. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  404. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  405. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  406. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  407. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  408. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  409. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  410. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  411. package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +1 -0
  412. package/dist/ui/overlay/impl/workflow-overlay-v2.js +10 -4
  413. package/dist/ui/overlay/index.d.ts +20 -1
  414. package/dist/ui/overlay/index.js +19 -0
  415. package/dist/ui/overlay/types.d.ts +5 -0
  416. package/dist/ui/overlay-manager.d.ts +43 -0
  417. package/dist/ui/overlay-manager.js +238 -0
  418. package/dist/ui/overlays.js +4 -16
  419. package/dist/ui/permission-overlay.js +6 -5
  420. package/dist/ui/status-bar-controller.d.ts +33 -0
  421. package/dist/ui/status-bar-controller.js +99 -0
  422. package/dist/ui/subagent-renderer.js +3 -19
  423. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  424. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  425. package/dist/ui/terminal-line-builders.d.ts +17 -0
  426. package/dist/ui/terminal-line-builders.js +42 -0
  427. package/dist/ui/terminal-render-item.d.ts +16 -0
  428. package/dist/ui/terminal-render-item.js +267 -0
  429. package/dist/ui/terminal-renderer.d.ts +7 -8
  430. package/dist/ui/terminal-renderer.js +7 -8
  431. package/dist/ui/terminal-types.d.ts +179 -0
  432. package/dist/ui/terminal-types.js +34 -0
  433. package/dist/ui/terminal-ui.d.ts +144 -276
  434. package/dist/ui/terminal-ui.js +384 -1861
  435. package/dist/ui/todo-zone.d.ts +19 -1
  436. package/dist/ui/todo-zone.js +71 -13
  437. package/dist/ui/tool-formatters.js +696 -1
  438. package/dist/ui/turn-metrics.d.ts +56 -0
  439. package/dist/ui/turn-metrics.js +75 -0
  440. package/dist/ui/types.d.ts +28 -0
  441. package/dist/ui/types.js +1 -0
  442. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  443. package/dist/ui/vscode-diff-ipc.js +385 -0
  444. package/dist/utils/credentials.d.ts +24 -5
  445. package/dist/utils/credentials.js +123 -9
  446. package/dist/utils/format-tokens.d.ts +13 -0
  447. package/dist/utils/format-tokens.js +18 -0
  448. package/dist/utils/git-config.d.ts +26 -0
  449. package/dist/utils/git-config.js +54 -0
  450. package/dist/utils/message-utils.d.ts +61 -0
  451. package/dist/utils/message-utils.js +72 -0
  452. package/dist/utils/model-tiers.d.ts +8 -1
  453. package/dist/utils/model-tiers.js +38 -16
  454. package/dist/utils/open-browser.d.ts +5 -0
  455. package/dist/utils/open-browser.js +32 -0
  456. package/dist/utils/path-safety.js +3 -2
  457. package/dist/utils/project-detection.d.ts +58 -0
  458. package/dist/utils/project-detection.js +424 -0
  459. package/dist/utils/project-memory.js +2 -1
  460. package/dist/utils/project-status.d.ts +2 -2
  461. package/dist/utils/startup-perf.d.ts +18 -0
  462. package/dist/utils/startup-perf.js +60 -0
  463. package/dist/utils/token-tracker.d.ts +62 -0
  464. package/dist/utils/token-tracker.js +150 -0
  465. package/dist/utils/token-types.d.ts +23 -0
  466. package/dist/utils/token-types.js +18 -0
  467. package/dist/utils/types/config-types.d.ts +32 -0
  468. package/dist/utils/types/config-types.js +8 -0
  469. package/dist/utils/update-checker.d.ts +28 -0
  470. package/dist/utils/update-checker.js +106 -0
  471. package/dist/utils/version.d.ts +7 -0
  472. package/dist/utils/version.js +10 -0
  473. package/dist/utils/vscode-detect.d.ts +39 -0
  474. package/dist/utils/vscode-detect.js +137 -0
  475. package/package.json +27 -13
  476. package/dist/commands/handler-types.d.ts +0 -68
  477. package/dist/commands/handler-types.js +0 -8
  478. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  479. package/dist/commands/handlers/agent-commands.js +0 -305
  480. package/dist/commands/handlers/design-commands.d.ts +0 -15
  481. package/dist/commands/handlers/design-commands.js +0 -334
  482. package/dist/commands/handlers/index.d.ts +0 -20
  483. package/dist/commands/handlers/index.js +0 -43
  484. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  485. package/dist/commands/handlers/overlay-commands.js +0 -287
  486. package/dist/commands/handlers/project-commands.d.ts +0 -11
  487. package/dist/commands/handlers/project-commands.js +0 -167
  488. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  489. package/dist/commands/handlers/simple-commands.js +0 -144
  490. package/dist/commands/registry.d.ts +0 -50
  491. package/dist/commands/registry.js +0 -75
  492. package/dist/index.old.d.ts +0 -7
  493. package/dist/index.old.js +0 -1014
  494. package/dist/repl.d.ts +0 -149
  495. package/dist/repl.js +0 -1151
  496. package/dist/templates/claude-md.d.ts +0 -7
  497. package/dist/templates/claude-md.js +0 -189
  498. package/dist/test-autocomplete.d.ts +0 -7
  499. package/dist/test-autocomplete.js +0 -85
  500. package/dist/test-tabbed-menu.d.ts +0 -7
  501. package/dist/test-tabbed-menu.js +0 -25
  502. package/dist/tool-selector.d.ts +0 -71
  503. package/dist/tool-selector.js +0 -184
  504. package/dist/tools/anchor-tools.d.ts +0 -31
  505. package/dist/tools/anchor-tools.js +0 -255
  506. package/dist/tools/backlog-wrappers.d.ts +0 -54
  507. package/dist/tools/backlog-wrappers.js +0 -338
  508. package/dist/tools/document-db.d.ts +0 -43
  509. package/dist/tools/document-db.js +0 -220
  510. package/dist/tools/workitem-db.d.ts +0 -103
  511. package/dist/tools/workitem-db.js +0 -549
  512. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  513. package/dist/ui/agents-overlay-v2.js +0 -809
  514. package/dist/ui/agents-overlay.d.ts +0 -12
  515. package/dist/ui/agents-overlay.js +0 -863
  516. package/dist/ui/anchors-overlay.d.ts +0 -12
  517. package/dist/ui/anchors-overlay.js +0 -775
  518. package/dist/ui/arch-type-overlay.d.ts +0 -15
  519. package/dist/ui/arch-type-overlay.js +0 -201
  520. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  521. package/dist/ui/ask-user-overlay-v2.js +0 -555
  522. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  523. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  524. package/dist/ui/backlog-overlay.d.ts +0 -32
  525. package/dist/ui/backlog-overlay.js +0 -652
  526. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  527. package/dist/ui/commands-overlay-v2.js +0 -441
  528. package/dist/ui/commands-overlay.d.ts +0 -16
  529. package/dist/ui/commands-overlay.js +0 -439
  530. package/dist/ui/config-overlay.d.ts +0 -35
  531. package/dist/ui/config-overlay.js +0 -707
  532. package/dist/ui/docs-overlay.d.ts +0 -17
  533. package/dist/ui/docs-overlay.js +0 -303
  534. package/dist/ui/footer-v2.d.ts +0 -222
  535. package/dist/ui/footer-v2.js +0 -1349
  536. package/dist/ui/help-overlay-v2.d.ts +0 -34
  537. package/dist/ui/help-overlay-v2.js +0 -309
  538. package/dist/ui/help-overlay.d.ts +0 -16
  539. package/dist/ui/help-overlay.js +0 -316
  540. package/dist/ui/init-overlay-v2.d.ts +0 -34
  541. package/dist/ui/init-overlay-v2.js +0 -600
  542. package/dist/ui/init-overlay.d.ts +0 -34
  543. package/dist/ui/init-overlay.js +0 -604
  544. package/dist/ui/input-prompt-v2.d.ts +0 -180
  545. package/dist/ui/input-prompt-v2.js +0 -999
  546. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  547. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  548. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  549. package/dist/ui/keys-overlay-v2.js +0 -248
  550. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  551. package/dist/ui/mascot-overlay-v2.js +0 -138
  552. package/dist/ui/mascot-overlay.d.ts +0 -21
  553. package/dist/ui/mascot-overlay.js +0 -146
  554. package/dist/ui/model-overlay-v2.d.ts +0 -49
  555. package/dist/ui/model-overlay-v2.js +0 -118
  556. package/dist/ui/model-overlay.d.ts +0 -27
  557. package/dist/ui/model-overlay.js +0 -221
  558. package/dist/ui/model-warning-overlay.d.ts +0 -30
  559. package/dist/ui/model-warning-overlay.js +0 -169
  560. package/dist/ui/new-overlay.d.ts +0 -34
  561. package/dist/ui/new-overlay.js +0 -604
  562. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  563. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  564. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  565. package/dist/ui/overlay/overlay-types.js +0 -22
  566. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  567. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  568. package/dist/ui/overlays/index.d.ts +0 -11
  569. package/dist/ui/overlays/index.js +0 -11
  570. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  571. package/dist/ui/permission-overlay-v2.js +0 -380
  572. package/dist/ui/projects-overlay.d.ts +0 -19
  573. package/dist/ui/projects-overlay.js +0 -484
  574. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  575. package/dist/ui/theme-overlay-v2.js +0 -135
  576. package/dist/ui/theme-overlay.d.ts +0 -24
  577. package/dist/ui/theme-overlay.js +0 -127
  578. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  579. package/dist/ui/tools-overlay-v2.js +0 -218
  580. package/dist/ui/tools-overlay.d.ts +0 -34
  581. package/dist/ui/tools-overlay.js +0 -230
  582. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  583. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  584. package/dist/ui/tutorial-overlay.d.ts +0 -11
  585. package/dist/ui/tutorial-overlay.js +0 -1034
  586. package/dist/ui/workflow-overlay.d.ts +0 -22
  587. package/dist/ui/workflow-overlay.js +0 -636
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Scaffold Tutorial
3
+ *
4
+ * Walkthrough of the /scaffold command for creating project foundations.
5
+ */
6
+ export const scaffoldTutorial = (s) => ({
7
+ id: 'scaffold',
8
+ title: 'Project Scaffolding',
9
+ description: 'Create project foundation',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Project Scaffolding',
14
+ lines: [
15
+ '',
16
+ ` The ${s.primary('/scaffold')} command creates the base project structure`,
17
+ ` — folders, config files, dependencies, and initial code.`,
18
+ '',
19
+ ` ${s.secondary('When to use /scaffold:')}`,
20
+ '',
21
+ ` ${s.muted('•')} After ${s.primary('/design')} or ${s.primary('/sketch')} has created your backlog`,
22
+ ` ${s.muted('•')} When starting from scratch (empty project directory)`,
23
+ ` ${s.muted('•')} When you need a working foundation before features`,
24
+ '',
25
+ ` ${s.secondary('What it produces:')}`,
26
+ '',
27
+ ` ${s.muted('•')} Folder structure (src, tests, config)`,
28
+ ` ${s.muted('•')} Build tooling (package.json, tsconfig, vite, etc.)`,
29
+ ` ${s.muted('•')} Initial source files (app entry, routes, etc.)`,
30
+ ` ${s.muted('•')} Dependency installation and verified build`,
31
+ ` ${s.muted('•')} Initial git commit`,
32
+ '',
33
+ ],
34
+ },
35
+ // Page 2: Prerequisites
36
+ {
37
+ title: 'Prerequisites',
38
+ lines: [
39
+ '',
40
+ ` Before running ${s.primary('/scaffold')}, you need:`,
41
+ '',
42
+ ` ${s.primary('1.')} An active project (via ${s.primary('/new')} or ${s.primary('/projects')})`,
43
+ ` ${s.primary('2.')} A project path set (where files will be created)`,
44
+ '',
45
+ ` The agent reads your project's backlog and documents`,
46
+ ` to understand the tech stack and requirements.`,
47
+ '',
48
+ ` ${s.warning('!')} If your working directory differs from the project path,`,
49
+ ` you'll see a warning:`,
50
+ '',
51
+ ` ${s.warning('Working directory differs from project path!')}`,
52
+ ` ${s.muted('cwd: /workspace')}`,
53
+ ` ${s.muted('project: /workspace/projects/my-app')}`,
54
+ ` ${s.muted('Files will be created in the project path, not cwd.')}`,
55
+ '',
56
+ ` This is normal — the agent uses ${s.primaryBold('absolute paths')}.`,
57
+ '',
58
+ ],
59
+ },
60
+ // Page 3: Model Recommendation
61
+ {
62
+ title: 'Model Recommendation',
63
+ lines: [
64
+ '',
65
+ ` Like ${s.primary('/design')}, scaffolding works best with larger models.`,
66
+ ` If you're on a smaller model, you'll see:`,
67
+ '',
68
+ ` ${s.warning('! Model Recommendation')}`,
69
+ '',
70
+ ` /scaffold works best with larger models.`,
71
+ ` Current: ${s.muted('claude-haiku-4-5-20251001 (medium tier)')}`,
72
+ '',
73
+ ` ${s.primary('>')} 1. Switch model and continue`,
74
+ ` 2. Use /sketch instead`,
75
+ ` 3. Continue with current model anyway`,
76
+ '',
77
+ ` ${s.secondary('Recommendation:')} Sonnet or Opus will produce better`,
78
+ ` folder structures, config files, and initial code.`,
79
+ ` Haiku can scaffold but may miss details.`,
80
+ '',
81
+ ],
82
+ },
83
+ // Page 4: What Happens
84
+ {
85
+ title: 'What Happens',
86
+ lines: [
87
+ '',
88
+ ` After you run ${s.primary('/scaffold')}, the agent:`,
89
+ '',
90
+ ` ${s.primary('1.')} Reads project documents and backlog`,
91
+ ` ${s.muted('project_document_list → workitem_query')}`,
92
+ '',
93
+ ` ${s.primary('2.')} Asks for confirmation of the tech stack`,
94
+ ` ${s.muted('e.g., "React + Vite frontend, Node + Express backend?"')}`,
95
+ '',
96
+ ` ${s.primary('3.')} Creates a todo plan`,
97
+ ` ${s.muted('☐ Create directory structure')}`,
98
+ ` ${s.muted('☐ Create frontend scaffold')}`,
99
+ ` ${s.muted('☐ Create backend scaffold')}`,
100
+ ` ${s.muted('☐ Install dependencies')}`,
101
+ ` ${s.muted('☐ Create initial git commit')}`,
102
+ '',
103
+ ` ${s.primary('4.')} Generates files, installs deps, verifies build`,
104
+ '',
105
+ ` ${s.primary('5.')} Updates backlog (marks scaffold item complete)`,
106
+ '',
107
+ ],
108
+ },
109
+ // Page 5: During Execution
110
+ {
111
+ title: 'During Execution',
112
+ lines: [
113
+ '',
114
+ ` Scaffolding typically takes ${s.primaryBold('3-5 minutes')} and uses`,
115
+ ` ${s.primaryBold('30-40 tool calls')}. You'll see progress in real-time:`,
116
+ '',
117
+ ` ${s.muted('● write_file(/my-app/package.json)')}`,
118
+ ` ${s.muted('⎿ File written')}`,
119
+ '',
120
+ ` ${s.muted('● write_file(/my-app/frontend/tsconfig.json)')}`,
121
+ ` ${s.muted('⎿ File written')}`,
122
+ '',
123
+ ` ${s.muted('● Bash(npm install)')}`,
124
+ ` ${s.muted('⎿ added 245 packages')}`,
125
+ '',
126
+ ` The footer shows todo progress as items complete:`,
127
+ '',
128
+ ` ${s.success('✓')} Create project directory structure`,
129
+ ` ${s.success('✓')} Create frontend (React + Vite) scaffold`,
130
+ ` ${s.primary('→')} Create backend (Node.js + Express) scaffold`,
131
+ ` ${s.muted('☐')} Install dependencies and verify build`,
132
+ ` ${s.muted('☐')} Create initial git commit`,
133
+ '',
134
+ ],
135
+ },
136
+ // Page 6: Result
137
+ {
138
+ title: 'Result & Next Steps',
139
+ lines: [
140
+ '',
141
+ ` When done, the agent provides a summary showing:`,
142
+ '',
143
+ ` ${s.success('✓')} Build status (frontend + backend compile)`,
144
+ ` ${s.success('✓')} Lint status (0 errors, 0 warnings)`,
145
+ ` ${s.success('✓')} Git commit hash`,
146
+ '',
147
+ ` ${s.secondary('What to do next:')}`,
148
+ '',
149
+ ` ${s.primary('/backlog')} View your work items`,
150
+ ` ${s.primary('/build')} Start implementing a backlog item`,
151
+ ` ${s.muted('or just ask')} "Start working on REQ-002"`,
152
+ '',
153
+ ` ${s.secondary('The typical workflow:')}`,
154
+ '',
155
+ ` ${s.primary('/design')} → ${s.primary('/scaffold')} → ${s.primary('/build')} (repeat per item)`,
156
+ ` ${s.muted('plan create implement')}`,
157
+ '',
158
+ ` ${s.warning('TIP:')} You can also type "Create project scaffold" in`,
159
+ ` normal chat — the ${s.primary('/scaffold')} command is a shortcut.`,
160
+ '',
161
+ ],
162
+ },
163
+ ],
164
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Quick Sketch Tutorial
3
+ *
4
+ * Overview of the /sketch command as a lightweight alternative to /design.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const sketchTutorial: TutorialBuilder;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Quick Sketch Tutorial
3
+ *
4
+ * Overview of the /sketch command as a lightweight alternative to /design.
5
+ */
6
+ export const sketchTutorial = (s) => ({
7
+ id: 'sketch',
8
+ title: 'Quick Sketch',
9
+ description: 'Fast planning alternative',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Quick Sketch',
14
+ lines: [
15
+ '',
16
+ ` The ${s.primary('/sketch')} command is a lightweight alternative`,
17
+ ` to ${s.primary('/design')} for fast project planning.`,
18
+ '',
19
+ ` ${s.secondary('Key differences from /design:')}`,
20
+ '',
21
+ ` ${s.primary('/design')} Multi-phase, batched questions, thorough`,
22
+ ` Best with larger models (Sonnet/Opus)`,
23
+ '',
24
+ ` ${s.primary('/sketch')} 6 quick questions, one at a time`,
25
+ ` Works well with ${s.primaryBold('any model')} (including Haiku)`,
26
+ '',
27
+ ` Use ${s.primary('/sketch')} when you want to get started quickly`,
28
+ ` without a full requirements gathering session.`,
29
+ '',
30
+ ],
31
+ },
32
+ // Page 2: How It Works
33
+ {
34
+ title: 'How It Works',
35
+ lines: [
36
+ '',
37
+ ` The agent asks ${s.primaryBold('6 simple questions')}, one at a time:`,
38
+ '',
39
+ ` ${s.primary('1.')} What are you building?`,
40
+ ` ${s.primary('2.')} Who is the target user?`,
41
+ ` ${s.primary('3.')} What are the core features?`,
42
+ ` ${s.primary('4.')} What tech stack?`,
43
+ ` ${s.primary('5.')} Any constraints or requirements?`,
44
+ ` ${s.primary('6.')} What's the MVP scope?`,
45
+ '',
46
+ ` Each question appears as a simple dialog — type your`,
47
+ ` answer and press Enter to move to the next one.`,
48
+ '',
49
+ ` After all questions, the agent generates backlog items`,
50
+ ` just like ${s.primary('/design')} does.`,
51
+ '',
52
+ ` ${s.warning('TIP:')} For a more thorough planning process, see the`,
53
+ ` ${s.primary('Design Workflow')} tutorial in this section.`,
54
+ '',
55
+ ],
56
+ },
57
+ ],
58
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Anchors & Context Tutorial
3
+ *
4
+ * How to use anchors for persistent information across sessions.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const anchorsTutorial: TutorialBuilder;
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Anchors & Context Tutorial
3
+ *
4
+ * How to use anchors for persistent information across sessions.
5
+ */
6
+ export const anchorsTutorial = (s) => ({
7
+ id: 'anchors',
8
+ title: 'Anchors & Context',
9
+ description: 'Persistent notes and context management',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'What are Anchors?',
14
+ lines: [
15
+ '',
16
+ ` Anchors are ${s.primary('persistent notes')} that the AI always sees.`,
17
+ '',
18
+ ` Use them for:`,
19
+ '',
20
+ ` ${s.muted('•')} Project conventions ${s.muted('("Always use async/await")')}`,
21
+ ` ${s.muted('•')} Important decisions ${s.muted('("We chose PostgreSQL because...")')}`,
22
+ ` ${s.muted('•')} Safety reminders ${s.muted('("Don\'t modify the auth module")')}`,
23
+ ` ${s.muted('•')} Context that should persist ${s.muted('("User prefers tabs over spaces")')}`,
24
+ '',
25
+ ` Unlike conversation history, anchors ${s.primary('survive across sessions')}.`,
26
+ '',
27
+ ],
28
+ },
29
+ // Page 2: /anchors overlay
30
+ {
31
+ title: 'The /anchors Overlay',
32
+ lines: [
33
+ '',
34
+ ` Run ${s.primary('/anchors')} to manage your anchors:`,
35
+ '',
36
+ ` ${s.muted('─'.repeat(70))}`,
37
+ ` ${s.primaryBold('Anchors')} ${s.muted('[3/3]')}`,
38
+ '',
39
+ ` ${s.muted('All')} ${s.muted('Critical')} ${s.muted('Safety')} ${s.muted('Info')} ${s.muted('Global')} ${s.muted('Project')}`,
40
+ '',
41
+ ` ${s.primary('❯')} ${s.error('[S]')} ${s.warning('[G]')} Before deleting files, confirm the path...`,
42
+ ` ${s.error('[S]')} ${s.warning('[G]')} Before destructive git operations...`,
43
+ ` ${s.error('[S]')} ${s.warning('[G]')} Before DROP TABLE, TRUNCATE, or DELETE...`,
44
+ '',
45
+ ` ${s.muted('─'.repeat(70))}`,
46
+ '',
47
+ ],
48
+ },
49
+ // Page 3: Anchor badges
50
+ {
51
+ title: 'Anchor Badges',
52
+ lines: [
53
+ '',
54
+ ` Each anchor shows badges indicating its properties:`,
55
+ '',
56
+ ` ${s.secondary('Priority badges:')}`,
57
+ ` ${s.error('[C]')} Critical - Highest priority, always shown first`,
58
+ ` ${s.error('[S]')} Safety - Safety-related reminders`,
59
+ ` ${s.primary('[I]')} Info - General information`,
60
+ '',
61
+ ` ${s.secondary('Scope badges:')}`,
62
+ ` ${s.warning('[G]')} Global - Applies to all projects`,
63
+ ` ${s.primary('[P]')} Project - Only for current project`,
64
+ '',
65
+ ` ${s.muted('Example:')} ${s.error('[S]')} ${s.warning('[G]')} = Safety anchor, global scope`,
66
+ '',
67
+ ],
68
+ },
69
+ // Page 4: Filtering anchors
70
+ {
71
+ title: 'Filtering Anchors',
72
+ lines: [
73
+ '',
74
+ ` Use the tabs to filter anchors:`,
75
+ '',
76
+ ` ${s.primary('All')} ${s.muted('Critical')} ${s.muted('Safety')} ${s.muted('Info')} ${s.muted('Global')} ${s.muted('Project')}`,
77
+ '',
78
+ ` ${s.primary('All')} Show all anchors`,
79
+ ` ${s.primary('Critical')} Only critical priority`,
80
+ ` ${s.primary('Safety')} Only safety reminders`,
81
+ ` ${s.primary('Info')} Only informational`,
82
+ ` ${s.primary('Global')} Anchors for all projects`,
83
+ ` ${s.primary('Project')} Anchors for current project only`,
84
+ '',
85
+ ` ${s.secondary('Navigation:')}`,
86
+ ` ${s.primary('Tab')} or ${s.primary('←/→')} Switch tabs`,
87
+ ` ${s.primary('1-6')} Jump to tab by number`,
88
+ '',
89
+ ],
90
+ },
91
+ // Page 5: Anchor actions
92
+ {
93
+ title: 'Managing Anchors',
94
+ lines: [
95
+ '',
96
+ ` From the ${s.primary('/anchors')} list:`,
97
+ '',
98
+ ` ${s.primary('a')} Add new anchor`,
99
+ ` ${s.primary('e')} Edit selected anchor`,
100
+ ` ${s.primary('d')} Delete anchor`,
101
+ ` ${s.primary('/')} Search anchors`,
102
+ '',
103
+ ` ${s.secondary('Navigation:')}`,
104
+ '',
105
+ ` ${s.primary('↑/↓')} or ${s.primary('j/k')} Move between anchors`,
106
+ ` ${s.primary('q')} or ${s.primary('Esc')} Close overlay`,
107
+ '',
108
+ ],
109
+ },
110
+ // Page 6: Edit screen
111
+ {
112
+ title: 'Editing an Anchor',
113
+ lines: [
114
+ '',
115
+ ` Press ${s.primary('e')} to edit an anchor:`,
116
+ '',
117
+ ` ${s.muted('─'.repeat(50))}`,
118
+ ` ${s.primaryBold('EDIT ANCHOR')}`,
119
+ '',
120
+ ` ID: ${s.muted('builtin-file-safety')}`,
121
+ ` Priority: ${s.error('safety')}`,
122
+ ` Scope: ${s.warning('global')}`,
123
+ '',
124
+ ` ${s.secondary('Content:')}`,
125
+ ` ${s.muted('Before deleting files or directories, confirm')}`,
126
+ ` ${s.muted('the path is correct and consider if content')}`,
127
+ ` ${s.muted('should be backed up...')}`,
128
+ '',
129
+ ` ${s.muted('336 chars remaining')}`,
130
+ ` ${s.muted('─'.repeat(50))}`,
131
+ ` ${s.muted('←→ Navigate · Enter Save · Esc Cancel')}`,
132
+ '',
133
+ ],
134
+ },
135
+ // Page 7: Adding via REPL
136
+ {
137
+ title: 'Adding Anchors via Chat',
138
+ lines: [
139
+ '',
140
+ ` You can also ask the AI to create anchors:`,
141
+ '',
142
+ ` ${s.primary('compilr>')} Remember that we use tabs not spaces`,
143
+ '',
144
+ ` ${s.primary('compilr>')} Remember: never modify the auth module`,
145
+ '',
146
+ ` ${s.primary('compilr>')} Add an anchor: our API uses REST, not GraphQL`,
147
+ '',
148
+ ` The AI will create an anchor for you and confirm.`,
149
+ '',
150
+ ` ${s.warning('TIP:')} Be specific! The AI includes your exact wording`,
151
+ ` in the anchor content.`,
152
+ '',
153
+ ],
154
+ },
155
+ // Page 8: How AI uses anchors
156
+ {
157
+ title: 'How the AI Uses Anchors',
158
+ lines: [
159
+ '',
160
+ ` Anchors are included in the AI's ${s.primary('system prompt')}.`,
161
+ '',
162
+ ` This means:`,
163
+ '',
164
+ ` ${s.success('✓')} AI sees them at the start of every conversation`,
165
+ ` ${s.success('✓')} They persist across sessions`,
166
+ ` ${s.success('✓')} They're not affected by ${s.primary('/compact')}`,
167
+ ` ${s.success('✓')} Critical and safety anchors are prioritized`,
168
+ '',
169
+ ` ${s.secondary('Built-in anchors:')}`,
170
+ ` The CLI includes default safety anchors for:`,
171
+ ` ${s.muted('•')} File deletion safety`,
172
+ ` ${s.muted('•')} Git destructive operations`,
173
+ ` ${s.muted('•')} Database destructive queries`,
174
+ '',
175
+ ],
176
+ },
177
+ // Page 9: The /context command
178
+ {
179
+ title: 'The /context Command',
180
+ lines: [
181
+ '',
182
+ ` Run ${s.primary('/context')} to see your context usage:`,
183
+ '',
184
+ ` ${s.primaryBold('Context Usage')}`,
185
+ ` ${s.muted('─'.repeat(40))}`,
186
+ ` Usage: ${s.success('████████')}${s.muted('████████████')} ${s.primary('42.3%')}`,
187
+ ` Tokens: ${s.primary('423,456')} / 1,000,000`,
188
+ ` Messages: ${s.primary('156')}`,
189
+ ` Turns: ${s.primary('78')}`,
190
+ '',
191
+ ` ${s.secondary('What each metric means:')}`,
192
+ '',
193
+ ` ${s.primary('Usage')} Percentage of context window used`,
194
+ ` ${s.primary('Tokens')} Current tokens / maximum allowed`,
195
+ ` ${s.primary('Messages')} Total messages in conversation`,
196
+ ` ${s.primary('Turns')} Back-and-forth exchanges`,
197
+ '',
198
+ ],
199
+ },
200
+ // Page 10: Context with team agents
201
+ {
202
+ title: 'Context with Team Agents',
203
+ lines: [
204
+ '',
205
+ ` When using ${s.primary('team agents')}, /context shows per-agent breakdown:`,
206
+ '',
207
+ ` ${s.primaryBold('Context Usage')}`,
208
+ ` ${s.muted('─'.repeat(40))}`,
209
+ ` Usage: ${s.success('██████')}${s.muted('██████████████')} ${s.primary('31.2%')}`,
210
+ ` Tokens: ${s.primary('312,400')} / 1,000,000`,
211
+ '',
212
+ ` ${s.secondary('By Agent')}`,
213
+ ` ${s.muted('─'.repeat(40))}`,
214
+ ` ${s.success('●')} ${s.muted('[•_•]')} $default ${s.success('████')}${s.muted('██████')} ${s.primary('12.4%')} (32 msgs)`,
215
+ ` ${s.primary('○')} ${s.muted('[▣_▣]')} $pm ${s.primary('███')}${s.muted('███████')} ${s.primary('8.1%')} (18 msgs)`,
216
+ ` ${s.primary('○')} ${s.muted('[◈_◈]')} $arch ${s.primary('██')}${s.muted('████████')} ${s.primary('6.2%')} (14 msgs)`,
217
+ ` ${s.primary('○')} ${s.muted('[▲_▲]')} $dev ${s.primary('██')}${s.muted('████████')} ${s.primary('4.5%')} (12 msgs)`,
218
+ '',
219
+ ` ${s.success('●')} = active agent ${s.primary('○')} = inactive`,
220
+ '',
221
+ ],
222
+ },
223
+ // Page 11: Managing context
224
+ {
225
+ title: 'Managing Context',
226
+ lines: [
227
+ '',
228
+ ` When context gets full, use ${s.primary('/compact')} to summarize:`,
229
+ '',
230
+ ` ${s.primary('compilr>')} /compact`,
231
+ '',
232
+ ` ${s.muted('Compacting context...')}`,
233
+ ` ${s.success('✓')} Reduced from 892,000 to 45,000 tokens`,
234
+ '',
235
+ ` ${s.secondary('What /compact does:')}`,
236
+ '',
237
+ ` ${s.muted('•')} Summarizes conversation history`,
238
+ ` ${s.muted('•')} Preserves key decisions and context`,
239
+ ` ${s.muted('•')} Keeps anchors intact (they're separate)`,
240
+ ` ${s.muted('•')} Maintains recent messages for continuity`,
241
+ '',
242
+ ` ${s.warning('TIP:')} Run ${s.primary('/compact')} when usage exceeds 80%`,
243
+ ` to avoid hitting the context limit mid-conversation.`,
244
+ '',
245
+ ],
246
+ },
247
+ ],
248
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Importing an Existing Project Tutorial
3
+ *
4
+ * Detailed walkthrough of the /new wizard's "Add workflow to existing project" flow.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const importProjectTutorial: TutorialBuilder;
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Importing an Existing Project Tutorial
3
+ *
4
+ * Detailed walkthrough of the /new wizard's "Add workflow to existing project" flow.
5
+ */
6
+ export const importProjectTutorial = (s) => ({
7
+ id: 'import-project',
8
+ title: 'Importing an Existing Project',
9
+ description: 'Add compilr workflow to existing code',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Importing an Existing Project',
14
+ lines: [
15
+ '',
16
+ ` Already have a codebase? You can add compilr workflow tracking`,
17
+ ` to any existing project without changing your code.`,
18
+ '',
19
+ ` Run ${s.primary('/new')} and select the second option:`,
20
+ '',
21
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[0/8]')}`,
22
+ '',
23
+ ` ${s.primary('What would you like to do?')}`,
24
+ '',
25
+ ` 1. Start a new project`,
26
+ ` ${s.primary('>')} 2. Add workflow to existing project`,
27
+ '',
28
+ ` ${s.muted('Import an existing codebase and add')}`,
29
+ ` ${s.muted('compilr workflow tracking.')}`,
30
+ '',
31
+ ` ${s.muted('Up/Down Navigate | Enter Select | q/Esc Cancel')}`,
32
+ '',
33
+ ],
34
+ },
35
+ // Page 2: Project Path [1/5]
36
+ {
37
+ title: 'Project Path',
38
+ lines: [
39
+ '',
40
+ ` ${s.primaryBold('Import Existing Project')} ${s.muted('[1/5]')}`,
41
+ '',
42
+ ` ${s.primary('Enter path to existing project')}`,
43
+ '',
44
+ ` ${s.primary('>')} my-ext-project${s.muted('|')}`,
45
+ '',
46
+ ` ${s.muted('Enter absolute or relative path to project directory')}`,
47
+ ` ${s.muted('Tab for autocomplete')}`,
48
+ '',
49
+ ` ${s.muted('Enter Confirm | Tab Autocomplete | Esc Cancel')}`,
50
+ '',
51
+ ` ${s.warning('TIP:')} Use Tab to autocomplete directory names as you type.`,
52
+ '',
53
+ ],
54
+ },
55
+ // Page 3: Detection Results [2/5]
56
+ {
57
+ title: 'Detection Results',
58
+ lines: [
59
+ '',
60
+ ` ${s.primaryBold('Import Existing Project')} ${s.muted('[2/5]')}`,
61
+ '',
62
+ ` ${s.primary('Project Detection Results')}`,
63
+ '',
64
+ ` ${s.success('✓')} Name: My App ${s.muted('(from package.json)')}`,
65
+ ` ${s.success('✓')} Language: Node.js / TypeScript`,
66
+ ` ${s.muted('-')} Framework: Not detected`,
67
+ ` ${s.success('✓')} Git: https://github.com/user/my-app.git`,
68
+ ` ${s.success('✓')} COMPILR.md: Found`,
69
+ '',
70
+ ` ${s.muted('Press Enter to continue, or Esc to go back')}`,
71
+ '',
72
+ ` ${s.muted('Enter Continue | Esc Back')}`,
73
+ '',
74
+ ` The wizard auto-detects your project's language, framework,`,
75
+ ` git remote, and existing COMPILR.md file.`,
76
+ '',
77
+ ],
78
+ },
79
+ // Page 4: Git Remote [3/5]
80
+ {
81
+ title: 'Git Repository Setup',
82
+ lines: [
83
+ '',
84
+ ` ${s.primaryBold('Import Existing Project')} ${s.muted('[3/5]')}`,
85
+ '',
86
+ ` ${s.primary('Git Repository Setup')}`,
87
+ '',
88
+ ` ${s.muted('Detected remote:')} https://github.com/user/my-app.git`,
89
+ '',
90
+ ` ${s.primary('>')} Use detected remote`,
91
+ ` Enter different remote URL`,
92
+ ` Skip git remote (local only)`,
93
+ '',
94
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
95
+ '',
96
+ ` If a git remote is detected, you can use it, change it, or skip.`,
97
+ '',
98
+ ],
99
+ },
100
+ // Page 5: Workflow Mode [4/5]
101
+ {
102
+ title: 'Workflow Mode',
103
+ lines: [
104
+ '',
105
+ ` ${s.primaryBold('Import Existing Project')} ${s.muted('[4/5]')}`,
106
+ '',
107
+ ` ${s.primary('Workflow mode')}`,
108
+ '',
109
+ ` ${s.primary('>')} 1. Flexible (user-driven, exploratory) ${s.muted('(recommended)')}`,
110
+ ` 2. Guided (structured step-by-step workflow)`,
111
+ '',
112
+ ` ${s.muted('Flexible: Work at your own pace, agent responds to requests')}`,
113
+ ` ${s.muted('Guided: Agent suggests next steps, tracks work item progress')}`,
114
+ '',
115
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
116
+ '',
117
+ ` ${s.warning('TIP:')} Start with Flexible. Switch to Guided anytime via ${s.primary('/workflow')}.`,
118
+ '',
119
+ ],
120
+ },
121
+ // Page 6: Confirmation [5/5]
122
+ {
123
+ title: 'Confirmation',
124
+ lines: [
125
+ '',
126
+ ` ${s.primaryBold('Import Existing Project')} ${s.muted('[5/5]')}`,
127
+ '',
128
+ ` ${s.primary('Ready to import project?')}`,
129
+ '',
130
+ ` Path: ${s.primary('/workspace/my-ext-project')}`,
131
+ ` Name: ${s.primary('My App')}`,
132
+ ` Language: ${s.primary('Node.js / TypeScript')}`,
133
+ ` Git Remote: ${s.primary('https://github.com/user/my-app.git')}`,
134
+ ` Workflow: ${s.primary('Flexible (user-driven, exploratory)')}`,
135
+ '',
136
+ ` ${s.muted('Will create:')}`,
137
+ ` ${s.success('✓')} .compilr/config.json ${s.muted('(local config)')}`,
138
+ ` ${s.success('✓')} Database entry ${s.muted('(project tracking)')}`,
139
+ '',
140
+ ` ${s.muted('Note: This project is outside your projects folder.')}`,
141
+ ` ${s.muted(' It will be tracked at its current location.')}`,
142
+ '',
143
+ ` ${s.primary('>')} Import`,
144
+ ` Cancel`,
145
+ '',
146
+ ` ${s.muted('Up/Down Navigate | Enter Confirm | Esc Back')}`,
147
+ '',
148
+ ],
149
+ },
150
+ // Page 7: What Gets Created
151
+ {
152
+ title: 'What Gets Created',
153
+ lines: [
154
+ '',
155
+ ` ${s.secondary('After pressing Import, you get:')}`,
156
+ '',
157
+ ` ${s.success('✓')} ${s.primary('.compilr/config.json')} - Local project config`,
158
+ ` ${s.muted('Added to your existing project directory')}`,
159
+ '',
160
+ ` ${s.success('✓')} ${s.primary('Database entry')} - Project tracking`,
161
+ ` ${s.muted('The CLI now knows about your project')}`,
162
+ '',
163
+ ` ${s.secondary('Your existing code is not modified.')}`,
164
+ ` No files are changed, moved, or deleted.`,
165
+ '',
166
+ ` You'll return to the Dashboard with your imported project`,
167
+ ` selected and ready to use.`,
168
+ '',
169
+ ],
170
+ },
171
+ ],
172
+ });