v0.1.0 · open source · MIT

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

10 tools3 permission modes300+ passing tests0 browser tabs
~/Projects/Jimmy-Codev0.1.0
taskthinkcodetestship✦give jimmy a task✦
taskthinkcodetestship✦give jimmy a task✦

[ 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.

taskthinkcodetestship

not prompt → code → good luck

jimmyask mode·LIVE
❯
❯Ask Jimmy anything…
^P palette^M model

[ 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.

01

read_files

Reads code before writing it.

02

search_files

Finds the needle anywhere in the repo.

03

edit_files

Surgical edits across files.

04

write_file

Creates what’s missing.

05

apply_patch

Clean diffs, applied safely.

06

list_files

Knows its way around your tree.

07

shell

Runs commands — with your approval.

08

run_tests

Green, or it keeps going.

09

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.

permissions — live demo

❯ 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.

01git clone https://github.com/StarDust130/Jimmy-Code.git
02cd Jimmy-Code
03uv sync

then run it

$jimmy
$jimmy "fix the failing tests in src/"
python 3.12+ · a terminal · an api key·sessions → ~/.jimmy/sessions.db·models → ~/.jimmy/models.json

[ 06 · controls ]

Built for keyboards.

Every action is a keystroke away — the way a terminal app should be.

EnterSend
EscStop / go back
CtrlPCommand palette
CtrlMModel picker
CtrlOSession browser
CtrlNNew session
CtrlCCopy last result
CtrlACopy full transcript
CtrlLClear input
CtrlSToggle sound
CtrlQQuit
/Slash commands

or just type / in the input

/model/permissions/sessions/new/theme/sound/clear/copy/copyall/help/quit

Give Jimmy a task. Let Jimmy cook.

then uv sync → full install guide

task → think → code → test → ship