Clide is being rebuilt as a Flutter desktop app. The Python Textual implementation moves wholesale into legacy/ rather than being deleted: its pane model, panel set, git skills, and panel communication design are real thought that should remain readable next to the new code while the rebuild finds its shape. Git's rename tracking preserves history, so `git log -- legacy/` still works. The Flutter rebuild lives at the repo root alongside a Go sidecar (the architecture claudian was heading toward, which folds into clide as a core component rather than a separate plugin project). Bootstrap of the new shape lands in subsequent commits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.5 KiB
3.5 KiB
TODO
Long-term open items for Clide development.
Core Features
Claude Integration
- Streaming markdown responses in Claude panel
- Visual distinction between Claude responses, tool calls, and user input
- Claude history browser (past conversations)
- Claude diff flow (propose changes → diff tab → accept/reject)
Editor
- Multi-file tab support with state preservation
- Cursor position and scroll position persistence
- Undo/redo history preservation when hiding panel
- Find in file (
Ctrl+F) - Go to line (
Ctrl+G)
Diff Panel
- Side-by-side diff view
- Unified diff view toggle
- Accept/Reject buttons for Claude-proposed changes
- Syntax highlighting in diff content
Terminal
- Full PTY integration for terminal emulation
- Command history preservation
- Output buffer retention when hiding
Git Integration
- Stage/unstage files from Git tab
- Discard changes context menu
- Git graph visualization (Tree tab)
- Branch popout with checkout/new branch actions
Context Panel (Right Sidebar)
Problems View
- Linter integration (ruff, eslint, etc.)
- Click to navigate to file:line
- Reactive problem count badge
TODOs View
- Scan for TODO/FIXME/HACK/XXX comments
- Click to navigate to file:line
- Reactive count badge
Jira View
- Render Jira CLI markdown output
- Auto-refresh on panel focus
- Configurable refresh interval
UI/UX
Responsiveness
- CSS breakpoints for different terminal widths
- Auto-hide sidebars on narrow terminals (<100 cols)
- Compact mode toggle (
Alt+C)
Fullscreen Mode
- Any panel can go fullscreen (
F11) - Exit fullscreen with
Escape
Command Palette
- Implement command palette (
Alt+P) - Quick open file (
Alt+O)
State Management
Session Persistence
- Remember open files across sessions
- Persist panel sizes and layout
- Save last git state
- Remember expanded/collapsed sections
Multiple Projects
- Workspace switcher
- Recent projects list
Plugin System
- User-defined panels via pluggy
- Custom integrations support (hookspecs defined)
- Extension API documentation
Testing
- Snapshot tests for all panels
- Integration tests for panel communication
- Unit tests for controllers
- Unit tests for services
Documentation
- User guide
- Plugin development guide
- Architecture documentation updates
Web Deployment (ttyd)
- Image paste support: intercept browser clipboard image on Ctrl+V, upload blob to server, save as temp file. Claude Code already handles Ctrl+V as image paste — just needs the image on the filesystem
- Right-click context menu for copy/paste in web terminal
- Multiple terminal tabs: the workspace terminal already runs inside a shell — leverage this for tabbed terminal sessions (new tab, close tab, switch tabs)
Build & Distribution
- PyInstaller builds for macOS
- PyInstaller builds for Linux
- CI/CD pipeline with Gitea Actions