From 173c55cb2b6d6e1eefaa8fcf7d4fa53044bcaa1e Mon Sep 17 00:00:00 2001 From: Hibryda Date: Fri, 6 Mar 2026 14:23:16 +0100 Subject: [PATCH] docs: update all docs for Phase 6 packaging completion --- docs/phases.md | 27 ++++++++++++++++++--------- docs/progress.md | 16 +++++++++++++++- docs/task_plan.md | 3 ++- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/docs/phases.md b/docs/phases.md index a7dc21f..b50a5be 100644 --- a/docs/phases.md +++ b/docs/phases.md @@ -172,7 +172,7 @@ bterminal-v2/ --- -## Phase 5: Agent Tree + Polish [status: in_progress] — Post-MVP +## Phase 5: Agent Tree + Polish [status: partial] — Post-MVP - [x] Agent tree visualization (SVG, compact horizontal layout) — AgentTree.svelte + agent-tree.ts utility - [ ] Click tree node -> focus agent pane (onNodeClick prop exists, not wired) @@ -187,17 +187,26 @@ bterminal-v2/ --- -## Phase 6: Packaging + Distribution [status: not_started] — Post-MVP +## Phase 6: Packaging + Distribution [status: complete] — Post-MVP -- [ ] install.sh v2 (check Node.js, install Tauri runtime deps) -- [ ] AppImage build (single file, works everywhere) -- [ ] .deb package (Debian/Ubuntu) -- [ ] GitHub Actions CI for building releases -- [ ] Auto-update mechanism (Tauri updater) -- [ ] Migrate bterminal.svg icon -- [ ] README update +- [x] install-v2.sh — build-from-source installer with dependency checks (Node.js 20+, Rust 1.77+, system libs) + - Checks: WebKit2GTK, GTK3, GLib, libayatana-appindicator, librsvg, openssl, build-essential, pkg-config, curl, wget, FUSE + - Prompts to install missing packages via apt + - Builds with `npx tauri build`, installs binary as `bterminal-v2` in `~/.local/bin/` + - Creates desktop entry and installs SVG icon +- [x] Tauri bundle configuration — targets: `["deb", "appimage"]`, category: DeveloperTool + - .deb depends: libwebkit2gtk-4.1-0, libgtk-3-0, libayatana-appindicator3-1 + - AppImage: bundleMediaFramework disabled +- [x] Icons regenerated from bterminal.svg — RGBA PNGs (32x32, 128x128, 128x128@2x, 512x512, .ico) +- [x] GitHub Actions release workflow (`.github/workflows/release.yml`) + - Triggered on `v*` tags, Ubuntu 22.04 runner + - Caches Rust and npm dependencies + - Builds .deb + AppImage, uploads as GitHub Release artifacts +- [x] Build verified: .deb (4.3 MB), AppImage (103 MB) +- [ ] Auto-update mechanism (Tauri updater) — deferred, needs signing key + update server ### System Requirements - Node.js 20+ (for Agent SDK sidecar) +- Rust 1.77+ (for building from source) - WebKit2GTK 4.1+ (Tauri runtime) - Linux x86_64 (primary target) diff --git a/docs/progress.md b/docs/progress.md index 4e0db38..5439760 100644 --- a/docs/progress.md +++ b/docs/progress.md @@ -109,8 +109,22 @@ Architecture decision: Uses `claude` CLI with `--output-format stream-json` inst - [x] CSS grid update: app.css grid-template-rows '1fr' -> '1fr auto' for status bar row - [x] App.svelte: integrated StatusBar, ToastContainer, SettingsDialog components +### Phase 6: Packaging + Distribution (2026-03-06) +- [x] Created install-v2.sh — build-from-source installer with 6-step dependency check process + - Checks Node.js 20+, Rust 1.77+, system libs (WebKit2GTK, GTK3, GLib, etc.) + - Prompts to install missing packages via apt + - Builds with `npx tauri build`, installs to ~/.local/bin/bterminal-v2 + - Creates desktop entry and installs SVG icon +- [x] Updated v2/src-tauri/tauri.conf.json: bundle targets ["deb", "appimage"], category, descriptions, deb depends, appimage settings +- [x] Regenerated all icons in v2/src-tauri/icons/ from bterminal.svg as RGBA PNGs (32x32, 128x128, 256x256, 512x512, .ico) +- [x] Created .github/workflows/release.yml — CI workflow triggered on v* tags + - Ubuntu 22.04 runner, caches Rust/npm deps + - Builds .deb + AppImage, uploads as GitHub Release artifacts via softprops/action-gh-release@v2 +- [x] Build verified: .deb (4.3 MB), AppImage (103 MB) both built successfully +- [ ] Tauri auto-update plugin deferred (needs signing key + update server) + ### Next Steps - [ ] Markdown rendering in agent text messages - [ ] Testing: vitest for sdk-messages adapter, cargo test for sidecar - [ ] Phase 5 remaining: click tree node -> focus pane, subtree cost display, ctx integration -- [ ] Phase 6: Packaging + Distribution +- [ ] Tauri auto-update plugin (signing key + update server) diff --git a/docs/task_plan.md b/docs/task_plan.md index 0ad36e3..8c0021c 100644 --- a/docs/task_plan.md +++ b/docs/task_plan.md @@ -3,7 +3,7 @@ ## Goal Redesign BTerminal from a GTK3 terminal emulator into a **multi-session Claude agent dashboard** optimized for 32:9 ultrawide (5120x1440). Simultaneous visibility of all active sessions, agent tree visualization, inline markdown rendering, maximum information density. -## Status: Phase 5 IN PROGRESS (MVP complete, post-MVP polish underway — Rev 2) +## Status: All 6 Phases Complete (MVP + post-MVP, packaging done — Rev 2) --- @@ -127,6 +127,7 @@ See [phases.md](phases.md) for the full phased implementation plan (Phases 1-6). | `.svelte.ts` for rune stores | Svelte 5 `$state`/`$derived` runes require `.svelte.ts` extension (not `.ts`). Compiler silently passes `.ts` but runes fail at runtime. All store files must use `.svelte.ts`. | 2026-03-06 | | SQLite settings table for app config | Key-value `settings` table in session.rs for persisting user preferences (shell, cwd, max panes). Simple and extensible without schema migrations. | 2026-03-06 | | Toast notifications over persistent log | Ephemeral toasts (4s auto-dismiss, max 5) for agent events rather than a persistent notification log. Keeps UI clean; persistent logs can be added later if needed. | 2026-03-06 | +| Build-from-source installer over pre-built binaries | install-v2.sh checks deps and builds locally. Pre-built binaries via GitHub Actions CI (.deb + AppImage on v* tags). Auto-update deferred until signing key infrastructure is set up. | 2026-03-06 | ## Open Questions