Hibryda
314c6d77aa
feat(v2): add agent pane with SDK message adapter and dispatcher
...
Implement full agent session frontend: SDK message adapter parsing
stream-json into 9 typed message types, agent bridge for Tauri IPC,
dispatcher routing sidecar events to store, agent session store with
cost tracking, and AgentPane component with prompt input, message
rendering (text, thinking, tool calls, results, cost), and stop
button. Add Ctrl+Shift+N shortcut and sidebar agent button.
2026-03-06 01:01:56 +01:00
Hibryda
f928501075
feat(v2): implement agent-runner sidecar with claude CLI subprocess
...
Replace Agent SDK stub with working implementation that spawns
claude CLI with --output-format stream-json, manages multiple
sessions via Map<sessionId, ChildProcess>, and forwards NDJSON
events to Rust backend. Supports query, stop, and graceful shutdown.
2026-03-06 01:01:43 +01:00
Hibryda
f0ec44f6a6
feat(v2): add SidecarManager and agent Tauri commands
...
Implement Rust SidecarManager that spawns Node.js sidecar process,
communicates via stdio NDJSON, and manages agent session lifecycle.
Add agent_query, agent_stop, agent_ready Tauri commands. Sidecar
auto-starts on app launch.
2026-03-06 01:01:35 +01:00
Hibryda
54b0d44bc1
docs: reflect Phase 2 completion across all project documentation
...
Update progress log with Phase 2 deliverables, mark Phase 2 complete
in TODO/CHANGELOG/README, fix stale Solid.js reference in findings,
update task_plan status to BUILDING, add v2 key paths to CLAUDE.md.
2026-03-05 23:50:16 +01:00
Hibryda
05ad0db092
docs: mark Phase 2 terminal pane + layout as complete
2026-03-05 23:43:00 +01:00
Hibryda
bfd4021909
feat(v2): add tiling layout, sidebar controls, and keyboard shortcuts
...
- TilingGrid: dynamic CSS Grid with auto-preset based on pane count
- Layout presets: 1-col, 2-col, 3-col, 2x2, master-stack
- PaneContainer: close button, status indicator, focus highlight
- SessionList: new terminal button, layout preset selector, pane list
- Layout store: pane CRUD, focus management, grid template generation
- Keyboard: Ctrl+N new terminal, Ctrl+1-4 focus pane by index
2026-03-05 23:42:41 +01:00
Hibryda
bb0e9283fc
feat(v2): add xterm.js terminal pane with Canvas addon
...
- Install @xterm/xterm, @xterm/addon-canvas, @xterm/addon-fit, @tauri-apps/api
- TerminalPane: xterm.js with Catppuccin Mocha theme, auto-fit, resize observer
- PTY bridge: Tauri invoke wrappers + event listeners for data/exit
- Bidirectional streaming: keyboard input -> PTY write, PTY output -> xterm write
- 100ms debounced resize propagation to PTY backend
2026-03-05 23:42:31 +01:00
Hibryda
f15e60be60
feat(v2): add PTY backend with portable-pty
...
- Implement PtyManager: spawn, write, resize, kill operations
- Wire Tauri commands: pty_spawn, pty_write, pty_resize, pty_kill
- Reader thread streams PTY output via Tauri events (pty-data-{id})
- Process exit detection emits pty-exit-{id} event
- Add portable-pty 0.8 and uuid 1.0 dependencies
2026-03-05 23:42:20 +01:00
Hibryda
406683799b
docs: reflect Phase 1 completion in README, TODO, and CHANGELOG
...
Move Phase 1 to completed in TODO.md, update README.md v2 status,
and add scaffolding entries to CHANGELOG.md.
2026-03-05 23:32:19 +01:00
Hibryda
9bd15b359b
docs: update progress log and documentation index
...
Add Phase 1 completion details to progress.md and document index
table to docs/README.md linking all planning documents.
2026-03-05 23:32:11 +01:00
Hibryda
bb93bd1c9a
chore(v2): add Cargo.lock and VS Code extensions config
...
Include Cargo.lock for reproducible Rust builds and recommended
Svelte extension for VS Code.
2026-03-05 23:32:00 +01:00
Hibryda
89a98adb61
docs: mark Phase 1 scaffolding as complete
2026-03-05 23:26:40 +01:00
Hibryda
758d626fab
feat(v2): scaffold Tauri 2.x + Svelte 5 project (Phase 1)
...
- Tauri 2.10 + Svelte 5.45 + TypeScript + Vite 7
- Catppuccin Mocha theme with CSS variables and semantic aliases
- CSS Grid layout: sidebar (260px) + workspace, responsive breakpoints
for ultrawide (3440px+) and narrow (<1200px)
- Component structure: Layout/, Terminal/, Agent/, Markdown/, Sidebar/
- Svelte 5 stores with $state runes: sessions, agents, layout
- SDK message adapter (abstracts Agent SDK wire format)
- PTY bridge (Tauri IPC wrapper, stubbed for Phase 2)
- Node.js sidecar entry point (stdio NDJSON, stubbed for Phase 3)
- Rust modules: pty, sidecar, watcher, session (stubbed)
- Vite dev server on port 9700
- Build verified: binary + .deb + .rpm + AppImage all produced
2026-03-05 23:26:27 +01:00
Hibryda
5996615e68
docs: add documentation index scaffold
...
- Create docs/README.md with YAML frontmatter and index placeholder
- Add Documentation (SOURCE OF TRUTH) section to root CLAUDE.md
2026-03-05 23:14:43 +01:00
Hibryda
7d4e5a33c9
chore: add VS Code workspace config with Peacock color
...
- launch.json: Python debugpy for bterminal.py
- tasks.json: run and install tasks
- settings.json: Peacock green workspace color, Python type checking
2026-03-05 23:14:39 +01:00
Hibryda
b659a6a6bd
chore: add 17 operational rules and rule index
...
- Create .claude/rules/ with all 17 standard rule files (01-security through 17-document-imports)
- Add Operational Rules section with Rule Index to .claude/CLAUDE.md
2026-03-05 23:14:34 +01:00
Hibryda
afc5a7f895
chore: add project meta files and Claude behavioral guide
...
Add TODO.md, CHANGELOG.md, .claude/CLAUDE.md behavioral guide.
Update README.md with v2 planning notice and docs links.
Fix .gitignore to scope CLAUDE.md exclusion to root only.
2026-03-05 22:49:20 +01:00
Hibryda
2723fbf4be
docs: add v2 architecture planning and research findings
...
Architecture decision: Tauri 2.x + Svelte 5 + Claude Agent SDK (Node.js sidecar).
Includes research on Agent SDK streaming, xterm.js performance, WebKit2GTK
limitations, and adversarial review corrections (two-tier observation, Svelte 5
over Solid.js, SDK abstraction layer). Six implementation phases defined,
MVP = Phases 1-4.
2026-03-05 22:49:00 +01:00
DexterFromLab
70f8030ae4
Update screenshot with current UI showing Claude Code session
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:26:53 +01:00
DexterFromLab
416da1a79c
Add bterminal icon to installer and desktop entry
...
The SVG icon was installed locally but missing from the repo.
Installer now copies it to ~/.local/share/icons/ and desktop
entry uses the correct icon name.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:25:03 +01:00
DexterFromLab
20fc27fbdf
Migrate to Gtk.Application for proper app lifecycle and custom icon
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:12:30 +01:00
DexterFromLab
a8b8548346
Add ctx project management to Claude Code session dialog
...
- Project dir field with Browse button in ClaudeCodeDialog
- Auto-fill session name and ctx prompt when selecting directory
- Auto-initialize ctx project and generate CLAUDE.md on session save
- CtxEditDialog for managing ctx entries (add/edit/delete key-value pairs)
- Edit ctx accessible from dialog button and right-click context menu
- Claude Code sessions now spawn in project directory instead of HOME
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 12:49:10 +01:00
DexterFromLab
4268ead6a4
Add ctx context manager, installer, and auto-detect Claude path
...
- ctx: SQLite-based cross-session context manager for Claude Code
- install.sh: automated installer (deps, files, symlinks, DB, .desktop)
- bterminal.py: replace hardcoded CLAUDE_PATH with auto-detection
- README.md: rewrite in English, document ctx and installation
- .gitignore: add CLAUDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:54:24 +01:00
DexterFromLab
edc13e2d27
Initial commit: BTerminal — GTK3 terminal with SSH & Claude Code session management
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 18:34:36 +01:00