docs(v3): add Mission Control redesign planning docs
v3 architecture planning: task plan with core concept, user requirements, and architecture questions for adversarial review. Findings doc with codebase reuse analysis (keep/replace/drop). Progress log for v3 sessions.
This commit is contained in:
parent
761070251f
commit
03e9f34e07
3 changed files with 119 additions and 0 deletions
35
docs/v3-findings.md
Normal file
35
docs/v3-findings.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# BTerminal v3 — Research Findings
|
||||
|
||||
## Current Codebase Reuse Analysis
|
||||
|
||||
### Can Reuse (with modifications)
|
||||
- **Agent session infrastructure**: AgentPane, agent store, agent dispatcher, SDK messages adapter, sidecar bridge — core agent functionality stays
|
||||
- **Terminal infrastructure**: TerminalPane, pty-bridge — terminal rendering unchanged
|
||||
- **Markdown rendering**: MarkdownPane, highlight utils — markdown viewer stays
|
||||
- **Sidecar management**: SidecarManager, agent-runner.mjs — backend agent orchestration
|
||||
- **PTY management**: PtyManager — backend terminal management
|
||||
- **Session persistence**: session-bridge, SessionDb — needs schema extension for projects
|
||||
- **Theme system**: theme store, catppuccin CSS — visual layer unchanged
|
||||
- **Notification system**: toast notifications — stays as-is
|
||||
- **Claude bridge**: profiles + skills — reusable per project
|
||||
- **StatusBar**: needs redesign but concept stays
|
||||
|
||||
### Must Replace
|
||||
- **Layout store**: Current pane-based grid system → project-based workspace system
|
||||
- **TilingGrid**: CSS Grid tiling → project box layout with internal structure
|
||||
- **SessionList sidebar**: Pane list → project/group navigation
|
||||
- **App.svelte**: Root layout completely changes
|
||||
- **Settings dialog**: Per-app settings → per-project settings
|
||||
|
||||
### Can Drop
|
||||
- **Detached pane mode**: Doesn't fit the workspace model
|
||||
- **Drag-resize splitters**: Project boxes have fixed internal layout
|
||||
- **Layout presets (1-col, 2-col, etc.)**: Replaced by N-project horizontal layout
|
||||
- **Remote machine integration**: Defer to v4 (complexity too high to combine)
|
||||
- **ctx ContextPane**: Becomes a workspace tab instead of a pane type
|
||||
|
||||
---
|
||||
|
||||
## Adversarial Agent Findings
|
||||
|
||||
(To be filled by adversarial review agents)
|
||||
9
docs/v3-progress.md
Normal file
9
docs/v3-progress.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# BTerminal v3 — Progress Log
|
||||
|
||||
### Session: 2026-03-07 — Architecture Planning
|
||||
|
||||
#### Phase: Adversarial Design Review
|
||||
- [ ] Launch architecture agents (advocate, devil's advocate, synthesizer)
|
||||
- [ ] Collect findings
|
||||
- [ ] Produce final architecture plan
|
||||
- [ ] Create implementation phases
|
||||
75
docs/v3-task_plan.md
Normal file
75
docs/v3-task_plan.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# BTerminal v3 — Mission Control Redesign
|
||||
|
||||
## Goal
|
||||
|
||||
Transform BTerminal from a multi-pane terminal/agent tool into a **multi-project mission control** — a helm for managing multiple development projects simultaneously, each with its own Claude agent session, team agents, terminals, and settings.
|
||||
|
||||
## Status: Planning — Rev 0
|
||||
|
||||
---
|
||||
|
||||
## Core Concept
|
||||
|
||||
**Project Groups** are workspaces. Each group has up to 5 projects arranged horizontally. One group visible at a time. Projects have their own Claude subscription, working directory, icon, and settings. The app is a dashboard for orchestrating Claude agents across a portfolio of projects.
|
||||
|
||||
### Key Mental Model
|
||||
|
||||
```
|
||||
BTerminal v2: Terminal emulator with agent sessions (panes in a grid)
|
||||
BTerminal v3: Project orchestration dashboard (projects in a workspace)
|
||||
```
|
||||
|
||||
### User Requirements (verbatim)
|
||||
|
||||
1. Projects arranged in **project groups** (many groups, switch between them)
|
||||
2. Each group has **up to 5 projects** shown horizontally
|
||||
3. Group/project config via **main menu** (command palette / hidden drawer, on keystroke)
|
||||
4. Per-project settings:
|
||||
- Claude subscription (multi-account via switcher-claude)
|
||||
- Working directory
|
||||
- Project icon (nerd font, suggested but settable)
|
||||
- Project name
|
||||
- Project identifier (derived from name, lowercase-dashed, settable)
|
||||
- Project description (optional)
|
||||
- Enabled flag (bool)
|
||||
5. Project group = workspace on screen
|
||||
6. Each project box has:
|
||||
- **Claude session box** (default open, continues previous session)
|
||||
- **Team agents window** (to the right, shows spawned subagents)
|
||||
- **Terminal tabs below** (agent terminals + user terminals, tabbed)
|
||||
7. **3 workspace tabs**:
|
||||
- Tab 1: Sessions view (described above)
|
||||
- Tab 2: MD file viewer (auto-discovered from projects, choosable)
|
||||
- Tab 3: Settings editor (per-project settings)
|
||||
8. App launchable with `--group <name>` CLI arg
|
||||
9. JSON config file defines all groups
|
||||
10. Session continuity: resume previous + restore history visually
|
||||
11. SSH sessions: spawnable within a project's terminal tabs or in separate tabs
|
||||
12. ctx viewer: separate tab
|
||||
|
||||
---
|
||||
|
||||
## Architecture Questions for Adversarial Review
|
||||
|
||||
1. **Config format**: JSON file vs SQLite for group/project definitions?
|
||||
2. **Layout engine**: How to arrange up to 5 project boxes with internal subdivisions?
|
||||
3. **Session isolation**: One sidecar per project? Shared sidecar with project context?
|
||||
4. **State management**: How to handle workspace switching (mount/unmount vs hide/show)?
|
||||
5. **What survives from v2**: Which components/stores/adapters carry over?
|
||||
6. **Tab implementation**: Browser-style tabs or Svelte component switching?
|
||||
7. **Command palette**: Build custom or use a library?
|
||||
8. **Auto-discovery**: Which MD files to surface per project?
|
||||
9. **Performance**: 5 projects x (session + agents + terminals) = potentially many active panes
|
||||
|
||||
---
|
||||
|
||||
## Decisions Log
|
||||
|
||||
| Decision | Rationale | Date |
|
||||
|---|---|---|
|
||||
| (pending adversarial review) | | |
|
||||
|
||||
## Errors Encountered
|
||||
|
||||
| Error | Cause | Fix | Date |
|
||||
|---|---|---|---|
|
||||
Loading…
Add table
Add a link
Reference in a new issue