@gonrocca/zero-pi 0.1.68 → 0.1.70
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 +64 -0
- package/extensions/working-phrases.ts +8 -0
- package/package.json +1 -1
- package/themes/zero-omp-neon.json +85 -0
package/README.md
CHANGED
|
@@ -123,6 +123,7 @@ into `/forge` for you.
|
|
|
123
123
|
| **SDD routing skill** | Natural-language requests that say "hacelo con sdd" route into `/forge` without remembering the slash command. |
|
|
124
124
|
| **`zero-sdd` theme** | A dark, high-contrast pi theme tuned for SDD work. |
|
|
125
125
|
| **`zero-sunset` theme** | A warm sunset variant — gold/coral/magenta accents over warm-dark panels, with one cool tone kept for syntax legibility. Activate with `/theme zero-sunset`. |
|
|
126
|
+
| **`zero-omp-neon` theme** | A high-contrast OMP-inspired neon theme with separated colour roles: cyan links/paths, gold titles, mint code/success, violet borders, and navy tool cards. Activate with `/theme zero-omp-neon`. |
|
|
126
127
|
|
|
127
128
|
## ⌨️ Commands
|
|
128
129
|
|
|
@@ -145,6 +146,69 @@ into `/forge` for you.
|
|
|
145
146
|
| `/zero-diff <slug>` | Preview the logical spec-store merge without writing files. |
|
|
146
147
|
| `/zero-resume` | Write the session handoff note now. |
|
|
147
148
|
|
|
149
|
+
## 🎛️ Visual chrome: HUD, activity panel, prompt box
|
|
150
|
+
|
|
151
|
+
zero-pi ships several visual extensions. They are related, but each one owns a different part of pi's TUI:
|
|
152
|
+
|
|
153
|
+
| Surface | File | Where it appears | Purpose |
|
|
154
|
+
| ------- | ---- | ---------------- | ------- |
|
|
155
|
+
| **ZERO HUD** | `extensions/zero-hud.ts` | Footer/status line at the bottom | Persistent model/tokens/cost/diff/context/branch telemetry. |
|
|
156
|
+
| **Activity panel** | `extensions/zero-activity-panel.ts` | Widget above the prompt while work is running | Live `/forge` phase progress plus recent tool cards. |
|
|
157
|
+
| **Prompt box** | `extensions/zero-pretty-input-box.ts` | The input/editor box | OMP-like rounded box with ZERO chips and key hints. |
|
|
158
|
+
| **Code fences** | `extensions/zero-pretty-code-fences.ts` | Markdown code blocks in chat | Bordered panels with language badges instead of raw ```txt / ```json lines. |
|
|
159
|
+
| **Working phrases** | `extensions/working-phrases.ts` | Tiny loading row (`Procesando… (esc)`) | Rotating ZERO/SDD/Star Wars/DBZ phrases and themed spinner. |
|
|
160
|
+
|
|
161
|
+
### ZERO HUD presets
|
|
162
|
+
|
|
163
|
+
The HUD is the **bottom footer**. It is not the activity panel. Control it with:
|
|
164
|
+
|
|
165
|
+
```txt
|
|
166
|
+
/zero-hud preview
|
|
167
|
+
/zero-hud compact
|
|
168
|
+
/zero-hud minimal
|
|
169
|
+
/zero-hud full
|
|
170
|
+
/zero-hud ascii
|
|
171
|
+
/zero-hud off
|
|
172
|
+
/zero-hud on
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Example compact HUD:
|
|
176
|
+
|
|
177
|
+
```txt
|
|
178
|
+
ZERO ▸ gpt-5.5 ▸ tok ↑1.1M ↓42K ▸ cost $16.22 ▸ diff +0/-0 ▸ ctx 11%
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Startup preset can be set with:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
ZERO_HUD_PRESET=full pi
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Supported presets: `compact` (default), `minimal`, `full`, `ascii`, `off`.
|
|
188
|
+
|
|
189
|
+
### Activity panel vs HUD
|
|
190
|
+
|
|
191
|
+
During `/forge`, the activity panel appears **above the prompt** and summarizes the live run:
|
|
192
|
+
|
|
193
|
+
```txt
|
|
194
|
+
╭─ ZERO activity ───────────────────────────────────────────────────────╮
|
|
195
|
+
│ SDD ✓ clarify › ✓ explore › ⠋ plan › · analyze › · build › · veredicto
|
|
196
|
+
│ Tools ⠋ subagent · ✓ read zero-hud.ts · ✓ bash npm test
|
|
197
|
+
╰────────────────────────────────────────────────────────────────────────╯
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
The activity panel is transient: it clears after the agent finishes. The HUD stays in the footer across normal work.
|
|
201
|
+
|
|
202
|
+
### Applying visual changes after install
|
|
203
|
+
|
|
204
|
+
After `pi install npm:@gonrocca/zero-pi@<version>`, reload the active session:
|
|
205
|
+
|
|
206
|
+
```txt
|
|
207
|
+
/reload
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
If a visual monkeypatch was already loaded in the current process, restarting pi is the safest way to force all visual extensions to reinitialize.
|
|
211
|
+
|
|
148
212
|
### Git / PR / Issues
|
|
149
213
|
|
|
150
214
|
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.
|
|
3
|
+
"version": "0.1.70",
|
|
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": [
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "zero-omp-neon",
|
|
4
|
+
"vars": {
|
|
5
|
+
"bg": "#090b12",
|
|
6
|
+
"panel": "#111421",
|
|
7
|
+
"panel2": "#171329",
|
|
8
|
+
"panelTool": "#101a28",
|
|
9
|
+
"panelOk": "#0d1f1e",
|
|
10
|
+
"panelErr": "#2a111a",
|
|
11
|
+
"selected": "#27213f",
|
|
12
|
+
"textMain": "#ece8f6",
|
|
13
|
+
"prose": "#c9bed6",
|
|
14
|
+
"mutedCool": "#a99eb8",
|
|
15
|
+
"dimCool": "#6e657e",
|
|
16
|
+
"cyan": "#35e8ff",
|
|
17
|
+
"blue": "#67a8ff",
|
|
18
|
+
"mint": "#2dfcb3",
|
|
19
|
+
"green": "#5bff8a",
|
|
20
|
+
"gold": "#ffd166",
|
|
21
|
+
"amber": "#ff9f43",
|
|
22
|
+
"coral": "#ff7a66",
|
|
23
|
+
"rose": "#ff4f7b",
|
|
24
|
+
"magenta": "#d86bff",
|
|
25
|
+
"violet": "#a78bfa"
|
|
26
|
+
},
|
|
27
|
+
"colors": {
|
|
28
|
+
"accent": "cyan",
|
|
29
|
+
"border": "violet",
|
|
30
|
+
"borderAccent": "cyan",
|
|
31
|
+
"borderMuted": "dimCool",
|
|
32
|
+
"success": "mint",
|
|
33
|
+
"error": "rose",
|
|
34
|
+
"warning": "amber",
|
|
35
|
+
"muted": "mutedCool",
|
|
36
|
+
"dim": "dimCool",
|
|
37
|
+
"text": "textMain",
|
|
38
|
+
"thinkingText": "prose",
|
|
39
|
+
"selectedBg": "selected",
|
|
40
|
+
"userMessageBg": "panel2",
|
|
41
|
+
"userMessageText": "gold",
|
|
42
|
+
"customMessageBg": "panel",
|
|
43
|
+
"customMessageText": "prose",
|
|
44
|
+
"customMessageLabel": "cyan",
|
|
45
|
+
"toolPendingBg": "panel2",
|
|
46
|
+
"toolSuccessBg": "panelTool",
|
|
47
|
+
"toolErrorBg": "panelErr",
|
|
48
|
+
"toolTitle": "gold",
|
|
49
|
+
"toolOutput": "prose",
|
|
50
|
+
"mdHeading": "cyan",
|
|
51
|
+
"mdLink": "cyan",
|
|
52
|
+
"mdLinkUrl": "violet",
|
|
53
|
+
"mdCode": "mint",
|
|
54
|
+
"mdCodeBlock": "mint",
|
|
55
|
+
"mdCodeBlockBorder": "violet",
|
|
56
|
+
"mdQuote": "mutedCool",
|
|
57
|
+
"mdQuoteBorder": "dimCool",
|
|
58
|
+
"mdHr": "dimCool",
|
|
59
|
+
"mdListBullet": "magenta",
|
|
60
|
+
"toolDiffAdded": "mint",
|
|
61
|
+
"toolDiffRemoved": "rose",
|
|
62
|
+
"toolDiffContext": "mutedCool",
|
|
63
|
+
"syntaxComment": "dimCool",
|
|
64
|
+
"syntaxKeyword": "magenta",
|
|
65
|
+
"syntaxFunction": "cyan",
|
|
66
|
+
"syntaxVariable": "gold",
|
|
67
|
+
"syntaxString": "mint",
|
|
68
|
+
"syntaxNumber": "coral",
|
|
69
|
+
"syntaxType": "blue",
|
|
70
|
+
"syntaxOperator": "rose",
|
|
71
|
+
"syntaxPunctuation": "mutedCool",
|
|
72
|
+
"thinkingOff": "dimCool",
|
|
73
|
+
"thinkingMinimal": "mutedCool",
|
|
74
|
+
"thinkingLow": "blue",
|
|
75
|
+
"thinkingMedium": "gold",
|
|
76
|
+
"thinkingHigh": "coral",
|
|
77
|
+
"thinkingXhigh": "magenta",
|
|
78
|
+
"bashMode": "cyan"
|
|
79
|
+
},
|
|
80
|
+
"export": {
|
|
81
|
+
"pageBg": "#090b12",
|
|
82
|
+
"cardBg": "#111421",
|
|
83
|
+
"infoBg": "#171329"
|
|
84
|
+
}
|
|
85
|
+
}
|