@agimon-ai/doompi 0.0.1-alpha.10 → 0.0.1-alpha.101

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 (1391) hide show
  1. package/README.md +669 -478
  2. package/assets/banner.png +0 -0
  3. package/assets/doompi-tui.png +0 -0
  4. package/assets/favicon.svg +16 -0
  5. package/assets/logo-light.png +0 -0
  6. package/assets/logo.png +0 -0
  7. package/assets/mascot-red.png +0 -0
  8. package/assets/mascot-red.svg +6 -0
  9. package/assets/mascot.png +0 -0
  10. package/assets/mascot.svg +6 -0
  11. package/dist/_virtual/_rolldown/runtime.cjs +23 -1
  12. package/dist/antigravity.cjs +5 -0
  13. package/dist/antigravity.d.mts +2 -0
  14. package/dist/antigravity.mjs +2 -0
  15. package/dist/apiContracts.cjs +11 -0
  16. package/dist/apiContracts.cjs.map +1 -0
  17. package/dist/apiContracts.d.mts +52 -0
  18. package/dist/apiContracts.d.mts.map +1 -0
  19. package/dist/apiContracts.mjs +7 -0
  20. package/dist/apiContracts.mjs.map +1 -0
  21. package/dist/baseCommand.cjs +3 -0
  22. package/dist/baseCommand.d.mts +2 -0
  23. package/dist/baseCommand.mjs +2 -0
  24. package/dist/bin/cli.cjs +27 -1
  25. package/dist/bin/cli.cjs.map +1 -1
  26. package/dist/bin/cli.d.mts +1 -1
  27. package/dist/bin/cli.mjs +28 -1
  28. package/dist/bin/cli.mjs.map +1 -1
  29. package/dist/bin/doomRunner.cjs +38 -1
  30. package/dist/bin/doomRunner.cjs.map +1 -1
  31. package/dist/bin/doomRunner.d.mts +12 -1
  32. package/dist/bin/doomRunner.d.mts.map +1 -0
  33. package/dist/bin/doomRunner.mjs +37 -1
  34. package/dist/bin/doomRunner.mjs.map +1 -1
  35. package/dist/bin/dpi.cjs +12 -0
  36. package/dist/bin/dpi.cjs.map +1 -0
  37. package/dist/bin/dpi.d.mts +1 -0
  38. package/dist/bin/dpi.mjs +14 -0
  39. package/dist/bin/dpi.mjs.map +1 -0
  40. package/dist/bin/serve.cjs +16 -0
  41. package/dist/bin/serve.cjs.map +1 -0
  42. package/dist/bin/serve.d.mts +1 -0
  43. package/dist/bin/serve.mjs +17 -0
  44. package/dist/bin/serve.mjs.map +1 -0
  45. package/dist/builders/cli/extensionAssembler/index.cjs +390 -0
  46. package/dist/builders/cli/extensionAssembler/index.cjs.map +1 -0
  47. package/dist/builders/cli/extensionAssembler/index.d.mts +113 -0
  48. package/dist/builders/cli/extensionAssembler/index.d.mts.map +1 -0
  49. package/dist/builders/cli/extensionAssembler/index.mjs +380 -0
  50. package/dist/builders/cli/extensionAssembler/index.mjs.map +1 -0
  51. package/dist/builders/cli/index.cjs +151 -0
  52. package/dist/builders/cli/index.cjs.map +1 -0
  53. package/dist/builders/cli/index.d.mts +22 -0
  54. package/dist/builders/cli/index.d.mts.map +1 -0
  55. package/dist/builders/cli/index.mjs +147 -0
  56. package/dist/builders/cli/index.mjs.map +1 -0
  57. package/dist/cli.cjs +28 -0
  58. package/dist/cli.d.mts +11 -0
  59. package/dist/cli.mjs +11 -0
  60. package/dist/cliApp.cjs +5 -0
  61. package/dist/cliApp.d.mts +2 -0
  62. package/dist/cliApp.mjs +2 -0
  63. package/dist/codex.cjs +8 -0
  64. package/dist/codex.d.mts +2 -0
  65. package/dist/codex.mjs +2 -0
  66. package/dist/commands.cjs +24 -0
  67. package/dist/commands.d.mts +10 -0
  68. package/dist/commands.mjs +10 -0
  69. package/dist/compatibility.cjs +27 -0
  70. package/dist/compatibility.d.mts +6 -0
  71. package/dist/compatibility.mjs +6 -0
  72. package/dist/compatibilityCommand.cjs +4 -0
  73. package/dist/compatibilityCommand.d.mts +2 -0
  74. package/dist/compatibilityCommand.mjs +2 -0
  75. package/dist/compatibilityContext.cjs +3 -0
  76. package/dist/compatibilityContext.d.mts +2 -0
  77. package/dist/compatibilityContext.mjs +2 -0
  78. package/dist/compatibilityOptions.cjs +5 -0
  79. package/dist/compatibilityOptions.d.mts +2 -0
  80. package/dist/compatibilityOptions.mjs +2 -0
  81. package/dist/composer.cjs +28 -0
  82. package/dist/composer.d.mts +4 -0
  83. package/dist/composer.mjs +4 -0
  84. package/dist/config.cjs +163 -0
  85. package/dist/config.d.mts +7 -0
  86. package/dist/config.mjs +7 -0
  87. package/dist/doctorCommand.cjs +5 -0
  88. package/dist/doctorCommand.d.mts +2 -0
  89. package/dist/doctorCommand.mjs +2 -0
  90. package/dist/emitMcpCommand.cjs +4 -0
  91. package/dist/emitMcpCommand.d.mts +2 -0
  92. package/dist/emitMcpCommand.mjs +2 -0
  93. package/dist/explainCommand.cjs +5 -0
  94. package/dist/explainCommand.d.mts +2 -0
  95. package/dist/explainCommand.mjs +2 -0
  96. package/dist/extensions/agentModel.cjs +41 -0
  97. package/dist/extensions/agentModel.cjs.map +1 -0
  98. package/dist/extensions/agentModel.d.mts +22 -0
  99. package/dist/extensions/agentModel.d.mts.map +1 -0
  100. package/dist/extensions/agentModel.mjs +35 -0
  101. package/dist/extensions/agentModel.mjs.map +1 -0
  102. package/dist/extensions/composedPi.cjs +46 -0
  103. package/dist/extensions/composedPi.cjs.map +1 -0
  104. package/dist/extensions/composedPi.d.mts +13 -0
  105. package/dist/extensions/composedPi.d.mts.map +1 -0
  106. package/dist/extensions/composedPi.mjs +41 -0
  107. package/dist/extensions/composedPi.mjs.map +1 -0
  108. package/dist/extensions/contextCatalog.cjs +133 -0
  109. package/dist/extensions/contextCatalog.cjs.map +1 -0
  110. package/dist/extensions/contextCatalog.d.mts +5 -0
  111. package/dist/extensions/contextCatalog.d.mts.map +1 -0
  112. package/dist/extensions/contextCatalog.mjs +131 -0
  113. package/dist/extensions/contextCatalog.mjs.map +1 -0
  114. package/dist/extensions/cordisFinalizer.cjs +24 -0
  115. package/dist/extensions/cordisFinalizer.cjs.map +1 -0
  116. package/dist/extensions/cordisFinalizer.d.mts +7 -0
  117. package/dist/extensions/cordisFinalizer.d.mts.map +1 -0
  118. package/dist/extensions/cordisFinalizer.mjs +19 -0
  119. package/dist/extensions/cordisFinalizer.mjs.map +1 -0
  120. package/dist/extensions/cordisHost.cjs +19 -0
  121. package/dist/extensions/cordisHost.cjs.map +1 -0
  122. package/dist/extensions/cordisHost.d.mts +7 -0
  123. package/dist/extensions/cordisHost.d.mts.map +1 -0
  124. package/dist/extensions/cordisHost.mjs +14 -0
  125. package/dist/extensions/cordisHost.mjs.map +1 -0
  126. package/dist/extensions/effort.cjs +54 -0
  127. package/dist/extensions/effort.cjs.map +1 -0
  128. package/dist/extensions/effort.d.mts +8 -0
  129. package/dist/extensions/effort.d.mts.map +1 -0
  130. package/dist/extensions/effort.mjs +48 -0
  131. package/dist/extensions/effort.mjs.map +1 -0
  132. package/dist/extensions/launcherBootstrap.cjs +38 -0
  133. package/dist/extensions/launcherBootstrap.cjs.map +1 -0
  134. package/dist/extensions/launcherBootstrap.d.mts +16 -0
  135. package/dist/extensions/launcherBootstrap.d.mts.map +1 -0
  136. package/dist/extensions/launcherBootstrap.mjs +33 -0
  137. package/dist/extensions/launcherBootstrap.mjs.map +1 -0
  138. package/dist/extensions/ollamaProvider.cjs +32 -0
  139. package/dist/extensions/ollamaProvider.cjs.map +1 -0
  140. package/dist/extensions/ollamaProvider.d.mts +5 -0
  141. package/dist/extensions/ollamaProvider.d.mts.map +1 -0
  142. package/dist/extensions/ollamaProvider.mjs +32 -0
  143. package/dist/extensions/ollamaProvider.mjs.map +1 -0
  144. package/dist/extensions/pi.cjs +63 -1
  145. package/dist/extensions/pi.cjs.map +1 -0
  146. package/dist/extensions/pi.d.mts +7 -2
  147. package/dist/extensions/pi.d.mts.map +1 -0
  148. package/dist/extensions/pi.mjs +58 -1
  149. package/dist/extensions/pi.mjs.map +1 -0
  150. package/dist/extensions/server.cjs +29 -0
  151. package/dist/extensions/server.cjs.map +1 -0
  152. package/dist/extensions/server.d.mts +5 -0
  153. package/dist/extensions/server.d.mts.map +1 -0
  154. package/dist/extensions/server.mjs +24 -0
  155. package/dist/extensions/server.mjs.map +1 -0
  156. package/dist/extensions/styleSystem.cjs +234 -0
  157. package/dist/extensions/styleSystem.cjs.map +1 -0
  158. package/dist/extensions/styleSystem.d.mts +32 -0
  159. package/dist/extensions/styleSystem.d.mts.map +1 -0
  160. package/dist/extensions/styleSystem.mjs +219 -0
  161. package/dist/extensions/styleSystem.mjs.map +1 -0
  162. package/dist/extensions/terminalChildSession.cjs +77 -0
  163. package/dist/extensions/terminalChildSession.cjs.map +1 -0
  164. package/dist/extensions/terminalChildSession.d.mts +7 -0
  165. package/dist/extensions/terminalChildSession.d.mts.map +1 -0
  166. package/dist/extensions/terminalChildSession.mjs +70 -0
  167. package/dist/extensions/terminalChildSession.mjs.map +1 -0
  168. package/dist/extensions/transitionCoordinator.cjs +154 -0
  169. package/dist/extensions/transitionCoordinator.cjs.map +1 -0
  170. package/dist/extensions/transitionCoordinator.d.mts +8 -0
  171. package/dist/extensions/transitionCoordinator.d.mts.map +1 -0
  172. package/dist/extensions/transitionCoordinator.mjs +146 -0
  173. package/dist/extensions/transitionCoordinator.mjs.map +1 -0
  174. package/dist/harnessContext.cjs +5 -0
  175. package/dist/harnessContext.d.mts +2 -0
  176. package/dist/harnessContext.mjs +2 -0
  177. package/dist/harnessState.cjs +19 -0
  178. package/dist/harnessState.d.mts +2 -0
  179. package/dist/harnessState.mjs +2 -0
  180. package/dist/help.cjs +16 -0
  181. package/dist/help.d.mts +8 -0
  182. package/dist/help.mjs +8 -0
  183. package/dist/index.cjs +369 -1
  184. package/dist/index.d.mts +50 -39
  185. package/dist/index.mjs +47 -1
  186. package/dist/initCommand.cjs +4 -0
  187. package/dist/initCommand.d.mts +2 -0
  188. package/dist/initCommand.mjs +2 -0
  189. package/dist/launchCommand.cjs +7 -0
  190. package/dist/launchCommand.d.mts +2 -0
  191. package/dist/launchCommand.mjs +2 -0
  192. package/dist/matrixOptions.cjs +28 -0
  193. package/dist/matrixOptions.d.mts +2 -0
  194. package/dist/matrixOptions.mjs +2 -0
  195. package/dist/matrixSwitcher.cjs +11 -0
  196. package/dist/matrixSwitcher.d.mts +3 -0
  197. package/dist/matrixSwitcher.mjs +3 -0
  198. package/dist/mcpFilter.cjs +9 -0
  199. package/dist/mcpFilter.d.mts +1 -0
  200. package/dist/mcpFilter.mjs +2 -0
  201. package/dist/options.cjs +3 -0
  202. package/dist/options.d.mts +2 -0
  203. package/dist/options.mjs +2 -0
  204. package/dist/process.cjs +12 -0
  205. package/dist/process.d.mts +2 -0
  206. package/dist/process.mjs +2 -0
  207. package/dist/projectTrust.cjs +6 -0
  208. package/dist/projectTrust.d.mts +2 -0
  209. package/dist/projectTrust.mjs +2 -0
  210. package/dist/repository.cjs +5 -0
  211. package/dist/repository.d.mts +2 -0
  212. package/dist/repository.mjs +2 -0
  213. package/dist/resourceCollector.cjs +9 -0
  214. package/dist/resourceCollector.d.mts +1 -0
  215. package/dist/resourceCollector.mjs +2 -0
  216. package/dist/router.cjs +6 -0
  217. package/dist/router.d.mts +2 -0
  218. package/dist/router.mjs +2 -0
  219. package/dist/services.cjs +154 -0
  220. package/dist/services.d.mts +21 -0
  221. package/dist/services.mjs +21 -0
  222. package/dist/shared.cjs +18 -0
  223. package/dist/shared.d.mts +2 -0
  224. package/dist/shared.mjs +2 -0
  225. package/dist/src/builders/apiContractExport/index.cjs +81 -0
  226. package/dist/src/builders/apiContractExport/index.cjs.map +1 -0
  227. package/dist/src/builders/apiContractExport/index.mjs +77 -0
  228. package/dist/src/builders/apiContractExport/index.mjs.map +1 -0
  229. package/dist/src/builders/apiContracts/index.cjs +87 -0
  230. package/dist/src/builders/apiContracts/index.cjs.map +1 -0
  231. package/dist/src/builders/apiContracts/index.mjs +82 -0
  232. package/dist/src/builders/apiContracts/index.mjs.map +1 -0
  233. package/dist/src/builders/cli/bootstrapClaim.cjs +53 -0
  234. package/dist/src/builders/cli/bootstrapClaim.cjs.map +1 -0
  235. package/dist/src/builders/cli/bootstrapClaim.mjs +51 -0
  236. package/dist/src/builders/cli/bootstrapClaim.mjs.map +1 -0
  237. package/dist/src/builders/cli/bootstrapLocator/index.cjs +211 -0
  238. package/dist/src/builders/cli/bootstrapLocator/index.cjs.map +1 -0
  239. package/dist/src/builders/cli/bootstrapLocator/index.d.mts +6 -0
  240. package/dist/src/builders/cli/bootstrapLocator/index.d.mts.map +1 -0
  241. package/dist/src/builders/cli/bootstrapLocator/index.mjs +202 -0
  242. package/dist/src/builders/cli/bootstrapLocator/index.mjs.map +1 -0
  243. package/dist/src/builders/cli/composition.cjs +378 -0
  244. package/dist/src/builders/cli/composition.cjs.map +1 -0
  245. package/dist/src/builders/cli/composition.d.mts +119 -0
  246. package/dist/src/builders/cli/composition.d.mts.map +1 -0
  247. package/dist/src/builders/cli/composition.mjs +351 -0
  248. package/dist/src/builders/cli/composition.mjs.map +1 -0
  249. package/dist/src/builders/cli/compositionState.cjs +33 -0
  250. package/dist/src/builders/cli/compositionState.cjs.map +1 -0
  251. package/dist/src/builders/cli/compositionState.d.mts +9 -0
  252. package/dist/src/builders/cli/compositionState.d.mts.map +1 -0
  253. package/dist/src/builders/cli/compositionState.mjs +30 -0
  254. package/dist/src/builders/cli/compositionState.mjs.map +1 -0
  255. package/dist/src/builders/cli/constants.cjs +20 -0
  256. package/dist/src/builders/cli/constants.cjs.map +1 -0
  257. package/dist/src/builders/cli/constants.d.mts +17 -0
  258. package/dist/src/builders/cli/constants.d.mts.map +1 -0
  259. package/dist/src/builders/cli/constants.mjs +19 -0
  260. package/dist/src/builders/cli/constants.mjs.map +1 -0
  261. package/dist/src/builders/cli/contextCatalog.cjs +130 -0
  262. package/dist/src/builders/cli/contextCatalog.cjs.map +1 -0
  263. package/dist/src/builders/cli/contextCatalog.mjs +130 -0
  264. package/dist/src/builders/cli/contextCatalog.mjs.map +1 -0
  265. package/dist/src/builders/cli/dpiSettings.cjs +118 -0
  266. package/dist/src/builders/cli/dpiSettings.cjs.map +1 -0
  267. package/dist/src/builders/cli/dpiSettings.mjs +111 -0
  268. package/dist/src/builders/cli/dpiSettings.mjs.map +1 -0
  269. package/dist/src/builders/cli/entryResolution.cjs +22 -0
  270. package/dist/src/builders/cli/entryResolution.cjs.map +1 -0
  271. package/dist/src/builders/cli/entryResolution.d.mts +5 -0
  272. package/dist/src/builders/cli/entryResolution.d.mts.map +1 -0
  273. package/dist/src/builders/cli/entryResolution.mjs +19 -0
  274. package/dist/src/builders/cli/entryResolution.mjs.map +1 -0
  275. package/dist/src/builders/cli/harnessContext.cjs +187 -0
  276. package/dist/src/builders/cli/harnessContext.cjs.map +1 -0
  277. package/dist/src/builders/cli/harnessContext.d.mts +51 -0
  278. package/dist/src/builders/cli/harnessContext.d.mts.map +1 -0
  279. package/dist/src/builders/cli/harnessContext.mjs +180 -0
  280. package/dist/src/builders/cli/harnessContext.mjs.map +1 -0
  281. package/dist/src/builders/cli/launchPlan/index.cjs +102 -0
  282. package/dist/src/builders/cli/launchPlan/index.cjs.map +1 -0
  283. package/dist/src/builders/cli/launchPlan/index.d.mts +43 -0
  284. package/dist/src/builders/cli/launchPlan/index.d.mts.map +1 -0
  285. package/dist/src/builders/cli/launchPlan/index.mjs +100 -0
  286. package/dist/src/builders/cli/launchPlan/index.mjs.map +1 -0
  287. package/dist/src/builders/cli/launcherComposition/index.cjs +84 -0
  288. package/dist/src/builders/cli/launcherComposition/index.cjs.map +1 -0
  289. package/dist/src/builders/cli/launcherComposition/index.mjs +80 -0
  290. package/dist/src/builders/cli/launcherComposition/index.mjs.map +1 -0
  291. package/dist/src/builders/cli/piExtensionAlias/index.cjs +40 -0
  292. package/dist/src/builders/cli/piExtensionAlias/index.cjs.map +1 -0
  293. package/dist/src/builders/cli/piExtensionAlias/index.mjs +35 -0
  294. package/dist/src/builders/cli/piExtensionAlias/index.mjs.map +1 -0
  295. package/dist/src/builders/cli/piExtensionDispatcher/index.cjs +200 -0
  296. package/dist/src/builders/cli/piExtensionDispatcher/index.cjs.map +1 -0
  297. package/dist/src/builders/cli/piExtensionDispatcher/index.mjs +194 -0
  298. package/dist/src/builders/cli/piExtensionDispatcher/index.mjs.map +1 -0
  299. package/dist/src/builders/cli/prepare.cjs +64 -0
  300. package/dist/src/builders/cli/prepare.cjs.map +1 -0
  301. package/dist/src/builders/cli/prepare.mjs +62 -0
  302. package/dist/src/builders/cli/prepare.mjs.map +1 -0
  303. package/dist/src/builders/cli/projectSettings.cjs +155 -0
  304. package/dist/src/builders/cli/projectSettings.cjs.map +1 -0
  305. package/dist/src/builders/cli/projectSettings.d.mts +27 -0
  306. package/dist/src/builders/cli/projectSettings.d.mts.map +1 -0
  307. package/dist/src/builders/cli/projectSettings.mjs +144 -0
  308. package/dist/src/builders/cli/projectSettings.mjs.map +1 -0
  309. package/dist/src/builders/cli/runtimeBundle/index.cjs +130 -0
  310. package/dist/src/builders/cli/runtimeBundle/index.cjs.map +1 -0
  311. package/dist/src/builders/cli/runtimeBundle/index.d.mts +21 -0
  312. package/dist/src/builders/cli/runtimeBundle/index.d.mts.map +1 -0
  313. package/dist/src/builders/cli/runtimeBundle/index.mjs +126 -0
  314. package/dist/src/builders/cli/runtimeBundle/index.mjs.map +1 -0
  315. package/dist/src/builders/server/computerUseBinding.cjs +166 -0
  316. package/dist/src/builders/server/computerUseBinding.cjs.map +1 -0
  317. package/dist/src/builders/server/computerUseBinding.mjs +166 -0
  318. package/dist/src/builders/server/computerUseBinding.mjs.map +1 -0
  319. package/dist/src/builders/server/defaultWorkspace.cjs +38 -0
  320. package/dist/src/builders/server/defaultWorkspace.cjs.map +1 -0
  321. package/dist/src/builders/server/defaultWorkspace.mjs +35 -0
  322. package/dist/src/builders/server/defaultWorkspace.mjs.map +1 -0
  323. package/dist/src/builders/server/executionBudget.cjs +64 -0
  324. package/dist/src/builders/server/executionBudget.cjs.map +1 -0
  325. package/dist/src/builders/server/executionBudget.mjs +64 -0
  326. package/dist/src/builders/server/executionBudget.mjs.map +1 -0
  327. package/dist/src/builders/server/index.cjs +184 -0
  328. package/dist/src/builders/server/index.cjs.map +1 -0
  329. package/dist/src/builders/server/index.mjs +181 -0
  330. package/dist/src/builders/server/index.mjs.map +1 -0
  331. package/dist/src/builders/server/logSink.cjs +57 -0
  332. package/dist/src/builders/server/logSink.cjs.map +1 -0
  333. package/dist/src/builders/server/logSink.mjs +57 -0
  334. package/dist/src/builders/server/logSink.mjs.map +1 -0
  335. package/dist/src/builders/server/mcpApp.cjs +120 -0
  336. package/dist/src/builders/server/mcpApp.cjs.map +1 -0
  337. package/dist/src/builders/server/mcpApp.mjs +116 -0
  338. package/dist/src/builders/server/mcpApp.mjs.map +1 -0
  339. package/dist/src/builders/server/mcpBundle.cjs +127 -0
  340. package/dist/src/builders/server/mcpBundle.cjs.map +1 -0
  341. package/dist/src/builders/server/mcpBundle.mjs +123 -0
  342. package/dist/src/builders/server/mcpBundle.mjs.map +1 -0
  343. package/dist/src/builders/server/runtime.cjs +991 -0
  344. package/dist/src/builders/server/runtime.cjs.map +1 -0
  345. package/dist/src/builders/server/runtime.mjs +983 -0
  346. package/dist/src/builders/server/runtime.mjs.map +1 -0
  347. package/dist/src/builders/server/selectionStatus.cjs +12 -0
  348. package/dist/src/builders/server/selectionStatus.cjs.map +1 -0
  349. package/dist/src/builders/server/selectionStatus.mjs +12 -0
  350. package/dist/src/builders/server/selectionStatus.mjs.map +1 -0
  351. package/dist/src/builders/server/sessionArguments.cjs +62 -0
  352. package/dist/src/builders/server/sessionArguments.cjs.map +1 -0
  353. package/dist/src/builders/server/sessionArguments.mjs +61 -0
  354. package/dist/src/builders/server/sessionArguments.mjs.map +1 -0
  355. package/dist/src/builders/server/sessionArtifact.cjs +28 -0
  356. package/dist/src/builders/server/sessionArtifact.cjs.map +1 -0
  357. package/dist/src/builders/server/sessionArtifact.mjs +27 -0
  358. package/dist/src/builders/server/sessionArtifact.mjs.map +1 -0
  359. package/dist/src/builders/server/shutdown.cjs +16 -0
  360. package/dist/src/builders/server/shutdown.cjs.map +1 -0
  361. package/dist/src/builders/server/shutdown.mjs +16 -0
  362. package/dist/src/builders/server/shutdown.mjs.map +1 -0
  363. package/dist/src/builders/server/workspaceCheckout.cjs +31 -0
  364. package/dist/src/builders/server/workspaceCheckout.cjs.map +1 -0
  365. package/dist/src/builders/server/workspaceCheckout.mjs +29 -0
  366. package/dist/src/builders/server/workspaceCheckout.mjs.map +1 -0
  367. package/dist/src/builders/web/bundle.cjs +110 -0
  368. package/dist/src/builders/web/bundle.cjs.map +1 -0
  369. package/dist/src/builders/web/bundle.d.mts +29 -0
  370. package/dist/src/builders/web/bundle.d.mts.map +1 -0
  371. package/dist/src/builders/web/bundle.mjs +107 -0
  372. package/dist/src/builders/web/bundle.mjs.map +1 -0
  373. package/dist/src/builders/web/bundleAssetPolicy.cjs +96 -0
  374. package/dist/src/builders/web/bundleAssetPolicy.cjs.map +1 -0
  375. package/dist/src/builders/web/bundleAssetPolicy.d.mts +22 -0
  376. package/dist/src/builders/web/bundleAssetPolicy.d.mts.map +1 -0
  377. package/dist/src/builders/web/bundleAssetPolicy.mjs +95 -0
  378. package/dist/src/builders/web/bundleAssetPolicy.mjs.map +1 -0
  379. package/dist/src/builders/web/index.cjs +75 -0
  380. package/dist/src/builders/web/index.cjs.map +1 -0
  381. package/dist/src/builders/web/index.d.mts +29 -0
  382. package/dist/src/builders/web/index.d.mts.map +1 -0
  383. package/dist/src/builders/web/index.mjs +72 -0
  384. package/dist/src/builders/web/index.mjs.map +1 -0
  385. package/dist/src/builders/web/webDevRoots.cjs +27 -0
  386. package/dist/src/builders/web/webDevRoots.cjs.map +1 -0
  387. package/dist/src/builders/web/webDevRoots.d.mts +22 -0
  388. package/dist/src/builders/web/webDevRoots.d.mts.map +1 -0
  389. package/dist/src/builders/web/webDevRoots.mjs +25 -0
  390. package/dist/src/builders/web/webDevRoots.mjs.map +1 -0
  391. package/dist/src/builders/web/webPluginGenerate.cjs +134 -0
  392. package/dist/src/builders/web/webPluginGenerate.cjs.map +1 -0
  393. package/dist/src/builders/web/webPluginGenerate.d.mts +28 -0
  394. package/dist/src/builders/web/webPluginGenerate.d.mts.map +1 -0
  395. package/dist/src/builders/web/webPluginGenerate.mjs +127 -0
  396. package/dist/src/builders/web/webPluginGenerate.mjs.map +1 -0
  397. package/dist/src/builders/web/webPluginManifest.cjs +92 -0
  398. package/dist/src/builders/web/webPluginManifest.cjs.map +1 -0
  399. package/dist/src/builders/web/webPluginManifest.d.mts +44 -0
  400. package/dist/src/builders/web/webPluginManifest.d.mts.map +1 -0
  401. package/dist/src/builders/web/webPluginManifest.mjs +88 -0
  402. package/dist/src/builders/web/webPluginManifest.mjs.map +1 -0
  403. package/dist/src/builders/web/webPluginScan.cjs +53 -0
  404. package/dist/src/builders/web/webPluginScan.cjs.map +1 -0
  405. package/dist/src/builders/web/webPluginScan.d.mts +16 -0
  406. package/dist/src/builders/web/webPluginScan.d.mts.map +1 -0
  407. package/dist/src/builders/web/webPluginScan.mjs +50 -0
  408. package/dist/src/builders/web/webPluginScan.mjs.map +1 -0
  409. package/dist/src/builders/web/webPluginVite.cjs +125 -0
  410. package/dist/src/builders/web/webPluginVite.cjs.map +1 -0
  411. package/dist/src/builders/web/webPluginVite.d.mts +36 -0
  412. package/dist/src/builders/web/webPluginVite.d.mts.map +1 -0
  413. package/dist/src/builders/web/webPluginVite.mjs +117 -0
  414. package/dist/src/builders/web/webPluginVite.mjs.map +1 -0
  415. package/dist/src/cli/cliApp.cjs +177 -0
  416. package/dist/src/cli/cliApp.cjs.map +1 -0
  417. package/dist/src/cli/cliApp.d.mts +25 -0
  418. package/dist/src/cli/cliApp.d.mts.map +1 -0
  419. package/dist/src/cli/cliApp.mjs +175 -0
  420. package/dist/src/cli/cliApp.mjs.map +1 -0
  421. package/dist/src/cli/commands/api-export/index.cjs +65 -0
  422. package/dist/src/cli/commands/api-export/index.cjs.map +1 -0
  423. package/dist/src/cli/commands/api-export/index.mjs +61 -0
  424. package/dist/src/cli/commands/api-export/index.mjs.map +1 -0
  425. package/dist/src/cli/commands/baseCommand.cjs +16 -0
  426. package/dist/src/cli/commands/baseCommand.cjs.map +1 -0
  427. package/dist/src/cli/commands/baseCommand.d.mts +24 -0
  428. package/dist/src/cli/commands/baseCommand.d.mts.map +1 -0
  429. package/dist/src/cli/commands/baseCommand.mjs +16 -0
  430. package/dist/src/cli/commands/baseCommand.mjs.map +1 -0
  431. package/dist/src/cli/commands/compat/context.cjs +115 -0
  432. package/dist/src/cli/commands/compat/context.cjs.map +1 -0
  433. package/dist/src/cli/commands/compat/context.d.mts +22 -0
  434. package/dist/src/cli/commands/compat/context.d.mts.map +1 -0
  435. package/dist/src/cli/commands/compat/context.mjs +110 -0
  436. package/dist/src/cli/commands/compat/context.mjs.map +1 -0
  437. package/dist/src/cli/commands/compat/help.cjs +26 -0
  438. package/dist/src/cli/commands/compat/help.cjs.map +1 -0
  439. package/dist/src/cli/commands/compat/help.d.mts +4 -0
  440. package/dist/src/cli/commands/compat/help.d.mts.map +1 -0
  441. package/dist/src/cli/commands/compat/help.mjs +25 -0
  442. package/dist/src/cli/commands/compat/help.mjs.map +1 -0
  443. package/dist/src/cli/commands/compat/index.cjs +73 -0
  444. package/dist/src/cli/commands/compat/index.cjs.map +1 -0
  445. package/dist/src/cli/commands/compat/index.d.mts +14 -0
  446. package/dist/src/cli/commands/compat/index.d.mts.map +1 -0
  447. package/dist/src/cli/commands/compat/index.mjs +70 -0
  448. package/dist/src/cli/commands/compat/index.mjs.map +1 -0
  449. package/dist/src/cli/commands/compat/options.cjs +88 -0
  450. package/dist/src/cli/commands/compat/options.cjs.map +1 -0
  451. package/dist/src/cli/commands/compat/options.d.mts +15 -0
  452. package/dist/src/cli/commands/compat/options.d.mts.map +1 -0
  453. package/dist/src/cli/commands/compat/options.mjs +86 -0
  454. package/dist/src/cli/commands/compat/options.mjs.map +1 -0
  455. package/dist/src/cli/commands/compat/providers/antigravity.cjs +294 -0
  456. package/dist/src/cli/commands/compat/providers/antigravity.cjs.map +1 -0
  457. package/dist/src/cli/commands/compat/providers/antigravity.d.mts +9 -0
  458. package/dist/src/cli/commands/compat/providers/antigravity.d.mts.map +1 -0
  459. package/dist/src/cli/commands/compat/providers/antigravity.mjs +289 -0
  460. package/dist/src/cli/commands/compat/providers/antigravity.mjs.map +1 -0
  461. package/dist/src/cli/commands/compat/providers/codex.cjs +178 -0
  462. package/dist/src/cli/commands/compat/providers/codex.cjs.map +1 -0
  463. package/dist/src/cli/commands/compat/providers/codex.d.mts +17 -0
  464. package/dist/src/cli/commands/compat/providers/codex.d.mts.map +1 -0
  465. package/dist/src/cli/commands/compat/providers/codex.mjs +170 -0
  466. package/dist/src/cli/commands/compat/providers/codex.mjs.map +1 -0
  467. package/dist/src/cli/commands/compat/providers/index.cjs +65 -0
  468. package/dist/src/cli/commands/compat/providers/index.cjs.map +1 -0
  469. package/dist/src/cli/commands/compat/providers/index.d.mts +15 -0
  470. package/dist/src/cli/commands/compat/providers/index.d.mts.map +1 -0
  471. package/dist/src/cli/commands/compat/providers/index.mjs +45 -0
  472. package/dist/src/cli/commands/compat/providers/index.mjs.map +1 -0
  473. package/dist/src/cli/commands/compat/providers/process.cjs +172 -0
  474. package/dist/src/cli/commands/compat/providers/process.cjs.map +1 -0
  475. package/dist/src/cli/commands/compat/providers/process.d.mts +33 -0
  476. package/dist/src/cli/commands/compat/providers/process.d.mts.map +1 -0
  477. package/dist/src/cli/commands/compat/providers/process.mjs +159 -0
  478. package/dist/src/cli/commands/compat/providers/process.mjs.map +1 -0
  479. package/dist/src/cli/commands/compat/providers/shared.cjs +76 -0
  480. package/dist/src/cli/commands/compat/providers/shared.cjs.map +1 -0
  481. package/dist/src/cli/commands/compat/providers/shared.d.mts +40 -0
  482. package/dist/src/cli/commands/compat/providers/shared.d.mts.map +1 -0
  483. package/dist/src/cli/commands/compat/providers/shared.mjs +61 -0
  484. package/dist/src/cli/commands/compat/providers/shared.mjs.map +1 -0
  485. package/dist/src/cli/commands/compat/types.d.mts +31 -0
  486. package/dist/src/cli/commands/compat/types.d.mts.map +1 -0
  487. package/dist/src/cli/commands/doctor/help.cjs +19 -0
  488. package/dist/src/cli/commands/doctor/help.cjs.map +1 -0
  489. package/dist/src/cli/commands/doctor/help.d.mts +4 -0
  490. package/dist/src/cli/commands/doctor/help.d.mts.map +1 -0
  491. package/dist/src/cli/commands/doctor/help.mjs +19 -0
  492. package/dist/src/cli/commands/doctor/help.mjs.map +1 -0
  493. package/dist/src/cli/commands/doctor/index.cjs +151 -0
  494. package/dist/src/cli/commands/doctor/index.cjs.map +1 -0
  495. package/dist/src/cli/commands/doctor/index.d.mts +33 -0
  496. package/dist/src/cli/commands/doctor/index.d.mts.map +1 -0
  497. package/dist/src/cli/commands/doctor/index.mjs +146 -0
  498. package/dist/src/cli/commands/doctor/index.mjs.map +1 -0
  499. package/dist/src/cli/commands/emit-mcp/index.cjs +32 -0
  500. package/dist/src/cli/commands/emit-mcp/index.cjs.map +1 -0
  501. package/dist/src/cli/commands/emit-mcp/index.d.mts +19 -0
  502. package/dist/src/cli/commands/emit-mcp/index.d.mts.map +1 -0
  503. package/dist/src/cli/commands/emit-mcp/index.mjs +31 -0
  504. package/dist/src/cli/commands/emit-mcp/index.mjs.map +1 -0
  505. package/dist/src/cli/commands/explain/index.cjs +155 -0
  506. package/dist/src/cli/commands/explain/index.cjs.map +1 -0
  507. package/dist/src/cli/commands/explain/index.d.mts +57 -0
  508. package/dist/src/cli/commands/explain/index.d.mts.map +1 -0
  509. package/dist/src/cli/commands/explain/index.mjs +150 -0
  510. package/dist/src/cli/commands/explain/index.mjs.map +1 -0
  511. package/dist/src/cli/commands/history-export/help.cjs +18 -0
  512. package/dist/src/cli/commands/history-export/help.cjs.map +1 -0
  513. package/dist/src/cli/commands/history-export/help.d.mts +4 -0
  514. package/dist/src/cli/commands/history-export/help.d.mts.map +1 -0
  515. package/dist/src/cli/commands/history-export/help.mjs +18 -0
  516. package/dist/src/cli/commands/history-export/help.mjs.map +1 -0
  517. package/dist/src/cli/commands/history-export/index.cjs +76 -0
  518. package/dist/src/cli/commands/history-export/index.cjs.map +1 -0
  519. package/dist/src/cli/commands/history-export/index.mjs +74 -0
  520. package/dist/src/cli/commands/history-export/index.mjs.map +1 -0
  521. package/dist/src/cli/commands/history-import/help.cjs +20 -0
  522. package/dist/src/cli/commands/history-import/help.cjs.map +1 -0
  523. package/dist/src/cli/commands/history-import/help.d.mts +4 -0
  524. package/dist/src/cli/commands/history-import/help.d.mts.map +1 -0
  525. package/dist/src/cli/commands/history-import/help.mjs +20 -0
  526. package/dist/src/cli/commands/history-import/help.mjs.map +1 -0
  527. package/dist/src/cli/commands/history-import/index.cjs +78 -0
  528. package/dist/src/cli/commands/history-import/index.cjs.map +1 -0
  529. package/dist/src/cli/commands/history-import/index.mjs +75 -0
  530. package/dist/src/cli/commands/history-import/index.mjs.map +1 -0
  531. package/dist/src/cli/commands/init/constants.cjs +11 -0
  532. package/dist/src/cli/commands/init/constants.cjs.map +1 -0
  533. package/dist/src/cli/commands/init/constants.mjs +11 -0
  534. package/dist/src/cli/commands/init/constants.mjs.map +1 -0
  535. package/dist/src/cli/commands/init/help.cjs +17 -0
  536. package/dist/src/cli/commands/init/help.cjs.map +1 -0
  537. package/dist/src/cli/commands/init/help.d.mts +4 -0
  538. package/dist/src/cli/commands/init/help.d.mts.map +1 -0
  539. package/dist/src/cli/commands/init/help.mjs +17 -0
  540. package/dist/src/cli/commands/init/help.mjs.map +1 -0
  541. package/dist/src/cli/commands/init/index.cjs +87 -0
  542. package/dist/src/cli/commands/init/index.cjs.map +1 -0
  543. package/dist/src/cli/commands/init/index.d.mts +12 -0
  544. package/dist/src/cli/commands/init/index.d.mts.map +1 -0
  545. package/dist/src/cli/commands/init/index.mjs +83 -0
  546. package/dist/src/cli/commands/init/index.mjs.map +1 -0
  547. package/dist/src/cli/commands/init/presenter.cjs +170 -0
  548. package/dist/src/cli/commands/init/presenter.cjs.map +1 -0
  549. package/dist/src/cli/commands/init/presenter.d.mts +8 -0
  550. package/dist/src/cli/commands/init/presenter.d.mts.map +1 -0
  551. package/dist/src/cli/commands/init/presenter.mjs +170 -0
  552. package/dist/src/cli/commands/init/presenter.mjs.map +1 -0
  553. package/dist/src/cli/commands/launch/index.cjs +128 -0
  554. package/dist/src/cli/commands/launch/index.cjs.map +1 -0
  555. package/dist/src/cli/commands/launch/index.d.mts +29 -0
  556. package/dist/src/cli/commands/launch/index.d.mts.map +1 -0
  557. package/dist/src/cli/commands/launch/index.mjs +122 -0
  558. package/dist/src/cli/commands/launch/index.mjs.map +1 -0
  559. package/dist/src/cli/commands/sandbox/args.cjs +50 -0
  560. package/dist/src/cli/commands/sandbox/args.cjs.map +1 -0
  561. package/dist/src/cli/commands/sandbox/args.mjs +50 -0
  562. package/dist/src/cli/commands/sandbox/args.mjs.map +1 -0
  563. package/dist/src/cli/commands/sandbox/harness.cjs +61 -0
  564. package/dist/src/cli/commands/sandbox/harness.cjs.map +1 -0
  565. package/dist/src/cli/commands/sandbox/harness.mjs +60 -0
  566. package/dist/src/cli/commands/sandbox/harness.mjs.map +1 -0
  567. package/dist/src/cli/commands/sandbox/index.cjs +57 -0
  568. package/dist/src/cli/commands/sandbox/index.cjs.map +1 -0
  569. package/dist/src/cli/commands/sandbox/index.mjs +56 -0
  570. package/dist/src/cli/commands/sandbox/index.mjs.map +1 -0
  571. package/dist/src/cli/commands/sync/help.cjs +31 -0
  572. package/dist/src/cli/commands/sync/help.cjs.map +1 -0
  573. package/dist/src/cli/commands/sync/help.d.mts +4 -0
  574. package/dist/src/cli/commands/sync/help.d.mts.map +1 -0
  575. package/dist/src/cli/commands/sync/help.mjs +31 -0
  576. package/dist/src/cli/commands/sync/help.mjs.map +1 -0
  577. package/dist/src/cli/commands/sync/index.cjs +507 -0
  578. package/dist/src/cli/commands/sync/index.cjs.map +1 -0
  579. package/dist/src/cli/commands/sync/index.d.mts +50 -0
  580. package/dist/src/cli/commands/sync/index.d.mts.map +1 -0
  581. package/dist/src/cli/commands/sync/index.mjs +490 -0
  582. package/dist/src/cli/commands/sync/index.mjs.map +1 -0
  583. package/dist/src/cli/commands/sync/inspection.cjs +128 -0
  584. package/dist/src/cli/commands/sync/inspection.cjs.map +1 -0
  585. package/dist/src/cli/commands/sync/inspection.d.mts +14 -0
  586. package/dist/src/cli/commands/sync/inspection.d.mts.map +1 -0
  587. package/dist/src/cli/commands/sync/inspection.mjs +119 -0
  588. package/dist/src/cli/commands/sync/inspection.mjs.map +1 -0
  589. package/dist/src/cli/commands/sync/prepare.cjs +44 -0
  590. package/dist/src/cli/commands/sync/prepare.cjs.map +1 -0
  591. package/dist/src/cli/commands/sync/prepare.mjs +41 -0
  592. package/dist/src/cli/commands/sync/prepare.mjs.map +1 -0
  593. package/dist/src/cli/commands/sync/presenter.cjs +58 -0
  594. package/dist/src/cli/commands/sync/presenter.cjs.map +1 -0
  595. package/dist/src/cli/commands/sync/presenter.d.mts +16 -0
  596. package/dist/src/cli/commands/sync/presenter.d.mts.map +1 -0
  597. package/dist/src/cli/commands/sync/presenter.mjs +57 -0
  598. package/dist/src/cli/commands/sync/presenter.mjs.map +1 -0
  599. package/dist/src/cli/commands/sync/workflow.cjs +100 -0
  600. package/dist/src/cli/commands/sync/workflow.cjs.map +1 -0
  601. package/dist/src/cli/commands/sync/workflow.mjs +97 -0
  602. package/dist/src/cli/commands/sync/workflow.mjs.map +1 -0
  603. package/dist/src/cli/dpi.cjs +98 -0
  604. package/dist/src/cli/dpi.cjs.map +1 -0
  605. package/dist/src/cli/dpi.mjs +91 -0
  606. package/dist/src/cli/dpi.mjs.map +1 -0
  607. package/dist/src/cli/harnessOptions.cjs +63 -0
  608. package/dist/src/cli/harnessOptions.cjs.map +1 -0
  609. package/dist/src/cli/harnessOptions.d.mts +26 -0
  610. package/dist/src/cli/harnessOptions.d.mts.map +1 -0
  611. package/dist/src/cli/harnessOptions.mjs +60 -0
  612. package/dist/src/cli/harnessOptions.mjs.map +1 -0
  613. package/dist/src/cli/help.cjs +89 -0
  614. package/dist/src/cli/help.cjs.map +1 -0
  615. package/dist/src/cli/help.d.mts +12 -0
  616. package/dist/src/cli/help.d.mts.map +1 -0
  617. package/dist/src/cli/help.mjs +83 -0
  618. package/dist/src/cli/help.mjs.map +1 -0
  619. package/dist/src/cli/matrixOptions.cjs +178 -0
  620. package/dist/src/cli/matrixOptions.cjs.map +1 -0
  621. package/dist/src/cli/matrixOptions.d.mts +90 -0
  622. package/dist/src/cli/matrixOptions.d.mts.map +1 -0
  623. package/dist/src/cli/matrixOptions.mjs +151 -0
  624. package/dist/src/cli/matrixOptions.mjs.map +1 -0
  625. package/dist/src/cli/options.cjs +306 -0
  626. package/dist/src/cli/options.cjs.map +1 -0
  627. package/dist/src/cli/options.d.mts +5 -0
  628. package/dist/src/cli/options.d.mts.map +1 -0
  629. package/dist/src/cli/options.mjs +304 -0
  630. package/dist/src/cli/options.mjs.map +1 -0
  631. package/dist/src/cli/router.cjs +59 -0
  632. package/dist/src/cli/router.cjs.map +1 -0
  633. package/dist/src/cli/router.d.mts +32 -0
  634. package/dist/src/cli/router.d.mts.map +1 -0
  635. package/dist/src/cli/router.mjs +56 -0
  636. package/dist/src/cli/router.mjs.map +1 -0
  637. package/dist/src/cli/server/options.cjs +71 -0
  638. package/dist/src/cli/server/options.cjs.map +1 -0
  639. package/dist/src/cli/server/options.mjs +70 -0
  640. package/dist/src/cli/server/options.mjs.map +1 -0
  641. package/dist/src/cli/server/run.cjs +100 -0
  642. package/dist/src/cli/server/run.cjs.map +1 -0
  643. package/dist/src/cli/server/run.mjs +98 -0
  644. package/dist/src/cli/server/run.mjs.map +1 -0
  645. package/dist/src/compiler/cache.cjs +331 -0
  646. package/dist/src/compiler/cache.cjs.map +1 -0
  647. package/dist/src/compiler/cache.mjs +323 -0
  648. package/dist/src/compiler/cache.mjs.map +1 -0
  649. package/dist/src/compiler/index.cjs +996 -0
  650. package/dist/src/compiler/index.cjs.map +1 -0
  651. package/dist/src/compiler/index.mjs +988 -0
  652. package/dist/src/compiler/index.mjs.map +1 -0
  653. package/dist/src/compiler/inputs.cjs +86 -0
  654. package/dist/src/compiler/inputs.cjs.map +1 -0
  655. package/dist/src/compiler/inputs.mjs +81 -0
  656. package/dist/src/compiler/inputs.mjs.map +1 -0
  657. package/dist/src/composition/harnessState/index.cjs +48 -0
  658. package/dist/src/composition/harnessState/index.cjs.map +1 -0
  659. package/dist/src/composition/harnessState/index.d.mts +19 -0
  660. package/dist/src/composition/harnessState/index.d.mts.map +1 -0
  661. package/dist/src/composition/harnessState/index.mjs +34 -0
  662. package/dist/src/composition/harnessState/index.mjs.map +1 -0
  663. package/dist/src/composition/layerPackageInstaller/index.cjs +342 -0
  664. package/dist/src/composition/layerPackageInstaller/index.cjs.map +1 -0
  665. package/dist/src/composition/layerPackageInstaller/index.d.mts +45 -0
  666. package/dist/src/composition/layerPackageInstaller/index.d.mts.map +1 -0
  667. package/dist/src/composition/layerPackageInstaller/index.mjs +334 -0
  668. package/dist/src/composition/layerPackageInstaller/index.mjs.map +1 -0
  669. package/dist/src/composition/projectTrust/index.cjs +51 -0
  670. package/dist/src/composition/projectTrust/index.cjs.map +1 -0
  671. package/dist/src/composition/projectTrust/index.d.mts +22 -0
  672. package/dist/src/composition/projectTrust/index.d.mts.map +1 -0
  673. package/dist/src/composition/projectTrust/index.mjs +48 -0
  674. package/dist/src/composition/projectTrust/index.mjs.map +1 -0
  675. package/dist/src/composition/repository/index.cjs +69 -0
  676. package/dist/src/composition/repository/index.cjs.map +1 -0
  677. package/dist/src/composition/repository/index.d.mts +22 -0
  678. package/dist/src/composition/repository/index.d.mts.map +1 -0
  679. package/dist/src/composition/repository/index.mjs +64 -0
  680. package/dist/src/composition/repository/index.mjs.map +1 -0
  681. package/dist/src/composition/syncDrift/index.cjs +211 -0
  682. package/dist/src/composition/syncDrift/index.cjs.map +1 -0
  683. package/dist/src/composition/syncDrift/index.d.mts +41 -0
  684. package/dist/src/composition/syncDrift/index.d.mts.map +1 -0
  685. package/dist/src/composition/syncDrift/index.mjs +201 -0
  686. package/dist/src/composition/syncDrift/index.mjs.map +1 -0
  687. package/dist/src/composition/syncState/index.cjs +632 -0
  688. package/dist/src/composition/syncState/index.cjs.map +1 -0
  689. package/dist/src/composition/syncState/index.d.mts +201 -0
  690. package/dist/src/composition/syncState/index.d.mts.map +1 -0
  691. package/dist/src/composition/syncState/index.mjs +596 -0
  692. package/dist/src/composition/syncState/index.mjs.map +1 -0
  693. package/dist/src/composition/transitionLayers.cjs +17 -0
  694. package/dist/src/composition/transitionLayers.cjs.map +1 -0
  695. package/dist/src/composition/transitionLayers.d.mts +6 -0
  696. package/dist/src/composition/transitionLayers.d.mts.map +1 -0
  697. package/dist/src/composition/transitionLayers.mjs +16 -0
  698. package/dist/src/composition/transitionLayers.mjs.map +1 -0
  699. package/dist/src/composition/types/harness.d.mts +55 -0
  700. package/dist/src/composition/types/harness.d.mts.map +1 -0
  701. package/dist/src/extensions/setupDiagnostics.cjs +65 -0
  702. package/dist/src/extensions/setupDiagnostics.cjs.map +1 -0
  703. package/dist/src/extensions/setupDiagnostics.mjs +64 -0
  704. package/dist/src/extensions/setupDiagnostics.mjs.map +1 -0
  705. package/dist/syncCommand.cjs +14 -0
  706. package/dist/syncCommand.d.mts +3 -0
  707. package/dist/syncCommand.mjs +3 -0
  708. package/dist/syncState.cjs +35 -0
  709. package/dist/syncState.d.mts +2 -0
  710. package/dist/syncState.mjs +2 -0
  711. package/dist/utils.cjs +6 -0
  712. package/dist/utils.d.mts +3 -0
  713. package/dist/utils.mjs +3 -0
  714. package/dist/webBuilder.cjs +33 -0
  715. package/dist/webBuilder.d.mts +9 -0
  716. package/dist/webBuilder.mjs +9 -0
  717. package/docs/server/api-export.md +86 -0
  718. package/docs/server/api.md +144 -0
  719. package/docs/server/getting-started.md +114 -0
  720. package/docs/server/index.md +67 -0
  721. package/docs/server/ipc.md +97 -0
  722. package/docs/server/lifecycle.md +108 -0
  723. package/docs/server/security.md +101 -0
  724. package/llms.txt +12 -0
  725. package/package.json +296 -304
  726. package/src/prompts/doompi-author-extension/SKILL.md +34 -0
  727. package/src/prompts/doompi-author-extension/references/extension-contract.md +134 -0
  728. package/dist/adapters/bootstrapLocator.cjs +0 -2
  729. package/dist/adapters/bootstrapLocator.cjs.map +0 -1
  730. package/dist/adapters/bootstrapLocator.d.cts +0 -6
  731. package/dist/adapters/bootstrapLocator.d.cts.map +0 -1
  732. package/dist/adapters/bootstrapLocator.d.mts +0 -6
  733. package/dist/adapters/bootstrapLocator.d.mts.map +0 -1
  734. package/dist/adapters/bootstrapLocator.mjs +0 -2
  735. package/dist/adapters/bootstrapLocator.mjs.map +0 -1
  736. package/dist/adapters/compatibility/antigravity.cjs +0 -2
  737. package/dist/adapters/compatibility/antigravity.cjs.map +0 -1
  738. package/dist/adapters/compatibility/antigravity.d.cts +0 -11
  739. package/dist/adapters/compatibility/antigravity.d.cts.map +0 -1
  740. package/dist/adapters/compatibility/antigravity.d.mts +0 -11
  741. package/dist/adapters/compatibility/antigravity.d.mts.map +0 -1
  742. package/dist/adapters/compatibility/antigravity.mjs +0 -2
  743. package/dist/adapters/compatibility/antigravity.mjs.map +0 -1
  744. package/dist/adapters/compatibility/codex.cjs +0 -2
  745. package/dist/adapters/compatibility/codex.cjs.map +0 -1
  746. package/dist/adapters/compatibility/codex.d.cts +0 -19
  747. package/dist/adapters/compatibility/codex.d.cts.map +0 -1
  748. package/dist/adapters/compatibility/codex.d.mts +0 -19
  749. package/dist/adapters/compatibility/codex.d.mts.map +0 -1
  750. package/dist/adapters/compatibility/codex.mjs +0 -2
  751. package/dist/adapters/compatibility/codex.mjs.map +0 -1
  752. package/dist/adapters/compatibility/index.cjs +0 -2
  753. package/dist/adapters/compatibility/index.cjs.map +0 -1
  754. package/dist/adapters/compatibility/index.d.cts +0 -16
  755. package/dist/adapters/compatibility/index.d.cts.map +0 -1
  756. package/dist/adapters/compatibility/index.d.mts +0 -16
  757. package/dist/adapters/compatibility/index.d.mts.map +0 -1
  758. package/dist/adapters/compatibility/index.mjs +0 -2
  759. package/dist/adapters/compatibility/index.mjs.map +0 -1
  760. package/dist/adapters/compatibility/process.cjs +0 -2
  761. package/dist/adapters/compatibility/process.cjs.map +0 -1
  762. package/dist/adapters/compatibility/process.d.cts +0 -35
  763. package/dist/adapters/compatibility/process.d.cts.map +0 -1
  764. package/dist/adapters/compatibility/process.d.mts +0 -35
  765. package/dist/adapters/compatibility/process.d.mts.map +0 -1
  766. package/dist/adapters/compatibility/process.mjs +0 -2
  767. package/dist/adapters/compatibility/process.mjs.map +0 -1
  768. package/dist/adapters/compatibility/shared.cjs +0 -2
  769. package/dist/adapters/compatibility/shared.cjs.map +0 -1
  770. package/dist/adapters/compatibility/shared.d.cts +0 -33
  771. package/dist/adapters/compatibility/shared.d.cts.map +0 -1
  772. package/dist/adapters/compatibility/shared.d.mts +0 -33
  773. package/dist/adapters/compatibility/shared.d.mts.map +0 -1
  774. package/dist/adapters/compatibility/shared.mjs +0 -2
  775. package/dist/adapters/compatibility/shared.mjs.map +0 -1
  776. package/dist/adapters/compatibilityContext.cjs +0 -2
  777. package/dist/adapters/compatibilityContext.cjs.map +0 -1
  778. package/dist/adapters/compatibilityContext.d.cts +0 -23
  779. package/dist/adapters/compatibilityContext.d.cts.map +0 -1
  780. package/dist/adapters/compatibilityContext.d.mts +0 -23
  781. package/dist/adapters/compatibilityContext.d.mts.map +0 -1
  782. package/dist/adapters/compatibilityContext.mjs +0 -2
  783. package/dist/adapters/compatibilityContext.mjs.map +0 -1
  784. package/dist/adapters/composer.cjs +0 -2
  785. package/dist/adapters/composer.cjs.map +0 -1
  786. package/dist/adapters/composer.d.cts +0 -113
  787. package/dist/adapters/composer.d.cts.map +0 -1
  788. package/dist/adapters/composer.d.mts +0 -113
  789. package/dist/adapters/composer.d.mts.map +0 -1
  790. package/dist/adapters/composer.mjs +0 -2
  791. package/dist/adapters/composer.mjs.map +0 -1
  792. package/dist/adapters/compositionState.cjs +0 -2
  793. package/dist/adapters/compositionState.cjs.map +0 -1
  794. package/dist/adapters/compositionState.d.cts +0 -12
  795. package/dist/adapters/compositionState.d.cts.map +0 -1
  796. package/dist/adapters/compositionState.d.mts +0 -12
  797. package/dist/adapters/compositionState.d.mts.map +0 -1
  798. package/dist/adapters/compositionState.mjs +0 -2
  799. package/dist/adapters/compositionState.mjs.map +0 -1
  800. package/dist/adapters/config/harnessState.cjs +0 -2
  801. package/dist/adapters/config/harnessState.cjs.map +0 -1
  802. package/dist/adapters/config/harnessState.d.cts +0 -26
  803. package/dist/adapters/config/harnessState.d.cts.map +0 -1
  804. package/dist/adapters/config/harnessState.d.mts +0 -26
  805. package/dist/adapters/config/harnessState.d.mts.map +0 -1
  806. package/dist/adapters/config/harnessState.mjs +0 -2
  807. package/dist/adapters/config/harnessState.mjs.map +0 -1
  808. package/dist/adapters/deferredSkills.cjs +0 -12
  809. package/dist/adapters/deferredSkills.cjs.map +0 -1
  810. package/dist/adapters/deferredSkills.mjs +0 -12
  811. package/dist/adapters/deferredSkills.mjs.map +0 -1
  812. package/dist/adapters/extensionCompiler.cjs +0 -3
  813. package/dist/adapters/extensionCompiler.cjs.map +0 -1
  814. package/dist/adapters/extensionCompiler.mjs +0 -3
  815. package/dist/adapters/extensionCompiler.mjs.map +0 -1
  816. package/dist/adapters/harnessContext.cjs +0 -2
  817. package/dist/adapters/harnessContext.cjs.map +0 -1
  818. package/dist/adapters/harnessContext.d.cts +0 -61
  819. package/dist/adapters/harnessContext.d.cts.map +0 -1
  820. package/dist/adapters/harnessContext.d.mts +0 -61
  821. package/dist/adapters/harnessContext.d.mts.map +0 -1
  822. package/dist/adapters/harnessContext.mjs +0 -2
  823. package/dist/adapters/harnessContext.mjs.map +0 -1
  824. package/dist/adapters/matrixSwitcher.cjs +0 -2
  825. package/dist/adapters/matrixSwitcher.cjs.map +0 -1
  826. package/dist/adapters/matrixSwitcher.d.cts +0 -46
  827. package/dist/adapters/matrixSwitcher.d.cts.map +0 -1
  828. package/dist/adapters/matrixSwitcher.d.mts +0 -46
  829. package/dist/adapters/matrixSwitcher.d.mts.map +0 -1
  830. package/dist/adapters/matrixSwitcher.mjs +0 -2
  831. package/dist/adapters/matrixSwitcher.mjs.map +0 -1
  832. package/dist/adapters/mcpFilter.cjs +0 -3
  833. package/dist/adapters/mcpFilter.cjs.map +0 -1
  834. package/dist/adapters/mcpFilter.d.cts +0 -40
  835. package/dist/adapters/mcpFilter.d.cts.map +0 -1
  836. package/dist/adapters/mcpFilter.d.mts +0 -40
  837. package/dist/adapters/mcpFilter.d.mts.map +0 -1
  838. package/dist/adapters/mcpFilter.mjs +0 -3
  839. package/dist/adapters/mcpFilter.mjs.map +0 -1
  840. package/dist/adapters/modules/moduleResolution.cjs +0 -2
  841. package/dist/adapters/modules/moduleResolution.cjs.map +0 -1
  842. package/dist/adapters/modules/moduleResolution.d.cts +0 -56
  843. package/dist/adapters/modules/moduleResolution.d.cts.map +0 -1
  844. package/dist/adapters/modules/moduleResolution.d.mts +0 -56
  845. package/dist/adapters/modules/moduleResolution.d.mts.map +0 -1
  846. package/dist/adapters/modules/moduleResolution.mjs +0 -2
  847. package/dist/adapters/modules/moduleResolution.mjs.map +0 -1
  848. package/dist/adapters/packageBootstrap.cjs +0 -2
  849. package/dist/adapters/packageBootstrap.cjs.map +0 -1
  850. package/dist/adapters/packageBootstrap.d.cts +0 -8
  851. package/dist/adapters/packageBootstrap.d.cts.map +0 -1
  852. package/dist/adapters/packageBootstrap.d.mts +0 -8
  853. package/dist/adapters/packageBootstrap.d.mts.map +0 -1
  854. package/dist/adapters/packageBootstrap.mjs +0 -2
  855. package/dist/adapters/packageBootstrap.mjs.map +0 -1
  856. package/dist/adapters/piExtensionAlias.cjs +0 -2
  857. package/dist/adapters/piExtensionAlias.cjs.map +0 -1
  858. package/dist/adapters/piExtensionAlias.mjs +0 -2
  859. package/dist/adapters/piExtensionAlias.mjs.map +0 -1
  860. package/dist/adapters/piSettings.cjs +0 -2
  861. package/dist/adapters/piSettings.cjs.map +0 -1
  862. package/dist/adapters/piSettings.d.cts +0 -24
  863. package/dist/adapters/piSettings.d.cts.map +0 -1
  864. package/dist/adapters/piSettings.d.mts +0 -24
  865. package/dist/adapters/piSettings.d.mts.map +0 -1
  866. package/dist/adapters/piSettings.mjs +0 -2
  867. package/dist/adapters/piSettings.mjs.map +0 -1
  868. package/dist/adapters/repository/repository.cjs +0 -2
  869. package/dist/adapters/repository/repository.cjs.map +0 -1
  870. package/dist/adapters/repository/repository.d.cts +0 -21
  871. package/dist/adapters/repository/repository.d.cts.map +0 -1
  872. package/dist/adapters/repository/repository.d.mts +0 -21
  873. package/dist/adapters/repository/repository.d.mts.map +0 -1
  874. package/dist/adapters/repository/repository.mjs +0 -2
  875. package/dist/adapters/repository/repository.mjs.map +0 -1
  876. package/dist/adapters/resourceCollector.cjs +0 -3
  877. package/dist/adapters/resourceCollector.cjs.map +0 -1
  878. package/dist/adapters/resourceCollector.d.cts +0 -25
  879. package/dist/adapters/resourceCollector.d.cts.map +0 -1
  880. package/dist/adapters/resourceCollector.d.mts +0 -25
  881. package/dist/adapters/resourceCollector.d.mts.map +0 -1
  882. package/dist/adapters/resourceCollector.mjs +0 -3
  883. package/dist/adapters/resourceCollector.mjs.map +0 -1
  884. package/dist/adapters/runtimeBundle.cjs +0 -2
  885. package/dist/adapters/runtimeBundle.cjs.map +0 -1
  886. package/dist/adapters/runtimeBundle.d.cts +0 -64
  887. package/dist/adapters/runtimeBundle.d.cts.map +0 -1
  888. package/dist/adapters/runtimeBundle.d.mts +0 -64
  889. package/dist/adapters/runtimeBundle.d.mts.map +0 -1
  890. package/dist/adapters/runtimeBundle.mjs +0 -2
  891. package/dist/adapters/runtimeBundle.mjs.map +0 -1
  892. package/dist/adapters/serialization/json.cjs +0 -2
  893. package/dist/adapters/serialization/json.cjs.map +0 -1
  894. package/dist/adapters/serialization/json.d.cts +0 -23
  895. package/dist/adapters/serialization/json.d.cts.map +0 -1
  896. package/dist/adapters/serialization/json.d.mts +0 -23
  897. package/dist/adapters/serialization/json.d.mts.map +0 -1
  898. package/dist/adapters/serialization/json.mjs +0 -2
  899. package/dist/adapters/serialization/json.mjs.map +0 -1
  900. package/dist/adapters/skillCatalog.cjs +0 -2
  901. package/dist/adapters/skillCatalog.cjs.map +0 -1
  902. package/dist/adapters/skillCatalog.d.cts +0 -56
  903. package/dist/adapters/skillCatalog.d.cts.map +0 -1
  904. package/dist/adapters/skillCatalog.d.mts +0 -56
  905. package/dist/adapters/skillCatalog.d.mts.map +0 -1
  906. package/dist/adapters/skillCatalog.mjs +0 -2
  907. package/dist/adapters/skillCatalog.mjs.map +0 -1
  908. package/dist/adapters/skillSources.cjs +0 -2
  909. package/dist/adapters/skillSources.cjs.map +0 -1
  910. package/dist/adapters/skillSources.d.cts +0 -24
  911. package/dist/adapters/skillSources.d.cts.map +0 -1
  912. package/dist/adapters/skillSources.d.mts +0 -24
  913. package/dist/adapters/skillSources.d.mts.map +0 -1
  914. package/dist/adapters/skillSources.mjs +0 -2
  915. package/dist/adapters/skillSources.mjs.map +0 -1
  916. package/dist/adapters/syncState.cjs +0 -2
  917. package/dist/adapters/syncState.cjs.map +0 -1
  918. package/dist/adapters/syncState.d.cts +0 -118
  919. package/dist/adapters/syncState.d.cts.map +0 -1
  920. package/dist/adapters/syncState.d.mts +0 -118
  921. package/dist/adapters/syncState.d.mts.map +0 -1
  922. package/dist/adapters/syncState.mjs +0 -2
  923. package/dist/adapters/syncState.mjs.map +0 -1
  924. package/dist/adapters/syncStateContract.cjs +0 -2
  925. package/dist/adapters/syncStateContract.cjs.map +0 -1
  926. package/dist/adapters/syncStateContract.d.cts +0 -12
  927. package/dist/adapters/syncStateContract.d.cts.map +0 -1
  928. package/dist/adapters/syncStateContract.d.mts +0 -12
  929. package/dist/adapters/syncStateContract.d.mts.map +0 -1
  930. package/dist/adapters/syncStateContract.mjs +0 -2
  931. package/dist/adapters/syncStateContract.mjs.map +0 -1
  932. package/dist/adapters/telemetry/logSinkTelemetry.cjs +0 -2
  933. package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +0 -1
  934. package/dist/adapters/telemetry/logSinkTelemetry.d.cts +0 -51
  935. package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +0 -1
  936. package/dist/adapters/telemetry/logSinkTelemetry.d.mts +0 -51
  937. package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +0 -1
  938. package/dist/adapters/telemetry/logSinkTelemetry.mjs +0 -2
  939. package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +0 -1
  940. package/dist/bin/cli.d.cts +0 -1
  941. package/dist/bin/doomRunner.d.cts +0 -1
  942. package/dist/cli/cliApp.cjs +0 -1
  943. package/dist/cli/cliApp.d.cts +0 -2
  944. package/dist/cli/cliApp.d.mts +0 -2
  945. package/dist/cli/cliApp.mjs +0 -1
  946. package/dist/cli/compatibilityOptions.cjs +0 -1
  947. package/dist/cli/compatibilityOptions.d.cts +0 -2
  948. package/dist/cli/compatibilityOptions.d.mts +0 -2
  949. package/dist/cli/compatibilityOptions.mjs +0 -1
  950. package/dist/cli/help.cjs +0 -1
  951. package/dist/cli/help.d.cts +0 -2
  952. package/dist/cli/help.d.mts +0 -2
  953. package/dist/cli/help.mjs +0 -1
  954. package/dist/cli/index.cjs +0 -1
  955. package/dist/cli/index.d.cts +0 -5
  956. package/dist/cli/index.d.mts +0 -5
  957. package/dist/cli/index.mjs +0 -1
  958. package/dist/cli/matrixOptions.cjs +0 -1
  959. package/dist/cli/matrixOptions.d.cts +0 -2
  960. package/dist/cli/matrixOptions.d.mts +0 -2
  961. package/dist/cli/matrixOptions.mjs +0 -1
  962. package/dist/cli/options.cjs +0 -1
  963. package/dist/cli/options.d.cts +0 -2
  964. package/dist/cli/options.d.mts +0 -2
  965. package/dist/cli/options.mjs +0 -1
  966. package/dist/commands/baseCommand.cjs +0 -2
  967. package/dist/commands/baseCommand.cjs.map +0 -1
  968. package/dist/commands/baseCommand.d.cts +0 -36
  969. package/dist/commands/baseCommand.d.cts.map +0 -1
  970. package/dist/commands/baseCommand.d.mts +0 -36
  971. package/dist/commands/baseCommand.d.mts.map +0 -1
  972. package/dist/commands/baseCommand.mjs +0 -2
  973. package/dist/commands/baseCommand.mjs.map +0 -1
  974. package/dist/commands/buildCommand.cjs +0 -3
  975. package/dist/commands/buildCommand.cjs.map +0 -1
  976. package/dist/commands/buildCommand.d.cts +0 -23
  977. package/dist/commands/buildCommand.d.cts.map +0 -1
  978. package/dist/commands/buildCommand.d.mts +0 -23
  979. package/dist/commands/buildCommand.d.mts.map +0 -1
  980. package/dist/commands/buildCommand.mjs +0 -3
  981. package/dist/commands/buildCommand.mjs.map +0 -1
  982. package/dist/commands/cli/cliApp.cjs +0 -2
  983. package/dist/commands/cli/cliApp.cjs.map +0 -1
  984. package/dist/commands/cli/cliApp.d.cts +0 -45
  985. package/dist/commands/cli/cliApp.d.cts.map +0 -1
  986. package/dist/commands/cli/cliApp.d.mts +0 -45
  987. package/dist/commands/cli/cliApp.d.mts.map +0 -1
  988. package/dist/commands/cli/cliApp.mjs +0 -2
  989. package/dist/commands/cli/cliApp.mjs.map +0 -1
  990. package/dist/commands/cli/compatibilityOptions.cjs +0 -2
  991. package/dist/commands/cli/compatibilityOptions.cjs.map +0 -1
  992. package/dist/commands/cli/compatibilityOptions.d.cts +0 -15
  993. package/dist/commands/cli/compatibilityOptions.d.cts.map +0 -1
  994. package/dist/commands/cli/compatibilityOptions.d.mts +0 -15
  995. package/dist/commands/cli/compatibilityOptions.d.mts.map +0 -1
  996. package/dist/commands/cli/compatibilityOptions.mjs +0 -2
  997. package/dist/commands/cli/compatibilityOptions.mjs.map +0 -1
  998. package/dist/commands/cli/help.cjs +0 -63
  999. package/dist/commands/cli/help.cjs.map +0 -1
  1000. package/dist/commands/cli/help.d.cts +0 -6
  1001. package/dist/commands/cli/help.d.cts.map +0 -1
  1002. package/dist/commands/cli/help.d.mts +0 -6
  1003. package/dist/commands/cli/help.d.mts.map +0 -1
  1004. package/dist/commands/cli/help.mjs +0 -63
  1005. package/dist/commands/cli/help.mjs.map +0 -1
  1006. package/dist/commands/cli/index.cjs +0 -1
  1007. package/dist/commands/cli/index.d.cts +0 -4
  1008. package/dist/commands/cli/index.d.mts +0 -4
  1009. package/dist/commands/cli/index.mjs +0 -1
  1010. package/dist/commands/cli/matrixOptions.cjs +0 -2
  1011. package/dist/commands/cli/matrixOptions.cjs.map +0 -1
  1012. package/dist/commands/cli/matrixOptions.d.cts +0 -99
  1013. package/dist/commands/cli/matrixOptions.d.cts.map +0 -1
  1014. package/dist/commands/cli/matrixOptions.d.mts +0 -99
  1015. package/dist/commands/cli/matrixOptions.d.mts.map +0 -1
  1016. package/dist/commands/cli/matrixOptions.mjs +0 -2
  1017. package/dist/commands/cli/matrixOptions.mjs.map +0 -1
  1018. package/dist/commands/cli/options.cjs +0 -2
  1019. package/dist/commands/cli/options.cjs.map +0 -1
  1020. package/dist/commands/cli/options.d.cts +0 -7
  1021. package/dist/commands/cli/options.d.cts.map +0 -1
  1022. package/dist/commands/cli/options.d.mts +0 -7
  1023. package/dist/commands/cli/options.d.mts.map +0 -1
  1024. package/dist/commands/cli/options.mjs +0 -2
  1025. package/dist/commands/cli/options.mjs.map +0 -1
  1026. package/dist/commands/compatibilityCommand.cjs +0 -2
  1027. package/dist/commands/compatibilityCommand.cjs.map +0 -1
  1028. package/dist/commands/compatibilityCommand.d.cts +0 -14
  1029. package/dist/commands/compatibilityCommand.d.cts.map +0 -1
  1030. package/dist/commands/compatibilityCommand.d.mts +0 -14
  1031. package/dist/commands/compatibilityCommand.d.mts.map +0 -1
  1032. package/dist/commands/compatibilityCommand.mjs +0 -2
  1033. package/dist/commands/compatibilityCommand.mjs.map +0 -1
  1034. package/dist/commands/emitMcpCommand.cjs +0 -2
  1035. package/dist/commands/emitMcpCommand.cjs.map +0 -1
  1036. package/dist/commands/emitMcpCommand.d.cts +0 -19
  1037. package/dist/commands/emitMcpCommand.d.cts.map +0 -1
  1038. package/dist/commands/emitMcpCommand.d.mts +0 -19
  1039. package/dist/commands/emitMcpCommand.d.mts.map +0 -1
  1040. package/dist/commands/emitMcpCommand.mjs +0 -2
  1041. package/dist/commands/emitMcpCommand.mjs.map +0 -1
  1042. package/dist/commands/explainCommand.cjs +0 -21
  1043. package/dist/commands/explainCommand.cjs.map +0 -1
  1044. package/dist/commands/explainCommand.d.cts +0 -63
  1045. package/dist/commands/explainCommand.d.cts.map +0 -1
  1046. package/dist/commands/explainCommand.d.mts +0 -63
  1047. package/dist/commands/explainCommand.d.mts.map +0 -1
  1048. package/dist/commands/explainCommand.mjs +0 -21
  1049. package/dist/commands/explainCommand.mjs.map +0 -1
  1050. package/dist/commands/index.cjs +0 -1
  1051. package/dist/commands/index.d.cts +0 -9
  1052. package/dist/commands/index.d.mts +0 -9
  1053. package/dist/commands/index.mjs +0 -1
  1054. package/dist/commands/initCommand.cjs +0 -3
  1055. package/dist/commands/initCommand.cjs.map +0 -1
  1056. package/dist/commands/initCommand.d.cts +0 -11
  1057. package/dist/commands/initCommand.d.cts.map +0 -1
  1058. package/dist/commands/initCommand.d.mts +0 -11
  1059. package/dist/commands/initCommand.d.mts.map +0 -1
  1060. package/dist/commands/initCommand.mjs +0 -3
  1061. package/dist/commands/initCommand.mjs.map +0 -1
  1062. package/dist/commands/launchCommand.cjs +0 -2
  1063. package/dist/commands/launchCommand.cjs.map +0 -1
  1064. package/dist/commands/launchCommand.d.cts +0 -33
  1065. package/dist/commands/launchCommand.d.cts.map +0 -1
  1066. package/dist/commands/launchCommand.d.mts +0 -33
  1067. package/dist/commands/launchCommand.d.mts.map +0 -1
  1068. package/dist/commands/launchCommand.mjs +0 -2
  1069. package/dist/commands/launchCommand.mjs.map +0 -1
  1070. package/dist/commands/syncCommand.cjs +0 -6
  1071. package/dist/commands/syncCommand.cjs.map +0 -1
  1072. package/dist/commands/syncCommand.d.cts +0 -37
  1073. package/dist/commands/syncCommand.d.cts.map +0 -1
  1074. package/dist/commands/syncCommand.d.mts +0 -37
  1075. package/dist/commands/syncCommand.d.mts.map +0 -1
  1076. package/dist/commands/syncCommand.mjs +0 -6
  1077. package/dist/commands/syncCommand.mjs.map +0 -1
  1078. package/dist/config/harnessState.cjs +0 -1
  1079. package/dist/config/harnessState.d.cts +0 -2
  1080. package/dist/config/harnessState.d.mts +0 -2
  1081. package/dist/config/harnessState.mjs +0 -1
  1082. package/dist/config/index.cjs +0 -1
  1083. package/dist/config/index.d.cts +0 -4
  1084. package/dist/config/index.d.mts +0 -4
  1085. package/dist/config/index.mjs +0 -1
  1086. package/dist/config/projectTrust.cjs +0 -1
  1087. package/dist/config/projectTrust.d.cts +0 -2
  1088. package/dist/config/projectTrust.d.mts +0 -2
  1089. package/dist/config/projectTrust.mjs +0 -1
  1090. package/dist/entries/autoStop.cjs +0 -1
  1091. package/dist/entries/autoStop.d.cts +0 -2
  1092. package/dist/entries/autoStop.d.mts +0 -2
  1093. package/dist/entries/autoStop.mjs +0 -1
  1094. package/dist/entries/components/matrixPicker.cjs +0 -1
  1095. package/dist/entries/components/matrixPicker.d.cts +0 -2
  1096. package/dist/entries/components/matrixPicker.d.mts +0 -2
  1097. package/dist/entries/components/matrixPicker.mjs +0 -1
  1098. package/dist/entries/components/skillsOverlay.cjs +0 -1
  1099. package/dist/entries/components/skillsOverlay.d.cts +0 -2
  1100. package/dist/entries/components/skillsOverlay.d.mts +0 -2
  1101. package/dist/entries/components/skillsOverlay.mjs +0 -1
  1102. package/dist/entries/domains.cjs +0 -1
  1103. package/dist/entries/domains.d.cts +0 -2
  1104. package/dist/entries/domains.d.mts +0 -2
  1105. package/dist/entries/domains.mjs +0 -1
  1106. package/dist/entries/doom.cjs +0 -1
  1107. package/dist/entries/doom.d.cts +0 -2
  1108. package/dist/entries/doom.d.mts +0 -2
  1109. package/dist/entries/doom.mjs +0 -1
  1110. package/dist/entries/effort.cjs +0 -1
  1111. package/dist/entries/effort.d.cts +0 -2
  1112. package/dist/entries/effort.d.mts +0 -2
  1113. package/dist/entries/effort.mjs +0 -1
  1114. package/dist/entries/majorMode.cjs +0 -1
  1115. package/dist/entries/majorMode.d.cts +0 -2
  1116. package/dist/entries/majorMode.d.mts +0 -2
  1117. package/dist/entries/majorMode.mjs +0 -1
  1118. package/dist/entries/notifications.cjs +0 -1
  1119. package/dist/entries/notifications.d.cts +0 -2
  1120. package/dist/entries/notifications.d.mts +0 -2
  1121. package/dist/entries/notifications.mjs +0 -1
  1122. package/dist/entries/ollamaProvider.cjs +0 -1
  1123. package/dist/entries/ollamaProvider.d.cts +0 -2
  1124. package/dist/entries/ollamaProvider.d.mts +0 -2
  1125. package/dist/entries/ollamaProvider.mjs +0 -1
  1126. package/dist/entries/persona.cjs +0 -1
  1127. package/dist/entries/persona.d.cts +0 -2
  1128. package/dist/entries/persona.d.mts +0 -2
  1129. package/dist/entries/persona.mjs +0 -1
  1130. package/dist/entries/profile.cjs +0 -1
  1131. package/dist/entries/profile.d.cts +0 -2
  1132. package/dist/entries/profile.d.mts +0 -2
  1133. package/dist/entries/profile.mjs +0 -1
  1134. package/dist/entries/repositoryHooks.cjs +0 -1
  1135. package/dist/entries/repositoryHooks.d.cts +0 -2
  1136. package/dist/entries/repositoryHooks.d.mts +0 -2
  1137. package/dist/entries/repositoryHooks.mjs +0 -1
  1138. package/dist/entries/skills.cjs +0 -1
  1139. package/dist/entries/skills.d.cts +0 -2
  1140. package/dist/entries/skills.d.mts +0 -2
  1141. package/dist/entries/skills.mjs +0 -1
  1142. package/dist/entries/styleSystem.cjs +0 -1
  1143. package/dist/entries/styleSystem.d.cts +0 -2
  1144. package/dist/entries/styleSystem.d.mts +0 -2
  1145. package/dist/entries/styleSystem.mjs +0 -1
  1146. package/dist/extensions/entries/autoStop.cjs +0 -2
  1147. package/dist/extensions/entries/autoStop.cjs.map +0 -1
  1148. package/dist/extensions/entries/autoStop.d.cts +0 -7
  1149. package/dist/extensions/entries/autoStop.d.cts.map +0 -1
  1150. package/dist/extensions/entries/autoStop.d.mts +0 -7
  1151. package/dist/extensions/entries/autoStop.d.mts.map +0 -1
  1152. package/dist/extensions/entries/autoStop.mjs +0 -2
  1153. package/dist/extensions/entries/autoStop.mjs.map +0 -1
  1154. package/dist/extensions/entries/components/matrixPicker.cjs +0 -2
  1155. package/dist/extensions/entries/components/matrixPicker.cjs.map +0 -1
  1156. package/dist/extensions/entries/components/matrixPicker.d.cts +0 -55
  1157. package/dist/extensions/entries/components/matrixPicker.d.cts.map +0 -1
  1158. package/dist/extensions/entries/components/matrixPicker.d.mts +0 -55
  1159. package/dist/extensions/entries/components/matrixPicker.d.mts.map +0 -1
  1160. package/dist/extensions/entries/components/matrixPicker.mjs +0 -2
  1161. package/dist/extensions/entries/components/matrixPicker.mjs.map +0 -1
  1162. package/dist/extensions/entries/components/skillsOverlay.cjs +0 -4
  1163. package/dist/extensions/entries/components/skillsOverlay.cjs.map +0 -1
  1164. package/dist/extensions/entries/components/skillsOverlay.d.cts +0 -58
  1165. package/dist/extensions/entries/components/skillsOverlay.d.cts.map +0 -1
  1166. package/dist/extensions/entries/components/skillsOverlay.d.mts +0 -58
  1167. package/dist/extensions/entries/components/skillsOverlay.d.mts.map +0 -1
  1168. package/dist/extensions/entries/components/skillsOverlay.mjs +0 -4
  1169. package/dist/extensions/entries/components/skillsOverlay.mjs.map +0 -1
  1170. package/dist/extensions/entries/domains.cjs +0 -2
  1171. package/dist/extensions/entries/domains.cjs.map +0 -1
  1172. package/dist/extensions/entries/domains.d.cts +0 -10
  1173. package/dist/extensions/entries/domains.d.cts.map +0 -1
  1174. package/dist/extensions/entries/domains.d.mts +0 -10
  1175. package/dist/extensions/entries/domains.d.mts.map +0 -1
  1176. package/dist/extensions/entries/domains.mjs +0 -2
  1177. package/dist/extensions/entries/domains.mjs.map +0 -1
  1178. package/dist/extensions/entries/doom.cjs +0 -2
  1179. package/dist/extensions/entries/doom.cjs.map +0 -1
  1180. package/dist/extensions/entries/doom.d.cts +0 -14
  1181. package/dist/extensions/entries/doom.d.cts.map +0 -1
  1182. package/dist/extensions/entries/doom.d.mts +0 -14
  1183. package/dist/extensions/entries/doom.d.mts.map +0 -1
  1184. package/dist/extensions/entries/doom.mjs +0 -2
  1185. package/dist/extensions/entries/doom.mjs.map +0 -1
  1186. package/dist/extensions/entries/effort.cjs +0 -2
  1187. package/dist/extensions/entries/effort.cjs.map +0 -1
  1188. package/dist/extensions/entries/effort.d.cts +0 -10
  1189. package/dist/extensions/entries/effort.d.cts.map +0 -1
  1190. package/dist/extensions/entries/effort.d.mts +0 -10
  1191. package/dist/extensions/entries/effort.d.mts.map +0 -1
  1192. package/dist/extensions/entries/effort.mjs +0 -2
  1193. package/dist/extensions/entries/effort.mjs.map +0 -1
  1194. package/dist/extensions/entries/majorMode.cjs +0 -6
  1195. package/dist/extensions/entries/majorMode.cjs.map +0 -1
  1196. package/dist/extensions/entries/majorMode.d.cts +0 -29
  1197. package/dist/extensions/entries/majorMode.d.cts.map +0 -1
  1198. package/dist/extensions/entries/majorMode.d.mts +0 -29
  1199. package/dist/extensions/entries/majorMode.d.mts.map +0 -1
  1200. package/dist/extensions/entries/majorMode.mjs +0 -6
  1201. package/dist/extensions/entries/majorMode.mjs.map +0 -1
  1202. package/dist/extensions/entries/notifications.cjs +0 -2
  1203. package/dist/extensions/entries/notifications.cjs.map +0 -1
  1204. package/dist/extensions/entries/notifications.d.cts +0 -14
  1205. package/dist/extensions/entries/notifications.d.cts.map +0 -1
  1206. package/dist/extensions/entries/notifications.d.mts +0 -14
  1207. package/dist/extensions/entries/notifications.d.mts.map +0 -1
  1208. package/dist/extensions/entries/notifications.mjs +0 -2
  1209. package/dist/extensions/entries/notifications.mjs.map +0 -1
  1210. package/dist/extensions/entries/ollamaProvider.cjs +0 -2
  1211. package/dist/extensions/entries/ollamaProvider.cjs.map +0 -1
  1212. package/dist/extensions/entries/ollamaProvider.d.cts +0 -7
  1213. package/dist/extensions/entries/ollamaProvider.d.cts.map +0 -1
  1214. package/dist/extensions/entries/ollamaProvider.d.mts +0 -7
  1215. package/dist/extensions/entries/ollamaProvider.d.mts.map +0 -1
  1216. package/dist/extensions/entries/ollamaProvider.mjs +0 -2
  1217. package/dist/extensions/entries/ollamaProvider.mjs.map +0 -1
  1218. package/dist/extensions/entries/persona.cjs +0 -2
  1219. package/dist/extensions/entries/persona.cjs.map +0 -1
  1220. package/dist/extensions/entries/persona.d.cts +0 -15
  1221. package/dist/extensions/entries/persona.d.cts.map +0 -1
  1222. package/dist/extensions/entries/persona.d.mts +0 -15
  1223. package/dist/extensions/entries/persona.d.mts.map +0 -1
  1224. package/dist/extensions/entries/persona.mjs +0 -2
  1225. package/dist/extensions/entries/persona.mjs.map +0 -1
  1226. package/dist/extensions/entries/profile.cjs +0 -3
  1227. package/dist/extensions/entries/profile.cjs.map +0 -1
  1228. package/dist/extensions/entries/profile.d.cts +0 -18
  1229. package/dist/extensions/entries/profile.d.cts.map +0 -1
  1230. package/dist/extensions/entries/profile.d.mts +0 -18
  1231. package/dist/extensions/entries/profile.d.mts.map +0 -1
  1232. package/dist/extensions/entries/profile.mjs +0 -3
  1233. package/dist/extensions/entries/profile.mjs.map +0 -1
  1234. package/dist/extensions/entries/repositoryHooks.cjs +0 -9
  1235. package/dist/extensions/entries/repositoryHooks.cjs.map +0 -1
  1236. package/dist/extensions/entries/repositoryHooks.d.cts +0 -8
  1237. package/dist/extensions/entries/repositoryHooks.d.cts.map +0 -1
  1238. package/dist/extensions/entries/repositoryHooks.d.mts +0 -8
  1239. package/dist/extensions/entries/repositoryHooks.d.mts.map +0 -1
  1240. package/dist/extensions/entries/repositoryHooks.mjs +0 -9
  1241. package/dist/extensions/entries/repositoryHooks.mjs.map +0 -1
  1242. package/dist/extensions/entries/shellTitleController.cjs +0 -27
  1243. package/dist/extensions/entries/shellTitleController.cjs.map +0 -1
  1244. package/dist/extensions/entries/shellTitleController.d.cts +0 -11
  1245. package/dist/extensions/entries/shellTitleController.d.cts.map +0 -1
  1246. package/dist/extensions/entries/shellTitleController.d.mts +0 -11
  1247. package/dist/extensions/entries/shellTitleController.d.mts.map +0 -1
  1248. package/dist/extensions/entries/shellTitleController.mjs +0 -27
  1249. package/dist/extensions/entries/shellTitleController.mjs.map +0 -1
  1250. package/dist/extensions/entries/skills.cjs +0 -3
  1251. package/dist/extensions/entries/skills.cjs.map +0 -1
  1252. package/dist/extensions/entries/skills.d.cts +0 -34
  1253. package/dist/extensions/entries/skills.d.cts.map +0 -1
  1254. package/dist/extensions/entries/skills.d.mts +0 -34
  1255. package/dist/extensions/entries/skills.d.mts.map +0 -1
  1256. package/dist/extensions/entries/skills.mjs +0 -3
  1257. package/dist/extensions/entries/skills.mjs.map +0 -1
  1258. package/dist/extensions/entries/styleSystem.cjs +0 -4
  1259. package/dist/extensions/entries/styleSystem.cjs.map +0 -1
  1260. package/dist/extensions/entries/styleSystem.d.cts +0 -32
  1261. package/dist/extensions/entries/styleSystem.d.cts.map +0 -1
  1262. package/dist/extensions/entries/styleSystem.d.mts +0 -32
  1263. package/dist/extensions/entries/styleSystem.d.mts.map +0 -1
  1264. package/dist/extensions/entries/styleSystem.mjs +0 -4
  1265. package/dist/extensions/entries/styleSystem.mjs.map +0 -1
  1266. package/dist/extensions/pi.d.cts +0 -2
  1267. package/dist/index.d.cts +0 -39
  1268. package/dist/logSinkTelemetry.cjs +0 -1
  1269. package/dist/logSinkTelemetry.d.cts +0 -2
  1270. package/dist/logSinkTelemetry.d.mts +0 -2
  1271. package/dist/logSinkTelemetry.mjs +0 -1
  1272. package/dist/services/compatibility/antigravity.cjs +0 -1
  1273. package/dist/services/compatibility/antigravity.d.cts +0 -2
  1274. package/dist/services/compatibility/antigravity.d.mts +0 -2
  1275. package/dist/services/compatibility/antigravity.mjs +0 -1
  1276. package/dist/services/compatibility/codex.cjs +0 -1
  1277. package/dist/services/compatibility/codex.d.cts +0 -2
  1278. package/dist/services/compatibility/codex.d.mts +0 -2
  1279. package/dist/services/compatibility/codex.mjs +0 -1
  1280. package/dist/services/compatibility/index.cjs +0 -1
  1281. package/dist/services/compatibility/index.d.cts +0 -6
  1282. package/dist/services/compatibility/index.d.mts +0 -6
  1283. package/dist/services/compatibility/index.mjs +0 -1
  1284. package/dist/services/compatibility/process.cjs +0 -1
  1285. package/dist/services/compatibility/process.d.cts +0 -2
  1286. package/dist/services/compatibility/process.d.mts +0 -2
  1287. package/dist/services/compatibility/process.mjs +0 -1
  1288. package/dist/services/compatibility/shared.cjs +0 -1
  1289. package/dist/services/compatibility/shared.d.cts +0 -2
  1290. package/dist/services/compatibility/shared.d.mts +0 -2
  1291. package/dist/services/compatibility/shared.mjs +0 -1
  1292. package/dist/services/compatibilityContext.cjs +0 -1
  1293. package/dist/services/compatibilityContext.d.cts +0 -2
  1294. package/dist/services/compatibilityContext.d.mts +0 -2
  1295. package/dist/services/compatibilityContext.mjs +0 -1
  1296. package/dist/services/composer.cjs +0 -1
  1297. package/dist/services/composer.d.cts +0 -4
  1298. package/dist/services/composer.d.mts +0 -4
  1299. package/dist/services/composer.mjs +0 -1
  1300. package/dist/services/config/index.cjs +0 -1
  1301. package/dist/services/config/index.d.cts +0 -7
  1302. package/dist/services/config/index.d.mts +0 -7
  1303. package/dist/services/config/index.mjs +0 -1
  1304. package/dist/services/config/projectTrust.cjs +0 -2
  1305. package/dist/services/config/projectTrust.cjs.map +0 -1
  1306. package/dist/services/config/projectTrust.d.cts +0 -14
  1307. package/dist/services/config/projectTrust.d.cts.map +0 -1
  1308. package/dist/services/config/projectTrust.d.mts +0 -14
  1309. package/dist/services/config/projectTrust.d.mts.map +0 -1
  1310. package/dist/services/config/projectTrust.mjs +0 -2
  1311. package/dist/services/config/projectTrust.mjs.map +0 -1
  1312. package/dist/services/extensionAssembler.cjs +0 -2
  1313. package/dist/services/extensionAssembler.cjs.map +0 -1
  1314. package/dist/services/extensionAssembler.d.cts +0 -72
  1315. package/dist/services/extensionAssembler.d.cts.map +0 -1
  1316. package/dist/services/extensionAssembler.d.mts +0 -72
  1317. package/dist/services/extensionAssembler.d.mts.map +0 -1
  1318. package/dist/services/extensionAssembler.mjs +0 -2
  1319. package/dist/services/extensionAssembler.mjs.map +0 -1
  1320. package/dist/services/harnessContext.cjs +0 -1
  1321. package/dist/services/harnessContext.d.cts +0 -2
  1322. package/dist/services/harnessContext.d.mts +0 -2
  1323. package/dist/services/harnessContext.mjs +0 -1
  1324. package/dist/services/index.cjs +0 -1
  1325. package/dist/services/index.d.cts +0 -17
  1326. package/dist/services/index.d.mts +0 -17
  1327. package/dist/services/index.mjs +0 -1
  1328. package/dist/services/matrixSwitcher.cjs +0 -1
  1329. package/dist/services/matrixSwitcher.d.cts +0 -2
  1330. package/dist/services/matrixSwitcher.d.mts +0 -2
  1331. package/dist/services/matrixSwitcher.mjs +0 -1
  1332. package/dist/services/mcpFilter.cjs +0 -1
  1333. package/dist/services/mcpFilter.d.cts +0 -2
  1334. package/dist/services/mcpFilter.d.mts +0 -2
  1335. package/dist/services/mcpFilter.mjs +0 -1
  1336. package/dist/services/piSettings.cjs +0 -1
  1337. package/dist/services/piSettings.d.cts +0 -2
  1338. package/dist/services/piSettings.d.mts +0 -2
  1339. package/dist/services/piSettings.mjs +0 -1
  1340. package/dist/services/resourceCollector.cjs +0 -1
  1341. package/dist/services/resourceCollector.d.cts +0 -2
  1342. package/dist/services/resourceCollector.d.mts +0 -2
  1343. package/dist/services/resourceCollector.mjs +0 -1
  1344. package/dist/services/skillCatalog.cjs +0 -1
  1345. package/dist/services/skillCatalog.d.cts +0 -2
  1346. package/dist/services/skillCatalog.d.mts +0 -2
  1347. package/dist/services/skillCatalog.mjs +0 -1
  1348. package/dist/services/skillSources.cjs +0 -1
  1349. package/dist/services/skillSources.d.cts +0 -2
  1350. package/dist/services/skillSources.d.mts +0 -2
  1351. package/dist/services/skillSources.mjs +0 -1
  1352. package/dist/services/syncState.cjs +0 -1
  1353. package/dist/services/syncState.d.cts +0 -3
  1354. package/dist/services/syncState.d.mts +0 -3
  1355. package/dist/services/syncState.mjs +0 -1
  1356. package/dist/services/tools/toolNames.cjs +0 -2
  1357. package/dist/services/tools/toolNames.cjs.map +0 -1
  1358. package/dist/services/tools/toolNames.d.cts +0 -25
  1359. package/dist/services/tools/toolNames.d.cts.map +0 -1
  1360. package/dist/services/tools/toolNames.d.mts +0 -25
  1361. package/dist/services/tools/toolNames.d.mts.map +0 -1
  1362. package/dist/services/tools/toolNames.mjs +0 -2
  1363. package/dist/services/tools/toolNames.mjs.map +0 -1
  1364. package/dist/types/interfaces/compatibility.d.cts +0 -23
  1365. package/dist/types/interfaces/compatibility.d.cts.map +0 -1
  1366. package/dist/types/interfaces/compatibility.d.mts +0 -23
  1367. package/dist/types/interfaces/compatibility.d.mts.map +0 -1
  1368. package/dist/types/interfaces/harness.d.cts +0 -84
  1369. package/dist/types/interfaces/harness.d.cts.map +0 -1
  1370. package/dist/types/interfaces/harness.d.mts +0 -84
  1371. package/dist/types/interfaces/harness.d.mts.map +0 -1
  1372. package/dist/utils/index.cjs +0 -1
  1373. package/dist/utils/index.d.cts +0 -5
  1374. package/dist/utils/index.d.mts +0 -5
  1375. package/dist/utils/index.mjs +0 -1
  1376. package/dist/utils/json.cjs +0 -1
  1377. package/dist/utils/json.d.cts +0 -2
  1378. package/dist/utils/json.d.mts +0 -2
  1379. package/dist/utils/json.mjs +0 -1
  1380. package/dist/utils/moduleResolution.cjs +0 -1
  1381. package/dist/utils/moduleResolution.d.cts +0 -2
  1382. package/dist/utils/moduleResolution.d.mts +0 -2
  1383. package/dist/utils/moduleResolution.mjs +0 -1
  1384. package/dist/utils/repository.cjs +0 -1
  1385. package/dist/utils/repository.d.cts +0 -2
  1386. package/dist/utils/repository.d.mts +0 -2
  1387. package/dist/utils/repository.mjs +0 -1
  1388. package/dist/utils/toolNames.cjs +0 -1
  1389. package/dist/utils/toolNames.d.cts +0 -2
  1390. package/dist/utils/toolNames.d.mts +0 -2
  1391. package/dist/utils/toolNames.mjs +0 -1
package/README.md CHANGED
@@ -1,600 +1,791 @@
1
- # Doompi
1
+ # DoomPi
2
2
 
3
3
  **A coding agent that loads only the skills and tools you name.**
4
4
 
5
- Plugin systems scope what an agent knows. Nothing scopes what it can reach. Claude Code
6
- gives you `enableAllProjectMcpServers` and a static denylist, both repository-wide, so
7
- every session pays for every MCP server's tool schemas whether the task is a database
8
- migration or a landing page.
5
+ > It begins with one useful MCP server. Then another. Soon the agent fixing a heading
6
+ > wakes up with database tools, browser controls, and their small novel of schemas. This
7
+ > is our config.
9
8
 
10
- Doompi makes both a declared input. Three YAML files decide what a session loads, and
11
- `--explain` prints the bill before you launch.
9
+ DoomPi is an opinionated, composable distribution of
10
+ [Pi](https://github.com/earendil-works/pi). It is closer in spirit to Spacemacs, Doom Emacs, or a
11
+ curated Neovim setup than to a single plugin. It is tailored for people whose agent has one MCP
12
+ server too many. It turns extensions, skills, MCP servers, and system prompts into config instead
13
+ of background noise.
12
14
 
13
- ## Install
15
+ ![DoomPi terminal interface showing tasks, Plan mode, and the Leader menu](https://cdn.jsdelivr.net/npm/@agimon-ai/doompi@latest/assets/doompi-tui.png)
14
16
 
15
- ```bash
16
- npm install -g @agimon-ai/doompi @earendil-works/pi-coding-agent
17
- ```
17
+ Plugin systems scope what an agent knows. They do less to scope which configured plugins and MCP
18
+ servers a particular session can load. Claude Code's `enableAllProjectMcpServers` and static
19
+ denylist are repository-wide. DoomPi draws that loading boundary around the session. Pick a major
20
+ mode and some domains; add a profile if you want one. Four YAML files decide what loads;
21
+ `doompi --explain` tells you what got in, why, and what it costs before launch.
18
22
 
19
- ## Quickstart
23
+ It borrows its shape from [Doom Emacs Core](https://github.com/doomemacs/core): quick to
24
+ start, close to Pi, opinionated where defaults help, and easy to pull apart when they do
25
+ not. Use it as-is, build your own config on top, or raid it for parts.
20
26
 
21
- ```bash
22
- doompi init # seed ~/.pi/.doom, once per machine
23
- mkdir .doom && cp ~/.pi/.doom/*.yaml .doom/ # the repository config Doompi reads
24
- doompi --explain # what would load, and why
25
- doompi # start a session
26
- ```
27
+ ## Contents
27
28
 
28
- `.doom/` is committed to git, so a checkout carries its own agent configuration. Edit a
29
- YAML file and the next launch picks it up.
29
+ [Install](#install) · [Try DoomPi](#try-doompi-without-replacing-your-pi-setup) ·
30
+ [Philosophy](#philosophy) · [What this buys you](#what-this-buys-you) · [Features](#features) ·
31
+ [Configuration](#configuration) · [Trust and data boundaries](#trust-and-data-boundaries) ·
32
+ [CLI reference](#cli-reference) · [Troubleshooting](#troubleshooting-and-direct-use) ·
33
+ [Architecture](#architecture) · [Development](#development)
34
+
35
+ ## Install
30
36
 
31
37
  ```bash
32
- doompi --major-mode dev --domains development
33
- doompi --domains marketing --profile marketing
34
- doompi --domains analytics --explain
38
+ npm install -g @agimon-ai/doompi
35
39
  ```
36
40
 
37
- ## The three axes
41
+ The package pins and installs the upstream Pi version used by `dpi`. It also owns the
42
+ [`doompi-server` executable and server API](docs/server/index.md) used by the web and desktop clients.
38
43
 
39
- Doompi wraps [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) and
40
- resolves a declared configuration into a session rather than asking you to wire one up.
41
- The three choices are independent: adding a domain requires no knowledge of major modes,
42
- and swapping a profile changes nothing about either.
44
+ The root package contains the fixed host foundation only. Feature packages are selected by
45
+ `.doom/modes.yaml` and installed into the consumer repository when they are first needed.
43
46
 
44
- | Choice | Decides | Declared in |
45
- | -------------- | ------------------------------------ | --------------------- |
46
- | **Major mode** | what the agent is wrapped in | `.doom/modes.yaml` |
47
- | **Domains** | what it knows, and what it can reach | `.doom/domains.yaml` |
48
- | **Profile** | who it speaks as | `.doom/profiles.yaml` |
47
+ ## Status and requirements
49
48
 
50
- A domain names plugins and an MCP allowlist together, so `--domains marketing` and
51
- `--domains development` are the same agent with different knowledge and a different reach,
52
- not two different agents. That is the lever for keeping context small, and
53
- [`--explain`](#minimal-context) prices it before you commit.
49
+ DoomPi is alpha software. Configuration and package boundaries may still change between alpha
50
+ releases.
54
51
 
55
- ## What is actually different
52
+ - Node.js 22.19.0 or newer
53
+ - Release targets: macOS arm64, Linux x64, and Linux arm64
54
+ - Pi 0.87.1 and Pi TUI 0.87.1 for packages that declare them as peer requirements
56
55
 
57
- **Compaction reads state, it does not summarize prose.** When the context fills, Doompi
58
- does not guess at coordination state from the transcript. It reads the live plan, task
59
- graph, and team snapshot, and commits them next to the summary as authoritative. The agent
60
- comes out the other side knowing what it was doing, what is still running, and who is doing
61
- what. See [Long runs](#long-runs).
56
+ ## Try DoomPi without replacing your Pi setup
62
57
 
63
- **Spec-driven and meta-prompting systems change what the agent is told. Doompi changes what
64
- it loads.** The two compose fine. This one is about the context window, not the prompt.
58
+ `dpi` is the comparison runner. Use it to try DoomPi beside your current `pi` customization
59
+ before registering anything in Pi's settings:
65
60
 
66
- **One configuration serves two readers.** A human gets a keyboard surface that does not
67
- move; an autonomous agent gets a small tool surface and a context window that compacts
68
- itself.
69
-
70
- ## Philosophy
61
+ ```bash
62
+ dpi init # create this repository's .doom configuration
63
+ dpi sync # resolve and synchronize the DoomPi experiment
64
+ dpi # run the DoomPi experiment
65
+ pi # run your existing Pi setup for comparison
66
+ ```
71
67
 
72
- **Give the agent fewer things to choose between.** [Major modes, domains, and
73
- profiles](#major-modes-domains-profiles) decide what loads, so a session carries the skills
74
- and MCP servers its domains named and nothing else. Whatever still overflows [compacts in
75
- the background](#long-runs).
68
+ `dpi init` creates `.doom/config.yaml`, `.doom/modes.yaml`, `.doom/domains.yaml`, and
69
+ `.doom/profiles.yaml` in the current repository. It preserves existing files unless you pass
70
+ `--force` and does not create or change `.pi/settings.json`.
76
71
 
77
- **Shift the work onto deterministic workflows.** Autonomous runs are [GitHub Actions
78
- shaped](#workflows), with jobs, dependencies, steps, timeouts, and declared artifacts, so
79
- the same job resolves the same way every time.
72
+ `dpi sync` installs missing configured feature packages and publishes a generated runtime, web bundle,
73
+ and API route set for the current repository and worktree. It does not change either normal Pi settings
74
+ file. It prepares every declared layer so switching modes does not depend on the root package's
75
+ dependency closure.
80
76
 
81
- **Keep the keyboard ergonomic.** `SPC` is the whole surface, Spacemacs and Doom Emacs
82
- style, and [it opens only when the draft is empty](#leader-space), so a half-written prompt
83
- is never a casualty.
77
+ ### Sync storage and worktrees
84
78
 
85
- **Batteries included, without the bloat.** Plan mode, tasks, teams, a supervised runner,
86
- voice, and workflows ship in the box, but [core is not a
87
- layer](#core-is-not-a-layer) and every opinion waits behind a layer or a domain.
79
+ DoomPi stores generated sync data under `~/.pi/.doom/sync`, outside the repository. Repository and
80
+ worktree identities select separate namespaces. Outside a repository, the canonical `~/.pi/.doom`
81
+ configuration gets its own global composition and registration. Each successful sync writes a new immutable
82
+ generation, then atomically publishes that generation's registration as the final commit step. A failed sync
83
+ removes its unpublished generation and leaves the previous registration active. One sync target never rewrites
84
+ another target's registration or generation.
88
85
 
89
- **One major mode, several minor modes.** A session runs under exactly one major mode, which
90
- is what selects its layers. [Plan, loop, and workflow](#minor-modes) are minor modes: you
91
- toggle them mid-session, they stack, and they report themselves on a shared status line.
86
+ `dpi` preserves Pi's normal global and repository settings, then applies DoomPi's extension and theme
87
+ settings in memory. It never writes those values to `.pi/settings.json`.
92
88
 
93
- ## Two ways to run
89
+ Export the published HTTP and socket contracts with `doompi api-export --out ./api-schema --strict`. See [compiled API export](docs/server/api-export.md) for artifact formats, CI checks, and package declarations.
94
90
 
95
- The launcher resolves your three choices per run and spawns Pi with them. Skills, agents,
96
- MCP configs, and the persona prompt are assembled into a temporary directory that is
97
- deleted on exit. Nothing is written back into the repository, and every session pays the
98
- resolution cost.
91
+ Run `doompi sync --check` to detect missing, invalid, or stale registered state. Unregistered legacy state
92
+ is not loaded. Inside a repository, `doompi sync` publishes that repository and worktree. Outside every
93
+ repository, it publishes the global composition from `~/.pi/.doom`.
99
94
 
100
- `doompi sync` is the other way in, and the Doom Emacs one. Resolve once, write the
101
- result where Pi looks, then run `pi` yourself.
95
+ When you are comfortable with DoomPi and no longer need the side-by-side experiment, initialize the
96
+ normal Pi integration and synchronize the scopes you use:
102
97
 
103
98
  ```bash
104
- doompi init # seed ~/.pi/.doom, once per machine
105
- doompi build # warm the selected launch bundle and skill cache
106
- doompi sync # resolve the selection into .pi/
107
- pi # the agent
108
-
109
- doompi sync --check # exit non-zero when the synced config is out of date
99
+ doompi init # seed ~/.pi/.doom and register the managed Pi integration
100
+ doompi sync # publish the current repository, or the global composition
101
+ pi # use the nearest repository, otherwise the global composition
110
102
  ```
111
103
 
112
- A synced session takes `--major-mode`, `--domains`, `--profile`, and `--mute` the same way
113
- the launcher does, and `/mode`, `/domains`, and `/profile` all switch in place: the
114
- extension set is composed on every load rather than frozen at startup, so a reload is
115
- enough.
116
-
117
- Both paths compose the extension set from the same function, `assembleExtensions`, which
118
- owns load order. Two things differ. A synced session forces `--auto-stop` off, and it
119
- reads mute from `DOOMPI_MUTE` instead of an argument.
120
-
121
- `doompi build` is the launcher warm-up step, analogous to `doom build`: it resolves the
122
- selected matrix, compiles its exact extension graph into one `.pi/doom/dist` ESM file,
123
- and warms the persistent skill manifest without starting Pi or changing
124
- `.pi/settings.json`. A sidecar manifest retains every original extension and exact
125
- `SKILL.md` path, so resource discovery never depends on the bundle's location.
126
- Launch still builds on a cache miss, so the command is optional; run it after installing
127
- or upgrading Doom packages when first-input latency matters.
128
-
129
- Syncing does not disturb the launcher. Pi merges the extensions a project declares with
130
- the ones passed on the command line, so the synced entry stands down whenever it sees the
131
- composed set already there, which is what the launcher and every detached subagent pass.
132
-
133
- ## For humans
134
-
135
- ### Leader Space
136
-
137
- `@agimon-ai/doompi-ui` owns the leader state machine, rendering, conflict handling, and the
138
- core bindings.
139
-
140
- Space opens the leader **only when the draft is empty**. With text in the editor, space is
141
- a space. `ctrl+space` opens the leader either way, and the draft survives the sequence, so
142
- you never lose a half-written prompt to a keystroke. That is the space the human keeps.
143
-
144
- Inside a sequence: `escape` cancels, `backspace` pops one segment, and any key that
145
- matches nothing cancels. There is no partial state to get stuck in.
146
-
147
- Core groups. Every level of the map renders in leader-key alphabetical order, so the table
148
- below is the order you see:
149
-
150
- | Key | Group | Bindings |
151
- | --- | --------- | ---------------------------------------- |
152
- | `e` | extension | `e` external editor, `t` tools browser |
153
- | `h` | help | `h` hotkeys, `l` log metrics |
154
- | `m` | models | `m` select, `n` next, `t` thinking level |
155
- | `q` | quit | `q` exit |
156
- | `s` | sessions | `f` fork, `n` new, `r` resume, `t` tree |
157
-
158
- `t` is deliberately left out of core at the root and reserved for doom-task.
159
-
160
- Optional feature extensions own the bindings for their own commands. The UI never
161
- hardcodes a binding for a layer that may not be loaded, so a group appears only while its
162
- extension is loaded:
163
-
164
- | Chord | Source | Opens |
165
- | -------------------- | ----------------------------- | ------------------------------ |
166
- | `SPC a` | `@agimon-ai/doompi-team` | subagent fleet |
167
- | `SPC h l` | `@agimon-ai/doompi-log` | log metrics |
168
- | `SPC l s`, `SPC l l` | `@agimon-ai/doompi-loop` | start loops, list/stop loops |
169
- | `SPC p p/c/d/f` | `@agimon-ai/doompi-plan` | plan normal/cancel/debug/fable |
170
- | `SPC t t` | `@agimon-ai/doompi-task` | tasks |
171
- | `SPC r r` | `@agimon-ai/doompi-runner` | background processes |
172
- | `SPC v v` | `@agimon-ai/doompi-voice` | record or transcribe |
173
- | `SPC w w/l/r` | `@agimon-ai/doompi-workflow` | launch/manage/recover |
174
- | `SPC e f` | `@agimon-ai/doompi-file-edit` | session edits |
175
- | `SPC e s` | `@agimon-ai/doompi` | skills catalog |
176
- | `SPC e c` | `@agimon-ai/doompi-ui` | config panel (core binding) |
177
- | `SPC g s/e/p` | `@agimon-ai/doompi-goal` | start/end/history |
178
-
179
- Contributions go through the public `@agimon-ai/doompi-ui/leader` API:
180
-
181
- ```ts
182
- registerDoomLeaderContribution(pi, {
183
- source: '@agimon-ai/doompi-log',
184
- bindings: [
185
- {
186
- id: 'log.metrics',
187
- path: [
188
- { key: 'h', label: 'help', order: 70 },
189
- { key: 'l', label: 'logs', detail: 'telemetry' },
190
- ],
191
- command: { name: 'log-metrics' },
192
- },
193
- ],
194
- });
104
+ `doompi` remains available as an explicit harness when you want per-run matrix flags:
105
+
106
+ ```bash
107
+ doompi --major-mode copilot --no-domains
108
+ doompi --major-mode minimal --no-domains
109
+ doompi --major-mode copilot --no-domains --explain
195
110
  ```
196
111
 
197
- A path excludes the leading `SPC`. The UI turns this into `SPC h l`, dispatches
198
- `/log-metrics` through the normal editor submission path, and preserves the draft. A
199
- binding carries either a `command` descriptor or an `action` name, never both. Commands
200
- stay owned by the extension that registered the slash command; actions route back to the
201
- contributor through `registerDoomLeaderActionHandlers`, which is what doom-plan uses.
202
-
203
- The map is deterministic because the registry is strict:
204
-
205
- - Keys are a single lowercase alphanumeric character, paths are at most four segments.
206
- - Shared group prefixes must agree on label, detail, and order, or the contribution is
207
- rejected.
208
- - Exact chord conflicts are rejected rather than silently overridden. A conflict in a core
209
- binding throws; a conflict from a contributor produces a diagnostic and a warning.
210
- - Re-registering the same `source` replaces that source's complete binding set. Registering
211
- an empty set removes it.
212
- - Rebuilds sort by source name then binding id, so load order does not affect the result.
213
- - Options render in leader-key alphabetical order at every level. A segment's `order` is
214
- group identity that shared prefixes must agree on, not a display position.
215
-
216
- Registration runs over Pi's shared extension event bus with a 250 ms timeout. A timeout is
217
- swallowed, so an extension loaded without the UI degrades quietly instead of failing.
218
-
219
- ### Major modes, domains, profiles
220
-
221
- Three choices, three files, committed to git. They are independent. Adding a domain
222
- requires no knowledge of major modes, and swapping a profile changes nothing about either.
223
-
224
- | Choice | Loads | Declared in |
225
- | --------------- | ------------------------------------- | --------------------- |
226
- | **Major modes** | a named set of layers | `.doom/modes.yaml` |
227
- | **Domains** | plugins, meaning skills and MCP | `.doom/domains.yaml` |
228
- | **Profiles** | a persona and the brand it speaks for | `.doom/profiles.yaml` |
229
-
230
- **Layers are protection and steering.** A layer is a set of Pi extensions plus a set of
231
- hook groups. The extensions add behavior the agent runs with; the hooks fire around its
232
- tool calls and can block it, warn it, or steer it back. You define the set you want, along
233
- the lines of `guardrails`, `lint`, `code-intel`, `team`, `plan-mode`, `runner`, and
234
- `ask-user`. The hooks themselves live in `.doom/hooks.yaml`, one registry shared by every
235
- frontend, where a group is either `core` and always loads, or is pulled in by whichever
236
- layer wants it.
237
-
238
- **A major mode is the one you actually pick.** You do not assemble layers one by one at the
239
- prompt. You select one named major mode with `--major-mode <name>`, and
240
- `.doom/modes.yaml` says which layers it contains. A session has exactly one, the way
241
- an Emacs buffer has exactly one major mode. The file can choose the fallback without
242
- renaming that mode:
112
+ ## Philosophy
243
113
 
244
- ```yaml
245
- defaultMajorMode: minimal
246
- majorMode:
247
- minimal: [guardrails, team]
248
- copilot: [guardrails, team, plan-mode, runner]
249
- ```
114
+ An agent does not need every tool for every job. DoomPi separates the base session from
115
+ the things you switch on for a while: modes choose behavior, domains choose subject
116
+ matter, and profiles choose a point of view.
250
117
 
251
- An explicit `--major-mode` wins, then `DOOMPI_MAJOR_MODE`, then
252
- `defaultMajorMode`. Omitting the field preserves the compatible `copilot` fallback.
118
+ ### Major and minor modes
253
119
 
254
- The flag is `--major-mode` and not `--mode` because Pi already owns `--mode` for its output
255
- mode (`text`, `json`, `rpc`), and for any other value it consumes the argument and ignores
256
- it without a diagnostic. Use `--output-format` for Pi's output mode.
120
+ A major mode is the base config. It names the extension layers for development, marketing,
121
+ or whatever else you do. Define as many as you like; only one is active at a time. Synchronized
122
+ sessions can reload compatible changes; launcher-owned composition changes require a relaunch.
257
123
 
258
- **Domains are plugins, and a plugin is skills plus MCP.** Selecting a domain decides which
259
- plugins contribute their skills and subagents, which MCP servers the session can reach,
260
- and whether the always-on shared skills apply. A domain can take a whole plugin or a named
261
- subset of one. This is the choice that decides how much the agent can see, so it is also
262
- the lever for keeping context small. Defaults are plural because domains compose:
124
+ Minor modes are batteries-included switches inside that base. They start off, stack freely,
125
+ and keep their model tools and skills out of context until turned on. DoomPi ships six:
263
126
 
264
- ```yaml
265
- defaultDomains: [development, qa]
266
- domains:
267
- development:
268
- plugins: [plugins/development]
269
- qa:
270
- plugins: [plugins/qa]
271
- ```
127
+ - **Help mode:** expose package-owned guidance only while you need it.
128
+ - **Plan mode:** remove Pi's file-editing tools while you agree on an approach.
129
+ - **Loop mode:** run a prompt now, then run it again on a schedule.
130
+ - **Goal mode:** keep one objective in view until it is done or dismissed.
131
+ - **Workflow mode:** run jobs with dependencies, timeouts, and artifacts.
132
+ - **Voice mode:** replace typing with local speech.
133
+
134
+ ### Domains
272
135
 
273
- Explicit `--domain` or `--domains` flags win, then `DOOMPI_DOMAINS`, then
274
- `defaultDomains`.
136
+ A domain is a named group of agent plugins. It carries the skills and MCP servers for one
137
+ kind of work, and `/domains` switches it while the session is running.
275
138
 
276
- **Profiles are a persona and a brand.** `.doom/profiles.yaml` points at a directory under
277
- `agents/<brand>/<person>/`, and doom concatenates that person's `profile.md`, `SOUL.md`,
278
- and `AGENTS.md` into the system prompt: identity and the brand it represents, then voice,
279
- then role and rules. A profile also carries environment defaults, and nothing else. It
280
- cannot select domains, major modes, models, presets, or policy, and an exported value
281
- always beats a profile default.
139
+ Plugins are cataloged once and domains refer to their names. A configured root may be a
140
+ Codex-compatible marketplace or a folder whose direct children are plugins, so a repository
141
+ with many plugins does not need one entry per directory:
282
142
 
283
- Switching is live. `/mode`, `/domains`, and `/profile` re-resolve into the running
284
- session and reload. A domain or profile switch always applies in place. A major mode switch
285
- applies in place too unless the new mode changes which extension packages load, since Pi
286
- freezes the `--extension` set at construction; the picker tells you when a relaunch is
287
- needed.
143
+ ```yaml
144
+ plugins:
145
+ roots: [plugins]
146
+ entries:
147
+ remote-review:
148
+ source: url
149
+ url: '<REVIEW_PLUGIN_GIT_URL>'
150
+ ref: v1.2.0
288
151
 
289
- ### Minor modes
152
+ domains:
153
+ development:
154
+ description: Implementation and code-review tools.
155
+ plugins: [pi-development, remote-review]
156
+ ```
290
157
 
291
- A major mode is chosen once per session and selects layers. Minor modes are the opposite:
292
- you toggle them while the session runs, several can be on at once, and none of them changes
293
- which extensions are loaded.
158
+ DoomPi also checks personal and repository Codex marketplace layouts. Marketplace IDs use
159
+ `plugin@marketplace`. Remote Git and npm sources are downloaded once into the persistent
160
+ `~/.pi/.doom/plugin-cache` directory. Cache entries are reused until their source descriptor
161
+ changes; use a Git SHA or exact npm version for reproducible installs. Home and repository
162
+ catalogs merge, and repository names replace matching home names.
294
163
 
295
- | Minor mode | Toggle | Owned by |
296
- | ---------- | -------------------- | ---------------------------- |
297
- | goal | `/goal`, `SPC g` | `@agimon-ai/doompi-goal` |
298
- | plan | `/plan`, `SPC p` | `@agimon-ai/doompi-plan` |
299
- | loop | `/loop`, `SPC l` | `@agimon-ai/doompi-loop` |
300
- | workflow | `/workflow`, `SPC w` | `@agimon-ai/doompi-workflow` |
164
+ A blog is not one task. Research it, draft it, make the assets, then review it. Turn on the
165
+ `visual` domain while making assets; the other three steps have no reason to carry it.
301
166
 
302
- Goal is assembled in `minimal`, `copilot`, custom major modes, and detached children rather
303
- than selected by a layer. It starts dormant: `/goal` is available, but its tools, system
304
- prompt, automatic continuation, and `GOAL` status stay off until an objective is accepted
305
- or an active Goal is restored. Paused, blocked, limited, and queue-waiting Goals retain the
306
- status item without retaining execution capabilities. Parent hosts load the Doom entry;
307
- detached children load the UI-independent Pi entry.
167
+ ### Profile
308
168
 
309
- Each enabled minor mode publishes a label to a shared `MODES` line rather than painting a
310
- row of its own. The registry is `@agimon-ai/doompi-extension-contracts/mode`.
169
+ An LLM has no house style until you give it one. A profile can supply a narrative, brand
170
+ rules, or a different voice. It is optional; no profile is a perfectly good profile.
311
171
 
312
- Existing `pi-goal.json` files remain readable. Both legacy `toolVisibility` values now mean
313
- that Goal tools are managed only while execution is operational; neither exposes tools in
314
- a dormant session. `experimental.goals` controls queues only.
172
+ Profile roots remove the need to list every persona folder. A root may itself contain the
173
+ persona files, or its direct-child folders become profiles named after those folders. DoomPi
174
+ recognizes `profile.md`, `SOUL.md`, and `AGENTS.md` and never searches deeper directories.
315
175
 
316
- If an edited `modes.yaml` still defines or selects a Goal layer, remove that definition and
317
- its major-mode references, then run `doompi sync`. Normal `doompi init` preserves edited
318
- files. `doompi init --force` is a full template reset and may overwrite unrelated edits.
176
+ ```yaml
177
+ profiles:
178
+ roots: [agents/acme]
179
+ entries:
180
+ editor:
181
+ persona: agents/special/editor
182
+ env:
183
+ EDITOR_MODE: strict
184
+ ```
319
185
 
320
- ## For autonomous agents
186
+ Roots from the home and repository files accumulate relative to their declaring config.
187
+ Repository discoveries replace same-named home discoveries. Explicit entries override
188
+ discovery and can add string environment defaults; repository entries replace matching home
189
+ entries. Select one at launch with `--profile editor` or switch with `/profile`.
321
190
 
322
- ### Minimal context
191
+ ## What this buys you
323
192
 
324
- Fewer options, better choices. Domains cut the skill list and the tool list together. A
325
- domain that names three plugins gives the agent those plugins' skills and nothing else,
326
- and one with an `mcp` allowlist reaches only the servers and proxy upstreams it names.
193
+ Every tool schema and skill name competes for the same context. Loading less has two
194
+ immediate effects:
327
195
 
328
- `--explain` prints what any combination costs before you launch it, and ends with the bill:
196
+ 1. You spend fewer tokens before the work begins.
197
+ 2. The model has fewer plausible-but-wrong tools and skills to choose from.
329
198
 
330
- ```
331
- $ doompi --domains development --explain
332
- ...
333
- skills: 24 (from 3 directories)
334
-
335
- context cost (tokens)
336
- skills prompt 3,772 always on
337
- persona 0 always on
338
- startup total 3,772
339
- skill bodies 54,145 read on demand
340
-
341
- Excludes MCP tool schemas, which the servers only report once connected,
342
- and skills contributed by extensions, which register after startup.
343
- ```
199
+ The savings get larger when each workflow job starts with its own config instead of
200
+ inheriting the last job's toolbox.
344
201
 
345
- Every figure comes from files on disk, so two runs of the same selection print the same
346
- numbers and you can reproduce them on your own repository rather than trusting these.
202
+ ### Copilot
347
203
 
348
- MCP tool schemas are the one cost this cannot price. They exist only after a server
349
- connects, and pricing them would mean spawning every configured server on a command meant
350
- to be instant. Scoping them is still a declared choice; the saving is just not counted here.
204
+ I got tired of remembering slash commands, so `SPC` is the map. It opens only when the
205
+ draft is empty; a space in the middle of a prompt remains a space. Press it, read the
206
+ choices, then press the next key.
351
207
 
352
- A domain without an `mcp` key admits everything, and one unscoped domain in the selection
353
- unfilters the rest. Scoping applies only when every selected domain declares it.
208
+ When the keyboard is the wrong tool, autonomous Voice mode keeps the conversation going.
209
+ You can talk to the agent while doing the chores instead of carrying a laptop around the
210
+ house, and the primary agent can speak its own opening, milestone, and final updates.
354
211
 
355
- A domain can also take a named subset of one plugin's skills, by name or glob.
212
+ ### Autopilot
356
213
 
357
- ### Workflows
214
+ Copilot helps while you are present. Loop and Workflow keep work moving when you are not.
215
+ Together they can dispatch structured jobs from one live session.
358
216
 
359
- Long autonomous work runs as workflows, in the shape a GitHub Actions user already knows:
360
- `on:`, `jobs:`, `needs:`, `steps:`, timeouts, and declared artifacts.
217
+ #### Workflows
361
218
 
362
- The payoff is that every step names the session it wants. A workflow is where
363
- `--major-mode`, `--domains`, and `--profile` stop being things you type and become part of
364
- the definition, so one run can hand each job exactly the context that job needs and nothing
365
- else:
219
+ GitHub Actions already has a decent vocabulary for long jobs, so DoomPi reuses it. Each job
220
+ declares the DoomPi session it wants. Here, implementation gets development tools; an
221
+ article waits for it and gets focused blog-writing context:
366
222
 
367
223
  ```yaml
224
+ on:
225
+ workflow_dispatch:
226
+
368
227
  jobs:
369
228
  implement:
370
- needs: intake
371
229
  steps:
372
- - name: Implement
230
+ - name: Build the feature
373
231
  timeout-minutes: 180
374
- artifacts: [implementation/report.md]
375
232
  interactiveRun:
376
233
  default: |
377
- doompi --major-mode dev --domains development --auto-stop \
234
+ doompi --major-mode examples --domains development --auto-stop \
378
235
  --cwd "$PWD" "$JOB_SYSTEM_PROMPT"
379
236
 
380
- announce:
237
+ article:
381
238
  needs: implement
382
239
  steps:
383
- - name: Draft the release note
240
+ - name: Write the article
384
241
  timeout-minutes: 30
385
- artifacts: [marketing/release-note.md]
386
242
  interactiveRun:
387
243
  default: |
388
- doompi --major-mode marketing --domains marketing \
389
- --profile brand-voice --auto-stop \
244
+ doompi --major-mode examples --domains blog --auto-stop \
390
245
  --cwd "$PWD" "$JOB_SYSTEM_PROMPT"
391
246
  ```
392
247
 
393
- Two jobs, two different agents. `implement` runs under a major mode carrying lint and code
394
- intelligence and a domain carrying coding skills. `announce` drops both, takes a domain
395
- scoped to a handful of MCP servers, and adds a profile, so the release note comes out in a
396
- named persona's voice rather than the agent's own. Neither job can drift into the other's
397
- context, and the same job resolves the same way on every run.
398
-
399
- The one real departure from GitHub Actions is `extends:`, which lets a job inherit shared
400
- setup from a named template rather than repeating it.
401
-
402
- The engine itself is not in this package. `@agimon-ai/doompi-workflow` provides the in-session
403
- surface on `SPC w`, and its dispatcher exposes `list_workflows` to any session but scopes
404
- `launch_workflow` to the root session, so a subagent can look but not spawn. The `workflow`
405
- hook group is `core`, so it loads in any major mode.
248
+ #### Native plugin and workflow examples
406
249
 
407
- ### Long runs
250
+ This source repository includes a complete, deliberately small example stack:
408
251
 
409
- Tasks, teams, runners, and compaction share one working state, so a long autonomous run
410
- does not lose its place.
252
+ ```text
253
+ plugins/
254
+ development/ implementation skill and developer agent
255
+ testing/ testing and review skills, tester and reviewer agents
256
+ blog-writing/ research, outline, drafting, and editorial skills and agents
257
+ automations/workflows/
258
+ dev-feature.workflow.yml
259
+ dev-fix.workflow.yml
260
+ blog-writing.workflow.yml
261
+ ```
411
262
 
412
- - **Tasks** (`SPC t`) are a file-backed graph with dependencies and delegation, not a
413
- scratch list.
414
- - **Teams** (`SPC a`) run named subagents asynchronously against that same board,
415
- sequentially or in parallel.
416
- - **Runners** (`SPC r`) replace the bash tool and detach long commands, then reconcile
417
- them afterwards.
418
- - **Compaction** runs on a three-pass ladder in a worker thread, so the session never
419
- blocks on it.
263
+ Each plugin has both `.codex-plugin/plugin.json` and `.claude-plugin/plugin.json`, while its
264
+ `skills/` and `agents/` content is shared. `.doom/domains.yaml` exposes the `development`,
265
+ `testing`, and `blog` domains plus the `engineering` alias. `.doom/modes.yaml` mirrors the
266
+ standalone package set with workspace-local paths, keeps its canonical modes, and adds a layer-free
267
+ `examples` base mode for the tracked workflows. Inspect the exact session before launch:
420
268
 
421
- The integration is the point. When compaction summarizes, it does not guess at
422
- coordination state: it reads the live plan, tasks, and team snapshot, and commits them
423
- next to the summary as authoritative rather than leaving them to be reconstructed from
424
- prose. Detached runners reconcile themselves once the context has been rewritten. The
425
- agent comes out the other side knowing what it was doing, what is still running, and who
426
- is doing what.
269
+ ```bash
270
+ doompi --major-mode examples --domains engineering --explain
271
+ doompi --major-mode examples --domains blog --explain
272
+ ```
427
273
 
428
- ## Core is not a layer
274
+ The same bundles can be installed directly through either native marketplace:
429
275
 
430
- Telemetry, workflow orchestration, Goal's dormant runtime, the dispatch loop, and editor
431
- plumbing ship unconditionally and are absent from `modes.yaml` on purpose. They are the
432
- reason the harness exists, so making them optional would only create broken configurations.
433
- Layers are for opinions, not foundations.
276
+ ```bash
277
+ # Codex
278
+ codex plugin marketplace add .
279
+ codex plugin add development@doompi-examples
434
280
 
435
- ## Who owns what
281
+ # Claude Code
282
+ claude plugin marketplace add ./ --scope user
283
+ claude plugin install development@doompi-examples --scope user
284
+ ```
436
285
 
437
- Doom Pi is a meta-package. It depends on the Doom closure (`@agimon-ai/doompi-*`) and composes
438
- it, and it depends on nothing that belongs to the repository consuming it. The Agiflow and
439
- Agent Hooks extensions are consumer-owned: the repository declares them in its own
440
- `.doom/modes.yaml` and installs them itself, and they load after the Doom packages.
286
+ Substitute `testing` or `blog-writing` to install another bundle. No DoomPi-specific plugin
287
+ schema is involved.
441
288
 
442
- That split decides where a specifier resolves. A package the repository declares resolves
443
- from the repository root, walking its module chain; anything that does not resolve there
444
- falls back to what ships with the installed meta-package. So a consumer can add a layer
445
- without Doom Pi knowing the package exists, and Doom Pi can ship its own closure without
446
- the consumer declaring it.
289
+ List and dry-run the tracked workflows before spending a model call:
447
290
 
448
- Package resources follow the same rule: the UI theme is shipped by `@agimon-ai/doompi-ui`
449
- and the workflow-recovery skill by `@agimon-ai/doompi-workflow`, each declared in its own
450
- manifest, so an installed package is discoverable without this checkout. Every Doom package
451
- publishes through an explicit `files` allowlist, which keeps repository material such as
452
- `docs/ideas/` out of any tarball.
291
+ ```bash
292
+ pnpm exec workflow-mcp list-workflows automations/workflows
293
+ pnpm exec workflow-mcp run-workflow automations/workflows/dev-feature.workflow.yml \
294
+ --dry-run --skip-launch --prompt "Add a health check"
295
+ pnpm exec workflow-mcp run-workflow automations/workflows/blog-writing.workflow.yml \
296
+ --dry-run --skip-launch --prompt "Write a practical guide to scoped agent tooling"
297
+ ```
453
298
 
454
- A repository is recognised by a Doom or trusted Pi marker: a `.doom/` directory, or an
455
- existing `.pi/settings.json`. No Nx, pnpm workspace, or plugins profile is required, so a
456
- plain repository that installs the package can launch it.
299
+ Real runs delegate to tmux by default and accept `WORKFLOW_LAUNCHER=cmux`. Development runs do
300
+ not create branches, commits, or pushes. Blog runs leave review-ready Markdown, sources, and a
301
+ publication checklist in the workflow run directory without writing into a site or calling a CMS.
302
+ These examples live in the source repository and are not part of the published npm tarball.
457
303
 
458
- ## Lazy config
304
+ #### Loop
459
305
 
460
- Under the launcher, everything is resolved per run and nothing is written back into the
461
- repository. Editing a YAML file is the entire change.
306
+ Workflow definitions are exposed like skills, so the agent can choose one for the job. A
307
+ loop can send a subagent to fetch the next task, then dispatch the workflow that matches
308
+ it. One session becomes the dispatcher instead of the place every job has to fit.
309
+
310
+ ## Features
462
311
 
463
- `doompi sync` trades that for a pinned setup: the same resolution runs once and lands in
464
- `.pi/doom/`, while `.pi/settings.json` keeps the stable `@agimon-ai/doompi` extension name.
465
- An internal `.pi/@agimon-ai/doompi` package alias lets Pi resolve that stable name; the
466
- package entry then locates and dynamically loads the generated bootstrap from synced state.
467
- Edit a YAML file and the next session says the config changed, the way doom emacs asks you
468
- to re-run `doom sync`.
312
+ DoomPi is a distribution, not one giant extension. Each package owns one job; shared TUI,
313
+ Cordis services, and session contracts make them behave like one. Use the generated
314
+ `default.packages` list together, remove packages you do not want, or replace its entries one
315
+ at a time. Selectable packages are not runtime dependencies of the root package or of one another.
469
316
 
470
- `doompi init` seeds `~/.pi/.doom` with all five file names, but only `config.yaml` from
471
- there is read at runtime. Major modes, domains, profiles, and hooks are always read from the
472
- repository `.doom/`, so the other four seeded files affect nothing beyond the inputs hash.
317
+ ### Foundation and interface
318
+
319
+ #### Configuration and composition
473
320
 
474
- Either way the hook registry compiles to the files other frontends read before any harness
475
- code runs, and `doompi sync` regenerates them.
321
+ [`@agimon-ai/doompi`][pkg-doompi] is both an extension and the command-line config compiler.
322
+ `dpi init` creates repository config for an isolated experiment, while `doompi init` creates the
323
+ personal config and registers the permanent Pi integration. The sync commands resolve every major
324
+ mode and domain into a distribution Pi can load quickly.
476
325
 
477
- ## Other frontends
326
+ #### Supporting packages
478
327
 
479
- Pi is the primary frontend. Claude Code, Codex, and Antigravity run through
480
- `doompi compat <provider>` and share the same domain config as far as each can:
328
+ [`@agimon-ai/doompi-config`][pkg-doompi-config] resolves the four YAML files and exposes the
329
+ configuration API. [`@agimon-ai/doompi-domain`][pkg-doompi-domain] owns domain selection, plugin
330
+ materialization, resource staging, and MCP scoping.
331
+ [`@agimon-ai/doompi-core`][pkg-doompi-core] contains the shared
332
+ Cordis service and event contracts used by extension authors.
333
+ [`@agimon-ai/doompi-hashline`][pkg-doompi-hashline] provides the shared snapshot tags and line-anchor
334
+ protocol. [`@agimon-ai/doompi-read`][pkg-doompi-read] and [`@agimon-ai/doompi-grep`][pkg-doompi-grep]
335
+ produce editable anchors for writable files while preserving Pi's native output for non-writable files.
336
+ [`@agimon-ai/doompi-edit`][pkg-doompi-edit] replaces Pi's search-and-replace `edit` tool with
337
+ stale-safe ranges anchored to the file content the model read or searched.
338
+ [`@agimon-ai/doompi-file-edit`][pkg-doompi-file-edit] opens files in the configured editor and
339
+ keeps the edit timeline. [`@agimon-ai/doompi-log`][pkg-doompi-log] collects session events, while
340
+ [`@agimon-ai/doompi-telemetry`][pkg-doompi-telemetry] is the library-level telemetry adapter.
481
341
 
482
- | | Pi | Claude Code | Codex | Antigravity |
483
- | ------------------- | ----------------- | ----------------------------- | ------------------------ | ------------------- |
484
- | domains to plugins | yes | yes | yes | yes |
485
- | hooks | from the registry | generated `settings.json` | generated `hooks.json` | copied `hooks.json` |
486
- | MCP servers | scoped | scoped | unscoped | scoped |
487
- | MCP proxy upstreams | scoped | scoped | scoped | scoped |
488
- | major mode | packages + hooks | shared hook groups | shared hook groups | shared hook groups |
489
- | personas | system prompt | `--append-system-prompt-file` | `developer_instructions` | no |
342
+ Runner selects matching RMUX and RTK native artifacts automatically. Do not install them directly.
343
+ The packages cover macOS and Linux on arm64 and x64 for both [RMUX][pkg-rmux-darwin-arm64] and
344
+ [RTK][pkg-rtk-darwin-arm64].
490
345
 
491
- Compatibility frontends use the selected major mode for shared hook state. Layer packages
492
- and Pi extensions are loaded only by Pi.
493
-
494
- Antigravity is the odd one. It reads its configuration from the workspace and from the
495
- user's home directory rather than from arguments, so every selection is written to disk
496
- before launch and reverted when it is no longer selected. Everything the harness writes is
497
- tracked in a managed-state file, so a file you created by hand is never silently replaced.
498
- Its hooks are copied from `.antigravity-local/hooks.json`, which is maintained by hand
499
- rather than generated from the registry.
346
+ #### Leader key
500
347
 
501
- Where a concept has no equivalent, it is left out rather than approximated.
502
-
503
- ## Files
348
+ [`@agimon-ai/doompi-ui`][pkg-doompi-ui] turns `SPC` into a map of the available commands. It stays out of
349
+ the way when a draft is not empty, and other packages contribute bindings through one
350
+ leader API instead of hardcoding their own menus.
504
351
 
505
- All Doompi configuration lives in `.doom/`, committed to git.
352
+ ### Coordinated work
506
353
 
507
- ```
508
- .doom/
509
- config.yaml projectTrust, plus the selection sync pins
510
- domains.yaml domains, plus aliases for shorthand bundles
511
- modes.yaml layer definitions and the named major modes built from them
512
- hooks.yaml canonical hooks for all three frontends
513
- profiles.yaml persona and environment profiles
514
-
515
- agents/<product>/<person>/ persona source, referenced never copied
516
- ```
354
+ #### Agent team
517
355
 
518
- `doompi sync` writes into `.pi/`:
356
+ [`@agimon-ai/doompi-team`][pkg-doompi-team] runs named subagents asynchronously. It owns agents,
357
+ runs, membership, intercom, and model policy; Task owns the persistent task graph used for
358
+ delegation. Agents can work in parallel and message one another. `SPC a l` lists available agents;
359
+ `SPC a r` opens current-session runs and their controls.
519
360
 
520
- ```
521
- .pi/settings.json committed; sync owns extensions, themes, and theme
522
- .pi/doom/ generated and gitignored
523
- state.json environment, resolved paths, and the inputs hash
524
- mcp.json mcp-extension.ts agents/ persona.md doom-pi-dark.json
525
- run/<pid>/ one session's live switches, never the baseline
526
- harness-state.json that session's own state, owned by its process
527
- ```
361
+ #### Tasks
528
362
 
529
- ### One owner for the state
363
+ [`@agimon-ai/doompi-task`][pkg-doompi-task] keeps a task graph on disk, not a disposable checklist in the
364
+ transcript. Dependencies persist independently of transcript compaction, and work can be handed to
365
+ a subagent, including a smaller model when the job does not need the expensive one. Seeded
366
+ `minimal` and `copilot` modes select its `task` layer; omit that layer when a major mode
367
+ should not expose the task tool.
530
368
 
531
- The resolved matrix a session runs on is a file, not a set of variables.
532
- `DOOMPI_STATE` points at it, and everything else the harness exports is derived from
533
- it: a projection published for the readers that can only see an environment, which are bash
534
- hooks, the shell launchers, `agent-hooks`, and any process spawned by any of them. Two
535
- fields never appear there at all, because nothing outside `@agimon-ai/doompi-config` reads
536
- them and every hook spawn would otherwise copy them: the plugin hook list and the profile's
537
- environment defaults.
369
+ #### Runner
538
370
 
539
- Ownership is per process, and that is the point. Doom Team subagents run detached, from an
540
- environment snapshot, and can outlive the parent that spawned them. So a spawner writes the
541
- child a file of its own in that run's directory, and any process that finds a file it does
542
- not own copies it before its first write. A child can neither corrupt its parent's session
543
- nor lose its own when the parent cleans up.
371
+ [`@agimon-ai/doompi-runner`][pkg-doompi-runner] replaces Pi's blocking `bash` tool with
372
+ supervised command execution. `doompi init` includes Runner in `default.packages`, so every
373
+ generated mode gets it. Short commands still return inline; commands that pass the configurable
374
+ threshold of 60 seconds by default move into the background with durable logs. Use
375
+ `background: true` for an immediate detached run or `interactive: true` when the command needs
376
+ terminal input. Runner IDs and complete raw logs remain available to the current session through
377
+ Runner Space at `SPC r l` or the `doom-runner` CLI. Runner tries bundled RMUX, then `rmux` on PATH,
378
+ then `tmux` on PATH. If no pane backend accepts the run, non-interactive commands use a supervised
379
+ subprocess; interactive commands require RMUX or tmux. Conservatively recognized single commands
380
+ use the matching RTK stdin filter after completion. Compound commands, pipelines, incompatible
381
+ formats, and unsupported commands keep bounded raw output. Remove Runner from `default.packages` to keep Pi's
382
+ `bash`, or add it to a named layer when only selected modes should replace `bash`.
544
383
 
545
- It also regenerates the two hook files the other frontends read before any harness code
546
- runs, which live outside `.pi/`:
384
+ #### Auto-compact
385
+
386
+ Ordinary compaction waits for one summary to save an overgrown session.
387
+ [`@agimon-ai/doompi-autocompact`][pkg-doompi-autocompact] leaves checkpoints instead:
388
+
389
+ 1. At 50%, it writes the first compact summary.
390
+ 2. Later, it combines that summary with the messages since; the model decides whether the
391
+ result is ready to use.
392
+ 3. On the third pass, it combines them again and forces compaction.
393
+
394
+ The work runs off-thread and can make up to three additional summarization calls. The standard
395
+ adapter preserves staged conversation checkpoints; Task and Team keep their own state rather than
396
+ being embedded as special snapshots in the compact summary.
397
+
398
+ ### Context and access
399
+
400
+ #### Help mode
401
+
402
+ [`@agimon-ai/doompi-help`][pkg-doompi-help] keeps package guidance out of the default prompt. A
403
+ fresh parent session performs no Help retrieval and exposes no Help skills. Use `SPC h e`, or the
404
+ existing `minor_mode` client in headless sessions, to activate the package indexes; use the same
405
+ action to deactivate them before the next interaction. Help names state their intent: authoring
406
+ guides use `doompi-author-*`, while operational guides use `doompi-use-*`. Core authoring guidance
407
+ covers extensions, runtime config, major modes, domains, profiles, hooks, workflows, and skills.
408
+ Parent and detached-child sessions both include the Help runtime, while root and axis authoring
409
+ guides remain parent-owned and all guidance stays withdrawn until Help mode is activated.
410
+
411
+ #### MCP
412
+
413
+ [`@agimon-ai/doompi-mcp`][pkg-doompi-mcp] is the gate between a session and its servers. It reads
414
+ repository and legacy plugin `.mcp.json` plus Agent Plugins v1 `mcp.json`, then exposes only the
415
+ servers and proxy upstreams allowed by the selected domains. A domain switch persists an immutable
416
+ projection; after Pi replaces the factories, Config publishes it through the session Cordis
417
+ registry and MCP starts a fresh in-memory `mcp-proxy` container. No Hono server or localhost proxy
418
+ sits in this path.
419
+
420
+ #### Ask user question
421
+
422
+ [`@agimon-ai/doompi-user-feedback`][pkg-doompi-user-feedback] gives the agent a structured question
423
+ that actually waits for an answer. In autonomous Voice mode it skips the modal, narrates the
424
+ choices, and accepts the next spoken response as an ordinary user message.
425
+
426
+ #### Logging and telemetry
427
+
428
+ DoomPi logging records operational metadata such as counters, spans, session IDs, tool names, and
429
+ errors. Callers remain responsible for values they attach to telemetry. `SPC h l` opens current-session
430
+ metrics, and [`@agimon-ai/log-sink-mcp`][pkg-log-sink-mcp] provides historical lookup when a sink is
431
+ configured.
432
+
433
+ ### Modes and automation
434
+
435
+ #### Plan mode
436
+
437
+ A promise to "only plan" is not a permission boundary. [`@agimon-ai/doompi-plan`][pkg-doompi-plan]
438
+ removes Pi's `edit` and `write` tools while the agent explores, persists the plan, and hands it back
439
+ for approval. It does not sandbox Bash, external tools, or the operating system. `SPC p e` enters
440
+ normal planning and leaves it again once on; `SPC p d` is debug planning and `SPC p r` is Code Review
441
+ planning, with actionable findings and proposed fixes for approval.
442
+ Turn it on when the approach should be settled before the files move.
443
+
444
+ #### Loop mode
445
+
446
+ [`@agimon-ai/doompi-loop`][pkg-doompi-loop] is an in-session scheduler. It runs a prompt immediately
447
+ and then repeats it on an interval; several loops can coexist. Use `SPC l s` to start one and
448
+ `SPC l l` to list or stop them. It is for recurring checks and prompts that belong to the current
449
+ session.
450
+
451
+ #### Goal mode
452
+
453
+ [`@agimon-ai/doompi-goal`][pkg-doompi-goal] pins one objective to the session until it completes or
454
+ you end it. `SPC g e` starts a goal and ends it once one is held; `SPC g g` shows status and
455
+ `SPC g l` lists repository history. Finished goals stop contributing active instructions and tools but remain in history when
456
+ you want to restart one.
457
+
458
+ #### Workflow mode
459
+
460
+ [`@agimon-ai/doompi-workflow`][pkg-doompi-workflow] runs GitHub Actions-style job graphs with
461
+ dependencies, timeouts, artifacts, and a separate DoomPi session for each step. Use `SPC w l` to
462
+ browse the repository's workflows and launch one with `r`, `SPC w r` to inspect this session's runs,
463
+ `SPC w c` to recover a failed run, and `SPC w e` to give the agent workflow tools or take them back. It is for work that needs hard job boundaries and explicit
464
+ handoffs rather than one long conversation.
465
+
466
+ #### Voice mode
467
+
468
+ [`@agimon-ai/doompi-voice`][pkg-doompi-voice] captures PCM audio through the local platform helper
469
+ and can transcribe it locally. Transcript text, session state, and model requests may still cross
470
+ process or provider boundaries according to the configured engines. `SPC v m` is one-shot manual
471
+ dictation and never enables Voice tools. `SPC v e` enters autonomous capture and exits it again; only its exact-active
472
+ TUI session receives the two Voice façades plus the standalone `narrate` tool.
473
+
474
+ While `narrate` is available, the primary agent calls it before every user-facing final
475
+ response. Final narration contains the complete answer, including every user-relevant
476
+ conclusion, question, warning, result, and next action in the written response, rather than
477
+ leaving essential information only in text. Short turns need one complete spoken answer;
478
+ longer work also gets an opening and meaningful milestone calls. Each ready-to-speak
479
+ utterance is limited to 4,096 characters, waits for physical playback, and returns
480
+ `completed`, `interrupted`, `superseded`, or `failed`.
481
+
482
+ If the agent never attempts `narrate` during a run, exact-active Voice speaks one sanitized
483
+ turn-end fallback rather than leaving the final response silent. Finals of at most 320
484
+ characters use deterministic speech; longer finals use the configured
485
+ `voice.autoCapture.model` for one bounded summary, with deterministic degradation on
486
+ failure or timeout. Any `narrate` attempt suppresses this safety net, so it cannot duplicate
487
+ or retry direct speech. Voice does not generate automatic intent, plan, milestone, or tool
488
+ progress narration. External task, workflow, and user-feedback narration remains
489
+ available, and the same model continues to provide bounded command correction.
490
+
491
+ ## Configuration
492
+
493
+ DoomPi reads four configuration files:
494
+
495
+ - `config.yaml` defines runtime settings such as trust, editor, planning, and voice behavior.
496
+ - `modes.yaml` defines default packages, extension layers, and major modes.
497
+ - `domains.yaml` catalogs plugins and sets session access.
498
+ - `profiles.yaml` supplies persona files and environment defaults.
499
+
500
+ Each matrix file has two optional layers: personal defaults in `~/.pi/.doom/` and repository
501
+ overrides in `<repository>/.doom/`. DoomPi loads both. Unique named entries from either layer
502
+ remain available; a same-named repository entry replaces the complete personal entry. Plugin
503
+ and profile roots from both layers are retained. Relative paths in personal config resolve
504
+ from `~/.pi/.doom/`; relative paths in repository config resolve from the repository root.
505
+
506
+ ### `modes.yaml`: choose behavior
507
+
508
+ A layer is an ordered bundle of extension packages and hook groups. A major mode names the
509
+ layers that should run together. The top-level `default.packages` list is the ordered package
510
+ baseline for every major mode. `doompi init` and `dpi init` write the distribution's current
511
+ feature packages there so the baseline is visible and replaceable. If `default` is absent,
512
+ DoomPi adds no default feature packages. Use `default.packages: []` for an explicit empty
513
+ baseline. The fixed host core remains active independently of this setting, and named layers
514
+ keep their existing behavior.
515
+
516
+ Launch installs missing required packages from the defaults and selected layers. `doompi sync`
517
+ installs missing required packages from the defaults and every declared layer, moves every
518
+ package in Pi's managed `.pi/npm` store to its newest published version, then builds the
519
+ synchronized matrix. A package whose published version cannot be read, because the machine is
520
+ offline or the registry refuses the request, keeps its installed version and is named in the
521
+ sync output. `doompi sync --check` reports missing packages without modifying the repository. Optional packages and local paths are not installed automatically. Removing an
522
+ entry stops activating it but leaves Pi's package cache available for later reuse.
523
+
524
+ Packages in `default` and named layers may be bare strings, or mappings when the package accepts
525
+ configuration:
547
526
 
527
+ ```yaml
528
+ default:
529
+ packages:
530
+ - '@agimon-ai/doompi-help'
531
+ - '@agimon-ai/doompi-hook'
532
+ - '@agimon-ai/doompi-goal'
533
+ - '@agimon-ai/doompi-voice'
534
+ - '@agimon-ai/doompi-runner'
535
+ - '@agimon-ai/doompi-read'
536
+ - '@agimon-ai/doompi-grep'
537
+ - '@agimon-ai/doompi-edit'
538
+ - '@agimon-ai/doompi-file-edit'
539
+ - '@agimon-ai/doompi-autocompact'
540
+ - '@agimon-ai/doompi-loop'
541
+ - '@agimon-ai/doompi-plan'
542
+ - '@agimon-ai/doompi-workflow'
543
+ - '@agimon-ai/doompi-log'
544
+ - '@agimon-ai/doompi-mcp'
545
+
546
+ layers:
547
+ team:
548
+ packages:
549
+ - name: '@agimon-ai/doompi-team'
550
+ config:
551
+ models:
552
+ - model: provider/model-id
553
+ thinking: high
554
+ review:
555
+ packages:
556
+ - '@scope/review-extension'
557
+
558
+ defaultMajorMode: copilot
559
+ majorMode:
560
+ minimal:
561
+ description: Lean sessions with delegation and little else.
562
+ layers: [team]
563
+ copilot:
564
+ description: General coding with delegation and review tools.
565
+ layers: [team, review]
548
566
  ```
549
- .claude/settings.json the "hooks" key only; every other key is preserved
550
- .codex-local/hooks.json the whole file
551
- ```
552
567
 
553
- Edit `hooks.yaml` and re-run `doompi sync` to regenerate both.
568
+ Order matters: DoomPi assembles `default.packages` first, then the selected layers and their
569
+ packages from left to right. Put settings under the package that consumes them; a layer is
570
+ composition, not a mystery bag of shared configuration. Home and repository `layers` and
571
+ `majorMode` records merge by name, with the repository definition winning a collision. If both
572
+ sources declare `default`, the repository block replaces the personal block as one whole package
573
+ list.
574
+
575
+ Configurations created before the hashline tools were split may contain only `doompi-edit`.
576
+ Replace that entry with the ordered `doompi-read`, `doompi-grep`, and `doompi-edit` trio. Init
577
+ preserves existing configuration unless it is run with `--force`.
578
+
579
+ Choose a mode with `--major-mode copilot`, switch it with `/mode`, or change
580
+ `defaultMajorMode` when one mode should be the ordinary starting point.
581
+
582
+ ### `domains.yaml`: choose content and access
554
583
 
555
- ## Selection
584
+ Plugins are cataloged once, then domains refer to their names. A root can be a marketplace,
585
+ a single plugin, or a container whose direct-child folders are plugins. Discovery is
586
+ intentionally nonrecursive: a tool buried five directories down should not load by accident.
556
587
 
557
- Use singular `--profile <name>` for one persona and its environment defaults. Use
558
- `--domains <name[,name...]>` for plugin bundles. Both `--major-mode` and `--profile` take
559
- exactly one name, reject a comma, and can be given only once. The removed `--layer`,
560
- `--layers`, `--profiles`, and `--target` flags throw and point at the replacement, and so
561
- does the removed `DOOMPI_LAYER` variable: a stale export is worth an error rather than a
562
- session quietly starting on the default.
588
+ ```yaml
589
+ defaultDomains: [development]
590
+
591
+ plugins:
592
+ roots: [plugins]
593
+ entries:
594
+ remote-review:
595
+ source: url
596
+ url: '<REVIEW_PLUGIN_GIT_URL>'
597
+ ref: v1.2.0
598
+ published-research:
599
+ source: npm
600
+ package: '@acme/research-plugin'
601
+ version: 1.4.0
563
602
 
564
- Defaults when you name nothing: `defaultMajorMode` from `.doom/modes.yaml` and the
565
- `defaultDomains` list from `.doom/domains.yaml`. Omitting those fields preserves the
566
- compatible fallbacks: major mode `copilot`, plus domain `marketing` for the legacy
567
- `marketing` mode or `default` for every other mode.
603
+ domains:
604
+ development:
605
+ description: Repository implementation tools.
606
+ plugins: [coding-tools]
607
+ review:
608
+ description: Focused review skills with a narrow MCP boundary.
609
+ plugins:
610
+ - name: remote-review
611
+ skills: [typescript]
612
+ agents: [reviewer]
613
+ hooks: false
614
+ mcp: true
615
+ mcp:
616
+ servers: [filesystem]
617
+ proxy: [github]
618
+
619
+ aliases:
620
+ work: [development, review]
621
+ ```
568
622
 
569
- Environment equivalents are `DOOMPI_MAJOR_MODE`, `DOOMPI_DOMAINS`, and `DOOMPI_PROFILE`.
570
- `DOOMPI_PRESET` and `DOOMPI_ADDITIONAL_DIRS` work the same way for `--preset` and
571
- `--add-dir`. An empty `DOOMPI_DOMAINS` means no domains, not the default. No profile is
572
- selected unless one is named.
623
+ Here, `coding-tools` is discovered from `plugins/coding-tools`; its manifest name, or its
624
+ folder name when no manifest name exists, becomes the catalog ID. Local roots and entries
625
+ resolve beside the declaring file. Git and npm entries are cached in
626
+ `~/.pi/.doom/plugin-cache`; pin a Git SHA or exact package version when reproducibility
627
+ matters. Domains may load an entire plugin or select only its skills, agents, hooks, and MCP
628
+ configuration. The optional `mcp` mapping is an allowlist, not a request to start every server
629
+ in the repository.
573
630
 
574
- There is one variable per axis. A nested run inherits its launcher's choice because the
575
- launcher writes the resolved value into the child environment under the same name, so
576
- anything you exported yourself is what a top-level run uses and what a spawned run
577
- overrides. These used to be two variables, `DOOM_PI_*` for the selection and
578
- `AGENT_HARNESS_*` for the resolved projection, with the second outranking the first. Any
579
- surviving `AGENT_HARNESS_*` variable now throws and names its replacement, because a stale
580
- export in a shell profile is worth an error.
631
+ Select one or more domains with `--domains development,review`, use an alias such as
632
+ `--domains work`, or switch them with `/domains`. `--no-domains` is useful when the right
633
+ amount of repository context is none.
581
634
 
582
- `DOOMPI_LAYERS`, plural, is a different variable from `DOOMPI_LAYER`. It carries the
583
- resolved layer components rather than the mode that selected them.
635
+ ### `profiles.yaml`: choose a point of view
584
636
 
585
- A repository can also pin the full selection used by a bare `doompi sync` or
586
- `doompi build`. A flag still wins, then an exported variable, then the matching
587
- `selection` field, then `modes.yaml`'s `defaultMajorMode` or `domains.yaml`'s
588
- `defaultDomains`:
637
+ A profile directory becomes discoverable when it directly contains `profile.md`, `SOUL.md`,
638
+ or `AGENTS.md`. A root may be one profile or a container of direct-child profiles. The folder
639
+ name becomes the profile name; DoomPi concatenates those three files in that order.
589
640
 
590
641
  ```yaml
591
- # .doom/config.yaml
592
- selection:
593
- majorMode: dev
594
- domains: [development]
595
- profile: house-voice
642
+ profiles:
643
+ roots: [personas]
644
+ entries:
645
+ release-writer:
646
+ persona: personas/release-writer
647
+ env:
648
+ BRAND: acme
649
+ TONE: concise
650
+ ```
651
+
652
+ With that config, `personas/release-writer/profile.md` is enough to discover
653
+ `release-writer`. The explicit entry is optional; use one when the profile needs another name,
654
+ an exact persona path, or string environment defaults. Explicit entries override discovered
655
+ folders. Already exported environment values win, so selecting a profile never quietly
656
+ replaces a value supplied by the caller.
657
+
658
+ Discovery never recurses. Persona paths must remain under `agents/` or a root declared in the
659
+ same file, and symlinks may not escape the persona boundary. Legacy profiles written directly
660
+ under `profiles` still load, but new configuration should use `roots` and `entries`.
661
+
662
+ Select a profile with `--profile release-writer` or switch it with `/profile`. Leaving the
663
+ catalog empty is valid; no profile remains a first-class choice.
664
+
665
+ ### Check the matrix before launch
666
+
667
+ The fastest configuration debugger is the one that does not start a model:
668
+
669
+ ```bash
670
+ doompi --major-mode copilot --domains work --profile release-writer --explain
671
+ dpi sync
672
+ doompi sync --check
673
+ ```
674
+
675
+ `--explain` prints the resolved mode, domains, profile, plugins, skills, agents, MCP boundary,
676
+ and estimated prompt cost. `dpi sync` resolves the repository configuration and synchronizes
677
+ DPI without registering it in normal Pi settings. `doompi sync --check` turns drift into a
678
+ non-zero exit code for CI. If the explanation is surprising, fix the YAML before paying a model
679
+ to be surprised with you.
680
+
681
+ ## Trust and data boundaries
682
+
683
+ DoomPi executes the extensions, remote Git/npm plugins, hooks, MCP stdio commands, workflows, and
684
+ shell commands you configure. Treat them as trusted executable code. Runner commands inherit the
685
+ process environment and operating-system privileges; their logs may contain command output and
686
+ secrets. MCP credentials may live in the system keyring or private configuration files.
687
+
688
+ Voice can keep PCM capture and transcription local when local engines are selected, but transcript
689
+ text and model requests follow the configured providers. Loop, Workflow, Plan, Autocompact, Team,
690
+ and autonomous Voice can make additional model calls. Telemetry is disabled or redirected through
691
+ its owning package's controls; values supplied by callers are not automatically scrubbed.
692
+
693
+ ## CLI reference
694
+
695
+ | Command or option | What it does |
696
+ | -------------------------------------------- | --------------------------------------------------------------------------------- |
697
+ | `dpi init`, `dpi sync`, `dpi` | Creates, synchronizes, and runs the repository-scoped comparison setup |
698
+ | `doompi init` | Seeds personal config and installs the managed Pi dispatcher, settings, and theme |
699
+ | `doompi sync` | Publishes the current repository, or the global composition outside repositories |
700
+ | `doompi sync --check` | Exits non-zero when the applicable registered generation is missing or stale |
701
+ | `doompi compat <codex\|claude\|antigravity>` | Resolves the selected matrix and launches the compatibility adapter |
702
+ | `doom-runner` | Inspects and controls supervised Runner processes and logs |
703
+ | `--explain` | Prints the resolved matrix and estimated prompt cost without launching Pi |
704
+ | `--emit-mcp <dir>`, `--no-mcp` | Writes the resolved MCP config or disables MCP for one run |
705
+ | `--cwd <path>`, `--auto-stop` | Chooses the working directory or exits after an interactive agent settles |
706
+ | `--` and remaining arguments | Forwards provider or Pi arguments unchanged where the selected command allows it |
707
+
708
+ ## Troubleshooting and direct use
709
+
710
+ - Run `doompi sync --check` to detect drift or missing configured packages, and `doompi sync`
711
+ to install them and rebuild synchronized state.
712
+ - If neither RMUX nor tmux is available, non-interactive Runner calls report the supervised subprocess
713
+ fallback. Interactive calls require RMUX or tmux. Linux native artifacts require a compatible loader and libc.
714
+ - Leader menus and overlays require Pi's interactive TUI. Commands and tools remain the interface
715
+ for JSON, RPC, and other headless sessions where the owning package supports them.
716
+ - Install a directly loaded Pi subsystem with `pi install npm:@agimon-ai/<package>`. Library consumers
717
+ use `npm install`; native RMUX and RTK artifacts are selected by Runner and should not be installed
718
+ directly.
719
+ The root `doom-runner` command delegates to Runner from the active repository and asks you to add
720
+ Runner to `modes.yaml` when it is absent. The distribution remains the supported way to get the
721
+ coordinated defaults.
722
+
723
+ ## Architecture
724
+
725
+ See [Architecture](https://github.com/AgiFlow/doompi/blob/main/docs/architecture.md) for standard Pi
726
+ package composition, canonical fingerprints, transition classification, synchronized bundles,
727
+ shared-host Cordis lifecycle ownership, and parent/child isolation.
728
+
729
+ ## Development
730
+
731
+ ```bash
732
+ pnpm install
733
+ pnpm build
734
+ pnpm examples:check
735
+ pnpm nx build @agimon-ai/doompi
736
+ pnpm nx test @agimon-ai/doompi
737
+ pnpm nx typecheck @agimon-ai/doompi
738
+ pnpm nx lint @agimon-ai/doompi
596
739
  ```
597
740
 
598
- Pi asks once before it trusts a project and loads `.pi` resources, so a synced session
599
- prompts on first run regardless of `projectTrust`, which reaches Pi as a launcher flag.
600
- Answer yes, or run `/trust`.
741
+ DoomPi is maintained by [Agimon](https://agimon.ai/about).
742
+
743
+ ## License
744
+
745
+ MIT
746
+
747
+ ## Maintainer release order
748
+
749
+ Publish [`@agimon-ai/doompi-core`][pkg-doompi-core] and
750
+ [`@agimon-ai/doompi-hashline`][pkg-doompi-hashline] first, then
751
+ [`@agimon-ai/doompi-help`][pkg-doompi-help], and only then the
752
+ [`@agimon-ai/doompi`][pkg-doompi] runtime that consumes them. Generated changelogs remain owned
753
+ by the release tooling.
754
+
755
+ The deploy workflow blocks publishing unless the deterministic DoomPi architecture sweep and the
756
+ packed-install system tests both pass. This keeps the shared Cordis host contract and independently
757
+ loaded extension graph inside the same release boundary as the packages that consume them.
758
+
759
+ [pkg-doompi]: https://www.npmjs.com/package/@agimon-ai/doompi
760
+ [pkg-doompi-ui]: https://www.npmjs.com/package/@agimon-ai/doompi-ui
761
+ [pkg-doompi-config]: https://www.npmjs.com/package/@agimon-ai/doompi-config
762
+ [pkg-doompi-domain]: https://www.npmjs.com/package/@agimon-ai/doompi-domain
763
+ [pkg-doompi-hashline]: https://www.npmjs.com/package/@agimon-ai/doompi-hashline
764
+ [pkg-doompi-read]: https://www.npmjs.com/package/@agimon-ai/doompi-read
765
+ [pkg-doompi-grep]: https://www.npmjs.com/package/@agimon-ai/doompi-grep
766
+ [pkg-doompi-edit]: https://www.npmjs.com/package/@agimon-ai/doompi-edit
767
+ [pkg-doompi-file-edit]: https://www.npmjs.com/package/@agimon-ai/doompi-file-edit
768
+ [pkg-doompi-log]: https://www.npmjs.com/package/@agimon-ai/doompi-log
769
+ [pkg-doompi-telemetry]: https://www.npmjs.com/package/@agimon-ai/doompi-telemetry
770
+ [pkg-rmux-darwin-arm64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rmux-darwin-arm64
771
+ [pkg-rmux-darwin-x64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rmux-darwin-x64
772
+ [pkg-rmux-linux-arm64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rmux-linux-arm64
773
+ [pkg-rmux-linux-x64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rmux-linux-x64
774
+ [pkg-rtk-darwin-arm64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rtk-darwin-arm64
775
+ [pkg-rtk-darwin-x64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rtk-darwin-x64
776
+ [pkg-rtk-linux-arm64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rtk-linux-arm64
777
+ [pkg-rtk-linux-x64]: https://www.npmjs.com/package/@agimon-ai/doompi-runner-rtk-linux-x64
778
+ [pkg-doompi-team]: https://www.npmjs.com/package/@agimon-ai/doompi-team
779
+ [pkg-doompi-task]: https://www.npmjs.com/package/@agimon-ai/doompi-task
780
+ [pkg-doompi-runner]: https://www.npmjs.com/package/@agimon-ai/doompi-runner
781
+ [pkg-doompi-autocompact]: https://www.npmjs.com/package/@agimon-ai/doompi-autocompact
782
+ [pkg-doompi-help]: https://www.npmjs.com/package/@agimon-ai/doompi-help
783
+ [pkg-doompi-mcp]: https://www.npmjs.com/package/@agimon-ai/doompi-mcp
784
+ [pkg-doompi-user-feedback]: https://www.npmjs.com/package/@agimon-ai/doompi-user-feedback
785
+ [pkg-log-sink-mcp]: https://www.npmjs.com/package/@agimon-ai/log-sink-mcp
786
+ [pkg-doompi-plan]: https://www.npmjs.com/package/@agimon-ai/doompi-plan
787
+ [pkg-doompi-loop]: https://www.npmjs.com/package/@agimon-ai/doompi-loop
788
+ [pkg-doompi-goal]: https://www.npmjs.com/package/@agimon-ai/doompi-goal
789
+ [pkg-doompi-workflow]: https://www.npmjs.com/package/@agimon-ai/doompi-workflow
790
+ [pkg-doompi-voice]: https://www.npmjs.com/package/@agimon-ai/doompi-voice
791
+ [pkg-doompi-core]: https://www.npmjs.com/package/@agimon-ai/doompi-core