@janvitos/pi-plan-build 0.1.49 → 0.1.51
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 +3 -3
- package/index.ts +6 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Optionally keep the approved plan visible in a docked side panel while implement
|
|
|
25
25
|
## Features
|
|
26
26
|
|
|
27
27
|
- New sessions start in **Build** mode.
|
|
28
|
-
- `
|
|
28
|
+
- `Alt+M` cycles **Build → Plan → Build** in every TUI setup. With Pi Plan Build's custom composer active, bare `Tab` also cycles modes while active autocomplete dropdowns retain Pi's normal Tab completion.
|
|
29
29
|
- The custom composer uses OpenCode prompt-inspired blue/orange mode colors on the rounded top-left border and left rail, complemented by Pi's border color on the right rail and rounded bottom-right border; rounded corners inherit their vertical rail colors while horizontal `╌` segments bridge the borders at both junctions, paired with a light vertical `┆` at the top right and a mode-specific bottom-left transition: thin `┆` in Plan and heavy `┇` in Build. The active composer and submitted user messages use a continuous solid thin `│` left rail in both modes. These rails use the active Pi theme's `warning` color in Plan and `thinkingLow` color in Build, and submitted messages retain their original mode after mode changes and session restores. Its metadata row shows mode, model, provider, and thinking level; cycling the thinking level updates that row directly.
|
|
30
30
|
- Pi Plan Build leaves the footer untouched; Pi or another installed extension remains responsible for path, usage, model, provider, thinking, and extension-status information.
|
|
31
31
|
- `/plan`, `/build`, and the `--plan` startup flag.
|
|
@@ -41,7 +41,7 @@ Optionally keep the approved plan visible in a docked side panel while implement
|
|
|
41
41
|
- **Experimental:** In fullscreen TUI, valid checklist plans also offer **Implement step by step** when Pi Plan Build owns the optional fullscreen layout: a passive, non-overlapping docked right panel keeps the plan visible while natural-language prompts gate steps and report completed work. The panel is visual-only and never captures keyboard input. This feature is still under active development.
|
|
42
42
|
- Compatible editor decorators can wrap Pi Plan Build's editor without disabling its composer. If another extension replaces rather than invokes that editor, already owns the editor before Plan Build starts, or replaces the fullscreen layout, Plan Build automatically uses reduced UI: it keeps the core Plan/Build workflow and mode status but does not replace that editor or offer a new step-by-step panel.
|
|
43
43
|
- Staying in Plan mode—or pressing Escape in the approval dialog—produces a durable acknowledgement and stops the run until the user responds.
|
|
44
|
-
- Mode state
|
|
44
|
+
- Mode state and mode-specific tool availability survive compactions, reloads, resumes, and forks.
|
|
45
45
|
- When Pi Plan Build's custom editor is active and Pi recreates it, the latest 100 user prompts from the active session branch are restored for Up/Down history navigation.
|
|
46
46
|
|
|
47
47
|
## Requirements
|
|
@@ -80,7 +80,7 @@ Do not install more than one npm, Git, or local copy at the same time; duplicate
|
|
|
80
80
|
|
|
81
81
|
| Action | Result |
|
|
82
82
|
| --- | --- |
|
|
83
|
-
| `
|
|
83
|
+
| `Alt+M` | Cycle Build and Plan in any TUI setup |
|
|
84
84
|
| `Tab` | With the custom composer active, cycle modes or accept an active autocomplete selection |
|
|
85
85
|
| `/plan` | Select Plan mode |
|
|
86
86
|
| `/build` | Select Build mode |
|
package/index.ts
CHANGED
|
@@ -202,7 +202,7 @@ export default function planBuildModes(pi: ExtensionAPI): void {
|
|
|
202
202
|
if (!reducedUiNoticeShown) {
|
|
203
203
|
reducedUiNoticeShown = true;
|
|
204
204
|
ctx.ui.notify(
|
|
205
|
-
"Another extension owns Pi's custom editor or fullscreen layout. Pi Plan Build disabled its custom composer and experimental step-by-step panel; Plan and Build workflows remain available through
|
|
205
|
+
"Another extension owns Pi's custom editor or fullscreen layout. Pi Plan Build disabled its custom composer and experimental step-by-step panel; Plan and Build workflows remain available through Alt+M, /plan, and /build.",
|
|
206
206
|
"warning",
|
|
207
207
|
);
|
|
208
208
|
}
|
|
@@ -343,7 +343,7 @@ export default function planBuildModes(pi: ExtensionAPI): void {
|
|
|
343
343
|
description: "Switch to Build mode",
|
|
344
344
|
handler: async (_args, ctx) => selectMode("build", ctx, "manual"),
|
|
345
345
|
});
|
|
346
|
-
pi.registerShortcut("
|
|
346
|
+
pi.registerShortcut("alt+m", {
|
|
347
347
|
description: "Cycle Plan and Build modes",
|
|
348
348
|
handler: async (ctx) => selectMode(nextMode(selectedMode), ctx, "manual"),
|
|
349
349
|
});
|
|
@@ -750,6 +750,10 @@ export default function planBuildModes(pi: ExtensionAPI): void {
|
|
|
750
750
|
return { message: { customType: "pi-plan-build-reminder", content, display: false } };
|
|
751
751
|
});
|
|
752
752
|
|
|
753
|
+
pi.on("turn_end", () => {
|
|
754
|
+
applyTools(runMode ?? selectedMode);
|
|
755
|
+
});
|
|
756
|
+
|
|
753
757
|
pi.on("agent_settled", async (_event, ctx) => {
|
|
754
758
|
runMode = undefined;
|
|
755
759
|
applyTools(selectedMode);
|