Commit Graph
20 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.7 a48ccedfd4 add Flutter-rebuild project identity at the repo root
project.yaml is fresh and declares version 2.0.0-dev — a clean break
from Python clide's v1.2.0 (which remains under legacy/). It carries
module path, toolchain pins (go >=1.25, Flutter stable, Dart >=3.5),
and the Gitea repository URL. Same schema as the Makefile will read
via awk for sidecar version stamping.

README.md and LICENSE land alongside. The README pitches the rebuild
tersely and points at docs/initial-plan.md for the full story; the
Python README is preserved under legacy/README.md.

.gitignore is rewritten for the new toolchain. The previous file was
wall-to-wall Python rules; now the root ignores Flutter/Dart/Go build
output plus the usual OS/editor/secrets/.claude-local entries, and
Python-specific rules scope to legacy/** so they don't fire on any
stray caches at the repo root.

.editorconfig sets tabs for Go, two-space for Dart and everything
else, and the usual EOL + trailing-whitespace rules.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:43:41 +02:00
jpmschweitzerandClaude Opus 4.7 005d19ae93 add initial plan for the Flutter rebuild
docs/initial-plan.md is the new north star. It states the rebuild's
premise explicitly: Python Clide's IDE skeleton gets rebuilt native
in Flutter, a sharpened subset of Obsidian's ideas (just canvas and
graph — no vault, no bases, no plugin inheritance) folds in, and
the architectural patterns from the short-lived claudian plugin
port over via ADRs 0001–0004.

Tier 0 is "Flutter app + sidecar daemon connected, empty IDE."
Tier 1 is "Claude runs inside clide, session survives app restart."
Later tiers layer panes, git, pql integration, canvas and graph,
and an extension API — each ordered so the guardrails (CLI-first,
user/Claude parity, pql-as-subsystem) stay enforceable at every
step.

Future Claude Code instances should read this before proposing
changes that touch architecture.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:41:43 +02:00
jpmschweitzerandClaude Opus 4.7 a782511470 carry forward ADRs, Claude Code config, and changelog discipline
Ports the patterns that crystallized during the short-lived claudian
plugin project (discarded in favour of this Flutter rebuild):

- ADRs 0001-0004 capture decisions that survive the host change —
  CLI-first over MCP, Go for the sidecar, pql as a supporter tool
  that becomes a clide-managed subsystem when present, and the
  ignore-file strategy that wires all file-enumerating surfaces
  through one knob in .pql/config.yaml.
- .claude/settings.json and the git-commit and skill-create skills
  come over with naming updated for clide. The git-commit skill's
  "no Conventional Commits" convention supersedes the Python-era
  clide style under legacy/; the Keep-a-Changelog discipline and
  the project.yaml-version-and-changelog-bumped-together rule
  apply going forward.
- CHANGELOG.md starts fresh at the repo root to track the Flutter
  rebuild. The Python changelog is preserved under legacy/.

.gitignore narrows from `.claude/` to just `.claude/settings.local.json`
so project-level config and skills travel with the repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:38:49 +02:00
jpmschweitzerandClaude Opus 4.7 a355751437 move python clide to legacy/
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>
2026-04-20 20:30:51 +02:00
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
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