@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,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;