@pasko70/pibo 3.1.3 → 3.2.0
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 +2 -2
- package/dist/apps/chat/data/timeline-query-service.js +5 -2
- package/dist/apps/chat/output-compactor.js +33 -30
- package/dist/apps/chat/trace-v2.js +1 -0
- package/dist/apps/chat/trace.js +3 -1
- package/dist/apps/chat/web-app.js +106 -65
- package/dist/apps/chat-ui/assets/{dist-CoA9zNTP.js → dist-BAXv9edD.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BNzch-mL.js → dist-CiwafO2k.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DDRlEGPR.js → dist-DD2HRAgt.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-liw1S7HS.js → dist-NsHPx2KS.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-7DhHpLCA.js → dist-jgYATWSF.js} +1 -1
- package/dist/apps/chat-ui/assets/index-BTzIdlcK.css +1 -0
- package/dist/apps/chat-ui/assets/index-C-s68zrN.js +228 -0
- package/dist/apps/chat-ui/index.html +2 -2
- package/dist/apps/chat-vscode-web/assets/{index-SluZr_-r.css → index-b18ZkEo0.css} +1 -1
- package/dist/apps/chat-vscode-web/assets/index-nHYofa-e.js +43 -0
- package/dist/apps/chat-vscode-web/index.html +2 -2
- package/dist/cli-session/localSessionSource.js +26 -20
- package/dist/core/output-persistence-retry.js +23 -1
- package/dist/core/output-render-sequence.js +33 -9
- package/dist/data/ingest-service.js +8 -0
- package/dist/debug/index.js +294 -2
- package/dist/debug/output-integrity.js +608 -0
- package/dist/debug/output-repair.js +584 -0
- package/dist/debug/trace.js +2 -0
- package/dist/reliability/store.js +2 -2
- package/dist/sessions/pibo-data-store.js +26 -20
- package/dist/setup/cli.js +5 -5
- package/dist/shared/trace-engine.js +5 -2
- package/dist/shared/trace-event-projection.js +74 -0
- package/dist/shared/trace-page-merge.js +31 -5
- package/docs/project/guides/pibo-on-windows-via-wsl.md +292 -0
- package/docs/project/guides/pibo-vscode-ext-quickstart.md +287 -0
- package/docs/project/installation-profiles.md +134 -0
- package/docs/project/operations/index.md +10 -0
- package/docs/{ops → project/operations}/install-developer-host.md +19 -0
- package/docs/{ops → project/operations}/install-user-host.md +19 -0
- package/docs/{ops → project/operations}/upgrade-user-to-developer-host.md +19 -0
- package/docs/{ops → project/operations}/vscode-extension-release.md +19 -0
- package/npm-shrinkwrap.json +4 -3
- package/package.json +17 -3
- package/skills/builtin/pibo-agent-runtime-adapter/references/testing-migration-and-validation.md +3 -1
- package/skills/builtin/pibo-spec-writing/SKILL.md +110 -168
- package/skills/builtin/prd/SKILL.md +18 -0
- package/dist/apps/chat-ui/assets/index-BKp6zKIe.js +0 -228
- package/dist/apps/chat-ui/assets/index-CmqRSbBU.css +0 -1
- package/dist/apps/chat-vscode-web/assets/index-CKC-46jZ.js +0 -43
- package/docs/README.md +0 -34
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "Guide"
|
|
3
|
+
title: "Pibo Quick Start — CLI + VS Code Extension"
|
|
4
|
+
description: "Provides a German-language quick start for installing Pibo and using its VS Code extension."
|
|
5
|
+
tags: ["cli", "installation", "quickstart", "vscode"]
|
|
6
|
+
status: "draft"
|
|
7
|
+
authority: "directive"
|
|
8
|
+
generated:
|
|
9
|
+
by: "openai/codex"
|
|
10
|
+
at: "2026-08-30T15:47:50Z"
|
|
11
|
+
sources:
|
|
12
|
+
- id: "foundation-relocation-source"
|
|
13
|
+
resource: "https://github.com/Pascapone/pibo/blob/2aef244301f5d181624662fdad53e18e83e80bd9/docs/guides/pibo-vscode-ext-quickstart.md"
|
|
14
|
+
title: "Original byte-preserved Pibo VS Code extension quick start"
|
|
15
|
+
commit: "2aef244301f5d181624662fdad53e18e83e80bd9"
|
|
16
|
+
path: "docs/guides/pibo-vscode-ext-quickstart.md"
|
|
17
|
+
sha256: "ff1b33edf70c89ce9b128382d05d5fa28735ede3fc3ba40429bece172fc2d716"
|
|
18
|
+
relation: "Byte-identical body lineage before Foundation relocation."
|
|
19
|
+
---
|
|
20
|
+
# Pibo Quick Start — CLI + VS Code Extension
|
|
21
|
+
|
|
22
|
+
Diese Anleitung bringt dich in ungefähr 15 Minuten vom frischen Laptop zur
|
|
23
|
+
laufenden Pibo-VSCode-Extension.
|
|
24
|
+
|
|
25
|
+
## Was du am Ende hast
|
|
26
|
+
|
|
27
|
+
- `pibo` CLI global installiert
|
|
28
|
+
- Ein laufendes `pibo gateway:web` (Auth-Gateway) auf `http://127.0.0.1:4788`
|
|
29
|
+
- Die Pibo VS Code Extension in deinem Editor
|
|
30
|
+
- Eine erste Session in deinem aktuellen Projekt-Workspace
|
|
31
|
+
|
|
32
|
+
## 0. Voraussetzungen
|
|
33
|
+
|
|
34
|
+
| Was | Warum | Wie prüfen |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| **Node.js 24+** | Pibo läuft auf Node 24 (steht so in `package.json#engines`) | `node --version` |
|
|
37
|
+
| **VS Code** (oder Insiders / VSCodium) | Ziel der Extension | `code --version` |
|
|
38
|
+
| **Internet** | npm + GitHub Releases | ping `registry.npmjs.org` |
|
|
39
|
+
| Optional: **Google OAuth Client** | Echter Login via Google | Console holen: <https://console.cloud.google.com/apis/credentials> |
|
|
40
|
+
|
|
41
|
+
Falls dein `apt`-Node zu alt ist: <https://nodejs.org/en/download> oder `fnm`/`nvm` benutzen.
|
|
42
|
+
|
|
43
|
+
## 1. Pibo CLI installieren
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install -g @pasko70/pibo
|
|
47
|
+
pibo --version # soll 1.3.0 (oder neuer) zeigen
|
|
48
|
+
pibo --help # zeigt die Top-Level-Commands
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Falls du eine Permission-Fehlermeldung bekommst (Linux/macOS):
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
mkdir -p ~/.local
|
|
55
|
+
npm config set prefix ~/.local
|
|
56
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
57
|
+
npm install -g @pasko70/pibo
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Diese PATH-Zeile am besten in deine `~/.bashrc` / `~/.zshrc` schreiben.
|
|
61
|
+
|
|
62
|
+
## 2. Auth einrichten (einmalig)
|
|
63
|
+
|
|
64
|
+
Pibo nutzt Better Auth + Google OAuth. Die Werte landen in `~/.pibo/config.json`.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pibo config set auth.baseURL http://127.0.0.1:4788
|
|
68
|
+
pibo config set auth.secret "$(openssl rand -hex 32)" # beliebiger 32+ Zeichen-String
|
|
69
|
+
pibo config set auth.googleClientId <aus-google-console>
|
|
70
|
+
pibo config set auth.googleClientSecret <aus-google-console>
|
|
71
|
+
pibo config set auth.allowedEmails deine@email.com
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Woher bekomme ich die Google-Werte?**
|
|
75
|
+
1. <https://console.cloud.google.com/apis/credentials> öffnen
|
|
76
|
+
2. "OAuth 2.0 Client IDs" → "Create OAuth client ID" → Typ "Web application"
|
|
77
|
+
3. Authorized redirect URIs: `http://127.0.0.1:4788/api/auth/callback/google` eintragen
|
|
78
|
+
4. Client ID und Client Secret in die Config setzen
|
|
79
|
+
5. In deiner Google-Console unter "OAuth consent screen" die gewünschten Test-User hinzufügen
|
|
80
|
+
|
|
81
|
+
**Lokal ohne Google testen?** Setze `auth.baseURL=http://localhost:4788` und melde dich ohne externe Auth an (Pibo akzeptiert auf Loopback auch direkten Zugriff). Für die VSCode-Extension reicht das zum Ausprobieren.
|
|
82
|
+
|
|
83
|
+
Verify:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pibo config show
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 3. Gateway starten
|
|
90
|
+
|
|
91
|
+
In einem Terminal (das Terminal offen lassen):
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
pibo gateway:web
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Erwartete Ausgabe (ungefähr):
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
[gateway:web] listening on http://127.0.0.1:4788
|
|
101
|
+
[gateway:web] auth baseURL = http://127.0.0.1:4788
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Im Browser öffnen: <http://127.0.0.1:4788>. Du solltest die Pibo-Web-Oberfläche sehen und dich einloggen können.
|
|
105
|
+
|
|
106
|
+
> Tipp: Wenn du das Gateway dauerhaft laufen lassen willst (z.B. auf einem
|
|
107
|
+
> Server), schau dir `pibo gateway web status/start/restart` an — das ist
|
|
108
|
+
> der produktive Pfad mit `pibo-web.service` dahinter.
|
|
109
|
+
|
|
110
|
+
## 4. VS Code Extension installieren
|
|
111
|
+
|
|
112
|
+
Du hast zwei Wege.
|
|
113
|
+
|
|
114
|
+
### Weg A: Über die CLI (empfohlen)
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pibo vscode install
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Das Script:
|
|
121
|
+
|
|
122
|
+
1. Findet deine `code` (oder `code-insiders` / `codium`) Binary im PATH
|
|
123
|
+
2. Lädt die neueste VSIX aus dem GitHub Release von `Pascapone/pibo`
|
|
124
|
+
3. Installiert sie via `code --install-extension <vsix>`
|
|
125
|
+
4. Verifiziert mit `code --list-extensions --show-versions`
|
|
126
|
+
|
|
127
|
+
Verify:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
pibo vscode status
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Erwartete Ausgabe:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
extension: pibo.pibo-vscode@1.3.0 installed
|
|
137
|
+
binary: code (at /usr/bin/code)
|
|
138
|
+
latest: v1.3.0
|
|
139
|
+
cache: /home/<du>/.pibo/vscode/cache/v1.3.0/pibo.vsix
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Weg B: Über den VS Code Marketplace
|
|
143
|
+
|
|
144
|
+
1. VS Code öffnen
|
|
145
|
+
2. Sidebar → Extensions (`Ctrl+Shift+X` / `Cmd+Shift+X`)
|
|
146
|
+
3. Suchen nach "Pibo" (Publisher: `pibo`)
|
|
147
|
+
4. "Install" klicken
|
|
148
|
+
|
|
149
|
+
Falls die Extension noch nicht im Marketplace sichtbar ist, nimm Weg A — der lädt direkt aus dem GitHub Release.
|
|
150
|
+
|
|
151
|
+
## 5. Erste Session in VS Code
|
|
152
|
+
|
|
153
|
+
1. **VS Code öffnen**, einen Projektordner als Workspace laden
|
|
154
|
+
(z.B. `File → Open Folder` → irgendein Repo)
|
|
155
|
+
2. **Pibo-Sidebar** öffnen: Klick auf das Pibo-Icon in der linken
|
|
156
|
+
Activity Bar (es heißt einfach "Pibo")
|
|
157
|
+
3. Beim ersten Öffnen passiert automatisch:
|
|
158
|
+
- Die Extension mappt deinen Workspace-Folder auf einen Pibo-Room
|
|
159
|
+
- Falls noch kein Room existiert: einer wird angelegt
|
|
160
|
+
- Falls genau ein Room existiert: direkt rein
|
|
161
|
+
- Falls mehrere existieren: ein Room-Picker erscheint
|
|
162
|
+
4. **Neue Session starten**: in der Sidebar auf "New Session" klicken
|
|
163
|
+
(oder Command Palette → `Pibo: New Session`)
|
|
164
|
+
5. **Chatten**: im Composer Loss tippen, Enter
|
|
165
|
+
|
|
166
|
+
Die Session erscheint automatisch auch in der Web App unter
|
|
167
|
+
<http://127.0.0.1:4788> — und umgekehrt.
|
|
168
|
+
|
|
169
|
+
## 6. Nützliche Kommandos
|
|
170
|
+
|
|
171
|
+
In der **Command Palette** (`Ctrl+Shift+P` / `Cmd+Shift+P`):
|
|
172
|
+
|
|
173
|
+
| Kommando | Was es tut |
|
|
174
|
+
|---|---|
|
|
175
|
+
| `Pibo: New Session` | Neue Session im aktuellen Room |
|
|
176
|
+
| `Pibo: Delete Current Session` | Aktuelle Session löschen |
|
|
177
|
+
| `Pibo: Rename Current Session` | Session umbenennen |
|
|
178
|
+
| `Pibo: Open in Chat Web` | Springt zur aktuellen Session im Browser |
|
|
179
|
+
| `Pibo: Sign In` | Login mit openai/anthropic/google Provider |
|
|
180
|
+
|
|
181
|
+
In der **CLI**:
|
|
182
|
+
|
|
183
|
+
| Kommando | Was es tut |
|
|
184
|
+
|---|---|
|
|
185
|
+
| `pibo vscode install` | Extension installieren / upgraden |
|
|
186
|
+
| `pibo vscode status` | Installations-Status prüfen |
|
|
187
|
+
| `pibo vscode uninstall` | Extension entfernen |
|
|
188
|
+
| `pibo vscode install --vsix <pfad>` | Lokale VSIX installieren (z.B. selbst gebaute) |
|
|
189
|
+
| `pibo vscode install --from-url <url>` | VSIX von beliebiger URL (z.B. internem Mirror) |
|
|
190
|
+
| `pibo vscode install --version v1.4.0` | Bestimmte Version installieren |
|
|
191
|
+
| `pibo config show` | Config anzeigen (Werte sind redacted) |
|
|
192
|
+
| `pibo data rooms` | Rooms / Workspaces anzeigen |
|
|
193
|
+
| `pibo debug session <id>` | Session-Details inspizieren |
|
|
194
|
+
|
|
195
|
+
## 7. Konfiguration
|
|
196
|
+
|
|
197
|
+
Die Extension kennt folgende Einstellungen:
|
|
198
|
+
|
|
199
|
+
- **`pibo.chatWebUrl`** (default: `http://127.0.0.1:4788`)
|
|
200
|
+
→ URL des laufenden Gateway. Anpassen, wenn dein Gateway woanders läuft
|
|
201
|
+
(anderer Port, LAN-IP, Tunnel, etc.). Per-Workspace oder global setzen.
|
|
202
|
+
- **`pibo.sidecar.port`** (default: `4789`)
|
|
203
|
+
→ Loopback-Port für den eingebetteten Sidecar, der ab VS Code 1.117.0
|
|
204
|
+
die Web-App im Sidebar hostet. Wird automatisch auf einen freien
|
|
205
|
+
Loopback-Port umgestellt, wenn der Default belegt ist.
|
|
206
|
+
- **`pibo.sidecar.gatewayProbeTimeoutMs`** (default: `1500`)
|
|
207
|
+
→ Timeout für die Erreichbarkeits-Probe des Gateway. Wenn die Probe
|
|
208
|
+
fehlschlägt, fällt die Sidebar auf den Empty-State-Shell zurück.
|
|
209
|
+
|
|
210
|
+
Ändern via:
|
|
211
|
+
|
|
212
|
+
- VS Code: Settings → "Pibo"
|
|
213
|
+
- JSON: `"pibo.chatWebUrl": "http://192.168.1.50:4788"` in `.vscode/settings.json`
|
|
214
|
+
- Env: `PIBO_CHAT_WEB_URL=http://...` (überschreibt alles)
|
|
215
|
+
|
|
216
|
+
## 7a. Architektur (ab 1.4.0): Sidecar + Inlined SPA
|
|
217
|
+
|
|
218
|
+
VS Code ab 1.117.0 hat die Workbench-CSP für Webviews verschärft
|
|
219
|
+
(`frame-src 'self'`). Die ältere Sidebar-Implementierung hat das
|
|
220
|
+
Chat-vscode-SPA über `window.location.replace('http://127.0.0.1:4788/...')`
|
|
221
|
+
geladen — das wird seit 1.117.0 von der Workbench blockiert.
|
|
222
|
+
|
|
223
|
+
Die neue Architektur umgeht die Sperre, ohne die Workbench-CSP zu lockern:
|
|
224
|
+
|
|
225
|
+
1. **Sidecar** — eine kleine Node.js HTTP-Server-Instanz im Extension-Host,
|
|
226
|
+
gebunden an `127.0.0.1:<port>` (Default 4789). Proxied `/api/...`-Calls
|
|
227
|
+
vom Webview zum Gateway, hält die dev-auth-Cookie-Session im Speicher
|
|
228
|
+
und streamt Antworten 1:1 (wichtig für SSE). Bindet ausschließlich auf
|
|
229
|
+
Loopback, erzwingt `vscode-webview://`-CORS, niemals extern erreichbar.
|
|
230
|
+
2. **Port-Mapping** — VS Code routet Anfragen an
|
|
231
|
+
`https://<webviewId>.vscode-resource.vscode-cdn.net:<port>` intern
|
|
232
|
+
auf `http://127.0.0.1:<port>` weiter. Diese Origin ist in der
|
|
233
|
+
Workbench-`connect-src` whitelisted.
|
|
234
|
+
3. **Inlined Bundle** — der gebaute Vite-Output (`assets/index-*.js`,
|
|
235
|
+
`assets/index-*.css`) wird in den Webview-HTML als `<script nonce=...>`
|
|
236
|
+
und `<style nonce=...>` inlined. Dadurch umgehen wir die strikte
|
|
237
|
+
`script-src`-Direktive der Workbench.
|
|
238
|
+
4. **Health-Probe** — beim Webview-Setup prüft der Sidecar, ob das
|
|
239
|
+
Gateway erreichbar ist. Wenn ja, inlined SPA. Wenn nein, klassische
|
|
240
|
+
Empty-State-Shell mit `pibo gateway:web`-Hinweis.
|
|
241
|
+
|
|
242
|
+
Trade-offs und Sicherheitsanalyse stehen im Implementierungs-Plan
|
|
243
|
+
`docs/plans/vscode-webview-sidecar-implementation-plan-2026-06-15.md`.
|
|
244
|
+
|
|
245
|
+
## 8. Troubleshooting
|
|
246
|
+
|
|
247
|
+
**"Gateway not available" / Sidebar zeigt Fehler**
|
|
248
|
+
→ Ist `pibo gateway:web` gestartet? Auf `curl http://127.0.0.1:4788/api/chat/bootstrap` testen.
|
|
249
|
+
|
|
250
|
+
**Sidebar zeigt "Swap fehlgeschlagen: dev-auth handshake did not complete"**
|
|
251
|
+
→ Du betreibst das Production-Gateway (Better Auth / Google OAuth). Die VS-Code-Extension hat keinen Browser, kann den OAuth-Flow nicht durchlaufen, und braucht den lokalen Dev-Auth-Flow. Lösung: `pibo gateway:web --auth=local` starten oder `pibo config set auth.mode local && pibo gateway:web`. Die Sidebar swapt dann automatisch von der Shell zur inlined SPA.
|
|
252
|
+
|
|
253
|
+
**Login funktioniert nicht**
|
|
254
|
+
→ Google OAuth Client korrekt? Redirect-URI `http://127.0.0.1:4788/api/auth/callback/google` eingetragen? `pibo config show` zeigt deine Werte (redacted)?
|
|
255
|
+
|
|
256
|
+
**Extension findet das Gateway nicht**
|
|
257
|
+
→ Andere URL? `pibo.chatWebUrl` Setting prüfen. Für andere Maschine: `--web-host 0.0.0.0` beim Start, dann `pibo.chatWebUrl=http://<lan-ip>:4788` setzen.
|
|
258
|
+
|
|
259
|
+
**Sidebar bleibt leer nach Workspace-Öffnen**
|
|
260
|
+
→ In der Output-Panel → "Pibo" schauen. Steht dort der Grund? Meist: fehlender `code`-Binary auf PATH (Extension kann sich dann nicht installieren) oder Auth-Bridge-Problem.
|
|
261
|
+
|
|
262
|
+
**Updates installieren**
|
|
263
|
+
→ `pibo vscode install` zieht die neueste GitHub-Release-VSIX. So upgrade-st du.
|
|
264
|
+
|
|
265
|
+
**Komplett zurücksetzen**
|
|
266
|
+
```bash
|
|
267
|
+
pibo vscode uninstall
|
|
268
|
+
pibo vscode install
|
|
269
|
+
```
|
|
270
|
+
Plus VS Code: `Developer: Reload Window`.
|
|
271
|
+
|
|
272
|
+
## 9. Wo die Daten liegen
|
|
273
|
+
|
|
274
|
+
```text
|
|
275
|
+
~/.pibo/ Pibo-User-State
|
|
276
|
+
├── config.json deine `pibo config set` Werte
|
|
277
|
+
├── pibo.sqlite Sessions, Rooms, Events (geteilt mit Web)
|
|
278
|
+
└── vscode/cache/ VSIX-Cache pro Release-Tag
|
|
279
|
+
├── v1.3.0/pibo.vsix
|
|
280
|
+
└── last-installed.json
|
|
281
|
+
|
|
282
|
+
<dein-workspace>/.pibo/ Workspace-scoped State
|
|
283
|
+
├── PROMPTS.md Custom Prompts
|
|
284
|
+
└── pi-package.json Pi-Package-Registrierung
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Mehr Details: <https://github.com/Pascapone/pibo>
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "Reference"
|
|
3
|
+
title: "Installation profiles"
|
|
4
|
+
description: "Explains supported Pibo installation profiles, ownership boundaries, migration, upgrade, rollback, and recovery."
|
|
5
|
+
tags: ["installation", "operations", "profiles"]
|
|
6
|
+
status: "draft"
|
|
7
|
+
authority: "informative"
|
|
8
|
+
migration_lineage:
|
|
9
|
+
source_path: "docs/project/installation-profiles.md"
|
|
10
|
+
source_commit: "debba32a68137205df6351da9f3ae461004ca0c0"
|
|
11
|
+
baseline_commit: "2aef244301f5d181624662fdad53e18e83e80bd9"
|
|
12
|
+
baseline_blob_oid: "04ba7be002c1a1cee6f0fa173801dd870127f7b3"
|
|
13
|
+
source_bytes: 6918
|
|
14
|
+
source_sha256: "b0bc367fcf9fb515803da3f305b66467b1c1947c26ef755f1f8c019b5bfe7f82"
|
|
15
|
+
source_body_sha256: "b0bc367fcf9fb515803da3f305b66467b1c1947c26ef755f1f8c019b5bfe7f82"
|
|
16
|
+
generated:
|
|
17
|
+
by: "process:pibo-okf-p-current-project-plans"
|
|
18
|
+
at: "2026-08-31T22:47:46Z"
|
|
19
|
+
---
|
|
20
|
+
# Installation profiles
|
|
21
|
+
|
|
22
|
+
Pibo's package installation remains side-effect free. After `npm install -g @pasko70/pibo`, use `pibo setup` to inspect or apply one of two supported host profiles.
|
|
23
|
+
|
|
24
|
+
## Supported hosts and resource budget
|
|
25
|
+
|
|
26
|
+
Planning and staging work wherever the Pibo CLI runs. Host apply currently targets Linux with systemd and one of `apt-get`, `dnf`, or `pacman`. The pinned code-server download supports Linux amd64 and arm64. Containers and other service managers should use Vanilla plan JSON or a staged tree as the integration contract instead of `--apply`.
|
|
27
|
+
|
|
28
|
+
Vanilla adds only the gateway service and Caddy beyond the installed npm package. Batteries Included also downloads a 235 MB code-server archive, installs Chromium and two isolated browser-tool runtimes, and installs isolated MCP packages. Exact extracted size and memory depend on the distribution and workload; budget several gigabytes of disk and at least 2 GiB of available memory for a practical BI workstation. Browser sessions and IDE extension hosts add workload-dependent processes.
|
|
29
|
+
|
|
30
|
+
## Choose a profile
|
|
31
|
+
|
|
32
|
+
### Batteries Included (recommended)
|
|
33
|
+
|
|
34
|
+
Use this for a complete self-hosted Pibo workstation. It adds:
|
|
35
|
+
|
|
36
|
+
- the Pibo gateway and Chat Web;
|
|
37
|
+
- embedded VS Code Web at `/apps/vscode/`;
|
|
38
|
+
- Browser Use and Agent Browser from Pibo's pinned tool registry;
|
|
39
|
+
- managed Chromium/CDP prerequisites;
|
|
40
|
+
- Web Annotations from the installed Pibo package;
|
|
41
|
+
- an allowlisted Chrome DevTools MCP default;
|
|
42
|
+
- systemd, Caddy, status, doctor, upgrade, and rollback metadata.
|
|
43
|
+
|
|
44
|
+
It consumes more disk, memory, network downloads, and background processes than Vanilla. VS Code Web binds only to `127.0.0.1:4790`, runs as `pibo-code`, and is exposed by Caddy only after the request passes Pibo's authenticated Chat bootstrap endpoint. The managed service can write its data directory and the configured workspace root, not arbitrary protected host paths.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pibo setup plan --profile batteries-included --domain pibo.example.com
|
|
48
|
+
pibo setup install --profile batteries-included --domain pibo.example.com --apply --yes
|
|
49
|
+
pibo setup status
|
|
50
|
+
pibo setup doctor --domain pibo.example.com
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Configure Better Auth before applying a public domain. Setup refuses to expose local-auth mode through a public proxy because Caddy reaches the gateway over loopback. A domain enables trusted automatic TLS; without one Caddy remains loopback-only at `http://127.0.0.1:8080`.
|
|
54
|
+
|
|
55
|
+
### Vanilla
|
|
56
|
+
|
|
57
|
+
Use this when you want only the Pibo gateway and Chat Web, or when another system owns the proxy and optional tooling. Vanilla does not install or start VS Code Web, Chromium, browser automation tools, or MCP integrations.
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pibo setup plan --profile vanilla --domain pibo.example.com
|
|
61
|
+
pibo setup install --profile vanilla --domain pibo.example.com --apply --yes
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Review before applying
|
|
65
|
+
|
|
66
|
+
Plans are deterministic JSON and never modify the host:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pibo setup plan --profile batteries-included --json
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
A staged installation writes the complete owned filesystem tree and manifest under a review directory, without installing packages or starting services:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
pibo setup install --profile batteries-included \
|
|
76
|
+
--pibo-home /root/.pibo \
|
|
77
|
+
--domain pibo.example.com \
|
|
78
|
+
--write-to /tmp/pibo-install
|
|
79
|
+
pibo setup status --pibo-home /root/.pibo --root /tmp/pibo-install
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Real host mutation requires both `--apply` and `--yes`, requires root, validates pinned code-server downloads with SHA-256, and uses `pibo gateway web restart` instead of bypassing the gateway's active-session safety check.
|
|
83
|
+
|
|
84
|
+
## Components and migration
|
|
85
|
+
|
|
86
|
+
Add an optional component to an installed profile with:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
pibo setup component add vscode-web --apply --yes
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The profile identity remains visible, while the manifest records the added component and pinned version. To move from Vanilla to the complete maintained set, apply the Batteries Included profile explicitly after reviewing its plan. To move from Batteries Included to Vanilla, uninstall setup-owned resources and install Vanilla; Pibo Home, workspaces, browser profiles, sessions, and user data remain in place.
|
|
93
|
+
|
|
94
|
+
## Upgrade, repair, and rollback
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
pibo setup status --json
|
|
98
|
+
pibo setup doctor
|
|
99
|
+
pibo setup upgrade --apply --yes
|
|
100
|
+
pibo setup uninstall --apply --yes
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
The private manifest at `$PIBO_HOME/setup/installation.json` records the profile version, component versions, download checksums, and SHA-256 digest of each owned file. Reapplying an unchanged plan leaves files and the manifest untouched. Upgrade replaces only files still matching their previous owned digest and reruns an installation action only when its recorded fingerprint or health check is stale. Uninstall removes only unchanged owned files; locally modified files are reported and preserved.
|
|
104
|
+
|
|
105
|
+
To roll back component pins, install the previous Pibo package version, inspect `pibo setup upgrade --json`, and apply that older catalog with `pibo setup upgrade --apply --yes`. Preserve a copy of the manifest before rollback when you need an audit record of both states.
|
|
106
|
+
|
|
107
|
+
Package-manager removal is separate from profile removal. `npm uninstall -g @pasko70/pibo` does not delete Pibo Home or setup-managed system files. Run `pibo setup uninstall --apply --yes` first when you want to remove those owned host resources.
|
|
108
|
+
|
|
109
|
+
## Migrating an existing manual installation
|
|
110
|
+
|
|
111
|
+
Keep the existing Pibo Home and workspace directories. First stage the target profile and compare its service, environment, and proxy resources with the manually maintained files:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
pibo setup install --profile batteries-included \
|
|
115
|
+
--pibo-home /root/.pibo \
|
|
116
|
+
--domain pibo.example.com \
|
|
117
|
+
--write-to /tmp/pibo-install
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Stop the manually managed code-server unit, archive its unit and Caddy configuration outside `/etc`, and then apply the profile. Setup deliberately refuses to overwrite an unmanaged or locally modified target file. This makes ownership transfer explicit instead of silently deleting unrelated proxy sites or service customizations. Reuse the existing workspace root with `--workspace-root`; the installer does not copy or delete workspace data. Existing browser templates under Pibo Home also remain in place.
|
|
121
|
+
|
|
122
|
+
If the old reverse proxy serves unrelated sites, keep it under operator ownership and copy only the staged Pibo route into that configuration instead of applying setup ownership. In that case, use the generated plan as the supported routing contract and retain the external proxy in your own upgrade and rollback procedure.
|
|
123
|
+
|
|
124
|
+
## Recovery
|
|
125
|
+
|
|
126
|
+
A failed package download, service start, or gateway restart leaves the manifest and completed files available for diagnosis. Correct the reported prerequisite and rerun:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
pibo setup status
|
|
130
|
+
pibo setup doctor
|
|
131
|
+
pibo setup upgrade --apply --yes
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
The lifecycle is idempotent. Setup does not store OAuth secrets in plans or manifests and does not bypass an active-session restart block.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Project operations
|
|
2
|
+
|
|
3
|
+
<!-- Generated by npm run docs:indexes:write. -->
|
|
4
|
+
|
|
5
|
+
## Concepts
|
|
6
|
+
|
|
7
|
+
* [Install Pibo as a Developer Host](install-developer-host.md) - Guides operators through planning, installing, and validating a Pibo developer host.
|
|
8
|
+
* [Install Pibo as a User Host](install-user-host.md) - Guides operators through installing and configuring a Pibo user host.
|
|
9
|
+
* [Pibo VS Code Extension Release Runbook](vscode-extension-release.md) - Describes the end-to-end release procedure for Pibo's VS Code extension and related package artifacts.
|
|
10
|
+
* [Upgrade a User Host to a Developer Host](upgrade-user-to-developer-host.md) - Guides operators through upgrading a Pibo user host to a developer host without replacing production state.
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "Guide"
|
|
3
|
+
title: "Install Pibo as a Developer Host"
|
|
4
|
+
description: "Guides operators through planning, installing, and validating a Pibo developer host."
|
|
5
|
+
tags: ["developer-host", "installation", "operations", "setup"]
|
|
6
|
+
status: "draft"
|
|
7
|
+
authority: "directive"
|
|
8
|
+
generated:
|
|
9
|
+
by: "openai/codex"
|
|
10
|
+
at: "2026-08-30T15:47:50Z"
|
|
11
|
+
sources:
|
|
12
|
+
- id: "foundation-relocation-source"
|
|
13
|
+
resource: "https://github.com/Pascapone/pibo/blob/2aef244301f5d181624662fdad53e18e83e80bd9/docs/ops/install-developer-host.md"
|
|
14
|
+
title: "Original byte-preserved developer-host installation guide"
|
|
15
|
+
commit: "2aef244301f5d181624662fdad53e18e83e80bd9"
|
|
16
|
+
path: "docs/ops/install-developer-host.md"
|
|
17
|
+
sha256: "8e6ae80f901852ab0d38c0eb887d83f300107ecbebc2418da5e19ca9238e2e70"
|
|
18
|
+
relation: "Byte-identical body lineage before Foundation relocation."
|
|
19
|
+
---
|
|
1
20
|
# Install Pibo as a Developer Host
|
|
2
21
|
|
|
3
22
|
Use this path when the host is used to develop Pibo itself.
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "Guide"
|
|
3
|
+
title: "Install Pibo as a User Host"
|
|
4
|
+
description: "Guides operators through installing and configuring a Pibo user host."
|
|
5
|
+
tags: ["installation", "operations", "setup", "user-host"]
|
|
6
|
+
status: "draft"
|
|
7
|
+
authority: "directive"
|
|
8
|
+
generated:
|
|
9
|
+
by: "openai/codex"
|
|
10
|
+
at: "2026-08-30T15:47:50Z"
|
|
11
|
+
sources:
|
|
12
|
+
- id: "foundation-relocation-source"
|
|
13
|
+
resource: "https://github.com/Pascapone/pibo/blob/2aef244301f5d181624662fdad53e18e83e80bd9/docs/ops/install-user-host.md"
|
|
14
|
+
title: "Original byte-preserved user-host installation guide"
|
|
15
|
+
commit: "2aef244301f5d181624662fdad53e18e83e80bd9"
|
|
16
|
+
path: "docs/ops/install-user-host.md"
|
|
17
|
+
sha256: "f3f6c51fe9f7b30fe8828cf844c82d8ef5ffebb715bab06d78348d5a9d547722"
|
|
18
|
+
relation: "Byte-identical body lineage before Foundation relocation."
|
|
19
|
+
---
|
|
1
20
|
# Install Pibo as a User Host
|
|
2
21
|
|
|
3
22
|
Use this path when you want to run Pibo, not develop Pibo itself.
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "Guide"
|
|
3
|
+
title: "Upgrade a User Host to a Developer Host"
|
|
4
|
+
description: "Guides operators through upgrading a Pibo user host to a developer host without replacing production state."
|
|
5
|
+
tags: ["developer-host", "operations", "setup", "upgrade"]
|
|
6
|
+
status: "draft"
|
|
7
|
+
authority: "directive"
|
|
8
|
+
generated:
|
|
9
|
+
by: "openai/codex"
|
|
10
|
+
at: "2026-08-30T15:47:50Z"
|
|
11
|
+
sources:
|
|
12
|
+
- id: "foundation-relocation-source"
|
|
13
|
+
resource: "https://github.com/Pascapone/pibo/blob/2aef244301f5d181624662fdad53e18e83e80bd9/docs/ops/upgrade-user-to-developer-host.md"
|
|
14
|
+
title: "Original byte-preserved user-host upgrade guide"
|
|
15
|
+
commit: "2aef244301f5d181624662fdad53e18e83e80bd9"
|
|
16
|
+
path: "docs/ops/upgrade-user-to-developer-host.md"
|
|
17
|
+
sha256: "a48141d6456800b5e05472dfa7464d44a3b1605ad25a3209145a4d5bfcef22f8"
|
|
18
|
+
relation: "Byte-identical body lineage before Foundation relocation."
|
|
19
|
+
---
|
|
1
20
|
# Upgrade a User Host to a Developer Host
|
|
2
21
|
|
|
3
22
|
A normal npm-installed Pibo host can be upgraded later. The upgrade must preserve the production gateway and add development infrastructure next to it.
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "Runbook"
|
|
3
|
+
title: "Pibo VS Code Extension Release Runbook"
|
|
4
|
+
description: "Describes the end-to-end release procedure for Pibo's VS Code extension and related package artifacts."
|
|
5
|
+
tags: ["release", "runbook", "vscode", "vsix"]
|
|
6
|
+
status: "deprecated"
|
|
7
|
+
authority: "directive"
|
|
8
|
+
generated:
|
|
9
|
+
by: "openai/codex"
|
|
10
|
+
at: "2026-08-30T15:47:50Z"
|
|
11
|
+
sources:
|
|
12
|
+
- id: "foundation-relocation-source"
|
|
13
|
+
resource: "https://github.com/Pascapone/pibo/blob/2aef244301f5d181624662fdad53e18e83e80bd9/docs/ops/vscode-extension-release.md"
|
|
14
|
+
title: "Original byte-preserved Pibo VS Code extension release runbook"
|
|
15
|
+
commit: "2aef244301f5d181624662fdad53e18e83e80bd9"
|
|
16
|
+
path: "docs/ops/vscode-extension-release.md"
|
|
17
|
+
sha256: "4d7588693a51389ebc3ea53eb088272743e707e3d81a5f436ab58578769f56c2"
|
|
18
|
+
relation: "Byte-identical body lineage before Foundation relocation."
|
|
19
|
+
---
|
|
1
20
|
# Pibo VS Code Extension Release Runbook
|
|
2
21
|
|
|
3
22
|
The Pibo VS Code extension is shipped as a `.vsix` artifact. This runbook describes the end-to-end release process and the split of responsibilities between the maintainer and the `pibo` release script.
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pasko70/pibo",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@pasko70/pibo",
|
|
9
|
-
"version": "3.
|
|
9
|
+
"version": "3.2.0",
|
|
10
10
|
"workspaces": [
|
|
11
11
|
"packages/workflows"
|
|
12
12
|
],
|
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
"typescript": "^6.0.3",
|
|
60
60
|
"vite": "^8.0.10",
|
|
61
61
|
"vite-tsconfig-paths": "^5.1.4",
|
|
62
|
-
"vscode": "file:src/apps/chat-vscode/extension/vscode-shim"
|
|
62
|
+
"vscode": "file:src/apps/chat-vscode/extension/vscode-shim",
|
|
63
|
+
"yaml": "^2.9.0"
|
|
63
64
|
},
|
|
64
65
|
"engines": {
|
|
65
66
|
"node": ">=24"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pasko70/pibo",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
"packages/workflows"
|
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
"!dist/apps/vscode-artifacts/**",
|
|
12
12
|
"context",
|
|
13
13
|
"skills/builtin/**",
|
|
14
|
-
"docs/
|
|
14
|
+
"docs/project/operations/**",
|
|
15
|
+
"docs/project/installation-profiles.md",
|
|
16
|
+
"docs/project/guides/pibo-on-windows-via-wsl.md",
|
|
17
|
+
"docs/project/guides/pibo-vscode-ext-quickstart.md",
|
|
18
|
+
"!docs/README.md",
|
|
19
|
+
"!docs/project/README.md",
|
|
15
20
|
"README.md",
|
|
16
21
|
"src/mcp/LICENSE.mcp-cli",
|
|
17
22
|
"npm-shrinkwrap.json",
|
|
@@ -53,6 +58,14 @@
|
|
|
53
58
|
"build": "npm run workflows:build && node --max-old-space-size=1200 node_modules/typescript/bin/tsc -p tsconfig.json && npm run web-ui:build && npm run vscode:webview:build && node scripts/ensure-bin-executable.mjs",
|
|
54
59
|
"start": "node dist/bin/pibo.js",
|
|
55
60
|
"test": "npm run build && node scripts/run-test-suite.mjs",
|
|
61
|
+
"docs:validate": "npm run docs:validate:strict",
|
|
62
|
+
"docs:validate:okf": "node scripts/validate-okf-docs.mjs --mode core",
|
|
63
|
+
"docs:validate:migration": "node scripts/validate-okf-docs.mjs --mode migration",
|
|
64
|
+
"docs:validate:strict": "node scripts/validate-okf-docs.mjs --mode strict",
|
|
65
|
+
"docs:indexes:write": "node scripts/generate-okf-indexes.mjs",
|
|
66
|
+
"docs:indexes:check": "node scripts/generate-okf-indexes.mjs --check",
|
|
67
|
+
"docs:log:check": "node scripts/check-okf-log.mjs",
|
|
68
|
+
"docs:validator:test": "node --test test/okf-validator.test.mjs test/okf-authoring-guidance.test.mjs",
|
|
56
69
|
"check:product-vocab": "node scripts/legacy-product-vocabulary-gate.mjs",
|
|
57
70
|
"validate:ink-web-derived": "node scripts/ink-cli-web-derived-parity-validate.mjs",
|
|
58
71
|
"compute:limited-worker-smoke": "node scripts/compute-limited-worker-smoke.mjs",
|
|
@@ -111,6 +124,7 @@
|
|
|
111
124
|
"typescript": "^6.0.3",
|
|
112
125
|
"vite": "^8.0.10",
|
|
113
126
|
"vite-tsconfig-paths": "^5.1.4",
|
|
114
|
-
"vscode": "file:src/apps/chat-vscode/extension/vscode-shim"
|
|
127
|
+
"vscode": "file:src/apps/chat-vscode/extension/vscode-shim",
|
|
128
|
+
"yaml": "^2.9.0"
|
|
115
129
|
}
|
|
116
130
|
}
|
package/skills/builtin/pibo-agent-runtime-adapter/references/testing-migration-and-validation.md
CHANGED
|
@@ -228,7 +228,9 @@ A turn that reaches queue/idle but fails provider authentication proves only rou
|
|
|
228
228
|
|
|
229
229
|
## Validation report
|
|
230
230
|
|
|
231
|
-
|
|
231
|
+
Publish validation as an `Evidence Report` at `docs/reports/evidence/<adapter-or-milestone>-validation-YYYY-MM-DD.md`. Read `docs/project/documentation-profile.md` first, include all required frontmatter plus `evidence: { id, published_at }`, register the final SHA-256 in `docs/reports/artifacts/okf-migration/evidence-manifest.json`, and never edit the published bytes in place. Add the ledger record, run `npm run docs:indexes:write`, and update `docs/log.md` explicitly. Corrections and reruns receive a new identity and path.
|
|
232
|
+
|
|
233
|
+
The report body contains:
|
|
232
234
|
|
|
233
235
|
- status and scope;
|
|
234
236
|
- branch, PR, commits, package version/path/checksum;
|