Cursor is 400MB. VS Code is 350MB. Zed doesn't do AI.
Clif is ~20MB. A native Rust binary with a 7KB SolidJS frontend. VS Code-quality editing via Monaco. Real terminal via PTY. Git built into the backend. AI when you want it, silence when you don't.
No Electron. No telemetry. No subscription. Open source.
๐ฆ Get It
ClifPad โ Desktop IDE
macOS "App can't be opened"? โ Run
xattr -cr /Applications/ClifPad.appthen open normally. Why?
ClifCode โ Terminal Agent
Run clifcode in any project directory. That's it.
npm i -g clifcodeโ coming soon
# Or clone and build locally
&&
๐ฅ๏ธ ClifPad
๐ Monaco Editor โ 70+ languages, IntelliSense, multi-cursor, minimap, code folding. Same engine as VS Code.
๐ฅ๏ธ Real Terminal โ Native PTY via Rust. Your actual shell with 256-color, resize, 10K scrollback.
๐ Dev Preview โ One-click npm run dev, auto-detects localhost, live iframe preview.
๐ฟ Git โ Branch, status, stage, commit, per-file +/- diff stats, visual commit graph. All Rust.
๐ค AI โ OpenRouter (100+ models), Ollama (fully local), Claude Code CLI. Ghost text completions. All opt-in.
๐จ 5 Themes โ Midnight, Graphite, Dawn, Arctic, Dusk. Editor, terminal, and UI stay in sync.
โจ๏ธ Keys โ Ctrl+`` terminal, Ctrl+B sidebar, Ctrl+S save, Ctrl+Shift+P palette.
๐ The Size Flex
| Binary | Runtime | RAM idle | |
|---|---|---|---|
| ClifPad | ~20MB | 7KB | ~80MB |
| Cursor | ~400MB | ~50MB | ~500MB+ |
| VS Code | ~350MB | ~40MB | ~400MB+ |
| Zed | ~100MB | native | ~200MB |
Tauri 2 compiles to a single native binary. SolidJS has no virtual DOM overhead. Rust handles file I/O, git, PTY, AI streaming โ zero garbage collection.
โก ClifCode
Open-source AI coding agent for your terminal. Like Claude Code โ but you own it.
_____ _ _ __ _____ _
/ ____| (_)/ _/ ____| | |
| | | |_| || | ___ __| | ___
| | | | | _| | / _ \ / _` |/ _ \
| |____| | | | | |___| (_) | (_| | __/
\_____|_|_|_| \_____\___/ \__,_|\___|
AI coding assistant โ works anywhere, ships fast
โ Model anthropic/claude-sonnet-4 โ Mode auto-edit
โ Path ~/projects/my-app
Type a task to get started, or /help for commands
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โฏ refactor the auth module to use JWT tokens
[1/7] โขโขโข thinking
โถ read src/auth/mod.rs
โถ read src/auth/session.rs
โ find config.toml
โ edit src/auth/mod.rs +42 -18
โ edit src/auth/session.rs +15 -8
โธ run cargo test
โ All 23 tests passed
โฆ ClifCode Refactored auth module to use JWT tokens.
Replaced session-based auth with stateless JWT
verification. Added token expiry and refresh logic.
โ 2.1k tokens โ ~$0.0312
What it does: Tool-calling AI agent that reads your codebase, writes code, runs commands, searches files, and auto-commits โ all from a TUI.
| Agentic loop โ up to 7 tool calls per turn | Any provider โ OpenRouter, OpenAI, Anthropic, Ollama | Parallel tools โ concurrent read-only calls |
| 3 autonomy modes โ suggest, auto-edit, full-auto | Sessions โ auto-save, resume, cost tracking | 9 built-in tools โ read, write, edit, find, search, run, list, cd, submit |
โ Session /new /sessions /resume /cost /clear /quit
โ Workspace /cd /add /drop /context
โ Settings /mode /backend /config
โ Git /status /undo
| Provider | Config |
|---|---|
| OpenRouter (default) | CLIFCODE_API_KEY โ access to 100+ models |
| OpenAI | --api-url https://api.openai.com/v1 |
| Anthropic | Via OpenRouter or compatible proxy |
| Ollama | --backend ollama โ fully local, no API key |
| Any OpenAI-compatible | --api-url <your-endpoint> |
๐ ๏ธ Build & Contribute
# ClifPad โ desktop IDE
&&
# ClifCode โ terminal agent
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tauri 2 (Rust) โ
โ File I/O ยท Git ยท PTY ยท AI ยท Search โ
โ โ โ
โ IPC (invoke/events) โ
โ โ โ
โ SolidJS + TypeScript โ
โ Monaco Editor ยท xterm.js โ
โ Tailwind CSS 4 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Layer | Tech | Size |
|---|---|---|
| Backend | Tauri 2 + Rust | ~20MB compiled |
| UI | SolidJS | 7KB runtime |
| Editor | Monaco | tree-shaken |
| Terminal | xterm.js + portable-pty | real PTY |
| Styles | Tailwind CSS 4 | zero runtime |
| Build | Vite 6 | <5s HMR |
| CI/CD | Semantic Release | auto-versioned |
Project Structure
Clif-Code/
โโโ clif-pad-ide/ ๐ฅ๏ธ Desktop IDE โ Tauri 2 + SolidJS + Monaco
โโโ clif-code-tui/ โก Terminal AI agent โ pure Rust, any API
โโโ .github/ ๐ CI/CD (auto-release, npm publish)
clif-pad-ide/
โโโ src/ # SolidJS frontend
โ โโโ components/ # editor, terminal, layout, explorer
โ โโโ stores/ # reactive state (signals + stores)
โ โโโ lib/ # IPC wrappers, keybindings, themes
โ โโโ types/ # TypeScript interfaces
โโโ src-tauri/src/ # Rust backend
โ โโโ commands/ # fs, git, pty, ai, search, settings
โ โโโ services/ # file watcher, ai providers
โโโ www/ # Landing page (clifcode.io)
clif-code-tui/
โโโ src/
โ โโโ main.rs # CLI, TUI loop, agent orchestration
โ โโโ backend.rs # API backend (OpenRouter, OpenAI, Ollama)
โ โโโ tools.rs # Tool definitions and execution
โ โโโ ui.rs # Terminal UI rendering
โ โโโ session.rs # Session persistence
โ โโโ config.rs # Config (API keys, provider setup)
โ โโโ git.rs # Git integration
โ โโโ repomap.rs # Workspace structure analysis
โโโ npm/ # npm distribution packages
โ โโโ clifcode/ # Main wrapper (npm i -g clifcode)
โ โโโ @clifcode/cli-*/ # 6 platform-specific binaries
โโโ scripts/
โโโ bump-version.js # Syncs versions across Cargo.toml + npm
Conventional commits โ feat: bumps minor, fix: bumps patch, feat!: bumps major. Semantic release handles the rest.
โ FAQ
Why does macOS say "App can't be opened"?
macOS Gatekeeper blocks apps that aren't signed with a $99/year Apple Developer certificate. ClifPad is open source and safe โ run xattr -cr /Applications/ClifPad.app in Terminal to remove the quarantine flag, then open normally.
Is Clif safe?
100% open source. Read every line: github.com/DLhugly/Clif-Code. No telemetry, no network calls unless you enable AI. The xattr command just removes Apple's download flag โ it doesn't disable any security.
Why not just pay for code signing? We will. For now, the $99/year Apple Developer fee goes toward more important things. Proper signing + notarization is on the roadmap.
Does it work offline? ClifPad: Yes โ AI features are opt-in. Without API keys, it's a fully offline editor with terminal and git. ClifCode: Needs an API provider (but Ollama runs fully local with no internet).
What models does ClifCode support?
Any OpenAI-compatible API. Default is anthropic/claude-sonnet-4 via OpenRouter. Also works with GPT-4o, Gemini, Llama, Qwen, Mistral, DeepSeek โ anything on OpenRouter or Ollama.
๐ License
MIT โ use it however you want.