• v1.0.0 c1e69a5a65

    evileko released this 2026-08-20 01:13:58 -04:00 | 216 commits to main since this release

    evilcode 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/evilcode plus an ec symlink. No Go toolchain, no clone, no build:

    curl -fsSL https://evileko.dev/evilcode | sh
    

    The script prints each step (retrieve version, download, install) and a few tips. If ~/.local/bin is not on your PATH it warns and prints the export 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) Exit
    

    Self-update at any time:

    evilcode update
    

    update fetches 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/ec
    

    Requirements

    Linux only. At runtime: rg for the grep tool, tmux for the probe rig. Optional extras used if present — gopls for the lsp tool, mmdc for mermaid diagrams, img2sixel for 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 session
    

    evilcode run writes 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. read attaches supported images to vision models, truncates oversized individual lines while preserving paging, and suggests nearby names for a missing path. multiedit applies ordered edits with one atomic write; common argument spellings such as file_path are silently repaired and shown in the tool row.
    • Sessions are the source of truth. Every message is written as it lands; /compact and /rewind rewrite 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_worker starts a headless worker on a self-contained task with a result_schema its answer is validated against; send_message / broadcast / peers coordinate 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 the skill tool 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 update resolves the latest release from https://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 from git credential fill.


    GPL-3.0. Linux only. Built with the Charm stack.

    Downloads