@agimon-ai/doompi 0.0.1-alpha.18 → 0.0.1-alpha.19

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 CHANGED
@@ -10,6 +10,8 @@ Doompi is a configuration framework for [Pi](https://github.com/earendil-works/p
10
10
  tailored for people whose agent has one MCP server too many. It turns extensions, skills,
11
11
  MCP servers, and system prompts into config instead of background noise.
12
12
 
13
+ ![Doompi terminal interface showing tasks, Plan mode, and the Leader menu](assets/doompi-tui.png)
14
+
13
15
  Plugin systems scope what an agent knows. Nothing scopes what it can reach. Claude Code's
14
16
  `enableAllProjectMcpServers` and static denylist are repository-wide. Doompi draws that
15
17
  boundary around the session. Pick a major mode and some domains; add a profile if you want
@@ -233,7 +235,7 @@ them one at a time.
233
235
 
234
236
  ### Configuration and composition
235
237
 
236
- `@agimon-ai/doompi` is both an extension and the command-line config compiler. `dpi init`
238
+ [`@agimon-ai/doompi`][pkg-doompi] is both an extension and the command-line config compiler. `dpi init`
237
239
  creates repository config for an isolated experiment, while `doompi init` creates the personal
238
240
  config and registers the permanent Pi integration. The sync commands resolve every major mode
239
241
  and domain into a distribution Pi can load quickly. A large major mode with 15 extensions adds
@@ -241,20 +243,20 @@ only 400 ms of code startup time.
241
243
 
242
244
  ### Leader key
243
245
 
244
- `@agimon-ai/doompi-ui` turns `SPC` into a map of the available commands. It stays out of
246
+ [`@agimon-ai/doompi-ui`][pkg-doompi-ui] turns `SPC` into a map of the available commands. It stays out of
245
247
  the way when a draft is not empty, and other packages contribute bindings through one
246
248
  leader API instead of hardcoding their own menus.
247
249
 
248
250
  ### Agent team
249
251
 
250
- `@agimon-ai/doompi-team` runs named subagents asynchronously against a shared task board.
252
+ [`@agimon-ai/doompi-team`][pkg-doompi-team] runs named subagents asynchronously against a shared task board.
251
253
  They can work in parallel, message one another, and use the model policy attached to the
252
254
  selected Team package entry. `SPC a l` lists available agents; `SPC a r` opens current-session runs and
253
255
  their controls.
254
256
 
255
257
  ### Tasks
256
258
 
257
- `@agimon-ai/doompi-task` keeps a task graph on disk, not a disposable checklist in the
259
+ [`@agimon-ai/doompi-task`][pkg-doompi-task] keeps a task graph on disk, not a disposable checklist in the
258
260
  transcript. Dependencies and delegation survive compaction, and work can be handed to a
259
261
  subagent—including a smaller model when the job does not need the expensive one. Seeded
260
262
  `minimal` and `copilot` modes select its `task` layer; omit that layer when a major mode
@@ -262,14 +264,19 @@ should not expose the task tool.
262
264
 
263
265
  ### Runner
264
266
 
265
- `@agimon-ai/doompi-runner` replaces Pi's blocking bash tool with supervised command execution in the default
266
- Copilot mode. Short commands still return inline; long-running commands move into the background with durable
267
- logs and remain inspectable through `SPC r r` or the `doom-runner` CLI.
267
+ [`@agimon-ai/doompi-runner`][pkg-doompi-runner] replaces Pi's blocking `bash` tool with
268
+ supervised command execution in the generated default Copilot mode. Short commands still return
269
+ inline; commands that pass the configurable threshold—60 seconds by default—move into the
270
+ background with durable logs. Use `background: true` for an immediate detached run or
271
+ `interactive: true` when the command needs terminal input. Runner IDs, controls, and logs survive
272
+ compaction and context rewrites and remain available through Runner Space at `SPC r r` or the
273
+ `doom-runner` CLI. Platform-specific RMUX binaries are selected automatically, with a fallback
274
+ when RMUX is unavailable. Custom modes must include the `runner` layer to replace `bash`.
268
275
 
269
276
  ### Auto-compact
270
277
 
271
278
  Ordinary compaction waits for one summary to save an overgrown session.
272
- `@agimon-ai/doompi-autocompact` leaves checkpoints instead:
279
+ [`@agimon-ai/doompi-autocompact`][pkg-doompi-autocompact] leaves checkpoints instead:
273
280
 
274
281
  1. At 50%, it writes the first compact summary.
275
282
  2. Later, it combines that summary with the messages since; the model decides whether the
@@ -281,7 +288,7 @@ and user request with it, so coordination does not have to be guessed back out o
281
288
 
282
289
  ### Help mode
283
290
 
284
- `@agimon-ai/doompi-help` keeps package guidance out of the default prompt. A fresh parent
291
+ [`@agimon-ai/doompi-help`][pkg-doompi-help] keeps package guidance out of the default prompt. A fresh parent
285
292
  session performs no Help retrieval and exposes no Help skills. Use `SPC h e`, or the existing
286
293
  `minor_mode` client in headless sessions, to activate the package indexes; use the same action
287
294
  to deactivate them before the next interaction. The initial contributors expose
@@ -290,25 +297,26 @@ Help runtime.
290
297
 
291
298
  ### MCP
292
299
 
293
- `@agimon-ai/doompi-mcp` is the gate between a session and its servers. It reads `.mcp.json`
300
+ [`@agimon-ai/doompi-mcp`][pkg-doompi-mcp] is the gate between a session and its servers. It reads `.mcp.json`
294
301
  and other common formats, then exposes only the servers and proxy upstreams allowed by the
295
302
  selected domains. Switch domains and that boundary reloads with them.
296
303
 
297
304
  ### Ask user question
298
305
 
299
- `@agimon-ai/doompi-user-feedback` gives the agent a structured question that actually
306
+ [`@agimon-ai/doompi-user-feedback`][pkg-doompi-user-feedback] gives the agent a structured question that actually
300
307
  waits for an answer. In autonomous Voice mode it skips the modal, narrates the choices,
301
308
  and accepts the next spoken response as an ordinary user message.
302
309
 
303
310
  ### Logging and telemetry
304
311
 
305
312
  Doompi telemetry records counters and spans, never prompt text or file content, in a local
306
- SQLite database by default. `SPC h l` opens the metrics, and `@agimon-ai/log-sink-mcp`
307
- gives the agent CLI tools for inspecting its own runs.
313
+ SQLite database by default. `SPC h l` opens the metrics, and
314
+ [`@agimon-ai/log-sink-mcp`][pkg-log-sink-mcp] gives the agent CLI tools for inspecting its own
315
+ runs.
308
316
 
309
317
  ### Plan mode
310
318
 
311
- A promise to "only plan" is not a permission boundary. `@agimon-ai/doompi-plan` makes the
319
+ A promise to "only plan" is not a permission boundary. [`@agimon-ai/doompi-plan`][pkg-doompi-plan] makes the
312
320
  repository read-only while the agent explores, persists the plan, and hands it back for
313
321
  approval. Use `SPC p p` for normal planning, `SPC p d` for debug planning, `SPC p f` for
314
322
  the Fable flow, and `SPC p e` to exit. Turn it on when the approach should be settled
@@ -316,21 +324,21 @@ before the files move.
316
324
 
317
325
  ### Loop mode
318
326
 
319
- `@agimon-ai/doompi-loop` is an in-session scheduler. It runs a prompt immediately and then
327
+ [`@agimon-ai/doompi-loop`][pkg-doompi-loop] is an in-session scheduler. It runs a prompt immediately and then
320
328
  repeats it on an interval; several loops can coexist. Use `SPC l s` to start one and
321
329
  `SPC l l` to list or stop them. It is for recurring checks and prompts that belong to the
322
330
  current session.
323
331
 
324
332
  ### Goal mode
325
333
 
326
- `@agimon-ai/doompi-goal` pins one objective to the session until it completes or you end
334
+ [`@agimon-ai/doompi-goal`][pkg-doompi-goal] pins one objective to the session until it completes or you end
327
335
  it. Use `SPC g g` for status, `SPC g s` to start, `SPC g e` to end, and `SPC g p` for
328
336
  history. Finished goals leave the prompt and tools behind but remain in history when you
329
337
  want to restart one.
330
338
 
331
339
  ### Workflow mode
332
340
 
333
- `@agimon-ai/doompi-workflow` runs GitHub Actions-style job graphs with dependencies,
341
+ [`@agimon-ai/doompi-workflow`][pkg-doompi-workflow] runs GitHub Actions-style job graphs with dependencies,
334
342
  timeouts, artifacts, and a separate Doompi session for each step. Use `SPC w w` to launch,
335
343
  `SPC w l` to manage, `SPC w r` to recover a failed run, and `SPC w e` to give the agent
336
344
  workflow tools or take them back. It is for work that needs hard job boundaries and
@@ -338,7 +346,7 @@ explicit handoffs rather than one long conversation.
338
346
 
339
347
  ### Voice mode
340
348
 
341
- `@agimon-ai/doompi-voice` records and transcribes speech locally; audio stays on the
349
+ [`@agimon-ai/doompi-voice`][pkg-doompi-voice] records and transcribes speech locally; audio stays on the
342
350
  machine. `SPC v v` is one-shot manual dictation and never enables Voice tools. `SPC v a`
343
351
  toggles autonomous capture; only its exact-active TUI session receives the two Voice
344
352
  façades plus the standalone `narrate` tool.
@@ -511,6 +519,24 @@ to be surprised with you.
511
519
 
512
520
  ## Package release order
513
521
 
514
- Publish `@agimon-ai/doompi-extension-contracts` first, then `@agimon-ai/doompi-help`, and only
515
- then the `@agimon-ai/doompi` runtime that consumes them. Generated changelogs remain owned by
516
- the release tooling.
522
+ Publish [`@agimon-ai/doompi-extension-contracts`][pkg-doompi-extension-contracts] first, then
523
+ [`@agimon-ai/doompi-help`][pkg-doompi-help], and only then the
524
+ [`@agimon-ai/doompi`][pkg-doompi] runtime that consumes them. Generated changelogs remain owned
525
+ by the release tooling.
526
+
527
+ [pkg-doompi]: https://www.npmjs.com/package/@agimon-ai/doompi
528
+ [pkg-doompi-ui]: https://www.npmjs.com/package/@agimon-ai/doompi-ui
529
+ [pkg-doompi-team]: https://www.npmjs.com/package/@agimon-ai/doompi-team
530
+ [pkg-doompi-task]: https://www.npmjs.com/package/@agimon-ai/doompi-task
531
+ [pkg-doompi-runner]: https://www.npmjs.com/package/@agimon-ai/doompi-runner
532
+ [pkg-doompi-autocompact]: https://www.npmjs.com/package/@agimon-ai/doompi-autocompact
533
+ [pkg-doompi-help]: https://www.npmjs.com/package/@agimon-ai/doompi-help
534
+ [pkg-doompi-mcp]: https://www.npmjs.com/package/@agimon-ai/doompi-mcp
535
+ [pkg-doompi-user-feedback]: https://www.npmjs.com/package/@agimon-ai/doompi-user-feedback
536
+ [pkg-log-sink-mcp]: https://www.npmjs.com/package/@agimon-ai/log-sink-mcp
537
+ [pkg-doompi-plan]: https://www.npmjs.com/package/@agimon-ai/doompi-plan
538
+ [pkg-doompi-loop]: https://www.npmjs.com/package/@agimon-ai/doompi-loop
539
+ [pkg-doompi-goal]: https://www.npmjs.com/package/@agimon-ai/doompi-goal
540
+ [pkg-doompi-workflow]: https://www.npmjs.com/package/@agimon-ai/doompi-workflow
541
+ [pkg-doompi-voice]: https://www.npmjs.com/package/@agimon-ai/doompi-voice
542
+ [pkg-doompi-extension-contracts]: https://www.npmjs.com/package/@agimon-ai/doompi-extension-contracts
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi",
3
- "version": "0.0.1-alpha.18",
3
+ "version": "0.0.1-alpha.19",
4
4
  "description": "Pi-based agent harness for repository automations and developer workflows",
5
5
  "keywords": [
6
6
  "ai",
@@ -18,6 +18,7 @@
18
18
  "dpi": "./dist/bin/dpi.mjs"
19
19
  },
20
20
  "files": [
21
+ "assets",
21
22
  "dist"
22
23
  ],
23
24
  "type": "module",
@@ -345,24 +346,24 @@
345
346
  "rolldown": "1.0.0-rc.17",
346
347
  "typebox": "1.1.38",
347
348
  "yaml": "2.9.0",
348
- "@agimon-ai/doompi-autocompact": "0.0.1-alpha.18",
349
- "@agimon-ai/doompi-config": "0.0.1-alpha.18",
350
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.18",
351
- "@agimon-ai/doompi-file-edit": "0.0.1-alpha.18",
352
- "@agimon-ai/doompi-help": "0.0.1-alpha.1",
353
- "@agimon-ai/doompi-loop": "0.0.1-alpha.18",
354
- "@agimon-ai/doompi-mcp": "0.0.1-alpha.18",
355
- "@agimon-ai/doompi-runner": "0.0.1-alpha.18",
356
- "@agimon-ai/doompi-plan": "0.0.1-alpha.18",
357
- "@agimon-ai/doompi-team": "0.0.1-alpha.18",
358
- "@agimon-ai/doompi-task": "0.0.1-alpha.18",
359
- "@agimon-ai/doompi-goal": "0.0.1-alpha.8",
360
- "@agimon-ai/doompi-log": "0.0.1-alpha.18",
361
- "@agimon-ai/doompi-telemetry": "0.0.1-alpha.18",
362
- "@agimon-ai/doompi-workflow": "0.0.1-alpha.18",
363
- "@agimon-ai/doompi-user-feedback": "0.0.1-alpha.7",
364
- "@agimon-ai/doompi-ui": "0.0.1-alpha.18",
365
- "@agimon-ai/doompi-voice": "0.0.1-alpha.18"
349
+ "@agimon-ai/doompi-file-edit": "0.0.1-alpha.19",
350
+ "@agimon-ai/doompi-config": "0.0.1-alpha.19",
351
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.19",
352
+ "@agimon-ai/doompi-log": "0.0.1-alpha.19",
353
+ "@agimon-ai/doompi-loop": "0.0.1-alpha.19",
354
+ "@agimon-ai/doompi-mcp": "0.0.1-alpha.19",
355
+ "@agimon-ai/doompi-runner": "0.0.1-alpha.19",
356
+ "@agimon-ai/doompi-goal": "0.0.1-alpha.9",
357
+ "@agimon-ai/doompi-plan": "0.0.1-alpha.19",
358
+ "@agimon-ai/doompi-autocompact": "0.0.1-alpha.19",
359
+ "@agimon-ai/doompi-telemetry": "0.0.1-alpha.19",
360
+ "@agimon-ai/doompi-task": "0.0.1-alpha.19",
361
+ "@agimon-ai/doompi-user-feedback": "0.0.1-alpha.8",
362
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.19",
363
+ "@agimon-ai/doompi-team": "0.0.1-alpha.19",
364
+ "@agimon-ai/doompi-help": "0.0.1-alpha.2",
365
+ "@agimon-ai/doompi-workflow": "0.0.1-alpha.19",
366
+ "@agimon-ai/doompi-voice": "0.0.1-alpha.19"
366
367
  },
367
368
  "devDependencies": {
368
369
  "@earendil-works/pi-ai": "0.84.2",