~20MB native code editor with built-in AI agents. Ships fast.
Website · Download · ClifPad · ClifCode TUI · Development
Two products, one monorepo:
- ClifPad — Desktop IDE with Monaco editor, real terminal, git, and an AI agent sidebar
- ClifCode — Terminal AI agent that reads, writes, searches, and runs commands
Both use any LLM via OpenRouter, OpenAI, Anthropic, or Ollama (fully local). No Electron. No telemetry. No subscription.
|
Download from Releases — macOS (.dmg), Windows (.exe), Linux (.deb, .AppImage). Built-in auto-updater checks for new versions on startup.
|
cargo install clifcodenpm i -g clifcodeRun |
A ~20MB native Rust IDE. Tauri 2 backend, SolidJS frontend, Monaco editor.
Editor — 70+ languages, IntelliSense, multi-cursor, minimap, code folding. Same engine as VS Code.
Terminal — Native PTY. Multiple tabs, kill, clear. Launch ClifCode or Claude Code with one click.
Git — Branch, stage, commit, push/pull, per-file diff stats, visual commit graph. All in Rust.
AI Agent Sidebar — Built-in chat agent with 9 tools (read, write, edit, search, find, list, run commands). Streams responses, shows tool calls with arguments inline, context compaction for long tasks. Separate from the terminal — both can run simultaneously.
20 Themes — Midnight, Graphite, Dawn, Arctic, Dusk, Cyberpunk, Ember, Forest, Solarized Dark, Monokai, Nord, Dracula, One Dark, Tokyo Night, Catppuccin, Rosé Pine, Ayu Dark, Vesper, Poimandres, Pale Fire. Two-column theme picker split by dark/light.
Security Scanner — Detects hardcoded secrets, API keys, private keys, SQL injection, eval/exec, and more. Runs automatically before every git commit — warns before you ship a vulnerability. Full repo scan from the status bar. Enable/disable toggle. No false positives from binary files or dependencies.
Keyboard Shortcuts — Ctrl+`` toggle terminal, Ctrl+Shift+`` new terminal, Cmd+K clear terminal, Ctrl+B sidebar, Ctrl+S save, Ctrl+Shift+P command palette.
| Binary | RAM (idle) | |
|---|---|---|
| ClifPad | ~20MB | ~80MB |
| Cursor | ~400MB | ~500MB+ |
| VS Code | ~350MB | ~400MB+ |
| Zed | ~100MB | ~200MB |
Terminal AI agent. Like Claude Code, but works with any LLM.
◆ Model anthropic/claude-sonnet-4 ◆ Mode auto-edit
◆ Path ~/projects/my-app
❯ refactor the auth module to use JWT tokens
▶ read src/auth/mod.rs
▶ read src/auth/session.rs
✎ edit src/auth/mod.rs +42 -18
▸ run cargo test — 23 tests passed
✦ ClifCode Refactored auth to JWT. Added token expiry and refresh.
∙ 2.1k tokens ∙ ~$0.0312
| Tool | What it does |
|---|---|
read_file |
Read files with offset for large files |
write_file |
Create/overwrite files, shows diff |
edit_file |
String replacement with fuzzy fallback |
find_file |
Recursive name search |
search |
Grep across 15+ file types |
list_files |
Directory tree view |
run_command |
Shell execution with 30s timeout |
change_directory |
Switch workspace |
submit |
Mark task complete |
- Context compaction — 3-tier automatic context management. Truncates large results, stubs old ones, drops old turns. Runs indefinitely without hitting context limits.
- Auto-update — Background version check on startup,
/updateself-replaces the binary from GitHub releases. - Session persistence — Every conversation auto-saves. Resume any session by ID.
- 3 autonomy modes —
suggest(confirm every write),auto-edit(apply + show diff),full-auto(hands-off). - Any LLM — OpenRouter (100+ models), OpenAI, Anthropic, Ollama (local), or any OpenAI-compatible endpoint.
- Cost tracking — Per-turn token usage and cost estimate.
- Git integration — Commits on task completion with user confirmation. Undo with
/undo.
/new /sessions /resume /cost /clear /quit
/cd /add /drop /context
/mode /backend /config /update /version
/status /undo /help
clifcode # interactive
clifcode -p "explain this codebase" # single prompt
clifcode --backend ollama # local models
clifcode --autonomy suggest # confirm writes
clifcode --resume # resume last session
clifcode -w /path/to/project # set workspace
clifcode --version # show version# ClifPad
cd clif-pad-ide
npm install && npm run tauri dev
# ClifCode
cd clif-code-tui
cargo run --releaseClifPad: Tauri 2 (Rust) → IPC → SolidJS + Monaco + xterm.js
ClifCode: Pure Rust binary → ureq streaming → terminal UI
Clif-Code/
├── clif-pad-ide/ Desktop IDE (Tauri 2 + SolidJS)
│ ├── src/ Frontend (components, stores, lib)
│ ├── src-tauri/src/ Rust backend (fs, git, pty, ai, agent)
│ └── www/ Landing page (clifcode.io)
├── clif-code-tui/ Terminal agent (pure Rust)
│ ├── src/ main, backend, tools, ui, session, config
│ └── npm/ npm distribution (6 platform binaries)
└── .github/workflows/ CI/CD (semantic release, multi-platform builds)
Conventional commits: feat: bumps minor, fix: bumps patch. Semantic release handles versioning, builds, and publishing for both products.
macOS "App can't be opened"?
Run xattr -cr /Applications/ClifPad.app in Terminal. This removes Apple's download quarantine flag. ClifPad is open source and safe.
Does it work offline? ClifPad: yes — AI is opt-in. Without API keys it's a full editor with terminal and git. ClifCode: needs an API, but Ollama runs fully local.
What models work? Any model on an OpenAI-compatible API. Default: Claude Sonnet 4 via OpenRouter (100+ models). Local: any Ollama model.
FSL-1.1-ALv2 — Free to use, modify, and self-host. Cannot be used to build a competing commercial product. Converts to Apache 2.0 after 2 years.
Built by James Lawrence
