@agimon-ai/doompi 0.0.1-alpha.10 → 0.0.1-alpha.100
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.
- package/README.md +669 -478
- package/assets/banner.png +0 -0
- package/assets/doompi-tui.png +0 -0
- package/assets/favicon.svg +16 -0
- package/assets/logo-light.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/mascot-red.png +0 -0
- package/assets/mascot-red.svg +6 -0
- package/assets/mascot.png +0 -0
- package/assets/mascot.svg +6 -0
- package/dist/_virtual/_rolldown/runtime.cjs +23 -1
- package/dist/antigravity.cjs +5 -0
- package/dist/antigravity.d.mts +2 -0
- package/dist/antigravity.mjs +2 -0
- package/dist/apiContracts.cjs +11 -0
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/apiContracts.d.mts +52 -0
- package/dist/apiContracts.d.mts.map +1 -0
- package/dist/apiContracts.mjs +7 -0
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/baseCommand.cjs +3 -0
- package/dist/baseCommand.d.mts +2 -0
- package/dist/baseCommand.mjs +2 -0
- package/dist/bin/cli.cjs +27 -1
- package/dist/bin/cli.cjs.map +1 -1
- package/dist/bin/cli.d.mts +1 -1
- package/dist/bin/cli.mjs +28 -1
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/bin/doomRunner.cjs +38 -1
- package/dist/bin/doomRunner.cjs.map +1 -1
- package/dist/bin/doomRunner.d.mts +12 -1
- package/dist/bin/doomRunner.d.mts.map +1 -0
- package/dist/bin/doomRunner.mjs +37 -1
- package/dist/bin/doomRunner.mjs.map +1 -1
- package/dist/bin/dpi.cjs +12 -0
- package/dist/bin/dpi.cjs.map +1 -0
- package/dist/bin/dpi.d.mts +1 -0
- package/dist/bin/dpi.mjs +14 -0
- package/dist/bin/dpi.mjs.map +1 -0
- package/dist/bin/serve.cjs +11 -0
- package/dist/bin/serve.cjs.map +1 -0
- package/dist/bin/serve.d.mts +1 -0
- package/dist/bin/serve.mjs +13 -0
- package/dist/bin/serve.mjs.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.cjs +390 -0
- package/dist/builders/cli/extensionAssembler/index.cjs.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.d.mts +113 -0
- package/dist/builders/cli/extensionAssembler/index.d.mts.map +1 -0
- package/dist/builders/cli/extensionAssembler/index.mjs +380 -0
- package/dist/builders/cli/extensionAssembler/index.mjs.map +1 -0
- package/dist/builders/cli/index.cjs +151 -0
- package/dist/builders/cli/index.cjs.map +1 -0
- package/dist/builders/cli/index.d.mts +22 -0
- package/dist/builders/cli/index.d.mts.map +1 -0
- package/dist/builders/cli/index.mjs +147 -0
- package/dist/builders/cli/index.mjs.map +1 -0
- package/dist/cli.cjs +28 -0
- package/dist/cli.d.mts +11 -0
- package/dist/cli.mjs +11 -0
- package/dist/cliApp.cjs +5 -0
- package/dist/cliApp.d.mts +2 -0
- package/dist/cliApp.mjs +2 -0
- package/dist/codex.cjs +8 -0
- package/dist/codex.d.mts +2 -0
- package/dist/codex.mjs +2 -0
- package/dist/commands.cjs +24 -0
- package/dist/commands.d.mts +10 -0
- package/dist/commands.mjs +10 -0
- package/dist/compatibility.cjs +27 -0
- package/dist/compatibility.d.mts +6 -0
- package/dist/compatibility.mjs +6 -0
- package/dist/compatibilityCommand.cjs +4 -0
- package/dist/compatibilityCommand.d.mts +2 -0
- package/dist/compatibilityCommand.mjs +2 -0
- package/dist/compatibilityContext.cjs +3 -0
- package/dist/compatibilityContext.d.mts +2 -0
- package/dist/compatibilityContext.mjs +2 -0
- package/dist/compatibilityOptions.cjs +5 -0
- package/dist/compatibilityOptions.d.mts +2 -0
- package/dist/compatibilityOptions.mjs +2 -0
- package/dist/composer.cjs +28 -0
- package/dist/composer.d.mts +4 -0
- package/dist/composer.mjs +4 -0
- package/dist/config.cjs +163 -0
- package/dist/config.d.mts +7 -0
- package/dist/config.mjs +7 -0
- package/dist/doctorCommand.cjs +5 -0
- package/dist/doctorCommand.d.mts +2 -0
- package/dist/doctorCommand.mjs +2 -0
- package/dist/emitMcpCommand.cjs +4 -0
- package/dist/emitMcpCommand.d.mts +2 -0
- package/dist/emitMcpCommand.mjs +2 -0
- package/dist/explainCommand.cjs +5 -0
- package/dist/explainCommand.d.mts +2 -0
- package/dist/explainCommand.mjs +2 -0
- package/dist/extensions/agentModel.cjs +41 -0
- package/dist/extensions/agentModel.cjs.map +1 -0
- package/dist/extensions/agentModel.d.mts +22 -0
- package/dist/extensions/agentModel.d.mts.map +1 -0
- package/dist/extensions/agentModel.mjs +35 -0
- package/dist/extensions/agentModel.mjs.map +1 -0
- package/dist/extensions/composedPi.cjs +46 -0
- package/dist/extensions/composedPi.cjs.map +1 -0
- package/dist/extensions/composedPi.d.mts +13 -0
- package/dist/extensions/composedPi.d.mts.map +1 -0
- package/dist/extensions/composedPi.mjs +41 -0
- package/dist/extensions/composedPi.mjs.map +1 -0
- package/dist/extensions/contextCatalog.cjs +133 -0
- package/dist/extensions/contextCatalog.cjs.map +1 -0
- package/dist/extensions/contextCatalog.d.mts +5 -0
- package/dist/extensions/contextCatalog.d.mts.map +1 -0
- package/dist/extensions/contextCatalog.mjs +131 -0
- package/dist/extensions/contextCatalog.mjs.map +1 -0
- package/dist/extensions/cordisFinalizer.cjs +24 -0
- package/dist/extensions/cordisFinalizer.cjs.map +1 -0
- package/dist/extensions/cordisFinalizer.d.mts +7 -0
- package/dist/extensions/cordisFinalizer.d.mts.map +1 -0
- package/dist/extensions/cordisFinalizer.mjs +19 -0
- package/dist/extensions/cordisFinalizer.mjs.map +1 -0
- package/dist/extensions/cordisHost.cjs +19 -0
- package/dist/extensions/cordisHost.cjs.map +1 -0
- package/dist/extensions/cordisHost.d.mts +7 -0
- package/dist/extensions/cordisHost.d.mts.map +1 -0
- package/dist/extensions/cordisHost.mjs +14 -0
- package/dist/extensions/cordisHost.mjs.map +1 -0
- package/dist/extensions/effort.cjs +54 -0
- package/dist/extensions/effort.cjs.map +1 -0
- package/dist/extensions/effort.d.mts +8 -0
- package/dist/extensions/effort.d.mts.map +1 -0
- package/dist/extensions/effort.mjs +48 -0
- package/dist/extensions/effort.mjs.map +1 -0
- package/dist/extensions/launcherBootstrap.cjs +38 -0
- package/dist/extensions/launcherBootstrap.cjs.map +1 -0
- package/dist/extensions/launcherBootstrap.d.mts +16 -0
- package/dist/extensions/launcherBootstrap.d.mts.map +1 -0
- package/dist/extensions/launcherBootstrap.mjs +33 -0
- package/dist/extensions/launcherBootstrap.mjs.map +1 -0
- package/dist/extensions/ollamaProvider.cjs +32 -0
- package/dist/extensions/ollamaProvider.cjs.map +1 -0
- package/dist/extensions/ollamaProvider.d.mts +5 -0
- package/dist/extensions/ollamaProvider.d.mts.map +1 -0
- package/dist/extensions/ollamaProvider.mjs +32 -0
- package/dist/extensions/ollamaProvider.mjs.map +1 -0
- package/dist/extensions/pi.cjs +63 -1
- package/dist/extensions/pi.cjs.map +1 -0
- package/dist/extensions/pi.d.mts +7 -2
- package/dist/extensions/pi.d.mts.map +1 -0
- package/dist/extensions/pi.mjs +58 -1
- package/dist/extensions/pi.mjs.map +1 -0
- package/dist/extensions/server.cjs +29 -0
- package/dist/extensions/server.cjs.map +1 -0
- package/dist/extensions/server.d.mts +5 -0
- package/dist/extensions/server.d.mts.map +1 -0
- package/dist/extensions/server.mjs +24 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/extensions/styleSystem.cjs +234 -0
- package/dist/extensions/styleSystem.cjs.map +1 -0
- package/dist/extensions/styleSystem.d.mts +32 -0
- package/dist/extensions/styleSystem.d.mts.map +1 -0
- package/dist/extensions/styleSystem.mjs +219 -0
- package/dist/extensions/styleSystem.mjs.map +1 -0
- package/dist/extensions/terminalChildSession.cjs +77 -0
- package/dist/extensions/terminalChildSession.cjs.map +1 -0
- package/dist/extensions/terminalChildSession.d.mts +7 -0
- package/dist/extensions/terminalChildSession.d.mts.map +1 -0
- package/dist/extensions/terminalChildSession.mjs +70 -0
- package/dist/extensions/terminalChildSession.mjs.map +1 -0
- package/dist/extensions/transitionCoordinator.cjs +154 -0
- package/dist/extensions/transitionCoordinator.cjs.map +1 -0
- package/dist/extensions/transitionCoordinator.d.mts +8 -0
- package/dist/extensions/transitionCoordinator.d.mts.map +1 -0
- package/dist/extensions/transitionCoordinator.mjs +146 -0
- package/dist/extensions/transitionCoordinator.mjs.map +1 -0
- package/dist/harnessContext.cjs +5 -0
- package/dist/harnessContext.d.mts +2 -0
- package/dist/harnessContext.mjs +2 -0
- package/dist/harnessState.cjs +19 -0
- package/dist/harnessState.d.mts +2 -0
- package/dist/harnessState.mjs +2 -0
- package/dist/help.cjs +16 -0
- package/dist/help.d.mts +8 -0
- package/dist/help.mjs +8 -0
- package/dist/index.cjs +369 -1
- package/dist/index.d.mts +50 -39
- package/dist/index.mjs +47 -1
- package/dist/initCommand.cjs +4 -0
- package/dist/initCommand.d.mts +2 -0
- package/dist/initCommand.mjs +2 -0
- package/dist/launchCommand.cjs +7 -0
- package/dist/launchCommand.d.mts +2 -0
- package/dist/launchCommand.mjs +2 -0
- package/dist/matrixOptions.cjs +28 -0
- package/dist/matrixOptions.d.mts +2 -0
- package/dist/matrixOptions.mjs +2 -0
- package/dist/matrixSwitcher.cjs +11 -0
- package/dist/matrixSwitcher.d.mts +3 -0
- package/dist/matrixSwitcher.mjs +3 -0
- package/dist/mcpFilter.cjs +9 -0
- package/dist/mcpFilter.d.mts +1 -0
- package/dist/mcpFilter.mjs +2 -0
- package/dist/options.cjs +3 -0
- package/dist/options.d.mts +2 -0
- package/dist/options.mjs +2 -0
- package/dist/process.cjs +12 -0
- package/dist/process.d.mts +2 -0
- package/dist/process.mjs +2 -0
- package/dist/projectTrust.cjs +6 -0
- package/dist/projectTrust.d.mts +2 -0
- package/dist/projectTrust.mjs +2 -0
- package/dist/repository.cjs +5 -0
- package/dist/repository.d.mts +2 -0
- package/dist/repository.mjs +2 -0
- package/dist/resourceCollector.cjs +9 -0
- package/dist/resourceCollector.d.mts +1 -0
- package/dist/resourceCollector.mjs +2 -0
- package/dist/router.cjs +6 -0
- package/dist/router.d.mts +2 -0
- package/dist/router.mjs +2 -0
- package/dist/services.cjs +154 -0
- package/dist/services.d.mts +21 -0
- package/dist/services.mjs +21 -0
- package/dist/shared.cjs +18 -0
- package/dist/shared.d.mts +2 -0
- package/dist/shared.mjs +2 -0
- package/dist/src/builders/apiContractExport/index.cjs +81 -0
- package/dist/src/builders/apiContractExport/index.cjs.map +1 -0
- package/dist/src/builders/apiContractExport/index.mjs +77 -0
- package/dist/src/builders/apiContractExport/index.mjs.map +1 -0
- package/dist/src/builders/apiContracts/index.cjs +87 -0
- package/dist/src/builders/apiContracts/index.cjs.map +1 -0
- package/dist/src/builders/apiContracts/index.mjs +82 -0
- package/dist/src/builders/apiContracts/index.mjs.map +1 -0
- package/dist/src/builders/cli/bootstrapClaim.cjs +53 -0
- package/dist/src/builders/cli/bootstrapClaim.cjs.map +1 -0
- package/dist/src/builders/cli/bootstrapClaim.mjs +51 -0
- package/dist/src/builders/cli/bootstrapClaim.mjs.map +1 -0
- package/dist/src/builders/cli/bootstrapLocator/index.cjs +211 -0
- package/dist/src/builders/cli/bootstrapLocator/index.cjs.map +1 -0
- package/dist/src/builders/cli/bootstrapLocator/index.d.mts +6 -0
- package/dist/src/builders/cli/bootstrapLocator/index.d.mts.map +1 -0
- package/dist/src/builders/cli/bootstrapLocator/index.mjs +202 -0
- package/dist/src/builders/cli/bootstrapLocator/index.mjs.map +1 -0
- package/dist/src/builders/cli/composition.cjs +378 -0
- package/dist/src/builders/cli/composition.cjs.map +1 -0
- package/dist/src/builders/cli/composition.d.mts +119 -0
- package/dist/src/builders/cli/composition.d.mts.map +1 -0
- package/dist/src/builders/cli/composition.mjs +351 -0
- package/dist/src/builders/cli/composition.mjs.map +1 -0
- package/dist/src/builders/cli/compositionState.cjs +33 -0
- package/dist/src/builders/cli/compositionState.cjs.map +1 -0
- package/dist/src/builders/cli/compositionState.d.mts +9 -0
- package/dist/src/builders/cli/compositionState.d.mts.map +1 -0
- package/dist/src/builders/cli/compositionState.mjs +30 -0
- package/dist/src/builders/cli/compositionState.mjs.map +1 -0
- package/dist/src/builders/cli/constants.cjs +20 -0
- package/dist/src/builders/cli/constants.cjs.map +1 -0
- package/dist/src/builders/cli/constants.d.mts +17 -0
- package/dist/src/builders/cli/constants.d.mts.map +1 -0
- package/dist/src/builders/cli/constants.mjs +19 -0
- package/dist/src/builders/cli/constants.mjs.map +1 -0
- package/dist/src/builders/cli/contextCatalog.cjs +130 -0
- package/dist/src/builders/cli/contextCatalog.cjs.map +1 -0
- package/dist/src/builders/cli/contextCatalog.mjs +130 -0
- package/dist/src/builders/cli/contextCatalog.mjs.map +1 -0
- package/dist/src/builders/cli/dpiSettings.cjs +118 -0
- package/dist/src/builders/cli/dpiSettings.cjs.map +1 -0
- package/dist/src/builders/cli/dpiSettings.mjs +111 -0
- package/dist/src/builders/cli/dpiSettings.mjs.map +1 -0
- package/dist/src/builders/cli/entryResolution.cjs +22 -0
- package/dist/src/builders/cli/entryResolution.cjs.map +1 -0
- package/dist/src/builders/cli/entryResolution.d.mts +5 -0
- package/dist/src/builders/cli/entryResolution.d.mts.map +1 -0
- package/dist/src/builders/cli/entryResolution.mjs +19 -0
- package/dist/src/builders/cli/entryResolution.mjs.map +1 -0
- package/dist/src/builders/cli/harnessContext.cjs +187 -0
- package/dist/src/builders/cli/harnessContext.cjs.map +1 -0
- package/dist/src/builders/cli/harnessContext.d.mts +51 -0
- package/dist/src/builders/cli/harnessContext.d.mts.map +1 -0
- package/dist/src/builders/cli/harnessContext.mjs +180 -0
- package/dist/src/builders/cli/harnessContext.mjs.map +1 -0
- package/dist/src/builders/cli/launchPlan/index.cjs +102 -0
- package/dist/src/builders/cli/launchPlan/index.cjs.map +1 -0
- package/dist/src/builders/cli/launchPlan/index.d.mts +43 -0
- package/dist/src/builders/cli/launchPlan/index.d.mts.map +1 -0
- package/dist/src/builders/cli/launchPlan/index.mjs +100 -0
- package/dist/src/builders/cli/launchPlan/index.mjs.map +1 -0
- package/dist/src/builders/cli/launcherComposition/index.cjs +84 -0
- package/dist/src/builders/cli/launcherComposition/index.cjs.map +1 -0
- package/dist/src/builders/cli/launcherComposition/index.mjs +80 -0
- package/dist/src/builders/cli/launcherComposition/index.mjs.map +1 -0
- package/dist/src/builders/cli/piExtensionAlias/index.cjs +40 -0
- package/dist/src/builders/cli/piExtensionAlias/index.cjs.map +1 -0
- package/dist/src/builders/cli/piExtensionAlias/index.mjs +35 -0
- package/dist/src/builders/cli/piExtensionAlias/index.mjs.map +1 -0
- package/dist/src/builders/cli/piExtensionDispatcher/index.cjs +200 -0
- package/dist/src/builders/cli/piExtensionDispatcher/index.cjs.map +1 -0
- package/dist/src/builders/cli/piExtensionDispatcher/index.mjs +194 -0
- package/dist/src/builders/cli/piExtensionDispatcher/index.mjs.map +1 -0
- package/dist/src/builders/cli/prepare.cjs +64 -0
- package/dist/src/builders/cli/prepare.cjs.map +1 -0
- package/dist/src/builders/cli/prepare.mjs +62 -0
- package/dist/src/builders/cli/prepare.mjs.map +1 -0
- package/dist/src/builders/cli/projectSettings.cjs +155 -0
- package/dist/src/builders/cli/projectSettings.cjs.map +1 -0
- package/dist/src/builders/cli/projectSettings.d.mts +27 -0
- package/dist/src/builders/cli/projectSettings.d.mts.map +1 -0
- package/dist/src/builders/cli/projectSettings.mjs +144 -0
- package/dist/src/builders/cli/projectSettings.mjs.map +1 -0
- package/dist/src/builders/cli/runtimeBundle/index.cjs +130 -0
- package/dist/src/builders/cli/runtimeBundle/index.cjs.map +1 -0
- package/dist/src/builders/cli/runtimeBundle/index.d.mts +21 -0
- package/dist/src/builders/cli/runtimeBundle/index.d.mts.map +1 -0
- package/dist/src/builders/cli/runtimeBundle/index.mjs +126 -0
- package/dist/src/builders/cli/runtimeBundle/index.mjs.map +1 -0
- package/dist/src/builders/server/computerUseBinding.cjs +166 -0
- package/dist/src/builders/server/computerUseBinding.cjs.map +1 -0
- package/dist/src/builders/server/computerUseBinding.mjs +166 -0
- package/dist/src/builders/server/computerUseBinding.mjs.map +1 -0
- package/dist/src/builders/server/defaultWorkspace.cjs +38 -0
- package/dist/src/builders/server/defaultWorkspace.cjs.map +1 -0
- package/dist/src/builders/server/defaultWorkspace.mjs +35 -0
- package/dist/src/builders/server/defaultWorkspace.mjs.map +1 -0
- package/dist/src/builders/server/index.cjs +184 -0
- package/dist/src/builders/server/index.cjs.map +1 -0
- package/dist/src/builders/server/index.mjs +181 -0
- package/dist/src/builders/server/index.mjs.map +1 -0
- package/dist/src/builders/server/logSink.cjs +57 -0
- package/dist/src/builders/server/logSink.cjs.map +1 -0
- package/dist/src/builders/server/logSink.mjs +57 -0
- package/dist/src/builders/server/logSink.mjs.map +1 -0
- package/dist/src/builders/server/mcpApp.cjs +120 -0
- package/dist/src/builders/server/mcpApp.cjs.map +1 -0
- package/dist/src/builders/server/mcpApp.mjs +116 -0
- package/dist/src/builders/server/mcpApp.mjs.map +1 -0
- package/dist/src/builders/server/mcpBundle.cjs +127 -0
- package/dist/src/builders/server/mcpBundle.cjs.map +1 -0
- package/dist/src/builders/server/mcpBundle.mjs +123 -0
- package/dist/src/builders/server/mcpBundle.mjs.map +1 -0
- package/dist/src/builders/server/runtime.cjs +976 -0
- package/dist/src/builders/server/runtime.cjs.map +1 -0
- package/dist/src/builders/server/runtime.mjs +968 -0
- package/dist/src/builders/server/runtime.mjs.map +1 -0
- package/dist/src/builders/server/selectionStatus.cjs +12 -0
- package/dist/src/builders/server/selectionStatus.cjs.map +1 -0
- package/dist/src/builders/server/selectionStatus.mjs +12 -0
- package/dist/src/builders/server/selectionStatus.mjs.map +1 -0
- package/dist/src/builders/server/sessionArguments.cjs +22 -0
- package/dist/src/builders/server/sessionArguments.cjs.map +1 -0
- package/dist/src/builders/server/sessionArguments.mjs +22 -0
- package/dist/src/builders/server/sessionArguments.mjs.map +1 -0
- package/dist/src/builders/server/sessionArtifact.cjs +28 -0
- package/dist/src/builders/server/sessionArtifact.cjs.map +1 -0
- package/dist/src/builders/server/sessionArtifact.mjs +27 -0
- package/dist/src/builders/server/sessionArtifact.mjs.map +1 -0
- package/dist/src/builders/server/workspaceCheckout.cjs +31 -0
- package/dist/src/builders/server/workspaceCheckout.cjs.map +1 -0
- package/dist/src/builders/server/workspaceCheckout.mjs +29 -0
- package/dist/src/builders/server/workspaceCheckout.mjs.map +1 -0
- package/dist/src/builders/web/bundle.cjs +110 -0
- package/dist/src/builders/web/bundle.cjs.map +1 -0
- package/dist/src/builders/web/bundle.d.mts +29 -0
- package/dist/src/builders/web/bundle.d.mts.map +1 -0
- package/dist/src/builders/web/bundle.mjs +107 -0
- package/dist/src/builders/web/bundle.mjs.map +1 -0
- package/dist/src/builders/web/bundleAssetPolicy.cjs +96 -0
- package/dist/src/builders/web/bundleAssetPolicy.cjs.map +1 -0
- package/dist/src/builders/web/bundleAssetPolicy.d.mts +22 -0
- package/dist/src/builders/web/bundleAssetPolicy.d.mts.map +1 -0
- package/dist/src/builders/web/bundleAssetPolicy.mjs +95 -0
- package/dist/src/builders/web/bundleAssetPolicy.mjs.map +1 -0
- package/dist/src/builders/web/index.cjs +75 -0
- package/dist/src/builders/web/index.cjs.map +1 -0
- package/dist/src/builders/web/index.d.mts +29 -0
- package/dist/src/builders/web/index.d.mts.map +1 -0
- package/dist/src/builders/web/index.mjs +72 -0
- package/dist/src/builders/web/index.mjs.map +1 -0
- package/dist/src/builders/web/webDevRoots.cjs +27 -0
- package/dist/src/builders/web/webDevRoots.cjs.map +1 -0
- package/dist/src/builders/web/webDevRoots.d.mts +22 -0
- package/dist/src/builders/web/webDevRoots.d.mts.map +1 -0
- package/dist/src/builders/web/webDevRoots.mjs +25 -0
- package/dist/src/builders/web/webDevRoots.mjs.map +1 -0
- package/dist/src/builders/web/webPluginGenerate.cjs +113 -0
- package/dist/src/builders/web/webPluginGenerate.cjs.map +1 -0
- package/dist/src/builders/web/webPluginGenerate.d.mts +28 -0
- package/dist/src/builders/web/webPluginGenerate.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginGenerate.mjs +106 -0
- package/dist/src/builders/web/webPluginGenerate.mjs.map +1 -0
- package/dist/src/builders/web/webPluginManifest.cjs +92 -0
- package/dist/src/builders/web/webPluginManifest.cjs.map +1 -0
- package/dist/src/builders/web/webPluginManifest.d.mts +44 -0
- package/dist/src/builders/web/webPluginManifest.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginManifest.mjs +88 -0
- package/dist/src/builders/web/webPluginManifest.mjs.map +1 -0
- package/dist/src/builders/web/webPluginScan.cjs +53 -0
- package/dist/src/builders/web/webPluginScan.cjs.map +1 -0
- package/dist/src/builders/web/webPluginScan.d.mts +16 -0
- package/dist/src/builders/web/webPluginScan.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginScan.mjs +50 -0
- package/dist/src/builders/web/webPluginScan.mjs.map +1 -0
- package/dist/src/builders/web/webPluginVite.cjs +125 -0
- package/dist/src/builders/web/webPluginVite.cjs.map +1 -0
- package/dist/src/builders/web/webPluginVite.d.mts +36 -0
- package/dist/src/builders/web/webPluginVite.d.mts.map +1 -0
- package/dist/src/builders/web/webPluginVite.mjs +117 -0
- package/dist/src/builders/web/webPluginVite.mjs.map +1 -0
- package/dist/src/cli/cliApp.cjs +177 -0
- package/dist/src/cli/cliApp.cjs.map +1 -0
- package/dist/src/cli/cliApp.d.mts +25 -0
- package/dist/src/cli/cliApp.d.mts.map +1 -0
- package/dist/src/cli/cliApp.mjs +175 -0
- package/dist/src/cli/cliApp.mjs.map +1 -0
- package/dist/src/cli/commands/api-export/index.cjs +65 -0
- package/dist/src/cli/commands/api-export/index.cjs.map +1 -0
- package/dist/src/cli/commands/api-export/index.mjs +61 -0
- package/dist/src/cli/commands/api-export/index.mjs.map +1 -0
- package/dist/src/cli/commands/baseCommand.cjs +16 -0
- package/dist/src/cli/commands/baseCommand.cjs.map +1 -0
- package/dist/src/cli/commands/baseCommand.d.mts +24 -0
- package/dist/src/cli/commands/baseCommand.d.mts.map +1 -0
- package/dist/src/cli/commands/baseCommand.mjs +16 -0
- package/dist/src/cli/commands/baseCommand.mjs.map +1 -0
- package/dist/src/cli/commands/compat/context.cjs +115 -0
- package/dist/src/cli/commands/compat/context.cjs.map +1 -0
- package/dist/src/cli/commands/compat/context.d.mts +22 -0
- package/dist/src/cli/commands/compat/context.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/context.mjs +110 -0
- package/dist/src/cli/commands/compat/context.mjs.map +1 -0
- package/dist/src/cli/commands/compat/help.cjs +26 -0
- package/dist/src/cli/commands/compat/help.cjs.map +1 -0
- package/dist/src/cli/commands/compat/help.d.mts +4 -0
- package/dist/src/cli/commands/compat/help.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/help.mjs +25 -0
- package/dist/src/cli/commands/compat/help.mjs.map +1 -0
- package/dist/src/cli/commands/compat/index.cjs +73 -0
- package/dist/src/cli/commands/compat/index.cjs.map +1 -0
- package/dist/src/cli/commands/compat/index.d.mts +14 -0
- package/dist/src/cli/commands/compat/index.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/index.mjs +70 -0
- package/dist/src/cli/commands/compat/index.mjs.map +1 -0
- package/dist/src/cli/commands/compat/options.cjs +88 -0
- package/dist/src/cli/commands/compat/options.cjs.map +1 -0
- package/dist/src/cli/commands/compat/options.d.mts +15 -0
- package/dist/src/cli/commands/compat/options.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/options.mjs +86 -0
- package/dist/src/cli/commands/compat/options.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/antigravity.cjs +294 -0
- package/dist/src/cli/commands/compat/providers/antigravity.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/antigravity.d.mts +9 -0
- package/dist/src/cli/commands/compat/providers/antigravity.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/antigravity.mjs +289 -0
- package/dist/src/cli/commands/compat/providers/antigravity.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/codex.cjs +178 -0
- package/dist/src/cli/commands/compat/providers/codex.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/codex.d.mts +17 -0
- package/dist/src/cli/commands/compat/providers/codex.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/codex.mjs +170 -0
- package/dist/src/cli/commands/compat/providers/codex.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/index.cjs +65 -0
- package/dist/src/cli/commands/compat/providers/index.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/index.d.mts +15 -0
- package/dist/src/cli/commands/compat/providers/index.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/index.mjs +45 -0
- package/dist/src/cli/commands/compat/providers/index.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/process.cjs +172 -0
- package/dist/src/cli/commands/compat/providers/process.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/process.d.mts +33 -0
- package/dist/src/cli/commands/compat/providers/process.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/process.mjs +159 -0
- package/dist/src/cli/commands/compat/providers/process.mjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/shared.cjs +76 -0
- package/dist/src/cli/commands/compat/providers/shared.cjs.map +1 -0
- package/dist/src/cli/commands/compat/providers/shared.d.mts +40 -0
- package/dist/src/cli/commands/compat/providers/shared.d.mts.map +1 -0
- package/dist/src/cli/commands/compat/providers/shared.mjs +61 -0
- package/dist/src/cli/commands/compat/providers/shared.mjs.map +1 -0
- package/dist/src/cli/commands/compat/types.d.mts +31 -0
- package/dist/src/cli/commands/compat/types.d.mts.map +1 -0
- package/dist/src/cli/commands/doctor/help.cjs +19 -0
- package/dist/src/cli/commands/doctor/help.cjs.map +1 -0
- package/dist/src/cli/commands/doctor/help.d.mts +4 -0
- package/dist/src/cli/commands/doctor/help.d.mts.map +1 -0
- package/dist/src/cli/commands/doctor/help.mjs +19 -0
- package/dist/src/cli/commands/doctor/help.mjs.map +1 -0
- package/dist/src/cli/commands/doctor/index.cjs +151 -0
- package/dist/src/cli/commands/doctor/index.cjs.map +1 -0
- package/dist/src/cli/commands/doctor/index.d.mts +33 -0
- package/dist/src/cli/commands/doctor/index.d.mts.map +1 -0
- package/dist/src/cli/commands/doctor/index.mjs +146 -0
- package/dist/src/cli/commands/doctor/index.mjs.map +1 -0
- package/dist/src/cli/commands/emit-mcp/index.cjs +32 -0
- package/dist/src/cli/commands/emit-mcp/index.cjs.map +1 -0
- package/dist/src/cli/commands/emit-mcp/index.d.mts +19 -0
- package/dist/src/cli/commands/emit-mcp/index.d.mts.map +1 -0
- package/dist/src/cli/commands/emit-mcp/index.mjs +31 -0
- package/dist/src/cli/commands/emit-mcp/index.mjs.map +1 -0
- package/dist/src/cli/commands/explain/index.cjs +155 -0
- package/dist/src/cli/commands/explain/index.cjs.map +1 -0
- package/dist/src/cli/commands/explain/index.d.mts +57 -0
- package/dist/src/cli/commands/explain/index.d.mts.map +1 -0
- package/dist/src/cli/commands/explain/index.mjs +150 -0
- package/dist/src/cli/commands/explain/index.mjs.map +1 -0
- package/dist/src/cli/commands/history-export/help.cjs +18 -0
- package/dist/src/cli/commands/history-export/help.cjs.map +1 -0
- package/dist/src/cli/commands/history-export/help.d.mts +4 -0
- package/dist/src/cli/commands/history-export/help.d.mts.map +1 -0
- package/dist/src/cli/commands/history-export/help.mjs +18 -0
- package/dist/src/cli/commands/history-export/help.mjs.map +1 -0
- package/dist/src/cli/commands/history-export/index.cjs +76 -0
- package/dist/src/cli/commands/history-export/index.cjs.map +1 -0
- package/dist/src/cli/commands/history-export/index.mjs +74 -0
- package/dist/src/cli/commands/history-export/index.mjs.map +1 -0
- package/dist/src/cli/commands/history-import/help.cjs +20 -0
- package/dist/src/cli/commands/history-import/help.cjs.map +1 -0
- package/dist/src/cli/commands/history-import/help.d.mts +4 -0
- package/dist/src/cli/commands/history-import/help.d.mts.map +1 -0
- package/dist/src/cli/commands/history-import/help.mjs +20 -0
- package/dist/src/cli/commands/history-import/help.mjs.map +1 -0
- package/dist/src/cli/commands/history-import/index.cjs +78 -0
- package/dist/src/cli/commands/history-import/index.cjs.map +1 -0
- package/dist/src/cli/commands/history-import/index.mjs +75 -0
- package/dist/src/cli/commands/history-import/index.mjs.map +1 -0
- package/dist/src/cli/commands/init/constants.cjs +11 -0
- package/dist/src/cli/commands/init/constants.cjs.map +1 -0
- package/dist/src/cli/commands/init/constants.mjs +11 -0
- package/dist/src/cli/commands/init/constants.mjs.map +1 -0
- package/dist/src/cli/commands/init/help.cjs +17 -0
- package/dist/src/cli/commands/init/help.cjs.map +1 -0
- package/dist/src/cli/commands/init/help.d.mts +4 -0
- package/dist/src/cli/commands/init/help.d.mts.map +1 -0
- package/dist/src/cli/commands/init/help.mjs +17 -0
- package/dist/src/cli/commands/init/help.mjs.map +1 -0
- package/dist/src/cli/commands/init/index.cjs +87 -0
- package/dist/src/cli/commands/init/index.cjs.map +1 -0
- package/dist/src/cli/commands/init/index.d.mts +12 -0
- package/dist/src/cli/commands/init/index.d.mts.map +1 -0
- package/dist/src/cli/commands/init/index.mjs +83 -0
- package/dist/src/cli/commands/init/index.mjs.map +1 -0
- package/dist/src/cli/commands/init/presenter.cjs +170 -0
- package/dist/src/cli/commands/init/presenter.cjs.map +1 -0
- package/dist/src/cli/commands/init/presenter.d.mts +8 -0
- package/dist/src/cli/commands/init/presenter.d.mts.map +1 -0
- package/dist/src/cli/commands/init/presenter.mjs +170 -0
- package/dist/src/cli/commands/init/presenter.mjs.map +1 -0
- package/dist/src/cli/commands/launch/index.cjs +128 -0
- package/dist/src/cli/commands/launch/index.cjs.map +1 -0
- package/dist/src/cli/commands/launch/index.d.mts +29 -0
- package/dist/src/cli/commands/launch/index.d.mts.map +1 -0
- package/dist/src/cli/commands/launch/index.mjs +122 -0
- package/dist/src/cli/commands/launch/index.mjs.map +1 -0
- package/dist/src/cli/commands/sandbox/args.cjs +50 -0
- package/dist/src/cli/commands/sandbox/args.cjs.map +1 -0
- package/dist/src/cli/commands/sandbox/args.mjs +50 -0
- package/dist/src/cli/commands/sandbox/args.mjs.map +1 -0
- package/dist/src/cli/commands/sandbox/harness.cjs +61 -0
- package/dist/src/cli/commands/sandbox/harness.cjs.map +1 -0
- package/dist/src/cli/commands/sandbox/harness.mjs +60 -0
- package/dist/src/cli/commands/sandbox/harness.mjs.map +1 -0
- package/dist/src/cli/commands/sandbox/index.cjs +57 -0
- package/dist/src/cli/commands/sandbox/index.cjs.map +1 -0
- package/dist/src/cli/commands/sandbox/index.mjs +56 -0
- package/dist/src/cli/commands/sandbox/index.mjs.map +1 -0
- package/dist/src/cli/commands/sync/help.cjs +31 -0
- package/dist/src/cli/commands/sync/help.cjs.map +1 -0
- package/dist/src/cli/commands/sync/help.d.mts +4 -0
- package/dist/src/cli/commands/sync/help.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/help.mjs +31 -0
- package/dist/src/cli/commands/sync/help.mjs.map +1 -0
- package/dist/src/cli/commands/sync/index.cjs +507 -0
- package/dist/src/cli/commands/sync/index.cjs.map +1 -0
- package/dist/src/cli/commands/sync/index.d.mts +50 -0
- package/dist/src/cli/commands/sync/index.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/index.mjs +490 -0
- package/dist/src/cli/commands/sync/index.mjs.map +1 -0
- package/dist/src/cli/commands/sync/inspection.cjs +128 -0
- package/dist/src/cli/commands/sync/inspection.cjs.map +1 -0
- package/dist/src/cli/commands/sync/inspection.d.mts +14 -0
- package/dist/src/cli/commands/sync/inspection.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/inspection.mjs +119 -0
- package/dist/src/cli/commands/sync/inspection.mjs.map +1 -0
- package/dist/src/cli/commands/sync/prepare.cjs +44 -0
- package/dist/src/cli/commands/sync/prepare.cjs.map +1 -0
- package/dist/src/cli/commands/sync/prepare.mjs +41 -0
- package/dist/src/cli/commands/sync/prepare.mjs.map +1 -0
- package/dist/src/cli/commands/sync/presenter.cjs +58 -0
- package/dist/src/cli/commands/sync/presenter.cjs.map +1 -0
- package/dist/src/cli/commands/sync/presenter.d.mts +16 -0
- package/dist/src/cli/commands/sync/presenter.d.mts.map +1 -0
- package/dist/src/cli/commands/sync/presenter.mjs +57 -0
- package/dist/src/cli/commands/sync/presenter.mjs.map +1 -0
- package/dist/src/cli/commands/sync/workflow.cjs +100 -0
- package/dist/src/cli/commands/sync/workflow.cjs.map +1 -0
- package/dist/src/cli/commands/sync/workflow.mjs +97 -0
- package/dist/src/cli/commands/sync/workflow.mjs.map +1 -0
- package/dist/src/cli/dpi.cjs +98 -0
- package/dist/src/cli/dpi.cjs.map +1 -0
- package/dist/src/cli/dpi.mjs +91 -0
- package/dist/src/cli/dpi.mjs.map +1 -0
- package/dist/src/cli/harnessOptions.cjs +63 -0
- package/dist/src/cli/harnessOptions.cjs.map +1 -0
- package/dist/src/cli/harnessOptions.d.mts +26 -0
- package/dist/src/cli/harnessOptions.d.mts.map +1 -0
- package/dist/src/cli/harnessOptions.mjs +60 -0
- package/dist/src/cli/harnessOptions.mjs.map +1 -0
- package/dist/src/cli/help.cjs +89 -0
- package/dist/src/cli/help.cjs.map +1 -0
- package/dist/src/cli/help.d.mts +12 -0
- package/dist/src/cli/help.d.mts.map +1 -0
- package/dist/src/cli/help.mjs +83 -0
- package/dist/src/cli/help.mjs.map +1 -0
- package/dist/src/cli/matrixOptions.cjs +178 -0
- package/dist/src/cli/matrixOptions.cjs.map +1 -0
- package/dist/src/cli/matrixOptions.d.mts +90 -0
- package/dist/src/cli/matrixOptions.d.mts.map +1 -0
- package/dist/src/cli/matrixOptions.mjs +151 -0
- package/dist/src/cli/matrixOptions.mjs.map +1 -0
- package/dist/src/cli/options.cjs +306 -0
- package/dist/src/cli/options.cjs.map +1 -0
- package/dist/src/cli/options.d.mts +5 -0
- package/dist/src/cli/options.d.mts.map +1 -0
- package/dist/src/cli/options.mjs +304 -0
- package/dist/src/cli/options.mjs.map +1 -0
- package/dist/src/cli/router.cjs +59 -0
- package/dist/src/cli/router.cjs.map +1 -0
- package/dist/src/cli/router.d.mts +32 -0
- package/dist/src/cli/router.d.mts.map +1 -0
- package/dist/src/cli/router.mjs +56 -0
- package/dist/src/cli/router.mjs.map +1 -0
- package/dist/src/cli/server/options.cjs +71 -0
- package/dist/src/cli/server/options.cjs.map +1 -0
- package/dist/src/cli/server/options.mjs +70 -0
- package/dist/src/cli/server/options.mjs.map +1 -0
- package/dist/src/cli/server/run.cjs +100 -0
- package/dist/src/cli/server/run.cjs.map +1 -0
- package/dist/src/cli/server/run.mjs +98 -0
- package/dist/src/cli/server/run.mjs.map +1 -0
- package/dist/src/compiler/cache.cjs +331 -0
- package/dist/src/compiler/cache.cjs.map +1 -0
- package/dist/src/compiler/cache.mjs +323 -0
- package/dist/src/compiler/cache.mjs.map +1 -0
- package/dist/src/compiler/index.cjs +996 -0
- package/dist/src/compiler/index.cjs.map +1 -0
- package/dist/src/compiler/index.mjs +988 -0
- package/dist/src/compiler/index.mjs.map +1 -0
- package/dist/src/compiler/inputs.cjs +86 -0
- package/dist/src/compiler/inputs.cjs.map +1 -0
- package/dist/src/compiler/inputs.mjs +81 -0
- package/dist/src/compiler/inputs.mjs.map +1 -0
- package/dist/src/composition/harnessState/index.cjs +48 -0
- package/dist/src/composition/harnessState/index.cjs.map +1 -0
- package/dist/src/composition/harnessState/index.d.mts +19 -0
- package/dist/src/composition/harnessState/index.d.mts.map +1 -0
- package/dist/src/composition/harnessState/index.mjs +34 -0
- package/dist/src/composition/harnessState/index.mjs.map +1 -0
- package/dist/src/composition/layerPackageInstaller/index.cjs +342 -0
- package/dist/src/composition/layerPackageInstaller/index.cjs.map +1 -0
- package/dist/src/composition/layerPackageInstaller/index.d.mts +45 -0
- package/dist/src/composition/layerPackageInstaller/index.d.mts.map +1 -0
- package/dist/src/composition/layerPackageInstaller/index.mjs +334 -0
- package/dist/src/composition/layerPackageInstaller/index.mjs.map +1 -0
- package/dist/src/composition/projectTrust/index.cjs +51 -0
- package/dist/src/composition/projectTrust/index.cjs.map +1 -0
- package/dist/src/composition/projectTrust/index.d.mts +22 -0
- package/dist/src/composition/projectTrust/index.d.mts.map +1 -0
- package/dist/src/composition/projectTrust/index.mjs +48 -0
- package/dist/src/composition/projectTrust/index.mjs.map +1 -0
- package/dist/src/composition/repository/index.cjs +69 -0
- package/dist/src/composition/repository/index.cjs.map +1 -0
- package/dist/src/composition/repository/index.d.mts +22 -0
- package/dist/src/composition/repository/index.d.mts.map +1 -0
- package/dist/src/composition/repository/index.mjs +64 -0
- package/dist/src/composition/repository/index.mjs.map +1 -0
- package/dist/src/composition/syncDrift/index.cjs +211 -0
- package/dist/src/composition/syncDrift/index.cjs.map +1 -0
- package/dist/src/composition/syncDrift/index.d.mts +41 -0
- package/dist/src/composition/syncDrift/index.d.mts.map +1 -0
- package/dist/src/composition/syncDrift/index.mjs +201 -0
- package/dist/src/composition/syncDrift/index.mjs.map +1 -0
- package/dist/src/composition/syncState/index.cjs +632 -0
- package/dist/src/composition/syncState/index.cjs.map +1 -0
- package/dist/src/composition/syncState/index.d.mts +201 -0
- package/dist/src/composition/syncState/index.d.mts.map +1 -0
- package/dist/src/composition/syncState/index.mjs +596 -0
- package/dist/src/composition/syncState/index.mjs.map +1 -0
- package/dist/src/composition/transitionLayers.cjs +17 -0
- package/dist/src/composition/transitionLayers.cjs.map +1 -0
- package/dist/src/composition/transitionLayers.d.mts +6 -0
- package/dist/src/composition/transitionLayers.d.mts.map +1 -0
- package/dist/src/composition/transitionLayers.mjs +16 -0
- package/dist/src/composition/transitionLayers.mjs.map +1 -0
- package/dist/src/composition/types/harness.d.mts +55 -0
- package/dist/src/composition/types/harness.d.mts.map +1 -0
- package/dist/src/extensions/setupDiagnostics.cjs +65 -0
- package/dist/src/extensions/setupDiagnostics.cjs.map +1 -0
- package/dist/src/extensions/setupDiagnostics.mjs +64 -0
- package/dist/src/extensions/setupDiagnostics.mjs.map +1 -0
- package/dist/syncCommand.cjs +14 -0
- package/dist/syncCommand.d.mts +3 -0
- package/dist/syncCommand.mjs +3 -0
- package/dist/syncState.cjs +35 -0
- package/dist/syncState.d.mts +2 -0
- package/dist/syncState.mjs +2 -0
- package/dist/utils.cjs +6 -0
- package/dist/utils.d.mts +3 -0
- package/dist/utils.mjs +3 -0
- package/dist/webBuilder.cjs +33 -0
- package/dist/webBuilder.d.mts +9 -0
- package/dist/webBuilder.mjs +9 -0
- package/docs/server/api-export.md +86 -0
- package/docs/server/api.md +144 -0
- package/docs/server/getting-started.md +114 -0
- package/docs/server/index.md +67 -0
- package/docs/server/ipc.md +97 -0
- package/docs/server/lifecycle.md +108 -0
- package/docs/server/security.md +101 -0
- package/llms.txt +12 -0
- package/package.json +296 -304
- package/src/prompts/doompi-author-extension/SKILL.md +34 -0
- package/src/prompts/doompi-author-extension/references/extension-contract.md +134 -0
- package/dist/adapters/bootstrapLocator.cjs +0 -2
- package/dist/adapters/bootstrapLocator.cjs.map +0 -1
- package/dist/adapters/bootstrapLocator.d.cts +0 -6
- package/dist/adapters/bootstrapLocator.d.cts.map +0 -1
- package/dist/adapters/bootstrapLocator.d.mts +0 -6
- package/dist/adapters/bootstrapLocator.d.mts.map +0 -1
- package/dist/adapters/bootstrapLocator.mjs +0 -2
- package/dist/adapters/bootstrapLocator.mjs.map +0 -1
- package/dist/adapters/compatibility/antigravity.cjs +0 -2
- package/dist/adapters/compatibility/antigravity.cjs.map +0 -1
- package/dist/adapters/compatibility/antigravity.d.cts +0 -11
- package/dist/adapters/compatibility/antigravity.d.cts.map +0 -1
- package/dist/adapters/compatibility/antigravity.d.mts +0 -11
- package/dist/adapters/compatibility/antigravity.d.mts.map +0 -1
- package/dist/adapters/compatibility/antigravity.mjs +0 -2
- package/dist/adapters/compatibility/antigravity.mjs.map +0 -1
- package/dist/adapters/compatibility/codex.cjs +0 -2
- package/dist/adapters/compatibility/codex.cjs.map +0 -1
- package/dist/adapters/compatibility/codex.d.cts +0 -19
- package/dist/adapters/compatibility/codex.d.cts.map +0 -1
- package/dist/adapters/compatibility/codex.d.mts +0 -19
- package/dist/adapters/compatibility/codex.d.mts.map +0 -1
- package/dist/adapters/compatibility/codex.mjs +0 -2
- package/dist/adapters/compatibility/codex.mjs.map +0 -1
- package/dist/adapters/compatibility/index.cjs +0 -2
- package/dist/adapters/compatibility/index.cjs.map +0 -1
- package/dist/adapters/compatibility/index.d.cts +0 -16
- package/dist/adapters/compatibility/index.d.cts.map +0 -1
- package/dist/adapters/compatibility/index.d.mts +0 -16
- package/dist/adapters/compatibility/index.d.mts.map +0 -1
- package/dist/adapters/compatibility/index.mjs +0 -2
- package/dist/adapters/compatibility/index.mjs.map +0 -1
- package/dist/adapters/compatibility/process.cjs +0 -2
- package/dist/adapters/compatibility/process.cjs.map +0 -1
- package/dist/adapters/compatibility/process.d.cts +0 -35
- package/dist/adapters/compatibility/process.d.cts.map +0 -1
- package/dist/adapters/compatibility/process.d.mts +0 -35
- package/dist/adapters/compatibility/process.d.mts.map +0 -1
- package/dist/adapters/compatibility/process.mjs +0 -2
- package/dist/adapters/compatibility/process.mjs.map +0 -1
- package/dist/adapters/compatibility/shared.cjs +0 -2
- package/dist/adapters/compatibility/shared.cjs.map +0 -1
- package/dist/adapters/compatibility/shared.d.cts +0 -33
- package/dist/adapters/compatibility/shared.d.cts.map +0 -1
- package/dist/adapters/compatibility/shared.d.mts +0 -33
- package/dist/adapters/compatibility/shared.d.mts.map +0 -1
- package/dist/adapters/compatibility/shared.mjs +0 -2
- package/dist/adapters/compatibility/shared.mjs.map +0 -1
- package/dist/adapters/compatibilityContext.cjs +0 -2
- package/dist/adapters/compatibilityContext.cjs.map +0 -1
- package/dist/adapters/compatibilityContext.d.cts +0 -23
- package/dist/adapters/compatibilityContext.d.cts.map +0 -1
- package/dist/adapters/compatibilityContext.d.mts +0 -23
- package/dist/adapters/compatibilityContext.d.mts.map +0 -1
- package/dist/adapters/compatibilityContext.mjs +0 -2
- package/dist/adapters/compatibilityContext.mjs.map +0 -1
- package/dist/adapters/composer.cjs +0 -2
- package/dist/adapters/composer.cjs.map +0 -1
- package/dist/adapters/composer.d.cts +0 -113
- package/dist/adapters/composer.d.cts.map +0 -1
- package/dist/adapters/composer.d.mts +0 -113
- package/dist/adapters/composer.d.mts.map +0 -1
- package/dist/adapters/composer.mjs +0 -2
- package/dist/adapters/composer.mjs.map +0 -1
- package/dist/adapters/compositionState.cjs +0 -2
- package/dist/adapters/compositionState.cjs.map +0 -1
- package/dist/adapters/compositionState.d.cts +0 -12
- package/dist/adapters/compositionState.d.cts.map +0 -1
- package/dist/adapters/compositionState.d.mts +0 -12
- package/dist/adapters/compositionState.d.mts.map +0 -1
- package/dist/adapters/compositionState.mjs +0 -2
- package/dist/adapters/compositionState.mjs.map +0 -1
- package/dist/adapters/config/harnessState.cjs +0 -2
- package/dist/adapters/config/harnessState.cjs.map +0 -1
- package/dist/adapters/config/harnessState.d.cts +0 -26
- package/dist/adapters/config/harnessState.d.cts.map +0 -1
- package/dist/adapters/config/harnessState.d.mts +0 -26
- package/dist/adapters/config/harnessState.d.mts.map +0 -1
- package/dist/adapters/config/harnessState.mjs +0 -2
- package/dist/adapters/config/harnessState.mjs.map +0 -1
- package/dist/adapters/deferredSkills.cjs +0 -12
- package/dist/adapters/deferredSkills.cjs.map +0 -1
- package/dist/adapters/deferredSkills.mjs +0 -12
- package/dist/adapters/deferredSkills.mjs.map +0 -1
- package/dist/adapters/extensionCompiler.cjs +0 -3
- package/dist/adapters/extensionCompiler.cjs.map +0 -1
- package/dist/adapters/extensionCompiler.mjs +0 -3
- package/dist/adapters/extensionCompiler.mjs.map +0 -1
- package/dist/adapters/harnessContext.cjs +0 -2
- package/dist/adapters/harnessContext.cjs.map +0 -1
- package/dist/adapters/harnessContext.d.cts +0 -61
- package/dist/adapters/harnessContext.d.cts.map +0 -1
- package/dist/adapters/harnessContext.d.mts +0 -61
- package/dist/adapters/harnessContext.d.mts.map +0 -1
- package/dist/adapters/harnessContext.mjs +0 -2
- package/dist/adapters/harnessContext.mjs.map +0 -1
- package/dist/adapters/matrixSwitcher.cjs +0 -2
- package/dist/adapters/matrixSwitcher.cjs.map +0 -1
- package/dist/adapters/matrixSwitcher.d.cts +0 -46
- package/dist/adapters/matrixSwitcher.d.cts.map +0 -1
- package/dist/adapters/matrixSwitcher.d.mts +0 -46
- package/dist/adapters/matrixSwitcher.d.mts.map +0 -1
- package/dist/adapters/matrixSwitcher.mjs +0 -2
- package/dist/adapters/matrixSwitcher.mjs.map +0 -1
- package/dist/adapters/mcpFilter.cjs +0 -3
- package/dist/adapters/mcpFilter.cjs.map +0 -1
- package/dist/adapters/mcpFilter.d.cts +0 -40
- package/dist/adapters/mcpFilter.d.cts.map +0 -1
- package/dist/adapters/mcpFilter.d.mts +0 -40
- package/dist/adapters/mcpFilter.d.mts.map +0 -1
- package/dist/adapters/mcpFilter.mjs +0 -3
- package/dist/adapters/mcpFilter.mjs.map +0 -1
- package/dist/adapters/modules/moduleResolution.cjs +0 -2
- package/dist/adapters/modules/moduleResolution.cjs.map +0 -1
- package/dist/adapters/modules/moduleResolution.d.cts +0 -56
- package/dist/adapters/modules/moduleResolution.d.cts.map +0 -1
- package/dist/adapters/modules/moduleResolution.d.mts +0 -56
- package/dist/adapters/modules/moduleResolution.d.mts.map +0 -1
- package/dist/adapters/modules/moduleResolution.mjs +0 -2
- package/dist/adapters/modules/moduleResolution.mjs.map +0 -1
- package/dist/adapters/packageBootstrap.cjs +0 -2
- package/dist/adapters/packageBootstrap.cjs.map +0 -1
- package/dist/adapters/packageBootstrap.d.cts +0 -8
- package/dist/adapters/packageBootstrap.d.cts.map +0 -1
- package/dist/adapters/packageBootstrap.d.mts +0 -8
- package/dist/adapters/packageBootstrap.d.mts.map +0 -1
- package/dist/adapters/packageBootstrap.mjs +0 -2
- package/dist/adapters/packageBootstrap.mjs.map +0 -1
- package/dist/adapters/piExtensionAlias.cjs +0 -2
- package/dist/adapters/piExtensionAlias.cjs.map +0 -1
- package/dist/adapters/piExtensionAlias.mjs +0 -2
- package/dist/adapters/piExtensionAlias.mjs.map +0 -1
- package/dist/adapters/piSettings.cjs +0 -2
- package/dist/adapters/piSettings.cjs.map +0 -1
- package/dist/adapters/piSettings.d.cts +0 -24
- package/dist/adapters/piSettings.d.cts.map +0 -1
- package/dist/adapters/piSettings.d.mts +0 -24
- package/dist/adapters/piSettings.d.mts.map +0 -1
- package/dist/adapters/piSettings.mjs +0 -2
- package/dist/adapters/piSettings.mjs.map +0 -1
- package/dist/adapters/repository/repository.cjs +0 -2
- package/dist/adapters/repository/repository.cjs.map +0 -1
- package/dist/adapters/repository/repository.d.cts +0 -21
- package/dist/adapters/repository/repository.d.cts.map +0 -1
- package/dist/adapters/repository/repository.d.mts +0 -21
- package/dist/adapters/repository/repository.d.mts.map +0 -1
- package/dist/adapters/repository/repository.mjs +0 -2
- package/dist/adapters/repository/repository.mjs.map +0 -1
- package/dist/adapters/resourceCollector.cjs +0 -3
- package/dist/adapters/resourceCollector.cjs.map +0 -1
- package/dist/adapters/resourceCollector.d.cts +0 -25
- package/dist/adapters/resourceCollector.d.cts.map +0 -1
- package/dist/adapters/resourceCollector.d.mts +0 -25
- package/dist/adapters/resourceCollector.d.mts.map +0 -1
- package/dist/adapters/resourceCollector.mjs +0 -3
- package/dist/adapters/resourceCollector.mjs.map +0 -1
- package/dist/adapters/runtimeBundle.cjs +0 -2
- package/dist/adapters/runtimeBundle.cjs.map +0 -1
- package/dist/adapters/runtimeBundle.d.cts +0 -64
- package/dist/adapters/runtimeBundle.d.cts.map +0 -1
- package/dist/adapters/runtimeBundle.d.mts +0 -64
- package/dist/adapters/runtimeBundle.d.mts.map +0 -1
- package/dist/adapters/runtimeBundle.mjs +0 -2
- package/dist/adapters/runtimeBundle.mjs.map +0 -1
- package/dist/adapters/serialization/json.cjs +0 -2
- package/dist/adapters/serialization/json.cjs.map +0 -1
- package/dist/adapters/serialization/json.d.cts +0 -23
- package/dist/adapters/serialization/json.d.cts.map +0 -1
- package/dist/adapters/serialization/json.d.mts +0 -23
- package/dist/adapters/serialization/json.d.mts.map +0 -1
- package/dist/adapters/serialization/json.mjs +0 -2
- package/dist/adapters/serialization/json.mjs.map +0 -1
- package/dist/adapters/skillCatalog.cjs +0 -2
- package/dist/adapters/skillCatalog.cjs.map +0 -1
- package/dist/adapters/skillCatalog.d.cts +0 -56
- package/dist/adapters/skillCatalog.d.cts.map +0 -1
- package/dist/adapters/skillCatalog.d.mts +0 -56
- package/dist/adapters/skillCatalog.d.mts.map +0 -1
- package/dist/adapters/skillCatalog.mjs +0 -2
- package/dist/adapters/skillCatalog.mjs.map +0 -1
- package/dist/adapters/skillSources.cjs +0 -2
- package/dist/adapters/skillSources.cjs.map +0 -1
- package/dist/adapters/skillSources.d.cts +0 -24
- package/dist/adapters/skillSources.d.cts.map +0 -1
- package/dist/adapters/skillSources.d.mts +0 -24
- package/dist/adapters/skillSources.d.mts.map +0 -1
- package/dist/adapters/skillSources.mjs +0 -2
- package/dist/adapters/skillSources.mjs.map +0 -1
- package/dist/adapters/syncState.cjs +0 -2
- package/dist/adapters/syncState.cjs.map +0 -1
- package/dist/adapters/syncState.d.cts +0 -118
- package/dist/adapters/syncState.d.cts.map +0 -1
- package/dist/adapters/syncState.d.mts +0 -118
- package/dist/adapters/syncState.d.mts.map +0 -1
- package/dist/adapters/syncState.mjs +0 -2
- package/dist/adapters/syncState.mjs.map +0 -1
- package/dist/adapters/syncStateContract.cjs +0 -2
- package/dist/adapters/syncStateContract.cjs.map +0 -1
- package/dist/adapters/syncStateContract.d.cts +0 -12
- package/dist/adapters/syncStateContract.d.cts.map +0 -1
- package/dist/adapters/syncStateContract.d.mts +0 -12
- package/dist/adapters/syncStateContract.d.mts.map +0 -1
- package/dist/adapters/syncStateContract.mjs +0 -2
- package/dist/adapters/syncStateContract.mjs.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.cjs +0 -2
- package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts +0 -51
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts +0 -51
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.mjs +0 -2
- package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +0 -1
- package/dist/bin/cli.d.cts +0 -1
- package/dist/bin/doomRunner.d.cts +0 -1
- package/dist/cli/cliApp.cjs +0 -1
- package/dist/cli/cliApp.d.cts +0 -2
- package/dist/cli/cliApp.d.mts +0 -2
- package/dist/cli/cliApp.mjs +0 -1
- package/dist/cli/compatibilityOptions.cjs +0 -1
- package/dist/cli/compatibilityOptions.d.cts +0 -2
- package/dist/cli/compatibilityOptions.d.mts +0 -2
- package/dist/cli/compatibilityOptions.mjs +0 -1
- package/dist/cli/help.cjs +0 -1
- package/dist/cli/help.d.cts +0 -2
- package/dist/cli/help.d.mts +0 -2
- package/dist/cli/help.mjs +0 -1
- package/dist/cli/index.cjs +0 -1
- package/dist/cli/index.d.cts +0 -5
- package/dist/cli/index.d.mts +0 -5
- package/dist/cli/index.mjs +0 -1
- package/dist/cli/matrixOptions.cjs +0 -1
- package/dist/cli/matrixOptions.d.cts +0 -2
- package/dist/cli/matrixOptions.d.mts +0 -2
- package/dist/cli/matrixOptions.mjs +0 -1
- package/dist/cli/options.cjs +0 -1
- package/dist/cli/options.d.cts +0 -2
- package/dist/cli/options.d.mts +0 -2
- package/dist/cli/options.mjs +0 -1
- package/dist/commands/baseCommand.cjs +0 -2
- package/dist/commands/baseCommand.cjs.map +0 -1
- package/dist/commands/baseCommand.d.cts +0 -36
- package/dist/commands/baseCommand.d.cts.map +0 -1
- package/dist/commands/baseCommand.d.mts +0 -36
- package/dist/commands/baseCommand.d.mts.map +0 -1
- package/dist/commands/baseCommand.mjs +0 -2
- package/dist/commands/baseCommand.mjs.map +0 -1
- package/dist/commands/buildCommand.cjs +0 -3
- package/dist/commands/buildCommand.cjs.map +0 -1
- package/dist/commands/buildCommand.d.cts +0 -23
- package/dist/commands/buildCommand.d.cts.map +0 -1
- package/dist/commands/buildCommand.d.mts +0 -23
- package/dist/commands/buildCommand.d.mts.map +0 -1
- package/dist/commands/buildCommand.mjs +0 -3
- package/dist/commands/buildCommand.mjs.map +0 -1
- package/dist/commands/cli/cliApp.cjs +0 -2
- package/dist/commands/cli/cliApp.cjs.map +0 -1
- package/dist/commands/cli/cliApp.d.cts +0 -45
- package/dist/commands/cli/cliApp.d.cts.map +0 -1
- package/dist/commands/cli/cliApp.d.mts +0 -45
- package/dist/commands/cli/cliApp.d.mts.map +0 -1
- package/dist/commands/cli/cliApp.mjs +0 -2
- package/dist/commands/cli/cliApp.mjs.map +0 -1
- package/dist/commands/cli/compatibilityOptions.cjs +0 -2
- package/dist/commands/cli/compatibilityOptions.cjs.map +0 -1
- package/dist/commands/cli/compatibilityOptions.d.cts +0 -15
- package/dist/commands/cli/compatibilityOptions.d.cts.map +0 -1
- package/dist/commands/cli/compatibilityOptions.d.mts +0 -15
- package/dist/commands/cli/compatibilityOptions.d.mts.map +0 -1
- package/dist/commands/cli/compatibilityOptions.mjs +0 -2
- package/dist/commands/cli/compatibilityOptions.mjs.map +0 -1
- package/dist/commands/cli/help.cjs +0 -63
- package/dist/commands/cli/help.cjs.map +0 -1
- package/dist/commands/cli/help.d.cts +0 -6
- package/dist/commands/cli/help.d.cts.map +0 -1
- package/dist/commands/cli/help.d.mts +0 -6
- package/dist/commands/cli/help.d.mts.map +0 -1
- package/dist/commands/cli/help.mjs +0 -63
- package/dist/commands/cli/help.mjs.map +0 -1
- package/dist/commands/cli/index.cjs +0 -1
- package/dist/commands/cli/index.d.cts +0 -4
- package/dist/commands/cli/index.d.mts +0 -4
- package/dist/commands/cli/index.mjs +0 -1
- package/dist/commands/cli/matrixOptions.cjs +0 -2
- package/dist/commands/cli/matrixOptions.cjs.map +0 -1
- package/dist/commands/cli/matrixOptions.d.cts +0 -99
- package/dist/commands/cli/matrixOptions.d.cts.map +0 -1
- package/dist/commands/cli/matrixOptions.d.mts +0 -99
- package/dist/commands/cli/matrixOptions.d.mts.map +0 -1
- package/dist/commands/cli/matrixOptions.mjs +0 -2
- package/dist/commands/cli/matrixOptions.mjs.map +0 -1
- package/dist/commands/cli/options.cjs +0 -2
- package/dist/commands/cli/options.cjs.map +0 -1
- package/dist/commands/cli/options.d.cts +0 -7
- package/dist/commands/cli/options.d.cts.map +0 -1
- package/dist/commands/cli/options.d.mts +0 -7
- package/dist/commands/cli/options.d.mts.map +0 -1
- package/dist/commands/cli/options.mjs +0 -2
- package/dist/commands/cli/options.mjs.map +0 -1
- package/dist/commands/compatibilityCommand.cjs +0 -2
- package/dist/commands/compatibilityCommand.cjs.map +0 -1
- package/dist/commands/compatibilityCommand.d.cts +0 -14
- package/dist/commands/compatibilityCommand.d.cts.map +0 -1
- package/dist/commands/compatibilityCommand.d.mts +0 -14
- package/dist/commands/compatibilityCommand.d.mts.map +0 -1
- package/dist/commands/compatibilityCommand.mjs +0 -2
- package/dist/commands/compatibilityCommand.mjs.map +0 -1
- package/dist/commands/emitMcpCommand.cjs +0 -2
- package/dist/commands/emitMcpCommand.cjs.map +0 -1
- package/dist/commands/emitMcpCommand.d.cts +0 -19
- package/dist/commands/emitMcpCommand.d.cts.map +0 -1
- package/dist/commands/emitMcpCommand.d.mts +0 -19
- package/dist/commands/emitMcpCommand.d.mts.map +0 -1
- package/dist/commands/emitMcpCommand.mjs +0 -2
- package/dist/commands/emitMcpCommand.mjs.map +0 -1
- package/dist/commands/explainCommand.cjs +0 -21
- package/dist/commands/explainCommand.cjs.map +0 -1
- package/dist/commands/explainCommand.d.cts +0 -63
- package/dist/commands/explainCommand.d.cts.map +0 -1
- package/dist/commands/explainCommand.d.mts +0 -63
- package/dist/commands/explainCommand.d.mts.map +0 -1
- package/dist/commands/explainCommand.mjs +0 -21
- package/dist/commands/explainCommand.mjs.map +0 -1
- package/dist/commands/index.cjs +0 -1
- package/dist/commands/index.d.cts +0 -9
- package/dist/commands/index.d.mts +0 -9
- package/dist/commands/index.mjs +0 -1
- package/dist/commands/initCommand.cjs +0 -3
- package/dist/commands/initCommand.cjs.map +0 -1
- package/dist/commands/initCommand.d.cts +0 -11
- package/dist/commands/initCommand.d.cts.map +0 -1
- package/dist/commands/initCommand.d.mts +0 -11
- package/dist/commands/initCommand.d.mts.map +0 -1
- package/dist/commands/initCommand.mjs +0 -3
- package/dist/commands/initCommand.mjs.map +0 -1
- package/dist/commands/launchCommand.cjs +0 -2
- package/dist/commands/launchCommand.cjs.map +0 -1
- package/dist/commands/launchCommand.d.cts +0 -33
- package/dist/commands/launchCommand.d.cts.map +0 -1
- package/dist/commands/launchCommand.d.mts +0 -33
- package/dist/commands/launchCommand.d.mts.map +0 -1
- package/dist/commands/launchCommand.mjs +0 -2
- package/dist/commands/launchCommand.mjs.map +0 -1
- package/dist/commands/syncCommand.cjs +0 -6
- package/dist/commands/syncCommand.cjs.map +0 -1
- package/dist/commands/syncCommand.d.cts +0 -37
- package/dist/commands/syncCommand.d.cts.map +0 -1
- package/dist/commands/syncCommand.d.mts +0 -37
- package/dist/commands/syncCommand.d.mts.map +0 -1
- package/dist/commands/syncCommand.mjs +0 -6
- package/dist/commands/syncCommand.mjs.map +0 -1
- package/dist/config/harnessState.cjs +0 -1
- package/dist/config/harnessState.d.cts +0 -2
- package/dist/config/harnessState.d.mts +0 -2
- package/dist/config/harnessState.mjs +0 -1
- package/dist/config/index.cjs +0 -1
- package/dist/config/index.d.cts +0 -4
- package/dist/config/index.d.mts +0 -4
- package/dist/config/index.mjs +0 -1
- package/dist/config/projectTrust.cjs +0 -1
- package/dist/config/projectTrust.d.cts +0 -2
- package/dist/config/projectTrust.d.mts +0 -2
- package/dist/config/projectTrust.mjs +0 -1
- package/dist/entries/autoStop.cjs +0 -1
- package/dist/entries/autoStop.d.cts +0 -2
- package/dist/entries/autoStop.d.mts +0 -2
- package/dist/entries/autoStop.mjs +0 -1
- package/dist/entries/components/matrixPicker.cjs +0 -1
- package/dist/entries/components/matrixPicker.d.cts +0 -2
- package/dist/entries/components/matrixPicker.d.mts +0 -2
- package/dist/entries/components/matrixPicker.mjs +0 -1
- package/dist/entries/components/skillsOverlay.cjs +0 -1
- package/dist/entries/components/skillsOverlay.d.cts +0 -2
- package/dist/entries/components/skillsOverlay.d.mts +0 -2
- package/dist/entries/components/skillsOverlay.mjs +0 -1
- package/dist/entries/domains.cjs +0 -1
- package/dist/entries/domains.d.cts +0 -2
- package/dist/entries/domains.d.mts +0 -2
- package/dist/entries/domains.mjs +0 -1
- package/dist/entries/doom.cjs +0 -1
- package/dist/entries/doom.d.cts +0 -2
- package/dist/entries/doom.d.mts +0 -2
- package/dist/entries/doom.mjs +0 -1
- package/dist/entries/effort.cjs +0 -1
- package/dist/entries/effort.d.cts +0 -2
- package/dist/entries/effort.d.mts +0 -2
- package/dist/entries/effort.mjs +0 -1
- package/dist/entries/majorMode.cjs +0 -1
- package/dist/entries/majorMode.d.cts +0 -2
- package/dist/entries/majorMode.d.mts +0 -2
- package/dist/entries/majorMode.mjs +0 -1
- package/dist/entries/notifications.cjs +0 -1
- package/dist/entries/notifications.d.cts +0 -2
- package/dist/entries/notifications.d.mts +0 -2
- package/dist/entries/notifications.mjs +0 -1
- package/dist/entries/ollamaProvider.cjs +0 -1
- package/dist/entries/ollamaProvider.d.cts +0 -2
- package/dist/entries/ollamaProvider.d.mts +0 -2
- package/dist/entries/ollamaProvider.mjs +0 -1
- package/dist/entries/persona.cjs +0 -1
- package/dist/entries/persona.d.cts +0 -2
- package/dist/entries/persona.d.mts +0 -2
- package/dist/entries/persona.mjs +0 -1
- package/dist/entries/profile.cjs +0 -1
- package/dist/entries/profile.d.cts +0 -2
- package/dist/entries/profile.d.mts +0 -2
- package/dist/entries/profile.mjs +0 -1
- package/dist/entries/repositoryHooks.cjs +0 -1
- package/dist/entries/repositoryHooks.d.cts +0 -2
- package/dist/entries/repositoryHooks.d.mts +0 -2
- package/dist/entries/repositoryHooks.mjs +0 -1
- package/dist/entries/skills.cjs +0 -1
- package/dist/entries/skills.d.cts +0 -2
- package/dist/entries/skills.d.mts +0 -2
- package/dist/entries/skills.mjs +0 -1
- package/dist/entries/styleSystem.cjs +0 -1
- package/dist/entries/styleSystem.d.cts +0 -2
- package/dist/entries/styleSystem.d.mts +0 -2
- package/dist/entries/styleSystem.mjs +0 -1
- package/dist/extensions/entries/autoStop.cjs +0 -2
- package/dist/extensions/entries/autoStop.cjs.map +0 -1
- package/dist/extensions/entries/autoStop.d.cts +0 -7
- package/dist/extensions/entries/autoStop.d.cts.map +0 -1
- package/dist/extensions/entries/autoStop.d.mts +0 -7
- package/dist/extensions/entries/autoStop.d.mts.map +0 -1
- package/dist/extensions/entries/autoStop.mjs +0 -2
- package/dist/extensions/entries/autoStop.mjs.map +0 -1
- package/dist/extensions/entries/components/matrixPicker.cjs +0 -2
- package/dist/extensions/entries/components/matrixPicker.cjs.map +0 -1
- package/dist/extensions/entries/components/matrixPicker.d.cts +0 -55
- package/dist/extensions/entries/components/matrixPicker.d.cts.map +0 -1
- package/dist/extensions/entries/components/matrixPicker.d.mts +0 -55
- package/dist/extensions/entries/components/matrixPicker.d.mts.map +0 -1
- package/dist/extensions/entries/components/matrixPicker.mjs +0 -2
- package/dist/extensions/entries/components/matrixPicker.mjs.map +0 -1
- package/dist/extensions/entries/components/skillsOverlay.cjs +0 -4
- package/dist/extensions/entries/components/skillsOverlay.cjs.map +0 -1
- package/dist/extensions/entries/components/skillsOverlay.d.cts +0 -58
- package/dist/extensions/entries/components/skillsOverlay.d.cts.map +0 -1
- package/dist/extensions/entries/components/skillsOverlay.d.mts +0 -58
- package/dist/extensions/entries/components/skillsOverlay.d.mts.map +0 -1
- package/dist/extensions/entries/components/skillsOverlay.mjs +0 -4
- package/dist/extensions/entries/components/skillsOverlay.mjs.map +0 -1
- package/dist/extensions/entries/domains.cjs +0 -2
- package/dist/extensions/entries/domains.cjs.map +0 -1
- package/dist/extensions/entries/domains.d.cts +0 -10
- package/dist/extensions/entries/domains.d.cts.map +0 -1
- package/dist/extensions/entries/domains.d.mts +0 -10
- package/dist/extensions/entries/domains.d.mts.map +0 -1
- package/dist/extensions/entries/domains.mjs +0 -2
- package/dist/extensions/entries/domains.mjs.map +0 -1
- package/dist/extensions/entries/doom.cjs +0 -2
- package/dist/extensions/entries/doom.cjs.map +0 -1
- package/dist/extensions/entries/doom.d.cts +0 -14
- package/dist/extensions/entries/doom.d.cts.map +0 -1
- package/dist/extensions/entries/doom.d.mts +0 -14
- package/dist/extensions/entries/doom.d.mts.map +0 -1
- package/dist/extensions/entries/doom.mjs +0 -2
- package/dist/extensions/entries/doom.mjs.map +0 -1
- package/dist/extensions/entries/effort.cjs +0 -2
- package/dist/extensions/entries/effort.cjs.map +0 -1
- package/dist/extensions/entries/effort.d.cts +0 -10
- package/dist/extensions/entries/effort.d.cts.map +0 -1
- package/dist/extensions/entries/effort.d.mts +0 -10
- package/dist/extensions/entries/effort.d.mts.map +0 -1
- package/dist/extensions/entries/effort.mjs +0 -2
- package/dist/extensions/entries/effort.mjs.map +0 -1
- package/dist/extensions/entries/majorMode.cjs +0 -6
- package/dist/extensions/entries/majorMode.cjs.map +0 -1
- package/dist/extensions/entries/majorMode.d.cts +0 -29
- package/dist/extensions/entries/majorMode.d.cts.map +0 -1
- package/dist/extensions/entries/majorMode.d.mts +0 -29
- package/dist/extensions/entries/majorMode.d.mts.map +0 -1
- package/dist/extensions/entries/majorMode.mjs +0 -6
- package/dist/extensions/entries/majorMode.mjs.map +0 -1
- package/dist/extensions/entries/notifications.cjs +0 -2
- package/dist/extensions/entries/notifications.cjs.map +0 -1
- package/dist/extensions/entries/notifications.d.cts +0 -14
- package/dist/extensions/entries/notifications.d.cts.map +0 -1
- package/dist/extensions/entries/notifications.d.mts +0 -14
- package/dist/extensions/entries/notifications.d.mts.map +0 -1
- package/dist/extensions/entries/notifications.mjs +0 -2
- package/dist/extensions/entries/notifications.mjs.map +0 -1
- package/dist/extensions/entries/ollamaProvider.cjs +0 -2
- package/dist/extensions/entries/ollamaProvider.cjs.map +0 -1
- package/dist/extensions/entries/ollamaProvider.d.cts +0 -7
- package/dist/extensions/entries/ollamaProvider.d.cts.map +0 -1
- package/dist/extensions/entries/ollamaProvider.d.mts +0 -7
- package/dist/extensions/entries/ollamaProvider.d.mts.map +0 -1
- package/dist/extensions/entries/ollamaProvider.mjs +0 -2
- package/dist/extensions/entries/ollamaProvider.mjs.map +0 -1
- package/dist/extensions/entries/persona.cjs +0 -2
- package/dist/extensions/entries/persona.cjs.map +0 -1
- package/dist/extensions/entries/persona.d.cts +0 -15
- package/dist/extensions/entries/persona.d.cts.map +0 -1
- package/dist/extensions/entries/persona.d.mts +0 -15
- package/dist/extensions/entries/persona.d.mts.map +0 -1
- package/dist/extensions/entries/persona.mjs +0 -2
- package/dist/extensions/entries/persona.mjs.map +0 -1
- package/dist/extensions/entries/profile.cjs +0 -3
- package/dist/extensions/entries/profile.cjs.map +0 -1
- package/dist/extensions/entries/profile.d.cts +0 -18
- package/dist/extensions/entries/profile.d.cts.map +0 -1
- package/dist/extensions/entries/profile.d.mts +0 -18
- package/dist/extensions/entries/profile.d.mts.map +0 -1
- package/dist/extensions/entries/profile.mjs +0 -3
- package/dist/extensions/entries/profile.mjs.map +0 -1
- package/dist/extensions/entries/repositoryHooks.cjs +0 -9
- package/dist/extensions/entries/repositoryHooks.cjs.map +0 -1
- package/dist/extensions/entries/repositoryHooks.d.cts +0 -8
- package/dist/extensions/entries/repositoryHooks.d.cts.map +0 -1
- package/dist/extensions/entries/repositoryHooks.d.mts +0 -8
- package/dist/extensions/entries/repositoryHooks.d.mts.map +0 -1
- package/dist/extensions/entries/repositoryHooks.mjs +0 -9
- package/dist/extensions/entries/repositoryHooks.mjs.map +0 -1
- package/dist/extensions/entries/shellTitleController.cjs +0 -27
- package/dist/extensions/entries/shellTitleController.cjs.map +0 -1
- package/dist/extensions/entries/shellTitleController.d.cts +0 -11
- package/dist/extensions/entries/shellTitleController.d.cts.map +0 -1
- package/dist/extensions/entries/shellTitleController.d.mts +0 -11
- package/dist/extensions/entries/shellTitleController.d.mts.map +0 -1
- package/dist/extensions/entries/shellTitleController.mjs +0 -27
- package/dist/extensions/entries/shellTitleController.mjs.map +0 -1
- package/dist/extensions/entries/skills.cjs +0 -3
- package/dist/extensions/entries/skills.cjs.map +0 -1
- package/dist/extensions/entries/skills.d.cts +0 -34
- package/dist/extensions/entries/skills.d.cts.map +0 -1
- package/dist/extensions/entries/skills.d.mts +0 -34
- package/dist/extensions/entries/skills.d.mts.map +0 -1
- package/dist/extensions/entries/skills.mjs +0 -3
- package/dist/extensions/entries/skills.mjs.map +0 -1
- package/dist/extensions/entries/styleSystem.cjs +0 -4
- package/dist/extensions/entries/styleSystem.cjs.map +0 -1
- package/dist/extensions/entries/styleSystem.d.cts +0 -32
- package/dist/extensions/entries/styleSystem.d.cts.map +0 -1
- package/dist/extensions/entries/styleSystem.d.mts +0 -32
- package/dist/extensions/entries/styleSystem.d.mts.map +0 -1
- package/dist/extensions/entries/styleSystem.mjs +0 -4
- package/dist/extensions/entries/styleSystem.mjs.map +0 -1
- package/dist/extensions/pi.d.cts +0 -2
- package/dist/index.d.cts +0 -39
- package/dist/logSinkTelemetry.cjs +0 -1
- package/dist/logSinkTelemetry.d.cts +0 -2
- package/dist/logSinkTelemetry.d.mts +0 -2
- package/dist/logSinkTelemetry.mjs +0 -1
- package/dist/services/compatibility/antigravity.cjs +0 -1
- package/dist/services/compatibility/antigravity.d.cts +0 -2
- package/dist/services/compatibility/antigravity.d.mts +0 -2
- package/dist/services/compatibility/antigravity.mjs +0 -1
- package/dist/services/compatibility/codex.cjs +0 -1
- package/dist/services/compatibility/codex.d.cts +0 -2
- package/dist/services/compatibility/codex.d.mts +0 -2
- package/dist/services/compatibility/codex.mjs +0 -1
- package/dist/services/compatibility/index.cjs +0 -1
- package/dist/services/compatibility/index.d.cts +0 -6
- package/dist/services/compatibility/index.d.mts +0 -6
- package/dist/services/compatibility/index.mjs +0 -1
- package/dist/services/compatibility/process.cjs +0 -1
- package/dist/services/compatibility/process.d.cts +0 -2
- package/dist/services/compatibility/process.d.mts +0 -2
- package/dist/services/compatibility/process.mjs +0 -1
- package/dist/services/compatibility/shared.cjs +0 -1
- package/dist/services/compatibility/shared.d.cts +0 -2
- package/dist/services/compatibility/shared.d.mts +0 -2
- package/dist/services/compatibility/shared.mjs +0 -1
- package/dist/services/compatibilityContext.cjs +0 -1
- package/dist/services/compatibilityContext.d.cts +0 -2
- package/dist/services/compatibilityContext.d.mts +0 -2
- package/dist/services/compatibilityContext.mjs +0 -1
- package/dist/services/composer.cjs +0 -1
- package/dist/services/composer.d.cts +0 -4
- package/dist/services/composer.d.mts +0 -4
- package/dist/services/composer.mjs +0 -1
- package/dist/services/config/index.cjs +0 -1
- package/dist/services/config/index.d.cts +0 -7
- package/dist/services/config/index.d.mts +0 -7
- package/dist/services/config/index.mjs +0 -1
- package/dist/services/config/projectTrust.cjs +0 -2
- package/dist/services/config/projectTrust.cjs.map +0 -1
- package/dist/services/config/projectTrust.d.cts +0 -14
- package/dist/services/config/projectTrust.d.cts.map +0 -1
- package/dist/services/config/projectTrust.d.mts +0 -14
- package/dist/services/config/projectTrust.d.mts.map +0 -1
- package/dist/services/config/projectTrust.mjs +0 -2
- package/dist/services/config/projectTrust.mjs.map +0 -1
- package/dist/services/extensionAssembler.cjs +0 -2
- package/dist/services/extensionAssembler.cjs.map +0 -1
- package/dist/services/extensionAssembler.d.cts +0 -72
- package/dist/services/extensionAssembler.d.cts.map +0 -1
- package/dist/services/extensionAssembler.d.mts +0 -72
- package/dist/services/extensionAssembler.d.mts.map +0 -1
- package/dist/services/extensionAssembler.mjs +0 -2
- package/dist/services/extensionAssembler.mjs.map +0 -1
- package/dist/services/harnessContext.cjs +0 -1
- package/dist/services/harnessContext.d.cts +0 -2
- package/dist/services/harnessContext.d.mts +0 -2
- package/dist/services/harnessContext.mjs +0 -1
- package/dist/services/index.cjs +0 -1
- package/dist/services/index.d.cts +0 -17
- package/dist/services/index.d.mts +0 -17
- package/dist/services/index.mjs +0 -1
- package/dist/services/matrixSwitcher.cjs +0 -1
- package/dist/services/matrixSwitcher.d.cts +0 -2
- package/dist/services/matrixSwitcher.d.mts +0 -2
- package/dist/services/matrixSwitcher.mjs +0 -1
- package/dist/services/mcpFilter.cjs +0 -1
- package/dist/services/mcpFilter.d.cts +0 -2
- package/dist/services/mcpFilter.d.mts +0 -2
- package/dist/services/mcpFilter.mjs +0 -1
- package/dist/services/piSettings.cjs +0 -1
- package/dist/services/piSettings.d.cts +0 -2
- package/dist/services/piSettings.d.mts +0 -2
- package/dist/services/piSettings.mjs +0 -1
- package/dist/services/resourceCollector.cjs +0 -1
- package/dist/services/resourceCollector.d.cts +0 -2
- package/dist/services/resourceCollector.d.mts +0 -2
- package/dist/services/resourceCollector.mjs +0 -1
- package/dist/services/skillCatalog.cjs +0 -1
- package/dist/services/skillCatalog.d.cts +0 -2
- package/dist/services/skillCatalog.d.mts +0 -2
- package/dist/services/skillCatalog.mjs +0 -1
- package/dist/services/skillSources.cjs +0 -1
- package/dist/services/skillSources.d.cts +0 -2
- package/dist/services/skillSources.d.mts +0 -2
- package/dist/services/skillSources.mjs +0 -1
- package/dist/services/syncState.cjs +0 -1
- package/dist/services/syncState.d.cts +0 -3
- package/dist/services/syncState.d.mts +0 -3
- package/dist/services/syncState.mjs +0 -1
- package/dist/services/tools/toolNames.cjs +0 -2
- package/dist/services/tools/toolNames.cjs.map +0 -1
- package/dist/services/tools/toolNames.d.cts +0 -25
- package/dist/services/tools/toolNames.d.cts.map +0 -1
- package/dist/services/tools/toolNames.d.mts +0 -25
- package/dist/services/tools/toolNames.d.mts.map +0 -1
- package/dist/services/tools/toolNames.mjs +0 -2
- package/dist/services/tools/toolNames.mjs.map +0 -1
- package/dist/types/interfaces/compatibility.d.cts +0 -23
- package/dist/types/interfaces/compatibility.d.cts.map +0 -1
- package/dist/types/interfaces/compatibility.d.mts +0 -23
- package/dist/types/interfaces/compatibility.d.mts.map +0 -1
- package/dist/types/interfaces/harness.d.cts +0 -84
- package/dist/types/interfaces/harness.d.cts.map +0 -1
- package/dist/types/interfaces/harness.d.mts +0 -84
- package/dist/types/interfaces/harness.d.mts.map +0 -1
- package/dist/utils/index.cjs +0 -1
- package/dist/utils/index.d.cts +0 -5
- package/dist/utils/index.d.mts +0 -5
- package/dist/utils/index.mjs +0 -1
- package/dist/utils/json.cjs +0 -1
- package/dist/utils/json.d.cts +0 -2
- package/dist/utils/json.d.mts +0 -2
- package/dist/utils/json.mjs +0 -1
- package/dist/utils/moduleResolution.cjs +0 -1
- package/dist/utils/moduleResolution.d.cts +0 -2
- package/dist/utils/moduleResolution.d.mts +0 -2
- package/dist/utils/moduleResolution.mjs +0 -1
- package/dist/utils/repository.cjs +0 -1
- package/dist/utils/repository.d.cts +0 -2
- package/dist/utils/repository.d.mts +0 -2
- package/dist/utils/repository.mjs +0 -1
- package/dist/utils/toolNames.cjs +0 -1
- package/dist/utils/toolNames.d.cts +0 -2
- package/dist/utils/toolNames.d.mts +0 -2
- package/dist/utils/toolNames.mjs +0 -1
package/README.md
CHANGED
|
@@ -1,600 +1,791 @@
|
|
|
1
|
-
#
|
|
1
|
+
# DoomPi
|
|
2
2
|
|
|
3
3
|
**A coding agent that loads only the skills and tools you name.**
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
11
|
-
|
|
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
|
-
|
|
15
|
+

|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
29
|
-
|
|
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
|
-
|
|
33
|
-
doompi --domains marketing --profile marketing
|
|
34
|
-
doompi --domains analytics --explain
|
|
38
|
+
npm install -g @agimon-ai/doompi
|
|
35
39
|
```
|
|
36
40
|
|
|
37
|
-
|
|
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
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
64
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
73
|
-
profiles
|
|
74
|
-
and
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
|
|
101
|
-
|
|
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
|
|
105
|
-
doompi
|
|
106
|
-
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
-
|
|
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
|
-
|
|
245
|
-
|
|
246
|
-
|
|
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
|
-
|
|
252
|
-
`defaultMajorMode`. Omitting the field preserves the compatible `copilot` fallback.
|
|
118
|
+
### Major and minor modes
|
|
253
119
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
-
|
|
259
|
-
|
|
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
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
-
|
|
274
|
-
`
|
|
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
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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
|
-
|
|
152
|
+
domains:
|
|
153
|
+
development:
|
|
154
|
+
description: Implementation and code-review tools.
|
|
155
|
+
plugins: [pi-development, remote-review]
|
|
156
|
+
```
|
|
290
157
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
310
|
-
|
|
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
|
-
|
|
313
|
-
|
|
314
|
-
|
|
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
|
-
|
|
317
|
-
|
|
318
|
-
|
|
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
|
-
|
|
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
|
-
|
|
191
|
+
## What this buys you
|
|
323
192
|
|
|
324
|
-
|
|
325
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
346
|
-
numbers and you can reproduce them on your own repository rather than trusting these.
|
|
202
|
+
### Copilot
|
|
347
203
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
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
|
-
|
|
353
|
-
|
|
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
|
-
|
|
212
|
+
### Autopilot
|
|
356
213
|
|
|
357
|
-
|
|
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
|
-
|
|
360
|
-
`on:`, `jobs:`, `needs:`, `steps:`, timeouts, and declared artifacts.
|
|
217
|
+
#### Workflows
|
|
361
218
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
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:
|
|
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
|
|
234
|
+
doompi --major-mode examples --domains development --auto-stop \
|
|
378
235
|
--cwd "$PWD" "$JOB_SYSTEM_PROMPT"
|
|
379
236
|
|
|
380
|
-
|
|
237
|
+
article:
|
|
381
238
|
needs: implement
|
|
382
239
|
steps:
|
|
383
|
-
- name:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
250
|
+
This source repository includes a complete, deliberately small example stack:
|
|
408
251
|
|
|
409
|
-
|
|
410
|
-
|
|
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
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
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
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
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
|
-
|
|
274
|
+
The same bundles can be installed directly through either native marketplace:
|
|
429
275
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
276
|
+
```bash
|
|
277
|
+
# Codex
|
|
278
|
+
codex plugin marketplace add .
|
|
279
|
+
codex plugin add development@doompi-examples
|
|
434
280
|
|
|
435
|
-
|
|
281
|
+
# Claude Code
|
|
282
|
+
claude plugin marketplace add ./ --scope user
|
|
283
|
+
claude plugin install development@doompi-examples --scope user
|
|
284
|
+
```
|
|
436
285
|
|
|
437
|
-
|
|
438
|
-
|
|
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
|
-
|
|
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
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
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
|
-
|
|
455
|
-
|
|
456
|
-
|
|
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
|
-
|
|
304
|
+
#### Loop
|
|
459
305
|
|
|
460
|
-
|
|
461
|
-
|
|
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
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
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
|
-
|
|
471
|
-
|
|
472
|
-
|
|
317
|
+
### Foundation and interface
|
|
318
|
+
|
|
319
|
+
#### Configuration and composition
|
|
473
320
|
|
|
474
|
-
|
|
475
|
-
|
|
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
|
-
|
|
326
|
+
#### Supporting packages
|
|
478
327
|
|
|
479
|
-
|
|
480
|
-
`doompi
|
|
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
|
-
|
|
483
|
-
|
|
484
|
-
|
|
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
|
-
|
|
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
|
-
|
|
502
|
-
|
|
503
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
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
|
-
|
|
546
|
-
|
|
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 f` the Fable
|
|
441
|
+
flow.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
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
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
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
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
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
|
-
|
|
575
|
-
|
|
576
|
-
|
|
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
|
-
`
|
|
583
|
-
resolved layer components rather than the mode that selected them.
|
|
635
|
+
### `profiles.yaml`: choose a point of view
|
|
584
636
|
|
|
585
|
-
A
|
|
586
|
-
`
|
|
587
|
-
|
|
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
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
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
|
-
|
|
599
|
-
|
|
600
|
-
|
|
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
|