terminal-native AI coding agent
Give it a task — Jimmy reads your codebase, plans, edits files, runs commands and tests, and keeps going until the job is done. No browser. No Electron. No tab explosion.
give jimmy a task — it takes it from here
[ 01 · the loop ]
Give it a task. It loops until it’s done.
Jimmy isn’t autocomplete. It reads your code, acts with real tools, watches the results and fixes what breaks — think, act, observe, fix, test.
not prompt → code → good luck
[ 02 · the toolbox ]
Nine tools. Zero plugins.
No marketplace, no extension hell. Jimmy ships with everything it needs to do real work on a real repository.
read_files
Reads code before writing it.
search_files
Finds the needle anywhere in the repo.
edit_files
Surgical edits across files.
write_file
Creates what’s missing.
apply_patch
Clean diffs, applied safely.
list_files
Knows its way around your tree.
shell
Runs commands — with your approval.
run_tests
Green, or it keeps going.
git
Branches, commits, tidy messages.
[ 03 · permissions ]
You hold the leash.
Three modes, one rule: no sneaky permission escalation. Try each mode below — then decide Jimmy’s fate when it tries to push.
default: ask — because trust is earned, not installed.
❯ jimmy “push it to main”
…
[ 04 · the app ]
A terminal that feels like an app.
Command palette, model picker, session browser, themes, sound. Everything a real interface has — rendered in text.
A TUI that feels like an app
A full interface rendered in your terminal by Textual — not a wall of print().
Command palette
Ctrl+P brings up every action. Slash commands live right in the input.
Sessions that remember
SQLite + WAL persistence. Stop, close the lid, come back tomorrow — continue.
Bring your own brain
Any provider through LiteLLM — Claude, GPT, Gemini or a local model. Ctrl+M to switch.
Sound & themes
Subtle, toggleable sound and themable UI. Ctrl+S if the vibe is too much.
Battle-tested
290+ tests covering the loop, permissions, persistence and the UI — all passing.
[ 05 · install ]
Three commands and you’re cooking.
Clone the repo, sync the dependencies, launch the TUI. Python 3.12 or newer is all Jimmy asks of you.
git clone https://github.com/StarDust130/Jimmy-Code.gitcd Jimmy-Codeuv syncthen run it
jimmyopens the TUIjimmy "fix the failing tests in src/"one-shot a task[ 06 · controls ]
Built for keyboards.
Every action is a keystroke away — the way a terminal app should be.
or just type / in the input
Give Jimmy a task. Let Jimmy cook.
task → think → code → test → ship