Repository navigation
1.64.0 — think, design, undo, MCP
ucode now thinks before it acts, designs every build, can undo anything, and connects to MCP servers — still free, and no slower.
Measured
- A tasks app builds in 1m 09s with 3 requests, the same as before (1m 08s with the new thinking switched off).
npm run eval: 10 real jobs (6 app builds, a bug fix, a new function, a rename, a question about a project) — all pass, about 39s and 3 requests a job.- 504 unit tests pass.
Smarter
- Thinking levels. Flash-Lite did not think at all unless asked (it got a two-step riddle wrong; with
lowit got it right for +0.7s). ucode now asks forlowon every step,mediumon the first step of a build or change,highonce a fix has failed.UCODE_THINK=0turns it off. - Learns its mistakes. Problems it keeps catching are counted in
~/.ucode/lessons.jsonand warned about before the next build. - Tries a different approach when the same problem survives a fix, and offers Gemini 3.5 Flash for that fix — only if you say yes.
- Change requests in an existing project get their own rules: find the code, read only what is involved, smallest change in the code's own style.
- Questions about a project are answered from its files, never guessed.
- Plan check: items left open in its plan are sent back before it says it is done.
Less generic
- A design direction for every build: a tone, two Google Fonts and an accent.
- A generated-look check (starter colours, Inter, purple-to-blue gradients, gradient text, emoji icons) that sends it back once.
UCODE_DESIGN_CHECK=0turns it off. - Stock phrases ("sleek", "seamless", "intuitive") are cut from the closing message.
Safer
/undo [n]puts the whole project back — including what commands changed — from snapshots in a hidden git repo of ucode's own."commands": "ask"//permissions askputs every command to you first; answerato always allow it.- Hooks:
afterEdit(a formatter, say) andbeforeCommand(non-zero exit blocks the command). - A project's own hooks and MCP servers run only after you approve them — re-asked if they, or the scripts they run, change.
New commands
/diff, /commit [msg] (message written from the diff), /review (bugs in uncommitted changes, read-only), /init (writes UCODE.md), /mcp, /permissions, and your own slash commands from .ucode/commands/*.md.
New powers
- MCP servers over stdio or HTTP:
ucode mcp add context7 npx -y @upstash/context7-mcp. Built in, no new dependency. - Headless:
ucode -p "task" [--json] [--yes]for scripts and CI. - Other models: Ollama or any OpenAI-compatible server —
UCODE_BASE_URL=http://localhost:11434/v1 UCODE_MODEL=qwen2.5-coder ucode. - Faster search with ripgrep when installed; Go and Rust tests run after changes.
- Request pacing to Google's per-minute free limit;
/statsshows requests sent.
npm i -g ucode-agent@1.64.0