Skip to content

Latest commit

Β 

History

498 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•Ί Jimmy Code

πŸ€– Your AI coding buddy β€” right inside the terminal.

Jimmy Code

Jimmy Jimmy Ajaa 🎢

task β†’ think β†’ code β†’ test β†’ ship

🍳 Give Jimmy a task. Let Jimmy cook.


Python Tests Textual LiteLLM SQLite License


🧠 What is Jimmy?

Jimmy Code is a terminal-native AI coding agent built with Python + Textual.

Give it a task.

Jimmy can read your code, search files, edit code, run commands, run tests, use Git, and keep going until the job is done.

No browser. No Electron. No tab explosion. 😌

Just:

You
 ↓
πŸ’­ Think
 ↓
πŸ”§ Use tools
 ↓
πŸ‘€ See results
 ↓
πŸ› οΈ Fix things
 ↓
πŸ§ͺ Test
 ↓
βœ… Done

🎬 Jimmy in Action

❯ commit that all 4 with short fun emoji message

β Ή checking git statusΒ·Β·Β·  0.3s
βœ“ checking git status    8ms
βœ“ reading jimmy.tcss    90ms
βœ“ committing "styling widgets nicely 🍜"

I have committed all 4 files individually…

✦ 9.5s · 9.8k in · 393 out · 9 tools · 4 rounds

Jimmy doesn't dump a giant wall of logs at you.

It tells a story of what it's doing. πŸ•Ί


✨ What Jimmy Can Do

πŸ€– Think + Act

Jimmy runs a real agent loop:

think β†’ tool β†’ observe β†’ think β†’ fix β†’ test

Not just:

prompt β†’ code β†’ good luck πŸ’€

🧰 9 built-in tools

πŸ“– read_files
πŸ” search_files
✏️ edit_files
πŸ“ write_file
🩹 apply_patch
πŸ“‚ list_files
πŸ’» shell
πŸ§ͺ run_tests
🌿 git

πŸ›‘οΈ You stay in control

Three permission modes:

Mode Power
🟒 Ask Ask before risky actions
🟑 Auto Safe actions run automatically
πŸ”΄ Full Access No approval prompts

Dangerous action?

Jimmy stops.

πŸ›‘οΈ Approval required

Run:
git push origin main

βœ… Allow
πŸ”“ Allow session
❌ Deny

No sneaky permission escalation. 🚫

πŸ—„οΈ Sessions that remember

Jimmy saves sessions locally with SQLite + WAL.

~/.jimmy/sessions.db

So you can:

stop β†’ come back later β†’ continue ♻️

πŸ€– Bring your own brain

Powered by LiteLLM.

Pick your provider and model from Jimmy's UI.

Ctrl + M

Models are saved here:

~/.jimmy/models.json

🎨 A terminal that actually feels like an app

Jimmy comes with:

✨ interactive TUI πŸ›‘οΈ approval screens πŸ€– model picker πŸ—„οΈ session browser ⌘ command palette 🎨 themes πŸ”Š sound ⌨️ keyboard shortcuts πŸ“‹ copyable results


πŸš€ Install

uv β€” recommended

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

or pip

git clone https://github.com/StarDust130/Jimmy-Code.git
cd Jimmy-Code
pip install -e .

Requirements

🐍 Python 3.12+ πŸ’» A terminal πŸ”‘ API key for a supported model provider


⚑ Run Jimmy

Launch:

jimmy

Give it a task:

jimmy "fix the failing tests in src/"

That's it.

🍳 Now let Jimmy cook.


⌨️ Controls

Key Action
Enter Send
Esc Stop / Back
Ctrl+P Command palette
Ctrl+M Model picker
Ctrl+O Sessions
Ctrl+N Home
Ctrl+C Copy last
Ctrl+A Copy all
Ctrl+L Clear line
Ctrl+S Sound
Ctrl+Q Quit
/ Commands

🍜 Slash commands

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

πŸ—οΈ How Jimmy Works

                πŸ§‘ You
                  β”‚
                  β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚ JimmyApp   β”‚
            β”‚ Textual UI β”‚
            β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚ Agent Loop β”‚
            β”‚ πŸ’­ πŸ”§ πŸ‘€   β”‚
            β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό         β–Ό         β–Ό
    πŸ›‘οΈ Policy   πŸ”§ Tools   πŸ€– LLM
        β”‚         β”‚         β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β–Ό
            πŸ—„οΈ SQLite

Simple rule:

UI β‰  Agent
Policy β‰  Tools
Tools β‰  Storage

Keep the pieces clean. Keep Jimmy fast. ⚑


πŸ“ Project Structure

src/
β”œβ”€β”€ jimmy/
β”‚   β”œβ”€β”€ agent/          # agent loop
β”‚   β”œβ”€β”€ context/        # context management
β”‚   β”œβ”€β”€ llm/            # providers + models
β”‚   β”œβ”€β”€ permissions/    # safety + approvals
β”‚   β”œβ”€β”€ sessions/       # SQLite persistence
β”‚   β”œβ”€β”€ tools/          # tool registry
β”‚   └── workspace/      # project scope
β”‚
└── tui/
    β”œβ”€β”€ app.py          # JimmyApp
    β”œβ”€β”€ kit/            # theme + sound + helpers
    β”œβ”€β”€ screens/        # app screens
    └── widgets/        # UI components

πŸ§ͺ Tests

Jimmy currently has 290+ tests. βœ…

Run them:

uv run pytest -q

Testing covers the agent loop, permissions, approval flows, SQLite migrations, session recovery, cleanup, and UI interactions.


πŸ—ΊοΈ Roadmap

βœ… Shipped

  • πŸ€– Agent loop
  • 🧰 Coding tools
  • πŸ›‘οΈ Permission system
  • πŸ—„οΈ Persistent sessions
  • 🏷️ Automatic session titles
  • πŸ” Model switching
  • 🎨 Terminal UI

🚧 Next

  • 🧠 Long-term memory
  • πŸ–ΌοΈ Image / file attachments
  • 🧩 MCP plugins

πŸ₯š Jimmy Has Opinions

😈 Ask Jimmy something stupid
$ jimmy "why am I single?"

Because even your git history
has no meaningful commits. πŸ’€

🍳 Give Jimmy a task.

Let Jimmy cook. πŸ•Ί

task β†’ think β†’ code β†’ test β†’ ship

Built for the terminal. Powered by caffeine. β˜•

About

πŸ•ΊπŸͺ© Jimmy: Autonomous Coding Agent

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages