@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.
Files changed (3) hide show
  1. package/README.md +3 -3
  2. package/index.ts +6 -2
  3. 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
- - `Ctrl+Tab` 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.
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 survives reloads, resumes, and forks.
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
- | `Ctrl+Tab` | Cycle Build and Plan in any TUI setup |
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 Ctrl+Tab, /plan, and /build.",
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("ctrl+tab", {
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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@janvitos/pi-plan-build",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "description": "Plan safely, approve explicitly, then implement here or in a clean session.",
5
5
  "type": "module",
6
6
  "license": "MIT",