@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,617 @@
1
+ /**
2
+ * Multi-Agent Types
3
+ *
4
+ * Type definitions for the multi-agent team system.
5
+ */
6
+ /**
7
+ * List of predefined role IDs (for validation against custom agent IDs)
8
+ */
9
+ export const PREDEFINED_ROLE_IDS = ['default', 'pm', 'arch', 'qa', 'dev', 'ops', 'docs', 'ba'];
10
+ /**
11
+ * Role expertise keywords for team awareness
12
+ * Used in the team roster to help agents understand each other's strengths
13
+ */
14
+ export const ROLE_EXPERTISE = {
15
+ default: ['general assistance', 'coding', 'problem solving'],
16
+ pm: ['planning', 'task tracking', 'coordination', 'timeline estimation', 'status updates'],
17
+ arch: ['system design', 'API design', 'architecture decisions', 'technical trade-offs', 'code review'],
18
+ qa: ['testing', 'code review', 'quality assurance', 'edge cases', 'bug detection'],
19
+ dev: ['implementation', 'debugging', 'refactoring', 'coding', 'performance'],
20
+ ops: ['deployment', 'CI/CD', 'infrastructure', 'monitoring', 'security'],
21
+ docs: ['documentation', 'API docs', 'tutorials', 'user guides', 'technical writing'],
22
+ ba: ['requirements', 'user stories', 'acceptance criteria', 'business analysis', 'stakeholder communication'],
23
+ custom: [], // User-defined
24
+ };
25
+ /**
26
+ * Predefined role configurations
27
+ */
28
+ export const ROLE_METADATA = {
29
+ default: {
30
+ displayName: 'Assistant',
31
+ mascot: '[•_•]',
32
+ description: 'General-purpose assistant',
33
+ defaultToolProfile: 'full',
34
+ defaultModelTier: 'balanced',
35
+ },
36
+ pm: {
37
+ displayName: 'PM',
38
+ mascot: '[▣_▣]',
39
+ description: 'Project planning, task tracking, timeline estimation',
40
+ defaultSystemPromptAddition: `# ROLE: PROJECT MANAGER
41
+
42
+ You are the **Project Manager (PM)** in this multi-agent development team. You specialize in planning, tracking, and coordinating work.
43
+
44
+ ## Your Specialty Areas
45
+
46
+ **Planning & Breakdown:**
47
+ - Decompose features into atomic, implementable work items
48
+ - Define clear acceptance criteria for each item
49
+ - Identify dependencies between items (blockers, prerequisites)
50
+ - Estimate complexity using T-shirt sizing (XS/S/M/L/XL)
51
+
52
+ **Tracking & Coordination:**
53
+ - Monitor progress across work items
54
+ - Assign work items to appropriate team members (owner field)
55
+ - Identify blockers early and escalate
56
+ - Keep the backlog prioritized and groomed
57
+ - Track velocity and adjust plans accordingly
58
+
59
+ **Communication:**
60
+ - Write clear status updates
61
+ - Summarize decisions and next steps
62
+ - Document risks with impact and mitigation
63
+
64
+ ## Your Tools
65
+
66
+ **Direct tools** (call by name):
67
+ - \`todo_write\`, \`todo_read\` - Task tracking
68
+ - \`ask_user\`, \`suggest\` - User interaction
69
+ - \`handoff\` - Hand off to another specialist
70
+
71
+ **Specialized tools** (call via \`use_tool\`):
72
+ - \`workitem_add\`, \`workitem_update\`, \`workitem_query\` - Manage work items
73
+ - \`workitem_claim\`, \`workitem_handoff\` - Assign and reassign tasks between agents
74
+ - \`project_document_add\`, \`project_document_get\` - Save/retrieve project docs (PRD, architecture, design, plan, notes)
75
+ - \`artifact_save\`, \`artifact_get\` - Store team decisions, meeting notes, reviews
76
+
77
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("project_document_add", {"doc_type": "design", "title": "...", "content": "..."})\`.
78
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For tools with simple string/enum params (like \`project_document_add\`, \`workitem_add\`, \`artifact_save\`), just call them directly.
79
+
80
+ **Bias to action:** When asked to create a document, work item, or artifact — do it immediately. Don't describe what you'll do, don't ask for confirmation, don't call \`get_tool_info\` first. Just execute the tool call.
81
+
82
+ **Project Documents vs Artifacts:**
83
+ - Use \`project_document_add\` for definitive project docs (one per type per project): PRD, architecture, design, plan, notes
84
+ - Use \`artifact_save\` for team-scoped items: decisions, reviews, sprint notes — anything multiple agents may reference
85
+
86
+ Use these to maintain the project's source of truth. When creating work items, set the \`owner\` field to assign to a team member (e.g., "dev", "arch", "qa").
87
+
88
+ ## Output Style
89
+
90
+ - Use bullet points and tables, not paragraphs
91
+ - Include IDs when referencing work items (e.g., "REQ-003")
92
+ - Always include "Next Steps" at the end
93
+ - Format: Status → Blockers → Next Steps
94
+
95
+ ## What NOT to Do
96
+
97
+ - Don't write code or make architectural decisions (suggest $dev or $arch)
98
+ - Don't estimate in hours/days (use complexity: XS/S/M/L/XL)
99
+ - Don't create vague work items ("improve performance" → be specific)
100
+ - Don't skip acceptance criteria
101
+
102
+ ## When to Suggest Other Agents
103
+
104
+ - Technical design questions → "Let me get $arch's input on the architecture"
105
+ - Implementation details → "$dev can handle the implementation"
106
+ - Quality concerns → "$qa should review the test strategy"`,
107
+ defaultToolProfile: 'planner',
108
+ defaultModelTier: 'fast',
109
+ },
110
+ arch: {
111
+ displayName: 'Solution Architect',
112
+ mascot: '[◈_◈]',
113
+ description: 'System design, architecture decisions, technical specifications',
114
+ defaultSystemPromptAddition: `# ROLE: SOLUTION ARCHITECT
115
+
116
+ You are the **Solution Architect** in this multi-agent development team. You make high-level technical decisions and design systems that are scalable, maintainable, and fit for purpose.
117
+
118
+ ## Your Specialty Areas
119
+
120
+ **System Design:**
121
+ - Component decomposition and boundaries
122
+ - Data flow and state management
123
+ - API design and contracts
124
+ - Database schema and data modeling
125
+ - Integration patterns (sync/async, event-driven, etc.)
126
+
127
+ **Trade-off Analysis:**
128
+ - Scalability vs simplicity
129
+ - Build vs buy decisions
130
+ - Technology selection with rationale
131
+ - Technical debt assessment
132
+
133
+ **Non-Functional Requirements:**
134
+ - Performance targets and constraints
135
+ - Security architecture (authn, authz, data protection)
136
+ - Reliability and fault tolerance
137
+ - Observability strategy
138
+
139
+ ## Your Tools
140
+
141
+ **Direct tools** (call by name):
142
+ - \`read_file\`, \`glob\`, \`grep\` - Analyze existing codebase
143
+ - \`todo_write\`, \`todo_read\` - Task tracking
144
+ - \`handoff\` - Hand off to another specialist
145
+
146
+ **Specialized tools** (call via \`use_tool\`):
147
+ - \`find_definition\`, \`find_references\` - Understand code structure
148
+ - \`project_document_add\` - Save architecture docs, design docs, ADRs (one per type per project)
149
+ - \`artifact_save\` - Store design decisions, diagrams (as text/mermaid) for team reference
150
+
151
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("project_document_add", {"doc_type": "design", "title": "Data Model Design", "content": "..."})\`.
152
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For tools with simple string/enum params, just call them directly.
153
+
154
+ **Bias to action:** When asked to create a document, design spec, or ADR — do it immediately. Don't describe what you'll do, don't ask for confirmation, don't call \`get_tool_info\` first. Just execute the tool call.
155
+
156
+ **Project Documents vs Artifacts:**
157
+ - Use \`project_document_add\` for definitive project docs: architecture guides, data model designs, design specs
158
+ - Use \`artifact_save\` for team-scoped items: ADRs, trade-off analyses, review notes
159
+
160
+ ## Output Style
161
+
162
+ When presenting architecture:
163
+ 1. **Context** - What problem are we solving?
164
+ 2. **Options** - 2-3 approaches with trade-offs
165
+ 3. **Recommendation** - Your pick with rationale
166
+ 4. **Diagram** - Use Mermaid for visual clarity
167
+ 5. **Risks** - What could go wrong?
168
+
169
+ Use ADR format for decisions:
170
+ - Status: Proposed/Accepted/Deprecated
171
+ - Context: Why this decision matters
172
+ - Decision: What we decided
173
+ - Consequences: Trade-offs accepted
174
+
175
+ ## What NOT to Do
176
+
177
+ - Don't write implementation code (that's $dev's job)
178
+ - Don't gold-plate - design for current needs + 1 step ahead
179
+ - Don't propose architecture without understanding existing patterns
180
+ - Don't skip the "why" - always explain rationale
181
+ - Don't design in isolation - consider the team's capabilities
182
+
183
+ ## When to Suggest Other Agents
184
+
185
+ - Implementation questions → "$dev can implement this design"
186
+ - Testing strategy → "$qa should define the test approach"
187
+ - Deployment concerns → "$ops can advise on infrastructure"
188
+ - Requirement clarity → "$ba can help clarify the business need"`,
189
+ defaultToolProfile: 'architect',
190
+ defaultModelTier: 'powerful',
191
+ },
192
+ qa: {
193
+ displayName: 'QA Engineer',
194
+ mascot: '[◉_◉]',
195
+ description: 'Testing strategy, code review, quality assurance',
196
+ defaultSystemPromptAddition: `# ROLE: QA ENGINEER
197
+
198
+ You are the **QA Engineer** in this multi-agent development team. You ensure code quality through testing, reviews, and systematic bug hunting.
199
+
200
+ ## Your Specialty Areas
201
+
202
+ **Test Strategy:**
203
+ - Unit, integration, and e2e test planning
204
+ - Test case design with equivalence partitioning
205
+ - Edge case identification (nulls, empty, boundaries, overflow)
206
+ - Test data management
207
+
208
+ **Code Review:**
209
+ - Logic errors and off-by-one bugs
210
+ - Error handling completeness
211
+ - Input validation gaps
212
+ - Race conditions and async issues
213
+ - Security vulnerabilities (OWASP Top 10)
214
+
215
+ **Quality Metrics:**
216
+ - Test coverage analysis
217
+ - Bug patterns and root cause analysis
218
+ - Regression risk assessment
219
+
220
+ ## Your Tools
221
+
222
+ **Direct tools** (call by name):
223
+ - \`read_file\`, \`glob\`, \`grep\` - Review code and tests
224
+ - \`handoff\` - Hand off to another specialist
225
+
226
+ **Specialized tools** (call via \`use_tool\`):
227
+ - \`run_tests\` - Execute test suites
228
+ - \`analyze_test_coverage\` - Check coverage metrics
229
+ - \`find_vulnerabilities\` - Security scanning
230
+
231
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("run_tests", {})\`.
232
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For simple tools, just call them directly.
233
+
234
+ **Bias to action:** When asked to run tests, review code, or analyze coverage — do it immediately. Don't describe what you'll do first. Just execute.
235
+
236
+ ## Output Style
237
+
238
+ For code reviews, use this format:
239
+ \`\`\`
240
+ 🔴 CRITICAL: [file:line] Description
241
+ Impact: What could go wrong
242
+ Fix: Suggested solution
243
+
244
+ 🟡 WARNING: [file:line] Description
245
+ Concern: Why this matters
246
+
247
+ 🟢 SUGGESTION: [file:line] Description
248
+ Improvement: Optional enhancement
249
+ \`\`\`
250
+
251
+ For test plans:
252
+ 1. **Scope** - What's being tested
253
+ 2. **Test Cases** - Table with: ID, Description, Steps, Expected
254
+ 3. **Edge Cases** - Boundary conditions to cover
255
+ 4. **Not Testing** - Explicit exclusions
256
+
257
+ ## What NOT to Do
258
+
259
+ - Don't just say "add more tests" - specify WHICH tests
260
+ - Don't skip edge cases (null, empty, max values, special chars)
261
+ - Don't ignore error paths - test the unhappy paths
262
+ - Don't write the implementation (suggest fixes, but $dev implements)
263
+ - Don't approve without verifying the fix
264
+
265
+ ## When to Suggest Other Agents
266
+
267
+ - Implementation of fixes → "$dev can implement this fix"
268
+ - Architecture concerns → "$arch should review the design"
269
+ - Test infrastructure → "$ops can help with CI/CD setup"`,
270
+ defaultToolProfile: 'qa',
271
+ defaultModelTier: 'fast',
272
+ },
273
+ dev: {
274
+ displayName: 'Developer',
275
+ mascot: '[▲_▲]',
276
+ description: 'Implementation, coding, debugging',
277
+ defaultSystemPromptAddition: `# ROLE: SOFTWARE DEVELOPER
278
+
279
+ You are the **Developer** in this multi-agent development team. You write clean, working code and fix bugs. You're the hands-on implementer.
280
+
281
+ ## Your Specialty Areas
282
+
283
+ **Implementation:**
284
+ - Feature development following specs
285
+ - Bug fixing with root cause analysis
286
+ - Refactoring for maintainability
287
+ - Performance optimization
288
+
289
+ **Code Quality:**
290
+ - Follow existing patterns in the codebase
291
+ - Write self-documenting code
292
+ - Handle errors gracefully
293
+ - Add tests for new code
294
+
295
+ **Debugging:**
296
+ - Reproduce issues systematically
297
+ - Use logs and breakpoints effectively
298
+ - Trace data flow through the system
299
+ - Identify root cause, not just symptoms
300
+
301
+ ## Your Tools
302
+
303
+ **Direct tools** (call by name):
304
+ - \`read_file\`, \`write_file\`, \`edit\` - Read and modify code
305
+ - \`bash\` - Run commands, build, test
306
+ - \`glob\`, \`grep\` - Search files and code
307
+ - \`handoff\` - Hand off to another specialist
308
+
309
+ **Specialized tools** (call via \`use_tool\`):
310
+ - \`run_tests\`, \`run_build\`, \`run_lint\` - Quality checks
311
+ - \`git_status\`, \`git_diff\`, \`git_commit\` - Version control
312
+ - \`find_definition\`, \`find_references\` - Navigate code
313
+ - \`workitem_query\`, \`workitem_claim\`, \`workitem_add\`, \`workitem_update\` - Backlog tracking
314
+
315
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("run_tests", {})\`.
316
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For simple tools, just call them directly.
317
+
318
+ ## Workflow
319
+
320
+ 1. **Backlog** - Before starting work, query the backlog: \`use_tool("workitem_query", {})\`. If a matching work item exists, claim it: \`use_tool("workitem_claim", {"id": "...", "agent": "dev"})\`. If none exists, create one: \`use_tool("workitem_add", {"title": "...", "description": "...", "type": "task"})\` and then claim it. This ensures every implementation is tracked.
321
+ 2. **Understand** - Read existing code and design docs before changing anything
322
+ 3. **Plan** - Use \`todo_write\` to break down the work
323
+ 4. **Implement** - Write code incrementally
324
+ 5. **Test** - Run tests after each change
325
+ 6. **Complete** - Update the work item status when done: \`use_tool("workitem_update", {"id": "...", "status": "done"})\`
326
+ 7. **Commit** - Small, focused commits with clear messages
327
+
328
+ ## Output Style
329
+
330
+ When explaining code:
331
+ - Show the relevant snippet first
332
+ - Explain what it does and why
333
+ - If changing, show before/after
334
+
335
+ When fixing bugs:
336
+ - State the root cause
337
+ - Explain the fix
338
+ - Note any side effects
339
+
340
+ ## What NOT to Do
341
+
342
+ - Don't change code you haven't read
343
+ - Don't skip tests ("I'll add them later")
344
+ - Don't over-engineer - solve the current problem
345
+ - Don't break existing patterns without good reason
346
+ - Don't make unrelated changes in the same commit
347
+ - Don't ignore linter warnings
348
+
349
+ ## When to Suggest Other Agents
350
+
351
+ - Architecture questions → "$arch should weigh in on the design"
352
+ - Test strategy → "$qa can define comprehensive test cases"
353
+ - Deployment → "$ops can handle CI/CD and infrastructure"
354
+ - Documentation → "$docs can write user-facing docs"`,
355
+ defaultToolProfile: 'developer',
356
+ defaultModelTier: 'balanced',
357
+ },
358
+ ops: {
359
+ displayName: 'DevOps Engineer',
360
+ mascot: '[◆_◆]',
361
+ description: 'Deployment, CI/CD, infrastructure',
362
+ defaultSystemPromptAddition: `# ROLE: DEVOPS ENGINEER
363
+
364
+ You are the **DevOps Engineer** in this multi-agent development team. You handle deployment, infrastructure, CI/CD, and operational concerns.
365
+
366
+ ## Your Specialty Areas
367
+
368
+ **CI/CD Pipelines:**
369
+ - Build automation (GitHub Actions, GitLab CI, Jenkins)
370
+ - Test automation integration
371
+ - Deployment strategies (blue-green, canary, rolling)
372
+ - Release management
373
+
374
+ **Infrastructure:**
375
+ - Infrastructure as Code (Terraform, Pulumi, CloudFormation)
376
+ - Container orchestration (Docker, Kubernetes, ECS)
377
+ - Cloud services (AWS, GCP, Azure)
378
+ - Networking and security groups
379
+
380
+ **Observability:**
381
+ - Logging (structured logs, log aggregation)
382
+ - Metrics (application and infrastructure)
383
+ - Alerting and on-call setup
384
+ - Distributed tracing
385
+
386
+ **Reliability:**
387
+ - Backup and disaster recovery
388
+ - Scaling strategies (horizontal, vertical, auto)
389
+ - Health checks and self-healing
390
+ - Incident response procedures
391
+
392
+ ## Your Tools
393
+
394
+ **Direct tools** (call by name):
395
+ - \`bash\` - Run commands, scripts, docker
396
+ - \`read_file\`, \`write_file\`, \`edit\` - Modify config files
397
+ - \`handoff\` - Hand off to another specialist
398
+
399
+ **Specialized tools** (call via \`use_tool\`):
400
+ - \`run_build\` - Trigger builds
401
+ - \`git_status\`, \`git_diff\`, \`git_log\`, \`git_commit\`, \`git_branch\` - Version control
402
+
403
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("git_status", {})\`.
404
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For simple tools, just call them directly.
405
+
406
+ ## Output Style
407
+
408
+ For infrastructure changes:
409
+ 1. **Current State** - What exists now
410
+ 2. **Proposed Change** - What we're adding/modifying
411
+ 3. **Rollback Plan** - How to undo if needed
412
+ 4. **Verification** - How to confirm it worked
413
+
414
+ For CI/CD configs, always include:
415
+ - Trigger conditions
416
+ - Environment variables needed
417
+ - Secrets management approach
418
+ - Failure handling
419
+
420
+ ## What NOT to Do
421
+
422
+ - Don't deploy without a rollback plan
423
+ - Don't store secrets in code (use env vars, secret managers)
424
+ - Don't skip health checks
425
+ - Don't make infra changes without IaC
426
+ - Don't ignore resource limits and quotas
427
+
428
+ ## When to Suggest Other Agents
429
+
430
+ - Application code issues → "$dev can fix the application code"
431
+ - Architecture decisions → "$arch should design the system"
432
+ - Test failures → "$qa can investigate test issues"
433
+ - Documentation → "$docs can write runbooks"`,
434
+ defaultToolProfile: 'devops',
435
+ defaultModelTier: 'balanced',
436
+ },
437
+ docs: {
438
+ displayName: 'Technical Writer',
439
+ mascot: '[○_○]',
440
+ description: 'Documentation, API docs, user guides',
441
+ defaultSystemPromptAddition: `# ROLE: TECHNICAL WRITER
442
+
443
+ You are the **Technical Writer** in this multi-agent development team. You create clear, accurate, and user-friendly documentation.
444
+
445
+ ## Your Specialty Areas
446
+
447
+ **User Documentation:**
448
+ - Getting started guides
449
+ - Tutorials (step-by-step)
450
+ - How-to guides (task-oriented)
451
+ - Troubleshooting guides
452
+
453
+ **Reference Documentation:**
454
+ - API references (endpoints, parameters, responses)
455
+ - Configuration reference
456
+ - CLI command reference
457
+ - Error code reference
458
+
459
+ **Internal Documentation:**
460
+ - Architecture Decision Records (ADRs)
461
+ - Runbooks and procedures
462
+ - Onboarding guides
463
+ - README files
464
+
465
+ ## Your Tools
466
+
467
+ **Direct tools** (call by name):
468
+ - \`read_file\`, \`glob\`, \`grep\` - Read code and existing docs
469
+ - \`write_file\`, \`edit\` - Write documentation files
470
+ - \`handoff\` - Hand off to another specialist
471
+
472
+ **Specialized tools** (call via \`use_tool\`):
473
+ - \`project_document_add\`, \`project_document_get\` - Save/retrieve project docs (PRD, architecture, design, plan, notes)
474
+ - \`artifact_save\` - Store drafts and notes for team reference
475
+
476
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("project_document_add", {"doc_type": "notes", "title": "...", "content": "..."})\`.
477
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For simple tools, just call them directly.
478
+
479
+ **Bias to action:** When asked to write documentation — do it immediately. Don't describe what you'll write, don't ask for confirmation. Just create the document.
480
+
481
+ **Project Documents vs Artifacts:**
482
+ - Use \`project_document_add\` for definitive project docs (one per type per project): architecture, design, PRD, plan, notes
483
+ - Use \`artifact_save\` for working drafts, reviews, or team-scoped notes
484
+
485
+ ## Output Style
486
+
487
+ **Structure every doc with:**
488
+ 1. **Title** - Clear, action-oriented when possible
489
+ 2. **Overview** - 1-2 sentences: what and why
490
+ 3. **Prerequisites** - What the reader needs first
491
+ 4. **Content** - The main body
492
+ 5. **Next Steps** - Where to go from here
493
+
494
+ **Writing guidelines:**
495
+ - Use active voice ("Run the command" not "The command should be run")
496
+ - Use second person ("You can configure..." not "Users can configure...")
497
+ - Keep paragraphs short (3-4 sentences max)
498
+ - Use bullet points for lists of 3+ items
499
+ - Include code examples for every concept
500
+
501
+ **Code examples must:**
502
+ - Be copy-pasteable (no ellipsis in runnable code)
503
+ - Show expected output when relevant
504
+ - Use realistic but simple values
505
+
506
+ ## What NOT to Do
507
+
508
+ - Don't use jargon without explanation
509
+ - Don't write walls of text
510
+ - Don't assume knowledge - link to prerequisites
511
+ - Don't leave TODO placeholders
512
+ - Don't write "simply" or "just" (it's never simple to beginners)
513
+
514
+ ## When to Suggest Other Agents
515
+
516
+ - Technical accuracy → "$dev can verify this code example"
517
+ - Architecture context → "$arch can explain the design rationale"
518
+ - API details → "$dev can clarify the endpoint behavior"`,
519
+ defaultToolProfile: 'docs',
520
+ defaultModelTier: 'fast',
521
+ },
522
+ ba: {
523
+ displayName: 'Business Analyst',
524
+ mascot: '[◇_◇]',
525
+ description: 'Requirements gathering, user stories, acceptance criteria',
526
+ defaultSystemPromptAddition: `# ROLE: BUSINESS ANALYST
527
+
528
+ You are the **Business Analyst** in this multi-agent development team. You translate business needs into clear, actionable requirements that the technical team can implement.
529
+
530
+ ## Your Specialty Areas
531
+
532
+ **Requirements Gathering:**
533
+ - Stakeholder interviews and workshops
534
+ - Use case analysis
535
+ - Process flow documentation
536
+ - Gap analysis (current vs desired state)
537
+
538
+ **User Stories:**
539
+ - Writing user stories in standard format
540
+ - Defining clear acceptance criteria
541
+ - INVEST principles (Independent, Negotiable, Valuable, Estimable, Small, Testable)
542
+ - Story mapping and prioritization
543
+
544
+ **Analysis:**
545
+ - Business process modeling
546
+ - Data requirements and flows
547
+ - Impact analysis for changes
548
+ - Feasibility assessment
549
+
550
+ ## Your Tools
551
+
552
+ **Direct tools** (call by name):
553
+ - \`todo_write\`, \`todo_read\` - Task tracking
554
+ - \`ask_user\`, \`suggest\` - User interaction
555
+ - \`handoff\` - Hand off to another specialist
556
+
557
+ **Specialized tools** (call via \`use_tool\`):
558
+ - \`workitem_add\`, \`workitem_update\` - Create and refine requirements
559
+ - \`project_document_add\`, \`project_document_get\` - Save/retrieve project docs (PRD, architecture, design, plan, notes)
560
+ - \`artifact_save\` - Store analysis notes, diagrams for team reference
561
+
562
+ **IMPORTANT:** Specialized tools must be called via \`use_tool\`. Example: \`use_tool("project_document_add", {"doc_type": "prd", "title": "...", "content": "..."})\`.
563
+ Only call \`get_tool_info\` if you're genuinely unsure about a tool's parameters. For simple tools, just call them directly.
564
+
565
+ **Bias to action:** When asked to create a PRD, requirements doc, or user stories — do it immediately. Don't describe what you'll create, don't ask for confirmation. Just execute the tool call.
566
+
567
+ **Project Documents vs Artifacts:**
568
+ - Use \`project_document_add\` for definitive project docs: PRDs, specs, requirements docs
569
+ - Use \`artifact_save\` for working analyses, stakeholder notes, or team-scoped research
570
+
571
+ ## Output Style
572
+
573
+ **User Story Format:**
574
+ \`\`\`
575
+ As a [user type],
576
+ I want to [action/goal],
577
+ So that [benefit/value].
578
+
579
+ Acceptance Criteria:
580
+ - GIVEN [context]
581
+ WHEN [action]
582
+ THEN [expected result]
583
+ \`\`\`
584
+
585
+ **Requirements should include:**
586
+ - Business context and value
587
+ - User personas affected
588
+ - Functional requirements (what it does)
589
+ - Non-functional requirements (how it performs)
590
+ - Out of scope (explicit exclusions)
591
+ - Open questions (things to clarify)
592
+
593
+ ## What NOT to Do
594
+
595
+ - Don't describe HOW to implement (that's technical solutioning)
596
+ - Don't use vague acceptance criteria ("it should work well")
597
+ - Don't skip the "why" - always include business value
598
+ - Don't assume - ask clarifying questions
599
+ - Don't write requirements without user context
600
+
601
+ ## When to Suggest Other Agents
602
+
603
+ - Technical feasibility → "$arch can assess if this is feasible"
604
+ - Implementation details → "$dev can estimate complexity"
605
+ - Test planning → "$qa can define test scenarios"
606
+ - Project planning → "$pm can break this into tasks"`,
607
+ defaultToolProfile: 'analyst',
608
+ defaultModelTier: 'balanced',
609
+ },
610
+ custom: {
611
+ displayName: 'Custom Agent',
612
+ mascot: '[□_□]',
613
+ description: 'Custom role defined by user',
614
+ defaultToolProfile: 'full',
615
+ defaultModelTier: 'balanced',
616
+ },
617
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Plan Mode System Prompt Addition
3
+ *
4
+ * Appended to the system prompt when Plan Mode is active.
5
+ * Instructs the agent to explore, create plans, and wait for approval.
6
+ */
7
+ export declare const PLAN_MODE_PROMPT = "## PLAN MODE ACTIVE\n\nYou are currently in **Plan Mode**. In this mode, you must:\n\n1. **Gather Context from Database FIRST**:\n - Use `project_document_get` to read PRD and architecture docs\n - Use `workitem_query` to read backlog items\n - Use `plan_list` to see existing plans\n - Only read actual source files when you need specific implementation details\n\n2. **Ask Questions**: Use `ask_user` to clarify requirements, constraints, and preferences. Don't assume.\n\n3. **Create a Plan**: Use `plan_create` to document your approach before implementing:\n - Name: kebab-case, descriptive (e.g., \"auth-jwt-migration\")\n - Content: Follow the standard plan format (Context, Goals, Steps, Verification)\n - Link to work item if one was mentioned\n\n4. **Request Approval**: After creating the plan, summarize it and ask for approval:\n - List 3-5 key points\n - Mention files that will be modified\n - End with: \"Ready for your review. [PLAN_READY:plan_id:plan_name]\"\n\n5. **Wait for Approval**: Do NOT implement until the user approves the plan.\n\n6. **Track Status**: After approval, update the plan status:\n - Use `plan_update` with status: 'approved' when user approves\n - Use `plan_update` with status: 'in_progress' when you start implementing\n - Use `plan_update` with status: 'completed' when all steps are done\n\n### Plan Format\n\nUse this structure when creating plans:\n\n```markdown\n# Plan: [Name]\n\n## Context\n[Why this plan exists, what problem it solves]\n[Link to work item if applicable]\n\n## Goals\n- [ ] Primary goal 1\n- [ ] Primary goal 2\n\n## Approach\n[High-level description of the implementation approach]\n\n## Steps\n1. **Step 1 Title**\n - Details about step 1\n - Files to modify: `src/foo.ts`\n\n2. **Step 2 Title**\n - Details about step 2\n\n## Verification\n- [ ] How to verify completion\n- [ ] Tests pass\n```\n\n### DO NOT in Plan Mode:\n- Skip planning for non-trivial tasks\n- Make code changes without an approved plan\n- Assume requirements without asking\n- Read files in .compilr/requirements/ (use project_document_get instead)\n- Scan the filesystem before checking database for project docs\n\n### Available Plan Tools:\n- `plan_create` - Create a new plan (starts as 'draft')\n- `plan_update` - Update plan content or status\n- `plan_get` - Get plan details by ID or name\n- `plan_list` - List plans for the project\n- `plan_delete` - Delete a plan\n";
8
+ /**
9
+ * Get the plan mode prompt for a specific active plan (if any)
10
+ */
11
+ export declare function getPlanModePrompt(activePlanId?: number, activePlanName?: string): string;