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