docs: update documentation and fix lint issues for v1.0.0

Documentation:
- Rewrite README.md with current features and git operations
- Rewrite docs/ARCHITECTURE.md with layered architecture details
- Rewrite docs/tui-ide-spec.md with Alt-key shortcuts
- Add docs/code-organization.md for component architecture
- Add docs/user-manual.md for end users
- Update TODO.md to mark completed items

Code fixes:
- Fix undefined 'event' variable in diff_pane.py (was _event)
- Use ternary operator in editor.py save_file method
- Clean up imports in claude_events.py and syntax_service.py
- Auto-fix import sorting across multiple files

Config:
- Add snapshot report path to pyproject.toml pytest options
- Exclude clide/vendor from ruff linting
- Ignore TCH002/TCH003 type-checking import rules

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jeroen Schweitzer
2026-02-01 22:02:00 +01:00
co-authored by Claude Opus 4.5
parent 2d2e5f5648
commit 8b1a84e7e2
20 changed files with 1574 additions and 834 deletions
+121 -51
View File
@@ -4,53 +4,135 @@ A terminal-based IDE that wraps Claude Code CLI, putting AI-assisted development
## Why Clide?
Claude Code is powerful, but switching between your terminal, editor, and project tools breaks your flow. Clide brings everything into one interface:
Claude Code is powerful, but switching between terminal, editor, and project tools breaks your flow. Clide brings everything into one interface:
- **Claude stays visible** — No more switching windows. Claude Code is always front and center.
- **Context at a glance** — File tree, git status, problems, and TODOs in dedicated panels.
- **Panels appear when needed** — Editor, diff viewer, and terminal stay hidden until you need them.
- **Familiar keybindings** — VSCode-inspired shortcuts that don't interfere with your input.
- **Claude stays visible** — Claude Code runs in the center panel, always accessible
- **Context at a glance** — File tree, git status, problems, and TODOs in dedicated panels
- **Panels appear when needed** — Editor, diff viewer, and terminal stay hidden until you need them
- **Git integration** — Commit, stash, pull, and push via Claude with built-in skills
- **22 themes** — From summer-night to dracula, with custom theme support
## Layout
## Screenshot
```
┌─────────────────┬─────────────────────────┬──────────────────┐
│ Sidebar │ Workspace │ Context │
│ │ [Editor][Diff][Terminal]│ │
│ [Files][Git] │ (appears when needed) │ [Problems][TODOs]│
│ [Graph] ├─────────────────────────┤ [Jira] │
│ [Files][Git] │ (appears when needed) │ [Jira][TODOs] │
│ [Tree] ├─────────────────────────┤ [Problems] │
│ │ │ │
│ │ Claude │ │
│ │ (always visible) │ │
│ │ │ │
├─────────────────┤ ├──────────────────┤
│ ⎇ main ▾ │ │ [⚠ 3][✓12][Jira]│
│ ⎇ main ▾ │ │ │
│ staged: 2 │ │ │
└─────────────────┴─────────────────────────┴──────────────────┘
```
## Features
**Left Sidebar**
- File explorer with project tree
- Git panel showing staged/unstaged changes
- Visual branch graph
- Quick branch switching
### Left Sidebar
- **Files** — Project file tree with syntax-aware icons
- **Git** — Staged/unstaged changes with action buttons
- **Tree** — Visual branch graph
- **Branch status** — Current branch with quick switcher
**Center Workspace**
- Claude Code integration (primary focus)
- Tabbed editor with syntax highlighting
- Side-by-side diff viewer for proposed changes
- Integrated terminal
### Center
- **Claude Code** — Full PTY terminal integration, always visible
- **Editor** — Syntax highlighting via tree-sitter
- **Diff** — Side-by-side diff viewer
- **Terminal** — Command execution
**Right Context Panel**
- Problems view (linter errors/warnings)
- TODOs extracted from codebase
- Jira/Confluence integration
### Right Context
- **Jira** — Issue display via CLI integration
- **TODOs** — Code comments and TODO.md items
- **Problems** — Linter errors and warnings
**Responsive Design**
- Works on 13" laptops to widescreen monitors
- Compact mode hides sidebars for focused work
- Panels preserve state when hidden
### Git Operations
Click buttons in the Git panel to delegate operations to Claude:
| Button | Skill | What Claude Does |
|--------|-------|------------------|
| Commit | `/commit` | Reviews changes, writes commit message |
| Stash | `/stash` | Stashes working changes |
| Pull | `/pull` | Pulls with rebase, helps resolve conflicts |
| Push | `/push` | Pushes to remote, sets upstream if needed |
Skills are installed automatically to your project's `.claude/skills/` directory.
## Installation
### Requirements
- Python 3.12+
- Git
- Claude Code CLI (installed and authenticated)
### Setup
```bash
git clone <repo-url>
cd clide
make setup
make run
```
Or install directly:
```bash
pip install -e .
clide
```
## Keybindings
All shortcuts use `Alt` to avoid conflicts with Claude Code input.
| Action | Binding |
|--------|---------|
| Toggle left sidebar | `Alt+B` |
| Toggle right sidebar | `Alt+Shift+B` |
| Toggle terminal | `` Alt+` `` |
| Focus Claude | `Alt+1` |
| Focus Editor | `Alt+2` |
| Focus Terminal | `Alt+3` |
| Toggle compact mode | `Alt+C` |
| Select theme | `Alt+T` |
| Quit | `Alt+Q` |
## Themes
22 built-in themes. Press `Alt+T` to switch.
| Category | Themes |
|----------|--------|
| Core | summer-night (default), summer-day |
| Popular | one-dark, one-dark-pro, one-light, dracula, nord, gruvbox-dark, gruvbox-light |
| Seasonal | winter-is-coming, monokai-winter, fall, dark-autumn |
| Special | all-hallows-eve, halloween, christmas, santa-baby |
| Hacker | pro-hacker, hacker-style |
Create custom themes in `~/.clide/themes/` as TOML files.
## Configuration
Settings stored in `~/.clide/settings.json`:
```json
{
"theme": "summer-night",
"compact_mode": false,
"jira_enabled": false
}
```
Override with environment variables:
```bash
CLIDE_THEME=dracula clide
```
## Tech Stack
@@ -61,37 +143,25 @@ Claude Code is powerful, but switching between your terminal, editor, and projec
| CLI | Typer |
| Data Validation | Pydantic v2 |
| Extensions | Pluggy |
| Syntax Highlighting | tree-sitter |
## Getting Started
## Development
```bash
# Clone and setup
git clone <repo-url>
cd clide
make setup
# Run
make run
make setup # Create venv, install deps
make run # Run application
make test # Run all tests
make typecheck # Run mypy
make lint # Run ruff
make format # Format code
```
## Keybindings
| Action | Binding |
|--------|---------|
| Toggle left sidebar | `Alt+B` |
| Toggle right sidebar | `Alt+Shift+B` |
| Toggle terminal | `` Alt+` `` |
| Focus Claude | `Alt+1` |
| Focus Editor | `Alt+2` |
| Focus Terminal | `Alt+3` |
| Command palette | `Alt+P` |
| Quick open file | `Alt+O` |
| Toggle compact mode | `Alt+C` |
## Documentation
- [Full UI/UX Specification](docs/tui-ide-spec.md)
- [Architecture Guide](docs/ARCHITECTURE.md)
- [User Manual](docs/user-manual.md) — How to use Clide
- [UI/UX Specification](docs/tui-ide-spec.md) — Design decisions
- [Architecture](docs/ARCHITECTURE.md) — Technical overview
- [Code Organization](docs/code-organization.md) — Project structure
## License