@pasko70/pibo 3.1.4 → 3.2.1

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 (31) hide show
  1. package/README.md +2 -2
  2. package/dist/apps/chat-ui/assets/{dist-DkpIJ_Pp.js → dist-BL4oTUrk.js} +1 -1
  3. package/dist/apps/chat-ui/assets/{dist-BOqsX6_s.js → dist-CQF9jyQW.js} +1 -1
  4. package/dist/apps/chat-ui/assets/{dist-BcUbdOKJ.js → dist-DI39iyXK.js} +1 -1
  5. package/dist/apps/chat-ui/assets/{dist-a0mykCz7.js → dist-Drv_xdGh.js} +1 -1
  6. package/dist/apps/chat-ui/assets/{dist-qDZ-CdlK.js → dist-f-76_fmW.js} +1 -1
  7. package/dist/apps/chat-ui/assets/index-BTzIdlcK.css +1 -0
  8. package/dist/apps/chat-ui/assets/index-CgFDCgyv.js +228 -0
  9. package/dist/apps/chat-ui/index.html +2 -2
  10. package/dist/apps/chat-vscode-web/assets/index-B-TiIWb7.js +43 -0
  11. package/dist/apps/chat-vscode-web/assets/{index-SluZr_-r.css → index-b18ZkEo0.css} +1 -1
  12. package/dist/apps/chat-vscode-web/index.html +2 -2
  13. package/dist/session-ui/terminalRows.js +80 -1
  14. package/dist/setup/cli.js +5 -5
  15. package/docs/project/guides/pibo-on-windows-via-wsl.md +292 -0
  16. package/docs/project/guides/pibo-vscode-ext-quickstart.md +287 -0
  17. package/docs/project/installation-profiles.md +134 -0
  18. package/docs/project/operations/index.md +10 -0
  19. package/docs/{ops → project/operations}/install-developer-host.md +19 -0
  20. package/docs/{ops → project/operations}/install-user-host.md +19 -0
  21. package/docs/{ops → project/operations}/upgrade-user-to-developer-host.md +19 -0
  22. package/docs/{ops → project/operations}/vscode-extension-release.md +19 -0
  23. package/npm-shrinkwrap.json +4 -3
  24. package/package.json +17 -3
  25. package/skills/builtin/pibo-agent-runtime-adapter/references/testing-migration-and-validation.md +3 -1
  26. package/skills/builtin/pibo-spec-writing/SKILL.md +110 -168
  27. package/skills/builtin/prd/SKILL.md +18 -0
  28. package/dist/apps/chat-ui/assets/index-CmqRSbBU.css +0 -1
  29. package/dist/apps/chat-ui/assets/index-G2ic-FSG.js +0 -228
  30. package/dist/apps/chat-vscode-web/assets/index-zQ1fNz5K.js +0 -43
  31. 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&#46;
8
+ * [Install Pibo as a User Host](install-user-host.md) - Guides operators through installing and configuring a Pibo user host&#46;
9
+ * [Pibo VS Code Extension Release Runbook](vscode-extension-release.md) - Describes the end&#45;to&#45;end release procedure for Pibo's VS Code extension and related package artifacts&#46;
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&#46;
@@ -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.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@pasko70/pibo",
3
- "version": "3.1.4",
3
+ "version": "3.2.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@pasko70/pibo",
9
- "version": "3.1.4",
9
+ "version": "3.2.1",
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.1.4",
3
+ "version": "3.2.1",
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/ops/**",
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
  }
@@ -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
- Write `docs/reports/<adapter-or-milestone>-validation-YYYY-MM-DD.md` containing:
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;