Built for EEditor · Open Source · MIT

Generate EELisp code
with a local AI

No cloud. No subscription. Your machine, your data.
Zero-config: run eepilot setup and everything downloads automatically.
Describe what you want — EEPilot writes, runs, and saves it.

Runs locally on Apple Silicon · Qwen2.5-Coder-7B · 128k context window
🔒

Fully Local

Qwen2.5-Coder-7B runs on your Mac via llama.cpp. Nothing leaves your machine. No API keys. Works offline.

🛠

Built for EEditor

Native sidebar panel inside EEditor. Generate code, click Insert, watch it run in the REPL — all without leaving the editor.

🤖

MCP Server

Claude Code and other AI tools can call EEPilot directly. Generate snippets, run code, and manage your library via 7 MCP tools.

Context injection, not training

EEPilot teaches the model EELisp in a single system prompt — no fine-tuning needed.

1

Build & run setup

# Clone, build, and auto-download everything
git clone https://github.com/santacroce-tech/eepilot
cd eepilot && swift build
.build/debug/eepilot setup
# Downloads model (~4.4 GB) + llama-server
2

Describe what you want

# CLI
eepilot generate "compound interest calculator"

# Or type it in EEditor's EEPilot sidebar
# or ask Claude Code via MCP
3

EEPilot generates & runs it

;; ─── Interest Calculator ────────
(defn calc (principal rate years)
  (* principal (pow (+ 1 (/ rate 100)) years)))

(defn main ()
  (print "Final:" (calc 10000 7.5 10)))

(main)

~8k tokens of context teaches the model EELisp — leaving 120k+ free for conversation.

~2k
EELisp language spec
~2.5k
zzeelisp function index
~3k
Example snippets
120k+
Left for conversation

120+ utility functions

A batteries-included library across 10 modules — from Bitcoin to Morse code. Inspired by Funções ZZ.

zz-text
String alignment, word count, shuffle, lorem ipsum
(zzrepete "─" 40)
zz-math
Primes, factorials, Fibonacci, BMI, Roman numerals
(zzprimo? 97)
zz-date
Easter (Gauss), business days, stardates, holidays
(zzpascoa 2026)
zz-convert
Bytes, temperatures, distances, URL encoding, hex
(zzconverte 100 :c :f)
zz-crypto
Password gen, ROT13, Caesar, Atbash, Vigenère
(zzsenha 16 {:symbols true})
zz-fun
Dice, coin flip, random names, developer excuses
(zzexcuse)
zz-reference
NATO alphabet, Morse, periodic table, TCP ports
(zzquimica "Au")
zz-network
Subnet calc, public IP, geo-location, IP validation
(zzcalculaip "192.168.1.0" "255.255.255.0")
zz-timeat
World clock, timezone conversion — 100+ cities
(timeat "brazil" "now")
zz-bitcoin
Price, hashrate, halving, fees, address validation, node RPC
(zzbtc-halving)
;; Built-in help system
(zzajuda)              ; full index of all functions
(zzajuda :bitcoin)     ; filter by module
(zzzz "zzbtc-price")   ; detailed help for one function

Native sidebar panel

EEditor — weekly-notes.md
  • Sparkles tab in sidebar Access EEPilot from the left sidebar — same place as Files, Calendar, and Snippets.
  • ⌘⇧A
    Keyboard shortcut Open the AI panel instantly with ⌘⇧A. Generate with ⌘⇧G. Explain with ⌘⇧E.
  • One-click insert Generated code appears in an EELisp fence block right at your cursor.
  • Run in REPL Send generated code directly to EEditor's REPL panel — no copy/paste needed.
  • 🔌
    Zero config EEditor auto-discovers the eepilot binary and connects on startup.

Claude Code integration

Register EEPilot as an MCP server. Claude Code gains 7 new tools for generating and running EELisp.

// .claude/settings.json
{
  "mcpServers": {
    "eepilot": {
      "command": "eepilot",
      "args": ["--mcp"]
    }
  }
}
generate_snippet

Generate EELisp from a plain-language description

run_eelisp

Execute EELisp code, return the output

explain_snippet

Explain what a snippet does in plain language

list_functions

Browse the zzeelisp utility library

save_snippet

Save generated code to your snippet library

get_snippet

Read a saved snippet by name

list_snippets

Browse your saved snippet collection

Zero-config setup

  1. 1
    Clone & build Swift 5.9+ required — comes with Xcode 15+
  2. 2
    Run eepilot setup Auto-downloads model (~4.4 GB) + llama-server binary
  3. 3
    Generate your first snippet Server starts automatically when you run generate
# 1. Clone & build
git clone https://github.com/santacroce-tech/eepilot
cd eepilot
swift build

# 2. Auto-download model + llama-server
.build/debug/eepilot setup

# 3. Generate a snippet (server auto-starts)
.build/debug/eepilot generate "compound interest calculator"
Expected output from eepilot setup:
✅ Model saved: ~/.eepilot/models/Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf
✅ llama-server saved: ~/.eepilot/bin/llama-server

Setup complete. Run 'eepilot generate "hello world"' to get started.

Everything is stored in ~/.eepilot/. No Homebrew, no pip, no manual downloads needed. Already have llama-server or the model? EEPilot detects them automatically.