codeeli GitHub
Self-hosted · plan-then-stream

Get working code out of small local LLMs.

Codeeli is a self-hosted web app. You point it at a model running on your own machine — Ollama, or anything OpenAI-compatible — and it generates whole tiny projects file by file, deterministically. Not an agent, not a chat, not a black box: a small, opinionated workflow that turns a 4B–8B model into a code generator you can actually rely on.

Install on Linux or macOS
curl -fsSL https://raw.githubusercontent.com/marszalik/codeeli/main/install.sh | bash
Clones into ~/codeeli, sets up a virtualenv, installs dependencies. Then .venv/bin/python scripts/dev.py.
Ollama OpenAI-compatible LiteLLM FastAPI SQLite

Small models can't do "build the whole app" in one shot. So Codeeli doesn't ask them to.

A 4B model on your laptop will happily ramble its way through a 600-line single-shot answer and produce something that doesn't run. Codeeli replaces that with three boring engineering moves — and that's the whole trick.

Plan, then files

Step one: the model returns a strict JSON list of files with names and one-line task descriptions. Step two: each file is generated separately, streamed token by token, with the previous files passed as context. Two narrow tasks instead of one impossible one.

Retries on shape, not on vibes

If the plan isn't valid JSON, Codeeli throws it away and asks again — up to three times. No fuzzy regex parsing, no "let me try to fix it in code". The model either returns the shape you asked for or the run fails loudly.

You own the prompts

The two prompt templates ("tasks" and "file") and the recipe library live in the database and are editable in the UI. When a model misbehaves, you change a prompt — not the source code.

A project is four small choices, then a stream.

1

Set up a project

Pick a name, a workspace directory on disk, a model configuration (Ollama, OpenAI-compatible, or LiteLLM), and a recipe — a short style nudge like "single index.html" or "tiny Python CLI". Type what you want built.

2

Generate

Codeeli asks the model for a JSON plan, validates it, then streams each file's contents over SSE. You watch tokens appear in the browser. Files are written straight into the workspace directory on your machine.

3

Run it

Every recipe carries a run command. One click and Codeeli either serves the generated index.html or executes python main.py (or whatever you set), with stdout and stderr captured for you.

There is no app.codeeli.com.

Codeeli writes files into a workspace on the machine it runs on and can launch the result with a shell command. That's the whole product — the model and the workspace live next to each other. A public-cloud demo would either be a security disaster or a hollow simulation of the real thing, so there isn't one. Install it locally and point it at your model. That's the demo.

Install it. Point it at your model. See what comes out.

Open source — FastAPI, Mako, SQLite, a couple of hundred lines per domain. Requires git and python3 ≥ 3.10.

curl -fsSL https://raw.githubusercontent.com/marszalik/codeeli/main/install.sh | bash