Commit Graph
1128 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.6 30b8cf7db9 docs: update documentation for clide-web and v1.2.0
- CHANGELOG: add v1.2.0 with clide-web, database layer, workspace tabs,
  and ttyd/zellij removal
- CLAUDE.md: add clide-web to tech stack, dev commands, and project
  structure
- web-deployment.md: document /projects/<name> routing, setup wizard,
  auto-respawn, database schema, and make targets
- install-clide-web.sh: update URLs to path-based routing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:06:12 +01:00
jpmschweitzerandClaude Opus 4.6 a14f15d675 chore: replace echo with printf in Makefile
Use printf instead of echo for consistent ANSI color rendering
across shells and make implementations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:04:31 +01:00
jpmschweitzerandClaude Opus 4.6 0c1c935230 fix: match context panel backgrounds to sidebar
Change JiraView, TodosView, and ProblemsView backgrounds from
\$background to \$surface so the right panel visually matches the
left sidebar panel.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:04:04 +01:00
jpmschweitzerandClaude Opus 4.6 b2a18b6b20 refactor: remove ttyd + zellij, update deploy for clide-web
Remove all external binary dependencies that clide-web replaces:
- ttyd-nerd-font git submodule (C binary)
- zellij config (config.kdl, bare.kdl)
- clide-launcher shell script
- update-ttyd.sh build script

Update systemd service and install script for the new FastAPI stack.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:03:53 +01:00
jpmschweitzerandClaude Opus 4.6 56a8ea4ba4 feat: add clide-web package replacing ttyd + zellij
Python web server that wraps Clide for browser access. Replaces the
previous ttyd (C binary) + zellij (Rust binary) stack with a single
FastAPI application using tmux for session persistence.

Key features:
- WebSocket ↔ PTY bridge via tmux attach
- Project switching via /projects/<name> URL routing
- Vendored xterm.js for offline LAN operation
- Auto-respawn on Clide exit (tmux pane-died hook)
- Setup wizard for first-run configuration
- No scrollbar (TUI manages its own scrolling)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:03:43 +01:00
jpmschweitzerandClaude Opus 4.6 29a858d7a8 feat: add SQLite database layer with SQLModel
Add shared database infrastructure to clide core for use by both
the CLI and clide-web. SQLModel provides Pydantic-native models
that double as SQLAlchemy table definitions.

Models: Project, Session, UserPreference, ConnectionLog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:01:55 +01:00
jpmschweitzerandClaude Opus 4.6 a14ee82883 feat: dynamic tabbed workspace with multi-file and multi-terminal support
Replaces the fixed 3-tab workspace (Editor/Diff/Terminal) with a VS Code-style
dynamic tab system. Users can now open multiple files, terminals, and diffs in
closeable tabs with type icons, modified indicators, and file deduplication.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:33:47 +01:00
jpmschweitzerandClaude Opus 4.6 cd949e4d9c Update TODO: mark completed items
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:14:18 +01:00
jpmschweitzerandClaude Opus 4.6 86ceb2de56 Add terminal tabs TODO item
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 02:44:58 +01:00
jpmschweitzerandClaude Opus 4.6 27b19d4698 feat: Nerd Font support, clipboard paste, and PTY environment fixes
- Add ttyd-nerd-font submodule with embedded JetBrains Mono Nerd Font
  for proper icon rendering in browser via ttyd
- Add Ctrl+Shift+V / Shift+Insert paste support in ttyd frontend
- Strip Zellij env vars from PTY child processes to prevent workspace
  terminal from inheriting Zellij session context
- Launch PTY commands through login shell for proper PATH resolution
- Use /etc/passwd shell lookup instead of $SHELL (Zellij overrides it)
- Soften ANSI 256-color palette to match modern dark themes
- Handle Nerd Font PUA glyphs as width 1 in pyte terminal emulator
- Fix brightmagenta typo in pyte graphics
- Update install script to build ttyd from submodule source
- Add web deployment TODO items for image paste and context menu

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 02:44:08 +01:00
jpmschweitzerandClaude Opus 4.6 b1d0b2a5af feat: replace simple terminal with full PTY terminal emulator
Extract TerminalDisplay from ClaudePanel into a shared widget module
and rewrite TerminalPane to use it. The workspace terminal now runs
an interactive shell via PTY instead of a simple command runner,
supporting colors, escape sequences, tab completion, and interactive
programs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 01:36:05 +01:00
jpmschweitzerandClaude Opus 4.6 91703e2d11 Harden service restart and disable Zellij UI artifacts
Service: add TimeoutStopSec=5 and SendSIGKILL=yes so restarts don't
hang on stubborn claude processes. Reduce RestartSec to 3s.

Zellij: disable session serialization, release notes, and splash screen
so sessions always start fresh with the bare layout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 01:19:40 +01:00
jpmschweitzerandClaude Opus 4.6 7fcdae3f2e Remove goto line keybinding from CLAUDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 01:01:20 +01:00
jpmschweitzerandClaude Opus 4.6 dba0e4805f Add web deployment layer and docs for browser-based setup
Pull ttyd/zellij/clide-launcher scripts into deploy/ so the web access
layer lives with the project. Zellij is configured in locked mode with a
bare layout so it only provides session persistence without intercepting
keys or showing UI. Remove Ctrl+G goto-line binding from Clide to avoid
conflict with Zellij's unlock key.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 01:00:20 +01:00
Jeroen SchweitzerandClaude Opus 4.5 aff03a2e9b feat: add multi-platform packaging and auto-update infrastructure
- Add PyInstaller configuration (clide.spec) for cross-platform builds
- Add build scripts for macOS (DMG), Linux (AppImage), and Windows (Inno Setup)
- Add Gitea Actions CI/CD workflow for automated releases
- Add auto-update service with Gitea API integration
- Add 'clide update' CLI command for checking and installing updates

Packaging outputs:
- macOS: Signed/notarized .app bundle in DMG
- Linux: Portable AppImage (glibc 2.17+)
- Windows: Inno Setup installer

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:51:36 +01:00
Jeroen SchweitzerandClaude Opus 4.5 8b1a84e7e2 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>
2026-02-01 22:02:00 +01:00
Jeroen SchweitzerandClaude 2d2e5f5648 chore: bump version to 1.0.0 and add CHANGELOG.md
Release version 1.0.0 with comprehensive changelog documenting
all features added since initial development including skill
installer, TileList component, file watcher, and theme system.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-01 21:27:17 +01:00
Jeroen SchweitzerandClaude 839a3ad50c test: update tests and snapshots for widget changes
Update test fixtures and snapshots to reflect TileList component
and panel widget refactoring. Adjust integration tests for new
file browser behavior.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-01 21:23:22 +01:00
Jeroen SchweitzerandClaude 6293b93d98 refactor(widgets): add TileList component and improve panel widgets
Add reusable TileListView component for consistent card-style lists.
Refactor sidebar and context panels to use improved git integration,
enhanced branch status display, and better component organization.

Key changes:
- New TileListView/TileItem for reusable styled lists
- Enhanced git controller with graph traversal
- Improved branch status with remote tracking info
- Better file watcher integration

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-01 21:22:00 +01:00
Jeroen SchweitzerandClaude f9d37e3e7e feat(services): add skill installer for Claude Code skills
Add SkillInstaller service to install bundled skill templates
(commit, branch, push, pull, stash) to user or project scope.
Includes template management and installation status checking.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-01 21:17:36 +01:00
Jeroen SchweitzerandClaude Opus 4.5 8b2d7c57ef Add TODO.md integration to TODOs panel
- Parse TODO.md markdown checkboxes and display in collapsible section
- Add ProjectTodoItem model for TODO.md items with section/subsection support
- Swap context panel tab order to: Jira, TODOs, Problems
- Add "Create TODO.md" button when file doesn't exist with template
- Click project TODO items to navigate to TODO.md at that line
- Add header to TODO.md explaining Clide integration format
- Add pre-commit config with ruff linting and formatting
- Update ruff ignore rules for Textual patterns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 19:37:58 +01:00
Jeroen SchweitzerandClaude Opus 4.5 8c80a3ee97 Add logs and credentials files to gitignore
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 16:17:21 +01:00
Jeroen SchweitzerandClaude Opus 4.5 c955e3ad25 Add file watcher integration and IDE enhancements
- Implement file system watching with watchdog for real-time file panel updates
- Add FileEventMessage for event-driven file change handling
- Integrate Claude events parsing for IDE awareness of Claude actions
- Add extension hooks for file changes (clide_on_file_changed, clide_on_file_saved)
- Enhance editor pane with syntax highlighting service
- Improve workspace panel with action bar and file operations
- Update Claude panel with PTY terminal integration
- Add TODO.md to track long-term project items
- Update keybindings to use Alt-based shortcuts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 16:14:44 +01:00
Jeroen SchweitzerandClaude Opus 4.5 cd7f672638 Update README with comprehensive project introduction
Expand the README to better communicate Clide's value proposition,
including layout diagram, feature breakdown, tech stack, getting
started instructions, and keybindings reference.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 14:05:01 +01:00
Jeroen SchweitzerandClaude Opus 4.5 1ed21d2a0f Restructure project and add user settings persistence
- Move src/clide/ to clide/ (flatten directory structure)
- Add SettingsService for persistent user preferences
- Settings stored in ~/.clide/settings.json
- Persist theme, panel visibility, and compact mode state
- Fix terminal rendering glitch with throttled refresh (~60fps)
- Update pyproject.toml, Makefile, and tests for new structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 00:42:46 +01:00
Jeroen SchweitzerandClaude Opus 4.5 6b7c3ecf9b Add TUI wireframes for Clide interface design
Wireframes created in Penpot showing the main UI layouts:
- Main Layout: 3-panel view with sidebar, workspace+Claude, context panel
- Compact Mode: Claude-focused view taking full center area
- Git Changes: Git panel with staged/unstaged files and diff viewer
- Keybindings: Keyboard shortcuts reference modal

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 00:17:12 +01:00
jpmschweitzerandClaude Opus 4.5 c5f8b2e615 Add Clide project structure and initial implementation
Set up the TUI IDE wrapper for Claude Code CLI with:
- Core app structure using Textual framework
- Panel architecture (sidebar, workspace, claude, context)
- Theme system with 22 built-in themes (Summer Night default)
- Pydantic models for configuration and data
- Makefile for development commands
- Project documentation and specs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:04:44 +01:00
jpmschweitzer 12825e15e2 Initial commit 2026-01-31 10:30:14 +01:00