@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,174 @@
1
+ /**
2
+ * Welcome Tutorial
3
+ *
4
+ * Introduces the five pillars philosophy and development workflow overview.
5
+ */
6
+ export const welcomeTutorial = (s) => ({
7
+ id: 'welcome',
8
+ title: 'Welcome & Philosophy',
9
+ description: 'Core principles and workflow overview',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Welcome to compilr.dev',
14
+ lines: [
15
+ '',
16
+ ` ${s.primaryBold('Stop rebuilding. Start structuring.')}`,
17
+ '',
18
+ ` Have you ever:`,
19
+ ` ${s.muted('•')} Built the same feature three times?`,
20
+ ` ${s.muted('•')} Lost context between sessions?`,
21
+ ` ${s.muted('•')} Watched your codebase become a patchwork of patterns?`,
22
+ '',
23
+ ` This is ${s.warning('vibe coding')} - the chaos that emerges when powerful AI`,
24
+ ` tools meet undisciplined workflows.`,
25
+ '',
26
+ ` ${s.primary('compilr.dev')} provides the structure to make AI coding assistants`,
27
+ ` actually productive.`,
28
+ '',
29
+ ],
30
+ },
31
+ // Page 2: Pillar 1 - Structured
32
+ {
33
+ title: 'Pillar 1: Structured Coding',
34
+ lines: [
35
+ '',
36
+ ` ${s.primaryBold('Every project deserves a skeleton before it has muscles.')}`,
37
+ '',
38
+ ` That means:`,
39
+ '',
40
+ ` ${s.success('✓')} Explicit folder structures (code + documentation)`,
41
+ ` ${s.success('✓')} A ${s.primary('COMPILR.md')} file that persists project context`,
42
+ ` ${s.success('✓')} A ${s.primary('backlog')} that tracks what's done and what's next`,
43
+ ` ${s.success('✓')} Architecture decisions documented before implemented`,
44
+ '',
45
+ ` ${s.muted('Structure isn\'t bureaucracy.')}`,
46
+ ` ${s.muted('It\'s the difference between building a house and piling up bricks.')}`,
47
+ '',
48
+ ],
49
+ },
50
+ // Page 3: Pillar 2 - Disciplined
51
+ {
52
+ title: 'Pillar 2: Disciplined Development',
53
+ lines: [
54
+ '',
55
+ ` ${s.primaryBold('Discipline is doing the boring things that prevent expensive things.')}`,
56
+ '',
57
+ ` That means:`,
58
+ '',
59
+ ` ${s.success('✓')} Committing early and often (not "I'll commit when it's done")`,
60
+ ` ${s.success('✓')} Tracking progress in a backlog (not "I'll remember")`,
61
+ ` ${s.success('✓')} Following coding standards (not "the AI knows best")`,
62
+ ` ${s.success('✓')} Reviewing changes before accepting (not "ship it and pray")`,
63
+ '',
64
+ ` ${s.muted('Discipline compounds. Undisciplined code compounds too -')}`,
65
+ ` ${s.muted('in bugs, rework, and frustration.')}`,
66
+ '',
67
+ ],
68
+ },
69
+ // Page 4: Pillar 3 - Intentional
70
+ {
71
+ title: 'Pillar 3: Intentional Decisions',
72
+ lines: [
73
+ '',
74
+ ` ${s.primaryBold('Every choice should be deliberate.')}`,
75
+ '',
76
+ ` That means:`,
77
+ '',
78
+ ` ${s.success('✓')} Technology stack evaluated upfront, not mid-project`,
79
+ ` ${s.success('✓')} Database schemas normalized, not ad-hoc`,
80
+ ` ${s.success('✓')} Security and performance from day one, not bolted on`,
81
+ ` ${s.success('✓')} Trade-offs documented, not buried in chat`,
82
+ '',
83
+ ` ${s.muted('"It just happened" is never the right answer for')}`,
84
+ ` ${s.muted('how your architecture emerged.')}`,
85
+ '',
86
+ ],
87
+ },
88
+ // Page 5: Pillar 4 - Engineering-First
89
+ {
90
+ title: 'Pillar 4: Engineering-First AI',
91
+ lines: [
92
+ '',
93
+ ` ${s.primaryBold('AI is a tool, not a replacement for engineering judgment.')}`,
94
+ '',
95
+ ` That means:`,
96
+ '',
97
+ ` ${s.success('✓')} The human sets direction; AI accelerates execution`,
98
+ ` ${s.success('✓')} DRY principle enforced (AI should know when it duplicates)`,
99
+ ` ${s.success('✓')} Breaking changes detected before they break things`,
100
+ ` ${s.success('✓')} Context preserved across sessions, not lost to tokens`,
101
+ '',
102
+ ` ${s.muted('The goal isn\'t to code faster.')}`,
103
+ ` ${s.muted('The goal is to build better software, faster.')}`,
104
+ '',
105
+ ],
106
+ },
107
+ // Page 6: Pillar 5 - Flexible
108
+ {
109
+ title: 'Pillar 5: Flexible Execution',
110
+ lines: [
111
+ '',
112
+ ` ${s.primaryBold('Structure enables change - it doesn\'t prevent it.')}`,
113
+ '',
114
+ ` That means:`,
115
+ '',
116
+ ` ${s.success('✓')} The backlog is a living document, not a contract`,
117
+ ` ${s.success('✓')} Priorities shift based on learnings and feedback`,
118
+ ` ${s.success('✓')} New tasks emerge and get slotted in naturally`,
119
+ ` ${s.success('✓')} You can pivot features or reorder phases`,
120
+ '',
121
+ ` ${s.muted('The difference between flexibility and chaos? Foundations.')}`,
122
+ ` ${s.muted('Without structure, every change is a risk.')}`,
123
+ '',
124
+ ],
125
+ },
126
+ // Page 7: The Workflow
127
+ {
128
+ title: 'The Development Workflow',
129
+ lines: [
130
+ '',
131
+ ` ${s.secondary('The CLI guides you through five main stages:')}`,
132
+ '',
133
+ ` ${s.primary('/new')} Create your project`,
134
+ ` ${s.muted('Sets up structure, COMPILR.md, database record')}`,
135
+ '',
136
+ ` ${s.primary('/design')} Gather requirements`,
137
+ ` ${s.muted('Creates a PRD and backlog items')}`,
138
+ '',
139
+ ` ${s.primary('/backlog')} Manage work items`,
140
+ ` ${s.muted('Track status, prioritize, break down tasks')}`,
141
+ '',
142
+ ` ${s.primary('/build')} Implement features`,
143
+ ` ${s.muted('AI-assisted coding with your approval')}`,
144
+ '',
145
+ ` ${s.primary('/workflow')} Check progress`,
146
+ ` ${s.muted('See where you are and what\'s next')}`,
147
+ '',
148
+ ],
149
+ },
150
+ // Page 8: Getting Started
151
+ {
152
+ title: 'Getting Started',
153
+ lines: [
154
+ '',
155
+ ` ${s.secondary('Ready to start? Here are your next steps:')}`,
156
+ '',
157
+ ` ${s.muted('1.')} Run ${s.primary('/new')} to create a project`,
158
+ ` ${s.muted('Or /sketch for a quick outline')}`,
159
+ '',
160
+ ` ${s.muted('2.')} Run ${s.primary('/design')} to gather requirements`,
161
+ ` ${s.muted('Creates a PRD and backlog items')}`,
162
+ '',
163
+ ` ${s.muted('3.')} Run ${s.primary('/backlog')} to see your work items`,
164
+ ` ${s.muted('Pick one and start building!')}`,
165
+ '',
166
+ ` ${s.warning('TIP:')} Browse this tutorial to learn all the features.`,
167
+ ` Use ←/→ to see other topics.`,
168
+ '',
169
+ ` ${s.muted('Your AI assistant, your discipline, your code.')}`,
170
+ '',
171
+ ],
172
+ },
173
+ ],
174
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Context Management Tutorial
3
+ *
4
+ * Covers /context, /compact, /tokens, /anchors, and auto-compact.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const contextManagementTutorial: TutorialBuilder;
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Context Management Tutorial
3
+ *
4
+ * Covers /context, /compact, /tokens, /anchors, and auto-compact.
5
+ */
6
+ export const contextManagementTutorial = (s) => ({
7
+ id: 'context-mgmt',
8
+ title: 'Context Management',
9
+ description: 'Manage AI memory and token usage',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Understanding Context',
14
+ lines: [
15
+ '',
16
+ ` ${s.primaryBold('Every AI model has a context window — a limit on')}`,
17
+ ` ${s.primaryBold('how much information it can process at once.')}`,
18
+ '',
19
+ ` As your conversation grows, you use more of the window.`,
20
+ ` When it fills up, the AI loses access to older messages.`,
21
+ '',
22
+ ` ${s.secondary('Context management commands:')}`,
23
+ '',
24
+ ` ${s.primary('/context')} View current context usage`,
25
+ ` ${s.primary('/compact')} Summarize old messages to free space`,
26
+ ` ${s.primary('/tokens')} Detailed token breakdown`,
27
+ ` ${s.primary('/status')} Session overview`,
28
+ ` ${s.primary('/anchors')} Persistent notes (survive compaction)`,
29
+ ` ${s.primary('/export')} Save conversation to markdown`,
30
+ '',
31
+ ],
32
+ },
33
+ // Page 2: /context
34
+ {
35
+ title: 'Viewing Context Usage',
36
+ lines: [
37
+ '',
38
+ ` ${s.secondary('Run /context to see how full your context window is:')}`,
39
+ '',
40
+ ` ${s.muted('Context Usage')}`,
41
+ ` ${s.muted('────────────────────')}`,
42
+ ` Agent: ${s.primary('[▲_▲] $dev')}`,
43
+ ` Usage: ${s.success('████')}${s.muted('░░░░░░░░░░░░░░░░')} 18.5%`,
44
+ ` Tokens: ${s.primary('37,000')} / ${s.muted('200,000')}`,
45
+ ` Messages: ${s.primary('42')}`,
46
+ ` Turns: ${s.primary('21')}`,
47
+ '',
48
+ ` ${s.muted('By Agent')}`,
49
+ ` ${s.muted('────────────────────')}`,
50
+ ` ${s.success('●')} $dev ${s.success('████')}${s.muted('░░░░░░')} 18.5% ${s.muted('200K')} (42 msgs)`,
51
+ ` ${s.muted('○')} $pm ${s.muted('█')}${s.muted('░░░░░░░░░')} 2.1% ${s.muted('200K')} (6 msgs)`,
52
+ '',
53
+ ` Each agent shows its model's context window (200K, 128K, 1M).`,
54
+ ` ${s.success('●')} = active agent ${s.muted('○')} = inactive`,
55
+ '',
56
+ ],
57
+ },
58
+ // Page 3: /compact
59
+ {
60
+ title: 'Compacting Context',
61
+ lines: [
62
+ '',
63
+ ` ${s.primaryBold('When context gets too full, run /compact.')}`,
64
+ '',
65
+ ` This summarizes older messages while preserving key info:`,
66
+ '',
67
+ ` ${s.success('✓')} Tool results converted to file references`,
68
+ ` ${s.success('✓')} Conversation history summarized`,
69
+ ` ${s.success('✓')} Recent messages kept intact`,
70
+ ` ${s.success('✓')} Anchors always preserved`,
71
+ '',
72
+ ` ${s.secondary('Multi-agent compact modes:')}`,
73
+ '',
74
+ ` ${s.primary('/compact')} Use default mode (set in /config)`,
75
+ ` ${s.primary('/compact all')} Compact all initialized agents`,
76
+ ` ${s.primary('/compact auto')} Compact agents above 70% usage`,
77
+ ` ${s.primary('/compact $pm')} Compact a specific agent`,
78
+ '',
79
+ ` ${s.warning('TIP:')} Enable ${s.primary('Auto-compact')} in /config for automatic`,
80
+ ` compaction. Set ${s.primary('Default compact mode')} to control /compact.`,
81
+ '',
82
+ ],
83
+ },
84
+ // Page 4: Anchors
85
+ {
86
+ title: 'Persistent Notes with /anchors',
87
+ lines: [
88
+ '',
89
+ ` ${s.primaryBold('Anchors are notes that survive compaction and persist')}`,
90
+ ` ${s.primaryBold('across sessions. The AI always sees them.')}`,
91
+ '',
92
+ ` ${s.secondary('Use anchors for:')}`,
93
+ ` Project conventions: ${s.muted('"Always use async/await"')}`,
94
+ ` Decisions: ${s.muted('"We chose PostgreSQL because..."')}`,
95
+ ` Reminders: ${s.muted('"Don\'t modify the auth module"')}`,
96
+ '',
97
+ ` ${s.secondary('Creating anchors:')}`,
98
+ ` In the REPL, say: ${s.primary('"Remember that we use tabs not spaces"')}`,
99
+ ` Or use the /anchors overlay: press ${s.primary('a')} to add`,
100
+ '',
101
+ ` ${s.secondary('Anchor properties:')}`,
102
+ ` Priority: ${s.error('[!]')} Critical ${s.warning('[S]')} Safety ${s.muted('[i]')} Info`,
103
+ ` Scope: ${s.primary('[G]')} Global (all projects) ${s.primary('[P]')} Project only`,
104
+ '',
105
+ ],
106
+ },
107
+ // Page 5: Anchors Overlay
108
+ {
109
+ title: 'The /anchors Overlay',
110
+ lines: [
111
+ '',
112
+ ` ${s.secondary('Tabs filter anchors by priority and scope:')}`,
113
+ '',
114
+ ` ${s.muted('All | Critical | Safety | Info | Global | Project')}`,
115
+ '',
116
+ ` ${s.secondary('Shortcuts:')}`,
117
+ '',
118
+ ` ${s.primary('Up/Down')} Navigate anchors`,
119
+ ` ${s.primary('Tab/1-6')} Switch filter tabs`,
120
+ ` ${s.primary('a')} Add new anchor`,
121
+ ` ${s.primary('e')} Edit selected anchor`,
122
+ ` ${s.primary('d')} Delete (with confirmation)`,
123
+ ` ${s.primary('/')} Search anchors`,
124
+ ` ${s.primary('q/Esc')} Close`,
125
+ '',
126
+ ` ${s.secondary('When adding/editing:')}`,
127
+ ` Type content (up to 500 chars)`,
128
+ ` Cycle priority and scope with arrow keys`,
129
+ ` ${s.primary('Enter')} to save, ${s.primary('Esc')} to cancel`,
130
+ '',
131
+ ],
132
+ },
133
+ // Page 6: Tips
134
+ {
135
+ title: 'Context Tips',
136
+ lines: [
137
+ '',
138
+ ` ${s.warning('TIP:')} Watch for yellow/red in your context bar.`,
139
+ ` Above 80% the AI starts losing earlier context.`,
140
+ '',
141
+ ` ${s.warning('TIP:')} Use ${s.primary('/export')} to save important conversations`,
142
+ ` before compacting. Example:`,
143
+ ` ${s.primary('/export meeting-notes.md')}`,
144
+ '',
145
+ ` ${s.warning('TIP:')} Create ${s.error('[!]')} Critical anchors for rules the AI`,
146
+ ` must never forget, even across sessions.`,
147
+ '',
148
+ ` ${s.warning('TIP:')} ${s.primary('/tokens')} shows input vs output breakdown.`,
149
+ ` High output tokens may mean the AI is being verbose -`,
150
+ ` create an anchor: "Be concise in responses"`,
151
+ '',
152
+ ` ${s.warning('TIP:')} When team agents each have their own context,`,
153
+ ` use ${s.primary('/context')} to see which agent is using the most.`,
154
+ '',
155
+ ],
156
+ },
157
+ ],
158
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MCP Servers Tutorial
3
+ *
4
+ * Covers MCP (Model Context Protocol) server configuration, transport types,
5
+ * the /mcp overlay, and tool discovery.
6
+ */
7
+ import type { TutorialBuilder } from '../../tutorial-types.js';
8
+ export declare const mcpServersTutorial: TutorialBuilder;
@@ -0,0 +1,155 @@
1
+ /**
2
+ * MCP Servers Tutorial
3
+ *
4
+ * Covers MCP (Model Context Protocol) server configuration, transport types,
5
+ * the /mcp overlay, and tool discovery.
6
+ */
7
+ export const mcpServersTutorial = (s) => ({
8
+ id: 'mcp-servers',
9
+ title: 'MCP Servers',
10
+ description: 'Connect external tool servers',
11
+ pages: [
12
+ // Page 1: What is MCP?
13
+ {
14
+ title: 'MCP Servers',
15
+ lines: [
16
+ '',
17
+ ` ${s.primaryBold('MCP')} (Model Context Protocol) lets you connect external`,
18
+ ` tool servers to extend the AI's capabilities.`,
19
+ '',
20
+ ` ${s.secondary('Examples of MCP servers:')}`,
21
+ '',
22
+ ` ${s.muted('•')} Filesystem access (read/write files in specific dirs)`,
23
+ ` ${s.muted('•')} GitHub integration (issues, PRs, code search)`,
24
+ ` ${s.muted('•')} Database connections (query, schema inspection)`,
25
+ ` ${s.muted('•')} Custom APIs (your own tools and services)`,
26
+ '',
27
+ ` ${s.secondary('How it works:')}`,
28
+ '',
29
+ ` ${s.muted('1.')} Configure servers in ${s.primary('mcp.json')}`,
30
+ ` ${s.muted('2.')} CLI connects on startup (non-blocking)`,
31
+ ` ${s.muted('3.')} Server tools are discovered automatically`,
32
+ ` ${s.muted('4.')} AI can call them like any other tool`,
33
+ '',
34
+ ` Tools appear as ${s.muted('mcp_{server}_{tool}')} in the tool list.`,
35
+ '',
36
+ ],
37
+ },
38
+ // Page 2: Configuration
39
+ {
40
+ title: 'Configuration',
41
+ lines: [
42
+ '',
43
+ ` MCP servers are configured in ${s.primaryBold('mcp.json')} files:`,
44
+ '',
45
+ ` ${s.secondary('Two config locations (merged):')}`,
46
+ '',
47
+ ` ${s.primaryBold('Global')} ~/.compilr-dev/mcp.json`,
48
+ ` ${s.primaryBold('Project')} <project>/.compilr-dev/mcp.json`,
49
+ '',
50
+ ` Project config overrides global by server name.`,
51
+ '',
52
+ ` ${s.secondary('Example config:')}`,
53
+ '',
54
+ ` ${s.muted('{')}`,
55
+ ` ${s.muted(' "mcpServers": {')}`,
56
+ ` ${s.muted(' "filesystem": {')}`,
57
+ ` ${s.muted(' "command": "npx",')}`,
58
+ ` ${s.muted(' "args": ["-y", "@mcp/server-filesystem", "/tmp"]')}`,
59
+ ` ${s.muted(' }')}`,
60
+ ` ${s.muted(' }')}`,
61
+ ` ${s.muted('}')}`,
62
+ '',
63
+ ` Format is compatible with Claude Desktop and Gemini CLI.`,
64
+ '',
65
+ ],
66
+ },
67
+ // Page 3: Transport Types
68
+ {
69
+ title: 'Transport Types',
70
+ lines: [
71
+ '',
72
+ ` ${s.secondary('Two transport types:')}`,
73
+ '',
74
+ ` ${s.primaryBold('stdio')} — Local command (spawns a child process)`,
75
+ '',
76
+ ` ${s.muted('{')}`,
77
+ ` ${s.muted(' "command": "npx",')}`,
78
+ ` ${s.muted(' "args": ["-y", "@mcp/server-github"],')}`,
79
+ ` ${s.muted(' "env": { "GITHUB_TOKEN": "ghp_xxx" }')}`,
80
+ ` ${s.muted('}')}`,
81
+ '',
82
+ ` ${s.primaryBold('HTTP')} — Remote server (makes HTTP requests)`,
83
+ '',
84
+ ` ${s.muted('{')}`,
85
+ ` ${s.muted(' "url": "https://mcp.example.com/db",')}`,
86
+ ` ${s.muted(' "headers": { "Authorization": "Bearer tok_xxx" }')}`,
87
+ ` ${s.muted('}')}`,
88
+ '',
89
+ ` ${s.secondary('Additional options:')}`,
90
+ '',
91
+ ` ${s.primaryBold('disabled')} Skip server without removing config`,
92
+ ` ${s.primaryBold('timeout')} Connection timeout (default 30s)`,
93
+ ` ${s.primaryBold('cwd')} Working directory (stdio only)`,
94
+ '',
95
+ ],
96
+ },
97
+ // Page 4: The /mcp Overlay
98
+ {
99
+ title: 'The /mcp Overlay',
100
+ lines: [
101
+ '',
102
+ ` ${s.primary('/mcp')} Open the MCP servers overlay.`,
103
+ '',
104
+ ` ${s.secondary('List view:')}`,
105
+ '',
106
+ ` Shows all servers with name, status, and tool count.`,
107
+ ` Status: ${s.success('connected')} ${s.warning('connecting')} ${s.error('error')} ${s.muted('disconnected')}`,
108
+ '',
109
+ ` ${s.secondary('Navigation:')}`,
110
+ '',
111
+ ` ${s.primaryBold('j/k')} Move between servers`,
112
+ ` ${s.primaryBold('/')} Search servers or tools`,
113
+ ` ${s.primaryBold('Enter')} View server details and tool list`,
114
+ ` ${s.primaryBold('a')} Add a new server (form-based wizard)`,
115
+ ` ${s.primaryBold('r')} Restart selected server`,
116
+ ` ${s.primaryBold('d')} Disconnect selected server`,
117
+ '',
118
+ ` ${s.secondary('Add server wizard:')}`,
119
+ '',
120
+ ` Press ${s.primaryBold('a')} to open a form where you enter the server`,
121
+ ` name, transport type, command/URL, and args. The server`,
122
+ ` connects immediately and tools are discovered on save.`,
123
+ '',
124
+ ],
125
+ },
126
+ // Page 5: Tips
127
+ {
128
+ title: 'Tips',
129
+ lines: [
130
+ '',
131
+ ` ${s.secondary('Startup behavior:')}`,
132
+ '',
133
+ ` MCP servers connect in the background during startup.`,
134
+ ` The CLI doesn't wait — you can start working immediately.`,
135
+ ` Status bar shows ${s.muted('mcp: connecting...')} until ready.`,
136
+ '',
137
+ ` ${s.secondary('Tool permissions:')}`,
138
+ '',
139
+ ` MCP tools go through the same permission system as built-in`,
140
+ ` tools. The first call to a new MCP tool triggers a prompt.`,
141
+ '',
142
+ ` ${s.secondary('Team agents:')}`,
143
+ '',
144
+ ` MCP tools are shared with all team agents automatically.`,
145
+ ` Every agent in the team can use the connected servers.`,
146
+ '',
147
+ ` ${s.secondary('Hot-reload:')}`,
148
+ '',
149
+ ` Add or restart servers at runtime via ${s.primary('/mcp')} without`,
150
+ ` restarting the CLI. New tools are available immediately.`,
151
+ '',
152
+ ],
153
+ },
154
+ ],
155
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Model Selection Tutorial
3
+ *
4
+ * Covers the /model overlay: provider tabs, tiers, API keys, model cycling.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const modelSelectionTutorial: TutorialBuilder;