@agimon-ai/doompi-plan 0.0.1-alpha.21 → 0.0.1-alpha.22
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 +48 -39
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,66 +1,75 @@
|
|
|
1
1
|
# @agimon-ai/doompi-plan
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A reviewable planning lifecycle for Pi with narrowed tools, plan storage, normal/debug/Fable flavors, and explicit completion.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
disk, and waits for approval. It snapshots the active tools, model, and thinking level on
|
|
7
|
-
the way in and restores them on the way out. If restoration fails, the session stays
|
|
8
|
-
read-only rather than pretending everything is fine.
|
|
5
|
+
Plan mode removes `edit` and `write` from the active tool set and directs writes through `write_plan`. It does not sandbox Bash, external tools, or the operating system, so treat it as tool-level workflow protection rather than a repository permission boundary.
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
modes, and reports its state on the shared `MODES` line.
|
|
7
|
+
> **Alpha:** planning flows and tool contracts may change between releases.
|
|
12
8
|
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
## Requirements
|
|
10
|
+
|
|
11
|
+
- Node.js 22.19.0 or newer
|
|
12
|
+
- Pi 0.84.2
|
|
15
13
|
|
|
16
14
|
## Install
|
|
17
15
|
|
|
16
|
+
DoomPi includes Plan as an inactive core minor mode. For standalone Pi:
|
|
17
|
+
|
|
18
18
|
```bash
|
|
19
|
-
|
|
19
|
+
pi install npm:@agimon-ai/doompi-plan
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Use `/extensions/doom` for DoomPi integrations or `/extensions/pi` for the plain Pi adapter.
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
Plan to `.doom/modes.yaml`: major modes select always-active capabilities, while Plan is
|
|
26
|
-
available on demand and contributes no active model tools until Plan mode starts.
|
|
24
|
+
## Start and exit
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
| Key | Flavor |
|
|
27
|
+
| --------- | ---------------------------------------------------------- |
|
|
28
|
+
| `SPC p p` | Normal planning |
|
|
29
|
+
| `SPC p d` | Debug planning with a bounded evidence packet |
|
|
30
|
+
| `SPC p f` | Fable-assisted drafting followed by Pi verification |
|
|
31
|
+
| `SPC p e` | Exit and restore the prior model, thinking, and tool state |
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
Normal planning expects repository exploration and delegation where available. Debug planning separates verified evidence from hypotheses. Fable is optional: it requires the configured Fable/Team integration, treats returned text as untrusted, and requires Pi to verify and synthesize the final plan.
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
- `SPC p d` starts debug planning with diagnostic evidence.
|
|
36
|
-
- `SPC p f` starts the repository-aware Fable flow.
|
|
37
|
-
- `SPC p e` exits Plan mode and restores the previous session state.
|
|
35
|
+
A model or tool restoration failure leaves the narrowed Plan state active and reports the failure rather than pretending the session was restored.
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
## Write and complete a plan
|
|
40
38
|
|
|
41
|
-
|
|
39
|
+
`write_plan` accepts visible Markdown plan content and writes a unique file under `~/.pi/plans` by default. It refuses a hidden/empty plan and validates the destination before writing. The plan path and content become visible session state.
|
|
42
40
|
|
|
43
|
-
|
|
44
|
-
it available beside the read-only exploration tools. It does not activate an omitted
|
|
45
|
-
`ask-user` layer, and it removes a stale questionnaire name when no live registration
|
|
46
|
-
exists.
|
|
41
|
+
After a plan exists, `complete_plan` asks whether to exit or continue planning. The user must explicitly approve exit. If the selected mode already exposes `ask_user_question`, Plan reuses it; it does not activate an omitted feedback layer.
|
|
47
42
|
|
|
48
|
-
|
|
49
|
-
Voice mode the choices are narrated instead of shown in a modal, the turn ends, and the
|
|
50
|
-
next user message carries the decision. Plan mode exits only on an explicit `exit`;
|
|
51
|
-
`continue` keeps the repository read-only for another revision.
|
|
43
|
+
In autonomous Voice mode, review choices are narrated, the turn terminates, and the next user message carries the decision.
|
|
52
44
|
|
|
53
|
-
##
|
|
45
|
+
## Configure models and storage
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
modes:
|
|
49
|
+
planning:
|
|
50
|
+
main:
|
|
51
|
+
model: provider/planning-model
|
|
52
|
+
thinking: high
|
|
53
|
+
subagents:
|
|
54
|
+
model: provider/research-model
|
|
55
|
+
thinking: medium
|
|
56
|
+
plansDirectory: ~/.pi/plans
|
|
57
|
+
```
|
|
54
58
|
|
|
55
|
-
|
|
56
|
-
catalog. They run through the same serialized transitions as the leader bindings and are
|
|
57
|
-
not registered as direct Pi tools. The plain Pi adapter does not publish these Doom
|
|
58
|
-
capabilities.
|
|
59
|
+
`main` controls the planning model, `subagents` controls delegated research defaults, and `plansDirectory` can be absolute, repository-relative, or under `~`. Planning and delegated model calls consume provider quota.
|
|
59
60
|
|
|
60
61
|
## Public API
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
The root exports planning configuration schemas, prompts, Fable flow helpers, and the Plan mode service. Focused exports include `/config`, `/planConfig`, `/planMode`, `/fableFlow`, and `/prompts`.
|
|
64
|
+
|
|
65
|
+
## Development
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pnpm build
|
|
69
|
+
pnpm typecheck
|
|
70
|
+
pnpm test
|
|
71
|
+
pnpm lint
|
|
72
|
+
```
|
|
64
73
|
|
|
65
74
|
## License
|
|
66
75
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agimon-ai/doompi-plan",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.22",
|
|
4
4
|
"description": "Reusable Pi read-only planning mode extension",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
"registry": "https://registry.npmjs.org/"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@agimon-ai/doompi-config": "0.0.1-alpha.
|
|
39
|
-
"@agimon-ai/doompi-
|
|
40
|
-
"@agimon-ai/doompi-
|
|
41
|
-
"@agimon-ai/doompi-
|
|
42
|
-
"@agimon-ai/doompi-
|
|
38
|
+
"@agimon-ai/doompi-config": "0.0.1-alpha.22",
|
|
39
|
+
"@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.22",
|
|
40
|
+
"@agimon-ai/doompi-telemetry": "0.0.1-alpha.22",
|
|
41
|
+
"@agimon-ai/doompi-ui": "0.0.1-alpha.22",
|
|
42
|
+
"@agimon-ai/doompi-user-feedback": "0.0.1-alpha.11"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@earendil-works/pi-coding-agent": "0.84.2",
|