@compilr-dev/cli 0.5.0 → 0.5.1

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 (591) hide show
  1. package/README.md +236 -68
  2. package/dist/.tsbuildinfo.app +1 -0
  3. package/dist/.tsbuildinfo.data +1 -0
  4. package/dist/.tsbuildinfo.domain +1 -0
  5. package/dist/.tsbuildinfo.foundation +1 -0
  6. package/dist/agent.d.ts +61 -4
  7. package/dist/agent.js +241 -245
  8. package/dist/anchors/index.d.ts +1 -1
  9. package/dist/anchors/index.js +1 -1
  10. package/dist/anchors/project-anchors.d.ts +2 -2
  11. package/dist/anchors/project-anchors.js +1 -1
  12. package/dist/auth/api-client.d.ts +124 -0
  13. package/dist/auth/api-client.js +261 -0
  14. package/dist/auth/index.d.ts +172 -0
  15. package/dist/auth/index.js +545 -0
  16. package/dist/auth/storage.d.ts +52 -0
  17. package/dist/auth/storage.js +118 -0
  18. package/dist/changelog/index.d.ts +16 -0
  19. package/dist/changelog/index.js +24 -0
  20. package/dist/changelog/releases.d.ts +17 -0
  21. package/dist/changelog/releases.js +63 -0
  22. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  23. package/dist/commands-v2/handlers/auth.js +118 -0
  24. package/dist/commands-v2/handlers/background.d.ts +14 -0
  25. package/dist/commands-v2/handlers/background.js +276 -0
  26. package/dist/commands-v2/handlers/context.js +266 -81
  27. package/dist/commands-v2/handlers/core.d.ts +1 -0
  28. package/dist/commands-v2/handlers/core.js +133 -8
  29. package/dist/commands-v2/handlers/debug.js +18 -0
  30. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  31. package/dist/commands-v2/handlers/delegations.js +29 -0
  32. package/dist/commands-v2/handlers/files.d.ts +8 -0
  33. package/dist/commands-v2/handlers/files.js +162 -0
  34. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  35. package/dist/commands-v2/handlers/filter.js +130 -0
  36. package/dist/commands-v2/handlers/games.d.ts +7 -0
  37. package/dist/commands-v2/handlers/games.js +57 -0
  38. package/dist/commands-v2/handlers/index.d.ts +13 -0
  39. package/dist/commands-v2/handlers/index.js +39 -0
  40. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  41. package/dist/commands-v2/handlers/mcp.js +39 -0
  42. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  43. package/dist/commands-v2/handlers/notifications.js +34 -0
  44. package/dist/commands-v2/handlers/project.js +244 -23
  45. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  46. package/dist/commands-v2/handlers/reset.js +118 -0
  47. package/dist/commands-v2/handlers/session.d.ts +161 -0
  48. package/dist/commands-v2/handlers/session.js +805 -0
  49. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  50. package/dist/commands-v2/handlers/settings.js +217 -35
  51. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  52. package/dist/commands-v2/handlers/tasks.js +36 -0
  53. package/dist/commands-v2/handlers/team.d.ts +9 -0
  54. package/dist/commands-v2/handlers/team.js +549 -0
  55. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  56. package/dist/commands-v2/handlers/terminals.js +34 -0
  57. package/dist/commands-v2/index.d.ts +3 -2
  58. package/dist/commands-v2/index.js +4 -1
  59. package/dist/commands-v2/registry.d.ts +15 -0
  60. package/dist/commands-v2/registry.js +34 -0
  61. package/dist/commands-v2/types.d.ts +81 -3
  62. package/dist/commands.js +13 -0
  63. package/dist/compilr-diff-companion.vsix +0 -0
  64. package/dist/db/index.js +98 -4
  65. package/dist/db/repositories/document-repository.d.ts +2 -0
  66. package/dist/db/repositories/document-repository.js +5 -1
  67. package/dist/db/repositories/index.d.ts +2 -0
  68. package/dist/db/repositories/index.js +1 -0
  69. package/dist/db/repositories/plan-repository.d.ts +101 -0
  70. package/dist/db/repositories/plan-repository.js +275 -0
  71. package/dist/db/repositories/project-repository.d.ts +6 -0
  72. package/dist/db/repositories/project-repository.js +41 -0
  73. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  74. package/dist/db/repositories/work-item-repository.js +69 -4
  75. package/dist/db/schema.d.ts +40 -3
  76. package/dist/db/schema.js +66 -3
  77. package/dist/episodes/index.d.ts +20 -0
  78. package/dist/episodes/index.js +27 -0
  79. package/dist/episodes/recorder.d.ts +51 -0
  80. package/dist/episodes/recorder.js +195 -0
  81. package/dist/episodes/significant-work.d.ts +21 -0
  82. package/dist/episodes/significant-work.js +56 -0
  83. package/dist/episodes/store.d.ts +38 -0
  84. package/dist/episodes/store.js +199 -0
  85. package/dist/episodes/types.d.ts +35 -0
  86. package/dist/episodes/types.js +6 -0
  87. package/dist/episodes/work-at-risk.d.ts +12 -0
  88. package/dist/episodes/work-at-risk.js +38 -0
  89. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  90. package/dist/episodes/work-summary-anchor.js +73 -0
  91. package/dist/games/coins.d.ts +66 -0
  92. package/dist/games/coins.js +165 -0
  93. package/dist/games/game-base.d.ts +84 -0
  94. package/dist/games/game-base.js +204 -0
  95. package/dist/games/index.d.ts +16 -0
  96. package/dist/games/index.js +49 -0
  97. package/dist/games/scores.d.ts +69 -0
  98. package/dist/games/scores.js +191 -0
  99. package/dist/games/tetris/board.d.ts +59 -0
  100. package/dist/games/tetris/board.js +170 -0
  101. package/dist/games/tetris/index.d.ts +109 -0
  102. package/dist/games/tetris/index.js +610 -0
  103. package/dist/games/tetris/pieces.d.ts +44 -0
  104. package/dist/games/tetris/pieces.js +271 -0
  105. package/dist/games/tetris/renderer.d.ts +26 -0
  106. package/dist/games/tetris/renderer.js +77 -0
  107. package/dist/guide/guide-content.d.ts +23 -0
  108. package/dist/guide/guide-content.js +196 -0
  109. package/dist/guide/index.d.ts +8 -0
  110. package/dist/guide/index.js +7 -0
  111. package/dist/guide/shared-content.d.ts +37 -0
  112. package/dist/guide/shared-content.js +1272 -0
  113. package/dist/guide/tutorial-helpers.d.ts +57 -0
  114. package/dist/guide/tutorial-helpers.js +147 -0
  115. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  116. package/dist/handlers/ask-user-handlers.js +104 -0
  117. package/dist/handlers/delegation-handlers.d.ts +34 -0
  118. package/dist/handlers/delegation-handlers.js +291 -0
  119. package/dist/handlers/permission-handler.d.ts +30 -0
  120. package/dist/handlers/permission-handler.js +205 -0
  121. package/dist/index.d.ts +11 -1
  122. package/dist/index.js +448 -271
  123. package/dist/input-handlers/memory-handler.d.ts +1 -1
  124. package/dist/input-handlers/memory-handler.js +2 -1
  125. package/dist/models/index.d.ts +10 -0
  126. package/dist/models/index.js +12 -0
  127. package/dist/models/model-registry.d.ts +38 -0
  128. package/dist/models/model-registry.js +69 -0
  129. package/dist/models/model-tiers.d.ts +28 -0
  130. package/dist/models/model-tiers.js +71 -0
  131. package/dist/models/model-validation.d.ts +25 -0
  132. package/dist/models/model-validation.js +291 -0
  133. package/dist/models/ollama-models.d.ts +73 -0
  134. package/dist/models/ollama-models.js +178 -0
  135. package/dist/models/provider-types.d.ts +6 -0
  136. package/dist/models/provider-types.js +1 -0
  137. package/dist/models/providers.d.ts +35 -0
  138. package/dist/models/providers.js +58 -0
  139. package/dist/models/types.d.ts +4 -0
  140. package/dist/models/types.js +4 -0
  141. package/dist/multi-agent/activity.d.ts +21 -0
  142. package/dist/multi-agent/activity.js +34 -0
  143. package/dist/multi-agent/agent-selection.d.ts +55 -0
  144. package/dist/multi-agent/agent-selection.js +90 -0
  145. package/dist/multi-agent/artifacts.d.ts +197 -0
  146. package/dist/multi-agent/artifacts.js +379 -0
  147. package/dist/multi-agent/checkpointer.d.ts +138 -0
  148. package/dist/multi-agent/checkpointer.js +471 -0
  149. package/dist/multi-agent/collision-utils.d.ts +16 -0
  150. package/dist/multi-agent/collision-utils.js +28 -0
  151. package/dist/multi-agent/context-resolver.d.ts +97 -0
  152. package/dist/multi-agent/context-resolver.js +316 -0
  153. package/dist/multi-agent/custom-agents.d.ts +83 -0
  154. package/dist/multi-agent/custom-agents.js +227 -0
  155. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  156. package/dist/multi-agent/delegation-tracker.js +243 -0
  157. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  158. package/dist/multi-agent/file-lock-hook.js +97 -0
  159. package/dist/multi-agent/file-locks.d.ts +58 -0
  160. package/dist/multi-agent/file-locks.js +194 -0
  161. package/dist/multi-agent/index.d.ts +24 -0
  162. package/dist/multi-agent/index.js +30 -0
  163. package/dist/multi-agent/mention-parser.d.ts +64 -0
  164. package/dist/multi-agent/mention-parser.js +146 -0
  165. package/dist/multi-agent/notification-manager.d.ts +84 -0
  166. package/dist/multi-agent/notification-manager.js +224 -0
  167. package/dist/multi-agent/pending-requests.d.ts +122 -0
  168. package/dist/multi-agent/pending-requests.js +155 -0
  169. package/dist/multi-agent/session-registry.d.ts +139 -0
  170. package/dist/multi-agent/session-registry.js +514 -0
  171. package/dist/multi-agent/shared-context.d.ts +293 -0
  172. package/dist/multi-agent/shared-context.js +671 -0
  173. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  174. package/dist/multi-agent/skill-requirements.js +178 -0
  175. package/dist/multi-agent/task-assignment.d.ts +69 -0
  176. package/dist/multi-agent/task-assignment.js +123 -0
  177. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  178. package/dist/multi-agent/task-suggestion.js +72 -0
  179. package/dist/multi-agent/team-agent.d.ts +201 -0
  180. package/dist/multi-agent/team-agent.js +488 -0
  181. package/dist/multi-agent/team.d.ts +286 -0
  182. package/dist/multi-agent/team.js +610 -0
  183. package/dist/multi-agent/tool-config.d.ts +110 -0
  184. package/dist/multi-agent/tool-config.js +661 -0
  185. package/dist/multi-agent/types.d.ts +211 -0
  186. package/dist/multi-agent/types.js +617 -0
  187. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  188. package/dist/prompts/plan-mode-prompt.js +95 -0
  189. package/dist/repl-helpers.js +3 -2
  190. package/dist/repl-v2.d.ts +401 -2
  191. package/dist/repl-v2.js +2577 -65
  192. package/dist/session/index.d.ts +6 -0
  193. package/dist/session/index.js +6 -0
  194. package/dist/session/project-session-manager.d.ts +158 -0
  195. package/dist/session/project-session-manager.js +650 -0
  196. package/dist/settings/index.d.ts +133 -13
  197. package/dist/settings/index.js +329 -24
  198. package/dist/settings/mcp-config.d.ts +76 -0
  199. package/dist/settings/mcp-config.js +143 -0
  200. package/dist/settings/paths.d.ts +4 -0
  201. package/dist/settings/paths.js +6 -0
  202. package/dist/shared-handlers.d.ts +62 -0
  203. package/dist/shared-handlers.js +48 -0
  204. package/dist/system-prompt/builder.d.ts +5 -0
  205. package/dist/system-prompt/builder.js +4 -0
  206. package/dist/system-prompt/index.d.ts +18 -0
  207. package/dist/system-prompt/index.js +18 -0
  208. package/dist/system-prompt/modules.d.ts +5 -0
  209. package/dist/system-prompt/modules.js +4 -0
  210. package/dist/tabbed-menu.js +2 -1
  211. package/dist/templates/compilr-md-import.d.ts +16 -0
  212. package/dist/templates/compilr-md-import.js +241 -0
  213. package/dist/templates/compilr-md.js +10 -61
  214. package/dist/templates/config-json.d.ts +1 -25
  215. package/dist/templates/index.d.ts +2 -0
  216. package/dist/templates/index.js +34 -73
  217. package/dist/tool-names.d.ts +108 -0
  218. package/dist/tool-names.js +227 -0
  219. package/dist/tools/anchor-tools.d.ts +4 -4
  220. package/dist/tools/anchor-tools.js +1 -1
  221. package/dist/tools/artifact-tools.d.ts +42 -0
  222. package/dist/tools/artifact-tools.js +328 -0
  223. package/dist/tools/ask-user-simple.d.ts +1 -1
  224. package/dist/tools/ask-user-simple.js +2 -1
  225. package/dist/tools/ask-user.d.ts +1 -1
  226. package/dist/tools/ask-user.js +2 -1
  227. package/dist/tools/backlog-wrappers.d.ts +5 -3
  228. package/dist/tools/backlog-wrappers.js +16 -1
  229. package/dist/tools/backlog.d.ts +2 -2
  230. package/dist/tools/backlog.js +1 -1
  231. package/dist/tools/db-tools.d.ts +8 -61
  232. package/dist/tools/db-tools.js +8 -13
  233. package/dist/tools/delegate-background.d.ts +27 -0
  234. package/dist/tools/delegate-background.js +115 -0
  235. package/dist/tools/delegate.d.ts +22 -0
  236. package/dist/tools/delegate.js +97 -0
  237. package/dist/tools/delegation-status.d.ts +16 -0
  238. package/dist/tools/delegation-status.js +128 -0
  239. package/dist/tools/document-db.d.ts +5 -5
  240. package/dist/tools/document-db.js +1 -1
  241. package/dist/tools/guide-tool.d.ts +12 -0
  242. package/dist/tools/guide-tool.js +59 -0
  243. package/dist/tools/handoff.d.ts +25 -0
  244. package/dist/tools/handoff.js +99 -0
  245. package/dist/tools/meta-tools.d.ts +26 -0
  246. package/dist/tools/meta-tools.js +47 -0
  247. package/dist/tools/plan-tools.d.ts +54 -0
  248. package/dist/tools/plan-tools.js +338 -0
  249. package/dist/tools/platform-adapter.d.ts +29 -0
  250. package/dist/tools/platform-adapter.js +394 -0
  251. package/dist/tools/project-db.d.ts +5 -73
  252. package/dist/tools/project-db.js +5 -336
  253. package/dist/tools/recall-work-tool.d.ts +18 -0
  254. package/dist/tools/recall-work-tool.js +82 -0
  255. package/dist/tools/workitem-db.d.ts +43 -11
  256. package/dist/tools/workitem-db.js +186 -5
  257. package/dist/tools.d.ts +67 -2
  258. package/dist/tools.js +237 -47
  259. package/dist/ui/autocomplete-controller.d.ts +42 -0
  260. package/dist/ui/autocomplete-controller.js +384 -0
  261. package/dist/ui/base/index.d.ts +1 -1
  262. package/dist/ui/base/index.js +1 -1
  263. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  264. package/dist/ui/base/overlay-base-v2.js +14 -0
  265. package/dist/ui/base/render-utils.d.ts +19 -0
  266. package/dist/ui/base/render-utils.js +25 -0
  267. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  268. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  269. package/dist/ui/constants/labels.d.ts +14 -0
  270. package/dist/ui/constants/labels.js +51 -0
  271. package/dist/ui/conversation-store.d.ts +55 -0
  272. package/dist/ui/conversation-store.js +107 -0
  273. package/dist/ui/conversation.js +11 -13
  274. package/dist/ui/diff.d.ts +7 -1
  275. package/dist/ui/diff.js +85 -48
  276. package/dist/ui/ephemeral.js +3 -9
  277. package/dist/ui/file-autocomplete.d.ts +24 -0
  278. package/dist/ui/file-autocomplete.js +56 -0
  279. package/dist/ui/footer-renderer.d.ts +69 -0
  280. package/dist/ui/footer-renderer.js +431 -0
  281. package/dist/ui/footer.d.ts +74 -7
  282. package/dist/ui/footer.js +173 -16
  283. package/dist/ui/input-controller.d.ts +51 -0
  284. package/dist/ui/input-controller.js +176 -0
  285. package/dist/ui/input-prompt.d.ts +19 -0
  286. package/dist/ui/input-prompt.js +206 -14
  287. package/dist/ui/keyboard-handler.d.ts +57 -0
  288. package/dist/ui/keyboard-handler.js +557 -0
  289. package/dist/ui/live-region-facade.d.ts +42 -0
  290. package/dist/ui/live-region-facade.js +205 -0
  291. package/dist/ui/live-region.d.ts +0 -4
  292. package/dist/ui/live-region.js +6 -14
  293. package/dist/ui/mascot/renderer.d.ts +1 -1
  294. package/dist/ui/mascot/renderer.js +37 -2
  295. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  296. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  297. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  298. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  299. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  300. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  301. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  302. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  303. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  304. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  305. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  306. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  307. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  308. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  309. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  310. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  311. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  312. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  313. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  314. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  315. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  316. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  317. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  318. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  319. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  320. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  321. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  322. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  323. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  324. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  325. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  326. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  327. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  328. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  329. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  330. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  331. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  332. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  333. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  334. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  335. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  336. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  337. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  338. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  339. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  340. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  341. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  342. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  343. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  344. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  345. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  346. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  347. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  348. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  349. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  350. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  351. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  352. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  353. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  354. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  355. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  356. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  357. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  358. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  359. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  360. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  361. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  362. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  363. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  364. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  365. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  366. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  367. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  368. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  369. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  370. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  371. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  372. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  373. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  374. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  375. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  376. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  377. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  378. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  379. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  380. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  381. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  382. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  383. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  384. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  385. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  386. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  387. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  388. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  389. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  390. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  391. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  392. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  393. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  394. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  395. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  396. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  397. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  398. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  399. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  400. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  401. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  402. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  403. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  404. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  405. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  406. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  407. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  408. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  409. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  410. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  411. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  412. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  413. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  414. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  415. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  416. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  417. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  418. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  419. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  420. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  421. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  422. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  423. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  424. package/dist/ui/overlay/impl/workflow-overlay-v2.js +5 -1
  425. package/dist/ui/overlay/index.d.ts +20 -1
  426. package/dist/ui/overlay/index.js +19 -0
  427. package/dist/ui/overlay/types.d.ts +5 -0
  428. package/dist/ui/overlay-manager.d.ts +43 -0
  429. package/dist/ui/overlay-manager.js +238 -0
  430. package/dist/ui/overlays.js +4 -16
  431. package/dist/ui/permission-overlay.js +6 -5
  432. package/dist/ui/status-bar-controller.d.ts +33 -0
  433. package/dist/ui/status-bar-controller.js +99 -0
  434. package/dist/ui/subagent-renderer.js +3 -19
  435. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  436. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  437. package/dist/ui/terminal-line-builders.d.ts +17 -0
  438. package/dist/ui/terminal-line-builders.js +42 -0
  439. package/dist/ui/terminal-render-item.d.ts +16 -0
  440. package/dist/ui/terminal-render-item.js +267 -0
  441. package/dist/ui/terminal-renderer.d.ts +7 -8
  442. package/dist/ui/terminal-renderer.js +7 -8
  443. package/dist/ui/terminal-types.d.ts +179 -0
  444. package/dist/ui/terminal-types.js +34 -0
  445. package/dist/ui/terminal-ui.d.ts +144 -276
  446. package/dist/ui/terminal-ui.js +384 -1861
  447. package/dist/ui/todo-zone.d.ts +19 -1
  448. package/dist/ui/todo-zone.js +71 -13
  449. package/dist/ui/tool-formatters.js +512 -1
  450. package/dist/ui/turn-metrics.d.ts +56 -0
  451. package/dist/ui/turn-metrics.js +75 -0
  452. package/dist/ui/types.d.ts +28 -0
  453. package/dist/ui/types.js +1 -0
  454. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  455. package/dist/ui/vscode-diff-ipc.js +385 -0
  456. package/dist/utils/credentials.d.ts +24 -5
  457. package/dist/utils/credentials.js +123 -9
  458. package/dist/utils/format-tokens.d.ts +13 -0
  459. package/dist/utils/format-tokens.js +18 -0
  460. package/dist/utils/git-config.d.ts +26 -0
  461. package/dist/utils/git-config.js +54 -0
  462. package/dist/utils/message-utils.d.ts +61 -0
  463. package/dist/utils/message-utils.js +72 -0
  464. package/dist/utils/model-tiers.d.ts +8 -1
  465. package/dist/utils/model-tiers.js +38 -16
  466. package/dist/utils/open-browser.d.ts +5 -0
  467. package/dist/utils/open-browser.js +32 -0
  468. package/dist/utils/path-safety.js +3 -2
  469. package/dist/utils/project-detection.d.ts +58 -0
  470. package/dist/utils/project-detection.js +424 -0
  471. package/dist/utils/project-memory.js +2 -1
  472. package/dist/utils/project-status.d.ts +2 -2
  473. package/dist/utils/startup-perf.d.ts +18 -0
  474. package/dist/utils/startup-perf.js +60 -0
  475. package/dist/utils/token-tracker.d.ts +62 -0
  476. package/dist/utils/token-tracker.js +150 -0
  477. package/dist/utils/token-types.d.ts +23 -0
  478. package/dist/utils/token-types.js +18 -0
  479. package/dist/utils/types/config-types.d.ts +32 -0
  480. package/dist/utils/types/config-types.js +8 -0
  481. package/dist/utils/update-checker.d.ts +28 -0
  482. package/dist/utils/update-checker.js +106 -0
  483. package/dist/utils/version.d.ts +7 -0
  484. package/dist/utils/version.js +10 -0
  485. package/dist/utils/vscode-detect.d.ts +39 -0
  486. package/dist/utils/vscode-detect.js +137 -0
  487. package/package.json +25 -12
  488. package/dist/commands/handler-types.d.ts +0 -68
  489. package/dist/commands/handler-types.js +0 -8
  490. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  491. package/dist/commands/handlers/agent-commands.js +0 -305
  492. package/dist/commands/handlers/design-commands.d.ts +0 -15
  493. package/dist/commands/handlers/design-commands.js +0 -334
  494. package/dist/commands/handlers/index.d.ts +0 -20
  495. package/dist/commands/handlers/index.js +0 -43
  496. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  497. package/dist/commands/handlers/overlay-commands.js +0 -287
  498. package/dist/commands/handlers/project-commands.d.ts +0 -11
  499. package/dist/commands/handlers/project-commands.js +0 -167
  500. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  501. package/dist/commands/handlers/simple-commands.js +0 -144
  502. package/dist/commands/registry.d.ts +0 -50
  503. package/dist/commands/registry.js +0 -75
  504. package/dist/index.old.d.ts +0 -7
  505. package/dist/index.old.js +0 -1014
  506. package/dist/repl.d.ts +0 -149
  507. package/dist/repl.js +0 -1151
  508. package/dist/templates/claude-md.d.ts +0 -7
  509. package/dist/templates/claude-md.js +0 -189
  510. package/dist/test-autocomplete.d.ts +0 -7
  511. package/dist/test-autocomplete.js +0 -85
  512. package/dist/test-tabbed-menu.d.ts +0 -7
  513. package/dist/test-tabbed-menu.js +0 -25
  514. package/dist/tool-selector.d.ts +0 -71
  515. package/dist/tool-selector.js +0 -184
  516. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  517. package/dist/ui/agents-overlay-v2.js +0 -809
  518. package/dist/ui/agents-overlay.d.ts +0 -12
  519. package/dist/ui/agents-overlay.js +0 -863
  520. package/dist/ui/anchors-overlay.d.ts +0 -12
  521. package/dist/ui/anchors-overlay.js +0 -775
  522. package/dist/ui/arch-type-overlay.d.ts +0 -15
  523. package/dist/ui/arch-type-overlay.js +0 -201
  524. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  525. package/dist/ui/ask-user-overlay-v2.js +0 -555
  526. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  527. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  528. package/dist/ui/backlog-overlay.d.ts +0 -32
  529. package/dist/ui/backlog-overlay.js +0 -652
  530. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  531. package/dist/ui/commands-overlay-v2.js +0 -441
  532. package/dist/ui/commands-overlay.d.ts +0 -16
  533. package/dist/ui/commands-overlay.js +0 -439
  534. package/dist/ui/config-overlay.d.ts +0 -35
  535. package/dist/ui/config-overlay.js +0 -707
  536. package/dist/ui/docs-overlay.d.ts +0 -17
  537. package/dist/ui/docs-overlay.js +0 -303
  538. package/dist/ui/footer-v2.d.ts +0 -222
  539. package/dist/ui/footer-v2.js +0 -1349
  540. package/dist/ui/help-overlay-v2.d.ts +0 -34
  541. package/dist/ui/help-overlay-v2.js +0 -309
  542. package/dist/ui/help-overlay.d.ts +0 -16
  543. package/dist/ui/help-overlay.js +0 -316
  544. package/dist/ui/init-overlay-v2.d.ts +0 -34
  545. package/dist/ui/init-overlay-v2.js +0 -600
  546. package/dist/ui/init-overlay.d.ts +0 -34
  547. package/dist/ui/init-overlay.js +0 -604
  548. package/dist/ui/input-prompt-v2.d.ts +0 -180
  549. package/dist/ui/input-prompt-v2.js +0 -999
  550. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  551. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  552. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  553. package/dist/ui/keys-overlay-v2.js +0 -248
  554. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  555. package/dist/ui/mascot-overlay-v2.js +0 -138
  556. package/dist/ui/mascot-overlay.d.ts +0 -21
  557. package/dist/ui/mascot-overlay.js +0 -146
  558. package/dist/ui/model-overlay-v2.d.ts +0 -49
  559. package/dist/ui/model-overlay-v2.js +0 -118
  560. package/dist/ui/model-overlay.d.ts +0 -27
  561. package/dist/ui/model-overlay.js +0 -221
  562. package/dist/ui/model-warning-overlay.d.ts +0 -30
  563. package/dist/ui/model-warning-overlay.js +0 -169
  564. package/dist/ui/new-overlay.d.ts +0 -34
  565. package/dist/ui/new-overlay.js +0 -604
  566. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  567. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  568. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  569. package/dist/ui/overlay/overlay-types.js +0 -22
  570. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  571. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  572. package/dist/ui/overlays/index.d.ts +0 -11
  573. package/dist/ui/overlays/index.js +0 -11
  574. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  575. package/dist/ui/permission-overlay-v2.js +0 -380
  576. package/dist/ui/projects-overlay.d.ts +0 -19
  577. package/dist/ui/projects-overlay.js +0 -484
  578. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  579. package/dist/ui/theme-overlay-v2.js +0 -135
  580. package/dist/ui/theme-overlay.d.ts +0 -24
  581. package/dist/ui/theme-overlay.js +0 -127
  582. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  583. package/dist/ui/tools-overlay-v2.js +0 -218
  584. package/dist/ui/tools-overlay.d.ts +0 -34
  585. package/dist/ui/tools-overlay.js +0 -230
  586. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  587. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  588. package/dist/ui/tutorial-overlay.d.ts +0 -11
  589. package/dist/ui/tutorial-overlay.js +0 -1034
  590. package/dist/ui/workflow-overlay.d.ts +0 -22
  591. package/dist/ui/workflow-overlay.js +0 -636
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Managing Projects Tutorial
3
+ *
4
+ * How to switch between projects, use /projects and /workflow,
5
+ * and archive/delete projects.
6
+ */
7
+ import type { TutorialBuilder } from '../../tutorial-types.js';
8
+ export declare const managingProjectsTutorial: TutorialBuilder;
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Managing Projects Tutorial
3
+ *
4
+ * How to switch between projects, use /projects and /workflow,
5
+ * and archive/delete projects.
6
+ */
7
+ export const managingProjectsTutorial = (s) => ({
8
+ id: 'managing-projects',
9
+ title: 'Managing Projects',
10
+ description: 'Switch, organize, and archive projects',
11
+ pages: [
12
+ // Page 1: Introduction
13
+ {
14
+ title: 'Managing Projects',
15
+ lines: [
16
+ '',
17
+ ` This tutorial covers:`,
18
+ '',
19
+ ` ${s.primary('/projects')} View and switch between projects`,
20
+ ` ${s.primary('/workflow')} Project status and actions`,
21
+ ` ${s.muted('Archiving')} Hide projects from active list`,
22
+ ` ${s.muted('Sessions')} What happens when you switch`,
23
+ '',
24
+ ` ${s.warning('TIP:')} You can also access ${s.primary('/projects')} from the Dashboard`,
25
+ ` by pressing ${s.primary('[p]')}.`,
26
+ '',
27
+ ],
28
+ },
29
+ // Page 2: /projects overlay
30
+ {
31
+ title: 'The /projects Overlay',
32
+ lines: [
33
+ '',
34
+ ` Run ${s.primary('/projects')} to see all your projects:`,
35
+ '',
36
+ ` ${s.muted('─'.repeat(60))}`,
37
+ ` ${s.primaryBold('Projects')} ${s.muted('[2/2]')}`,
38
+ '',
39
+ ` ${s.muted('All')} ${s.muted('Active')} ${s.muted('Paused')} ${s.muted('Complete')} ${s.muted('Archived')}`,
40
+ '',
41
+ ` ${s.primary('❯')} Note Taking App general ${s.success('● Active')}`,
42
+ ` My First Project general ${s.success('● Active')}`,
43
+ '',
44
+ ` ${s.muted('─'.repeat(60))}`,
45
+ ` ${s.muted('Last Activity:')} Jan 25, 2026, 09:47 AM`,
46
+ ` ${s.muted('Work Items:')} None`,
47
+ ` ${s.muted('─'.repeat(60))}`,
48
+ '',
49
+ ],
50
+ },
51
+ // Page 3: Filtering by status
52
+ {
53
+ title: 'Filtering Projects',
54
+ lines: [
55
+ '',
56
+ ` Use the tabs to filter projects by status:`,
57
+ '',
58
+ ` ${s.primary('All')} ${s.muted('Active')} ${s.muted('Paused')} ${s.muted('Complete')} ${s.muted('Archived')}`,
59
+ '',
60
+ ` ${s.primary('Tab')} or ${s.primary('←/→')} Switch between tabs`,
61
+ ` ${s.primary('1-5')} Jump directly to tab`,
62
+ '',
63
+ ` ${s.secondary('Status meanings:')}`,
64
+ '',
65
+ ` ${s.success('● Active')} Currently being worked on`,
66
+ ` ${s.warning('● Paused')} Temporarily on hold`,
67
+ ` ${s.primary('● Complete')} Finished projects`,
68
+ ` ${s.muted('● Archived')} Hidden from main view`,
69
+ '',
70
+ ],
71
+ },
72
+ // Page 4: Project actions
73
+ {
74
+ title: 'Project Actions',
75
+ lines: [
76
+ '',
77
+ ` From the ${s.primary('/projects')} list:`,
78
+ '',
79
+ ` ${s.primary('Enter')} Open project in /workflow`,
80
+ ` ${s.primary('e')} Edit project name/description`,
81
+ ` ${s.primary('x')} Archive project`,
82
+ ` ${s.primary('d')} Delete project ${s.muted('(must archive first)')}`,
83
+ ` ${s.primary('/')} Search projects by name`,
84
+ '',
85
+ ` ${s.secondary('Navigation:')}`,
86
+ '',
87
+ ` ${s.primary('↑/↓')} or ${s.primary('j/k')} Move between projects`,
88
+ ` ${s.primary('q')} or ${s.primary('Esc')} Close overlay`,
89
+ '',
90
+ ],
91
+ },
92
+ // Page 5: /workflow overlay - Actions tab
93
+ {
94
+ title: 'The /workflow Overlay',
95
+ lines: [
96
+ '',
97
+ ` Press ${s.primary('Enter')} on a project to open ${s.primary('/workflow')}:`,
98
+ '',
99
+ ` ${s.muted('─'.repeat(60))}`,
100
+ ` ${s.primaryBold('Workflow')} Note Taking App`,
101
+ '',
102
+ ` ${s.primary('[Actions]')} ${s.muted('[Details]')} ${s.muted('[Dashboard]')} ${s.muted('[Manage]')}`,
103
+ '',
104
+ ` Status: ${s.success('active')} Mode: ${s.primary('flexible')} ${s.warning('★ Current')}`,
105
+ ` Progress: 0/0 ${s.muted('[░░░░░░░░░░░░░░░░░░░░]')} 0%`,
106
+ '',
107
+ ` ${s.success('✓')} Initialize ${s.primary('►')} Design ${s.muted('○')} Backlog ${s.muted('○')} Scaffold ${s.muted('○')} Build`,
108
+ ` ${s.muted('─'.repeat(60))}`,
109
+ ` ${s.secondary('Quick Actions:')}`,
110
+ '',
111
+ ` ${s.primary('❯')} Design Project ${s.muted('Create PRD and requirements')}`,
112
+ ` Quick Sketch ${s.muted('Lightweight project outline')}`,
113
+ ` View Documents ${s.muted('Browse project documents')}`,
114
+ ` View Anchors ${s.muted('Manage persistent context')}`,
115
+ '',
116
+ ],
117
+ },
118
+ // Page 6: /workflow - Details tab
119
+ {
120
+ title: 'Project Details',
121
+ lines: [
122
+ '',
123
+ ` The ${s.primary('Details')} tab shows project information:`,
124
+ '',
125
+ ` ${s.muted('[Actions]')} ${s.primary('[Details]')} ${s.muted('[Dashboard]')} ${s.muted('[Manage]')}`,
126
+ '',
127
+ ` ${s.muted('─'.repeat(50))}`,
128
+ ` ${s.secondary('Project Details:')}`,
129
+ '',
130
+ ` Name ${s.primary('note-taking-app')}`,
131
+ ` Display Name ${s.primary('Note Taking App')}`,
132
+ ` Type ${s.muted('general')}`,
133
+ ` Path ${s.muted('/workspace/projects/note-taking-app')}`,
134
+ ` Created ${s.muted('1/25/2026')}`,
135
+ ` Last Activity ${s.muted('3m ago')}`,
136
+ ` Lifecycle ${s.muted('setup')}`,
137
+ '',
138
+ ` ${s.secondary('Description:')}`,
139
+ ` ${s.muted('An app to take and organise notes')}`,
140
+ '',
141
+ ],
142
+ },
143
+ // Page 7: /workflow - Manage tab
144
+ {
145
+ title: 'Managing a Project',
146
+ lines: [
147
+ '',
148
+ ` The ${s.primary('Manage')} tab lets you change project settings:`,
149
+ '',
150
+ ` ${s.muted('[Actions]')} ${s.muted('[Details]')} ${s.muted('[Dashboard]')} ${s.primary('[Manage]')}`,
151
+ '',
152
+ ` ${s.muted('─'.repeat(50))}`,
153
+ ` ${s.secondary('Management Actions:')}`,
154
+ '',
155
+ ` ${s.primary('❯')} Edit Project ${s.muted('Change name, description')}`,
156
+ ` Set as Current ${s.muted('Switch to this project')}`,
157
+ ` Archive Project ${s.muted('Hide from active list')}`,
158
+ ` Delete Project ${s.muted('Permanently remove')}`,
159
+ '',
160
+ ` ${s.warning('TIP:')} Use ${s.primary('Set as Current')} to switch to a different project.`,
161
+ ` The ${s.warning('★ Current')} indicator shows which project is active.`,
162
+ '',
163
+ ],
164
+ },
165
+ // Page 8: Archiving a project
166
+ {
167
+ title: 'Archiving Projects',
168
+ lines: [
169
+ '',
170
+ ` Press ${s.primary('x')} in /projects or select ${s.primary('Archive Project')} in /workflow:`,
171
+ '',
172
+ ` ${s.muted('─'.repeat(50))}`,
173
+ ` ${s.primaryBold('ARCHIVE PROJECT')}`,
174
+ '',
175
+ ` Archive this project?`,
176
+ '',
177
+ ` Project: ${s.primary('Note Taking App')}`,
178
+ '',
179
+ ` ${s.muted('The project will be hidden from the active view.')}`,
180
+ ` ${s.muted('You can restore it later from the Archived tab.')}`,
181
+ '',
182
+ ` ${s.muted('─'.repeat(50))}`,
183
+ ` ${s.muted('Enter Confirm · Esc Cancel')}`,
184
+ '',
185
+ ` ${s.warning('NOTE:')} A project must be archived before it can be deleted.`,
186
+ '',
187
+ ],
188
+ },
189
+ // Page 9: Session behavior
190
+ {
191
+ title: 'Session Behavior',
192
+ lines: [
193
+ '',
194
+ ` When you switch projects, your session is saved automatically.`,
195
+ '',
196
+ ` ${s.secondary('Configure in /config:')}`,
197
+ '',
198
+ ` ${s.primary('Session restore mode')}`,
199
+ ` ${s.muted('Auto')} - Automatically restore previous session`,
200
+ ` ${s.muted('Ask')} - Prompt to restore or start fresh`,
201
+ ` ${s.muted('Fresh')} - Always start with clean session`,
202
+ '',
203
+ ` ${s.primary('Auto-open project')}`,
204
+ ` ${s.muted('Last opened')} - Opens your last project on startup`,
205
+ ` ${s.muted('Off')} - Start fresh, choose manually`,
206
+ '',
207
+ ` ${s.warning('TIP:')} Use ${s.primary('/resume')} to manually restore a previous session.`,
208
+ '',
209
+ ],
210
+ },
211
+ ],
212
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creating a New Project Tutorial
3
+ *
4
+ * Detailed walkthrough of the /new wizard.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const newProjectTutorial: TutorialBuilder;
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Creating a New Project Tutorial
3
+ *
4
+ * Detailed walkthrough of the /new wizard.
5
+ */
6
+ export const newProjectTutorial = (s) => ({
7
+ id: 'new-project',
8
+ title: 'Creating a New Project',
9
+ description: 'Step-by-step /new walkthrough',
10
+ pages: [
11
+ // Page 1: Two Ways to Start
12
+ {
13
+ title: 'Two Ways to Start',
14
+ lines: [
15
+ '',
16
+ ` You can create a new project in two ways:`,
17
+ '',
18
+ ` ${s.secondary('From the Dashboard:')}`,
19
+ '',
20
+ ` Press ${s.primary('[n]')} or select ${s.primary('/new Project')} and press Enter.`,
21
+ '',
22
+ ` ${s.secondary('From the REPL:')}`,
23
+ '',
24
+ ` ${s.primary('compilr>')} /new`,
25
+ '',
26
+ ` Both methods open the same ${s.primaryBold('Initialize New Project')} wizard.`,
27
+ '',
28
+ ],
29
+ },
30
+ // Page 2: Starting the Wizard [0/8]
31
+ {
32
+ title: 'Starting the Wizard',
33
+ lines: [
34
+ '',
35
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[0/8]')}`,
36
+ '',
37
+ ` ${s.primary('What would you like to do?')}`,
38
+ '',
39
+ ` ${s.primary('>')} 1. Start a new project`,
40
+ ` 2. Add workflow to existing project`,
41
+ '',
42
+ ` ${s.muted('Start fresh with a structured project layout')}`,
43
+ ` ${s.muted('optimized for AI-assisted development.')}`,
44
+ '',
45
+ ` ${s.muted('Up/Down Navigate | Enter Select | q/Esc Cancel')}`,
46
+ '',
47
+ ` Select "Start a new project" and press Enter.`,
48
+ '',
49
+ ],
50
+ },
51
+ // Page 3: Project Name [1/8]
52
+ {
53
+ title: 'Project Name',
54
+ lines: [
55
+ '',
56
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[1/8]')}`,
57
+ '',
58
+ ` ${s.primary('Project name')}`,
59
+ '',
60
+ ` ${s.primary('>')} my-first-project${s.muted('|')}`,
61
+ '',
62
+ ` ${s.muted('Use lowercase letters, numbers, hyphens (e.g., my-saas-app)')}`,
63
+ ` ${s.muted('2-50 characters, must start with a letter')}`,
64
+ '',
65
+ ` ${s.muted('Enter Confirm | Esc Back')}`,
66
+ '',
67
+ ` ${s.warning('TIP:')} Choose a descriptive name - it becomes your folder name.`,
68
+ '',
69
+ ],
70
+ },
71
+ // Page 4: Description [2/8]
72
+ {
73
+ title: 'Description',
74
+ lines: [
75
+ '',
76
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[2/8]')}`,
77
+ '',
78
+ ` ${s.primary('What are you building?')}`,
79
+ '',
80
+ ` ${s.primary('>')} A note-taking app with markdown support${s.muted('|')}`,
81
+ '',
82
+ ` ${s.muted('Brief description (1-2 sentences)')}`,
83
+ ` ${s.muted('Example: "A task management SaaS for small teams"')}`,
84
+ '',
85
+ ` ${s.muted('Enter Confirm | Esc Back')}`,
86
+ '',
87
+ ` ${s.warning('TIP:')} Be specific! The AI uses this to understand your project.`,
88
+ '',
89
+ ],
90
+ },
91
+ // Page 5: Documentation Structure [3/8]
92
+ {
93
+ title: 'Documentation Structure',
94
+ lines: [
95
+ '',
96
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[3/8]')}`,
97
+ '',
98
+ ` ${s.primary('Documentation structure')}`,
99
+ '',
100
+ ` ${s.primary('>')} 1. Single repo (.compilr/ folder + COMPILR.md in project root)`,
101
+ ` 2. Two repos (project/ + project-docs/ separate repositories)`,
102
+ '',
103
+ ` ${s.muted('Single repo: All files in one repository')}`,
104
+ ` ${s.muted('Two repos: Code and docs in separate repositories')}`,
105
+ '',
106
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
107
+ '',
108
+ ` ${s.warning('TIP:')} Single repo is simpler for most projects.`,
109
+ '',
110
+ ],
111
+ },
112
+ // Page 6: Tech Stack [4/8]
113
+ {
114
+ title: 'Tech Stack',
115
+ lines: [
116
+ '',
117
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[4/8]')}`,
118
+ '',
119
+ ` ${s.primary('Tech stack')}`,
120
+ '',
121
+ ` ${s.primary('>')} 1. React + Node.js + PostgreSQL`,
122
+ ` 2. React + Python + PostgreSQL`,
123
+ ` 3. Vue + Node.js + PostgreSQL`,
124
+ ` 4. Custom (configure later)`,
125
+ '',
126
+ ` ${s.muted('Choose a preset or configure later')}`,
127
+ '',
128
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
129
+ '',
130
+ ` ${s.warning('TIP:')} You can change this later in your COMPILR.md file.`,
131
+ '',
132
+ ],
133
+ },
134
+ // Page 7: Coding Standards [5/8]
135
+ {
136
+ title: 'Coding Standards',
137
+ lines: [
138
+ '',
139
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[5/8]')}`,
140
+ '',
141
+ ` ${s.primary('Coding standards preset')}`,
142
+ '',
143
+ ` ${s.primary('>')} 1. TypeScript Strict (recommended)`,
144
+ ` 2. TypeScript Relaxed`,
145
+ ` 3. Custom (configure later)`,
146
+ '',
147
+ ` ${s.muted('Strict: Full TypeScript with strict mode + ESLint')}`,
148
+ ` ${s.muted('Relaxed: TypeScript with basic strict mode')}`,
149
+ ` ${s.muted('Custom: Configure your own standards later')}`,
150
+ '',
151
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
152
+ '',
153
+ ],
154
+ },
155
+ // Page 8: Git Repository [6/8]
156
+ {
157
+ title: 'Git Repository',
158
+ lines: [
159
+ '',
160
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[6/8]')}`,
161
+ '',
162
+ ` ${s.primary('Initialize git repository?')}`,
163
+ '',
164
+ ` ${s.primary('>')} Yes`,
165
+ ` No`,
166
+ '',
167
+ ` ${s.muted('Creates git repo with initial commit')}`,
168
+ '',
169
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
170
+ '',
171
+ ` If you select Yes, you can optionally add a remote URL:`,
172
+ '',
173
+ ` ${s.primary('Git remote URL (optional)')}`,
174
+ '',
175
+ ` ${s.primary('>')} https://github.com/user/my-first-project${s.muted('|')}`,
176
+ '',
177
+ ` ${s.muted('Enter Continue · Esc Skip')}`,
178
+ '',
179
+ ],
180
+ },
181
+ // Page 9: Workflow Mode [7/8]
182
+ {
183
+ title: 'Workflow Mode',
184
+ lines: [
185
+ '',
186
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[7/8]')}`,
187
+ '',
188
+ ` ${s.primary('Workflow mode')}`,
189
+ '',
190
+ ` ${s.primary('>')} 1. Flexible (user-driven, exploratory) ${s.muted('(recommended)')}`,
191
+ ` 2. Guided (structured step-by-step workflow)`,
192
+ '',
193
+ ` ${s.muted('Flexible: Work at your own pace, agent responds to requests')}`,
194
+ ` ${s.muted('Guided: Agent suggests next steps, tracks work item progress')}`,
195
+ '',
196
+ ` ${s.muted('Up/Down Navigate | Enter Select | Esc Back')}`,
197
+ '',
198
+ ` ${s.warning('TIP:')} Start with Flexible. Switch to Guided anytime via ${s.primary('/workflow')}.`,
199
+ '',
200
+ ],
201
+ },
202
+ // Page 10: Confirmation [8/8]
203
+ {
204
+ title: 'Confirmation',
205
+ lines: [
206
+ '',
207
+ ` ${s.primaryBold('Initialize New Project')} ${s.muted('[8/8]')}`,
208
+ '',
209
+ ` ${s.primary('Ready to create project?')}`,
210
+ '',
211
+ ` Project: ${s.primary('my-first-project')}`,
212
+ ` Location: ${s.primary('./my-first-project/')}`,
213
+ ` Structure: ${s.primary('Single repo')}`,
214
+ ` Tech: ${s.primary('React + Node.js + PostgreSQL')}`,
215
+ ` Standards: ${s.primary('TypeScript Strict (recommended)')}`,
216
+ ` Git: ${s.primary('Yes')}`,
217
+ ` Remote: ${s.primary('https://github.com/user/my-first-project')}`,
218
+ ` Workflow: ${s.primary('Flexible (user-driven, exploratory)')}`,
219
+ '',
220
+ ` ${s.primary('>')} Create`,
221
+ ` Cancel`,
222
+ '',
223
+ ` ${s.muted('Up/Down Navigate | Enter Confirm | Esc Back')}`,
224
+ '',
225
+ ],
226
+ },
227
+ // Page 11: What Gets Created
228
+ {
229
+ title: 'What Gets Created',
230
+ lines: [
231
+ '',
232
+ ` ${s.secondary('After pressing Create, you get:')}`,
233
+ '',
234
+ ` ${s.success('✓')} ${s.primary('Project folder')} with initial structure`,
235
+ ` ${s.muted('./my-first-project/')}`,
236
+ '',
237
+ ` ${s.success('✓')} ${s.primary('COMPILR.md')} - Context file for the AI`,
238
+ ` ${s.muted('The AI reads this automatically')}`,
239
+ '',
240
+ ` ${s.success('✓')} ${s.primary('.compilr/')} folder with project config`,
241
+ ` ${s.muted('Requirements, roadmap, architecture docs')}`,
242
+ '',
243
+ ` ${s.success('✓')} ${s.primary('Git repository')} with initial commit`,
244
+ ` ${s.muted('Remote configured if you provided a URL')}`,
245
+ '',
246
+ ` You'll return to the Dashboard with your new project selected.`,
247
+ '',
248
+ ],
249
+ },
250
+ ],
251
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Session Management Tutorial
3
+ *
4
+ * How to resume previous sessions and understand what's saved.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const sessionManagementTutorial: TutorialBuilder;
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Session Management Tutorial
3
+ *
4
+ * How to resume previous sessions and understand what's saved.
5
+ */
6
+ export const sessionManagementTutorial = (s) => ({
7
+ id: 'session-management',
8
+ title: 'Session Management',
9
+ description: 'Resume previous work sessions',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Session Management',
14
+ lines: [
15
+ '',
16
+ ` Sessions are ${s.primary('automatically saved')} after each AI response.`,
17
+ '',
18
+ ` This tutorial covers:`,
19
+ '',
20
+ ` ${s.primary('/resume')} Restore a previous session`,
21
+ ` ${s.muted('What\'s saved')} Conversation, todos, workflow state`,
22
+ ` ${s.muted('Cross-project')} Resuming from other projects`,
23
+ '',
24
+ ` ${s.warning('TIP:')} You don't need to manually save. Sessions are saved`,
25
+ ` automatically as you work.`,
26
+ '',
27
+ ],
28
+ },
29
+ // Page 2: /resume overlay
30
+ {
31
+ title: 'The /resume Overlay',
32
+ lines: [
33
+ '',
34
+ ` Run ${s.primary('/resume')} to see your saved sessions:`,
35
+ '',
36
+ ` ${s.muted('─'.repeat(60))}`,
37
+ ` ${s.primaryBold('Resume Session')} ${s.muted('[5/7]')}`,
38
+ '',
39
+ ` ${s.primary('Recent')} ${s.muted('All')} ${s.muted('(Tab Switch · 1-2 Jump)')}`,
40
+ '',
41
+ ` ${s.primary('❯')} [Project 15] 24 minutes ago 11 msgs ${s.muted('what issue did you have?')}`,
42
+ ` [My First P..] 1 hour ago 4 msgs ${s.muted('how do I create a project?')}`,
43
+ ` [My First P..] 1 hour ago 0 msgs ${s.muted('No preview available')}`,
44
+ ` [My First P..] 1 hour ago 16 msgs ${s.muted('try again')}`,
45
+ ` [Project 14] 2 hours ago 4 msgs ${s.muted('which tools do you have?')}`,
46
+ '',
47
+ ` ${s.muted('─'.repeat(60))}`,
48
+ '',
49
+ ],
50
+ },
51
+ // Page 3: Session list tabs
52
+ {
53
+ title: 'Filtering Sessions',
54
+ lines: [
55
+ '',
56
+ ` Use the tabs to filter sessions:`,
57
+ '',
58
+ ` ${s.primary('Recent')} ${s.muted('All')}`,
59
+ '',
60
+ ` ${s.primary('Recent')} Sessions from the current project only`,
61
+ ` ${s.primary('All')} Sessions from all projects`,
62
+ '',
63
+ ` ${s.secondary('Navigation:')}`,
64
+ '',
65
+ ` ${s.primary('j/k')} or ${s.primary('↑/↓')} Move between sessions`,
66
+ ` ${s.primary('Tab')} Switch tabs`,
67
+ ` ${s.primary('/')} Search sessions`,
68
+ ` ${s.primary('Enter')} Resume selected session`,
69
+ ` ${s.primary('d')} Delete session`,
70
+ ` ${s.primary('q')} or ${s.primary('Esc')} Close`,
71
+ '',
72
+ ],
73
+ },
74
+ // Page 4: Cross-project warning
75
+ {
76
+ title: 'Cross-Project Sessions',
77
+ lines: [
78
+ '',
79
+ ` When you select a session from a ${s.warning('different project')}:`,
80
+ '',
81
+ ` ${s.muted('─'.repeat(50))}`,
82
+ ` ${s.primaryBold('Session Details')}`,
83
+ '',
84
+ ` ${s.warning('⚠ From different project: My First Project')}`,
85
+ '',
86
+ ` Updated: ${s.muted('1 hour ago')}`,
87
+ ` Created: ${s.muted('1/25/2026, 9:11:01 AM')}`,
88
+ ` Messages: ${s.muted('4')}`,
89
+ ` Session ID: ${s.muted('session_toolu_mktzwc05_uccch1s')}`,
90
+ '',
91
+ ` ${s.secondary('Last message:')}`,
92
+ ` ${s.muted('how do I create a project?')}`,
93
+ '',
94
+ ` ${s.muted('─'.repeat(50))}`,
95
+ ` ${s.muted('Enter Resume · d Delete · q/Esc Back')}`,
96
+ '',
97
+ ],
98
+ },
99
+ // Page 5: What's saved
100
+ {
101
+ title: 'What\'s Saved in a Session',
102
+ lines: [
103
+ '',
104
+ ` Each session saves:`,
105
+ '',
106
+ ` ${s.success('✓')} ${s.primary('Conversation history')}`,
107
+ ` All messages between you and the AI`,
108
+ '',
109
+ ` ${s.success('✓')} ${s.primary('Todo list')}`,
110
+ ` Your current task tracking items`,
111
+ '',
112
+ ` ${s.success('✓')} ${s.primary('Workflow state')}`,
113
+ ` Mode (flexible/guided), current work item`,
114
+ '',
115
+ ` ${s.success('✓')} ${s.primary('Token usage')}`,
116
+ ` How much context has been used`,
117
+ '',
118
+ ],
119
+ },
120
+ // Page 6: What's NOT saved in session
121
+ {
122
+ title: 'What\'s NOT in Sessions',
123
+ lines: [
124
+ '',
125
+ ` These are saved ${s.primary('per-project')}, not per-session:`,
126
+ '',
127
+ ` ${s.primary('Anchors')}`,
128
+ ` Persistent notes stay with the project`,
129
+ ` Available across all sessions`,
130
+ '',
131
+ ` ${s.primary('Team agents')}`,
132
+ ` Agent configurations are project-level`,
133
+ ` Shared context persists separately`,
134
+ '',
135
+ ` ${s.primary('Documents')}`,
136
+ ` PRD, architecture docs, backlog items`,
137
+ ` Stored in .compilr/ folder`,
138
+ '',
139
+ ` ${s.warning('TIP:')} Use ${s.primary('/anchors')} for information you want to`,
140
+ ` persist across all sessions.`,
141
+ '',
142
+ ],
143
+ },
144
+ // Page 7: Session restore config
145
+ {
146
+ title: 'Auto-Restore Settings',
147
+ lines: [
148
+ '',
149
+ ` Configure session restore behavior in ${s.primary('/config')}:`,
150
+ '',
151
+ ` ${s.secondary('Session restore mode:')}`,
152
+ '',
153
+ ` ${s.primary('Auto')} Automatically restore last session`,
154
+ ` ${s.primary('Ask')} Prompt to restore or start fresh`,
155
+ ` ${s.primary('Fresh')} Always start with clean session`,
156
+ '',
157
+ ` ${s.secondary('When you switch projects:')}`,
158
+ '',
159
+ ` ${s.muted('•')} Current session is saved automatically`,
160
+ ` ${s.muted('•')} New project session restored based on setting`,
161
+ ` ${s.muted('•')} Project context (COMPILR.md, anchors) is loaded`,
162
+ '',
163
+ ` ${s.warning('TIP:')} Use ${s.primary('/resume')} to manually restore any session,`,
164
+ ` regardless of your auto-restore setting.`,
165
+ '',
166
+ ],
167
+ },
168
+ ],
169
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Background Execution Tutorial
3
+ *
4
+ * Covers running agents in background, /bg, /fg, /kill, /pending, /filter.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const backgroundExecutionTutorial: TutorialBuilder;