@gonrocca/zero-pi 0.1.68 โ†’ 0.1.69

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
@@ -145,6 +145,69 @@ into `/forge` for you.
145
145
  | `/zero-diff <slug>` | Preview the logical spec-store merge without writing files. |
146
146
  | `/zero-resume` | Write the session handoff note now. |
147
147
 
148
+ ## ๐ŸŽ›๏ธ Visual chrome: HUD, activity panel, prompt box
149
+
150
+ zero-pi ships several visual extensions. They are related, but each one owns a different part of pi's TUI:
151
+
152
+ | Surface | File | Where it appears | Purpose |
153
+ | ------- | ---- | ---------------- | ------- |
154
+ | **ZERO HUD** | `extensions/zero-hud.ts` | Footer/status line at the bottom | Persistent model/tokens/cost/diff/context/branch telemetry. |
155
+ | **Activity panel** | `extensions/zero-activity-panel.ts` | Widget above the prompt while work is running | Live `/forge` phase progress plus recent tool cards. |
156
+ | **Prompt box** | `extensions/zero-pretty-input-box.ts` | The input/editor box | OMP-like rounded box with ZERO chips and key hints. |
157
+ | **Code fences** | `extensions/zero-pretty-code-fences.ts` | Markdown code blocks in chat | Bordered panels with language badges instead of raw ```txt / ```json lines. |
158
+ | **Working phrases** | `extensions/working-phrases.ts` | Tiny loading row (`Procesandoโ€ฆ (esc)`) | Rotating ZERO/SDD/Star Wars/DBZ phrases and themed spinner. |
159
+
160
+ ### ZERO HUD presets
161
+
162
+ The HUD is the **bottom footer**. It is not the activity panel. Control it with:
163
+
164
+ ```txt
165
+ /zero-hud preview
166
+ /zero-hud compact
167
+ /zero-hud minimal
168
+ /zero-hud full
169
+ /zero-hud ascii
170
+ /zero-hud off
171
+ /zero-hud on
172
+ ```
173
+
174
+ Example compact HUD:
175
+
176
+ ```txt
177
+ ZERO โ–ธ gpt-5.5 โ–ธ tok โ†‘1.1M โ†“42K โ–ธ cost $16.22 โ–ธ diff +0/-0 โ–ธ ctx 11%
178
+ ```
179
+
180
+ Startup preset can be set with:
181
+
182
+ ```bash
183
+ ZERO_HUD_PRESET=full pi
184
+ ```
185
+
186
+ Supported presets: `compact` (default), `minimal`, `full`, `ascii`, `off`.
187
+
188
+ ### Activity panel vs HUD
189
+
190
+ During `/forge`, the activity panel appears **above the prompt** and summarizes the live run:
191
+
192
+ ```txt
193
+ โ•ญโ”€ ZERO activity โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
194
+ โ”‚ SDD โœ“ clarify โ€บ โœ“ explore โ€บ โ ‹ plan โ€บ ยท analyze โ€บ ยท build โ€บ ยท veredicto
195
+ โ”‚ Tools โ ‹ subagent ยท โœ“ read zero-hud.ts ยท โœ“ bash npm test
196
+ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
197
+ ```
198
+
199
+ The activity panel is transient: it clears after the agent finishes. The HUD stays in the footer across normal work.
200
+
201
+ ### Applying visual changes after install
202
+
203
+ After `pi install npm:@gonrocca/zero-pi@<version>`, reload the active session:
204
+
205
+ ```txt
206
+ /reload
207
+ ```
208
+
209
+ If a visual monkeypatch was already loaded in the current process, restarting pi is the safest way to force all visual extensions to reinitialize.
210
+
148
211
  ### Git / PR / Issues
149
212
 
150
213
  Recommended flow: `/zero-branch <slug>` โ†’ `/zero-issue <slug>` โ†’ `/forge <slug>` (the orchestrator validates plan artifacts and can create `/zero-checkpoint` before build) โ†’ `/zero-git-validate <slug> --for=pr` โ†’ `/zero-pr <slug>` โ†’ `/zero-archive <slug>`.
@@ -325,6 +325,13 @@ export default function register(pi?: PiAPI): void {
325
325
  installSpinner();
326
326
  });
327
327
 
328
+ // Pi can reset extension-owned UI during reload/session rebinds. Reinstall the
329
+ // spinner at the start of every run so the symbol survives those resets.
330
+ pi.on("before_agent_start", (_event, ctx) => {
331
+ capture(ctx);
332
+ installSpinner();
333
+ });
334
+
328
335
  pi.on("input", (event, ctx) => {
329
336
  capture(ctx);
330
337
  const text = (event as { text?: string })?.text ?? "";
@@ -333,6 +340,7 @@ export default function register(pi?: PiAPI): void {
333
340
 
334
341
  pi.on("agent_start", (_event, ctx) => {
335
342
  capture(ctx);
343
+ installSpinner();
336
344
  start();
337
345
  });
338
346
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gonrocca/zero-pi",
3
- "version": "0.1.68",
3
+ "version": "0.1.69",
4
4
  "description": "zero-pi โ€” an installable layer for pi (pi.dev): the zero spec-driven development workflow (clarify โ†’ explore โ†’ plan โ†’ analyze โ†’ build โ†’ veredicto) with automatic clarify/analyze gates, per-phase model autotune, and token-efficient batched builds. Adds capability to pi without modifying pi.",
5
5
  "type": "module",
6
6
  "keywords": [