-
released this
2026-08-20 01:13:58 -04:00 | 216 commits to main since this releaseevilcode v1.0.0 — first stable release
A terminal coding agent. An agentic tool-calling loop, a TUI built on the Charm stack, and first-class support for Ollama Cloud alongside anything that speaks the OpenAI API. Single user, no telemetry, no account — sessions are JSONL files on your own disk.
This is the first stable release. The binary below is built for linux/amd64.
Install
One line — downloads this release's binary and installs it to
~/.local/bin/evilcodeplus anecsymlink. No Go toolchain, no clone, no build:curl -fsSL https://evileko.dev/evilcode | shThe script prints each step (retrieve version, download, install) and a few tips. If
~/.local/binis not on yourPATHit warns and prints theexport PATH=…line to add to your shell rc.If evilcode is already installed, the script asks what to do instead of silently reinstalling:
1) Check for updates — runs 'evilcode update' 2) Reinstall latest — fresh download + atomic install 3) Remove evilcode — deletes the binary + ec symlink (optional config/data removal) 4) Reset config — backs up ~/.config/evilcode and removes it so defaults apply 5) ExitSelf-update at any time:
evilcode updateupdatefetches the latest release binary (evilcode-<os>-<arch>) and atomically swaps it over the running executable. It never touches the installed binary before the download completes.Build from source
Requires Go 1.26 or newer.
git clone https://git.evileko.dev/evileko/evilcode cd evilcode go build -o evilcode ./ ln -sf "$PWD/evilcode" ~/.local/bin/evilcode ln -sf "$PWD/evilcode" ~/.local/bin/ecRequirements
Linux only. At runtime:
rgfor thegreptool,tmuxfor the probe rig. Optional extras used if present —goplsfor thelsptool,mmdcfor mermaid diagrams,img2sixelfor images on terminals without the kitty graphics protocol.Usage
evilcode # interactive TUI evilcode run "fix the parser" # headless, one shot evilcode serve # daemon hosting sessions evilcode attach [session] # attach a TUI to the daemon evilcode run --remote "..." # submit into a running daemon evilcode resume --from claude <id-or-path> # import and continue a foreign sessionevilcode runwrites the model's text to stdout and everything else to stderr, so it composes with other tools. It exits 130 on interrupt.Highlights
- Agent-friendly filesystem tools.
readattaches supported images to vision models, truncates oversized individual lines while preserving paging, and suggests nearby names for a missing path.multieditapplies ordered edits with one atomic write; common argument spellings such asfile_pathare silently repaired and shown in the tool row. - Sessions are the source of truth. Every message is written as it lands;
/compactand/rewindrewrite the log atomically — a backup is written and synced before the primary is replaced, and the live session follows the rewrite. Compaction summarizes older turns but keeps the ten most recent turns verbatim, so a task in progress survives both the live rewrite and resume. - Predictive compaction. Watches recent context growth and recent assistant-turn embeddings: a detected topic shift can compact at a natural boundary, while growth still projects ahead of the fixed 85% limit. Embedding is best-effort and asynchronous, so an unavailable or slow provider leaves the predictive path in charge rather than delaying a turn.
- Destructive-command gate. A runtime command-risk evaluator holds or refuses destructive shell commands (
git push --force,git clean -fd, …) rather than relying on prompt-level advice; a held command can be released with a substantive justification. - Foreign session import.
evilcode resume --from claude|codex|opencode <id-or-path>converts a foreign transcript into a native JSONL session and enters the ordinary resume path. - Swarm coordination.
spawn_workerstarts a headless worker on a self-contained task with aresult_schemaits answer is validated against;send_message/broadcast/peerscoordinate agents that share a working directory, with conflict notices for files mid-edit. - Scoped memory and skills. Long-term memory with
remember/recall/reflect, and on-demand skills loaded through theskilltool so the system prompt stays cacheable as the skill set grows. - Read-only advisor. A second, small model watches the turn and raises at most one concrete concern per turn — silence is the easy answer, so it only speaks when the main agent is about to miss a real problem.
Self-update
evilcode updateresolves the latest release fromhttps://git.evileko.dev/api/v1/repos/evileko/evilcode/releases/latest, downloads the binary built for this OS/arch, and swaps it in over the running executable. A public repo answers without credentials; a private mirror or gated download falls back to a Basic header drawn fromgit credential fill.
GPL-3.0. Linux only. Built with the Charm stack.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Agent-friendly filesystem tools.