- phases.md: Phase 5 status -> complete, added SSH/ctx/themes/detached/shiki/updater items, updated file structure - progress.md: added Phase 5 continued session log, updated next steps - task_plan.md: added 6 new decisions (ctx read-only, SSH via PTY, themes, detached, shiki), status Rev 3 - CLAUDE.md: added new key paths (ctx.rs, adapters, utils, stores, components), updated deps - .claude/CLAUDE.md: updated phase status, added new technical constraints - README.md: updated v2 feature summary - TODO.md: resolved completed items, added new active items - CHANGELOG.md: added SSH, ctx, themes, detached, shiki, updater entries
123 lines
4.8 KiB
Markdown
123 lines
4.8 KiB
Markdown
# BTerminal
|
|
|
|
Terminal with session panel (MobaXterm-style), built with GTK 3 + VTE. Catppuccin Mocha theme.
|
|
|
|
> **v2 all phases complete + extras:** Multi-session Claude agent dashboard using Tauri 2.x + Svelte 5. Features: multi-pane terminal with PTY backend, agent panes with structured output and tree visualization, SSH session management, ctx context database viewer, SQLite session persistence with layout restore, live markdown file viewer with Shiki syntax highlighting, global status bar with cost tracking, toast notifications, settings dialog with theme flavors (Catppuccin Latte/Frappe/Macchiato/Mocha), detached pane mode (pop-out windows), auto-updater plugin, CSS Grid tiling, .deb + AppImage packaging, and GitHub Actions CI. Branch `v2-mission-control`. See [docs/task_plan.md](docs/task_plan.md) for architecture and [docs/phases.md](docs/phases.md) for implementation plan.
|
|
|
|

|
|
|
|
## Features
|
|
|
|
- **SSH sessions** — saved configs (host, port, user, key, folder, color), CRUD with side panel
|
|
- **Claude Code sessions** — saved Claude Code configs with sudo, resume, skip-permissions and initial prompt
|
|
- **SSH macros** — multi-step macros (text, key, delay) assigned to sessions, run from sidebar
|
|
- **Tabs** — multiple terminals in tabs, Ctrl+T new, Ctrl+Shift+W close, Ctrl+PageUp/Down switch
|
|
- **Sudo askpass** — Claude Code with sudo: password entered once, temporary askpass helper, auto-cleanup
|
|
- **Folder grouping** — SSH and Claude Code sessions can be grouped in folders on the sidebar
|
|
- **ctx — Context manager** — SQLite-based cross-session context database for Claude Code projects
|
|
- **Catppuccin Mocha** — full theme: terminal, sidebar, tabs, session colors
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
git clone https://github.com/DexterFromLab/BTerminal.git
|
|
cd BTerminal
|
|
./install.sh
|
|
```
|
|
|
|
The installer will:
|
|
1. Install system dependencies (python3-gi, GTK3, VTE)
|
|
2. Copy files to `~/.local/share/bterminal/`
|
|
3. Create symlinks: `bterminal` and `ctx` in `~/.local/bin/`
|
|
4. Initialize context database at `~/.claude-context/context.db`
|
|
5. Add desktop entry to application menu
|
|
|
|
### v2 Installation (Tauri — build from source)
|
|
|
|
Requires Node.js 20+, Rust 1.77+, and system libraries (WebKit2GTK 4.1, GTK3, etc.).
|
|
|
|
```bash
|
|
git clone https://github.com/DexterFromLab/BTerminal.git
|
|
cd BTerminal
|
|
./install-v2.sh
|
|
```
|
|
|
|
The installer checks all dependencies, offers to install missing system packages via apt, builds the Tauri app, and installs the binary as `bterminal-v2` in `~/.local/bin/`.
|
|
|
|
Pre-built .deb and AppImage packages are available from [GitHub Releases](https://github.com/DexterFromLab/BTerminal/releases) (built via CI on version tags).
|
|
|
|
### v1 Manual dependency install (Debian/Ubuntu/Pop!_OS)
|
|
|
|
```bash
|
|
sudo apt install python3-gi gir1.2-gtk-3.0 gir1.2-vte-2.91
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
bterminal
|
|
```
|
|
|
|
## Context Manager (ctx)
|
|
|
|
`ctx` is a SQLite-based tool for managing persistent context across Claude Code sessions.
|
|
|
|
```bash
|
|
ctx init myproject "Project description" /path/to/project
|
|
ctx get myproject # Load full context (shared + project)
|
|
ctx set myproject key "value" # Save a context entry
|
|
ctx shared set preferences "value" # Save shared context (available in all projects)
|
|
ctx summary myproject "What was done" # Save session summary
|
|
ctx search "query" # Full-text search across everything
|
|
ctx list # List all projects
|
|
ctx history myproject # Show session history
|
|
ctx --help # All commands
|
|
```
|
|
|
|
### Integration with Claude Code
|
|
|
|
Add a `CLAUDE.md` to your project root:
|
|
|
|
```markdown
|
|
On session start, load context:
|
|
ctx get myproject
|
|
|
|
Save important discoveries: ctx set myproject <key> <value>
|
|
Before ending session: ctx summary myproject "<what was done>"
|
|
```
|
|
|
|
Claude Code reads `CLAUDE.md` automatically and will maintain the context database.
|
|
|
|
## Configuration
|
|
|
|
Config files in `~/.config/bterminal/`:
|
|
|
|
| File | Description |
|
|
|------|-------------|
|
|
| `sessions.json` | Saved SSH sessions + macros |
|
|
| `claude_sessions.json` | Saved Claude Code configs |
|
|
|
|
Context database: `~/.claude-context/context.db`
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Ctrl+T` | New tab (local shell) |
|
|
| `Ctrl+Shift+W` | Close tab |
|
|
| `Ctrl+Shift+C` | Copy |
|
|
| `Ctrl+Shift+V` | Paste |
|
|
| `Ctrl+PageUp/Down` | Previous/next tab |
|
|
|
|
## Documentation
|
|
|
|
| Document | Description |
|
|
|----------|-------------|
|
|
| [docs/task_plan.md](docs/task_plan.md) | v2 architecture decisions, error handling, testing strategy |
|
|
| [docs/phases.md](docs/phases.md) | v2 implementation phases (1-6) with checklists |
|
|
| [docs/findings.md](docs/findings.md) | Research findings (Agent SDK, Tauri, xterm.js, performance) |
|
|
| [docs/progress.md](docs/progress.md) | Session-by-session progress log |
|
|
|
|
## License
|
|
|
|
MIT
|