mojojojo mojojojo

mjj · open-source coding agent

Search the repository.
Not your token budget.

A compact coding agent with bounded tools, hybrid disk search, resumable sessions, and fast local code execution. Install one binary or use the same agent inside the mojojojo editor.

MIT licensedLinux · macOS · Windows Python host · Mojo hot paths

mjj
$ mjj exec "fix the failing router test"

search  router failure · 6 grounded hits
read    tests/test_router.py:41
patch   router.py  +4/-2
shell   pytest -q

Fixed the route precedence bug. 38 tests pass.

Public by default

Read the agent you are running

The CLI, model loop, bounded tools, session format, hosted backend, tests, benchmarks, and release automation are all developed in public under the MIT licence. The hosted editor uses the same agent loop.

git clone https://github.com/lee101/mojojojo-agent.git
cd mojojojo-agent
uv sync
uv run pytest -q
uv run mjj

Install in one command

Release binaries include the agent and its Python runtime. No system Python, package manager, or administrator access is required.

Linux + macOSx86_64 · ARM64
curl -fsSL https://mojojojo.cc/install.sh | sh

Installs to ~/.local/bin/mjj and verifies SHA-256 before replacing anything. Linux builds use an Ubuntu 22.04 glibc baseline.

Windowsx86_64 · PowerShell
irm https://mojojojo.cc/install.ps1 | iex

Installs per-user under LocalAppData and adds the directory to your user PATH.

Download a release archive directly

Spend computation on computation

01

Grounded disk search

Fuses exact rg hits, lexical ranking, and mojo-embed vectors into a few line-anchored results. It remains useful without either optional native backend.

02

Fast internal execution

Reasoning code can run in-process, through mojosub, in the local jail, or on mojojojo. The safe available backend is selected at runtime.

03

Skills without prompt tax

Project and user SKILL.md workflows are indexed by metadata and loaded only when the task needs them.

Interactive, headless, and resumable

Run mjj with no arguments for the terminal app. Type / for model, reasoning, authentication, session, image, export, and autonomy commands.

cd your-project
mjj

# empty composer
# ←/→ reasoning · Shift+↑/↓ model

Headless mode keeps the final answer on stdout and progress on stderr. Sessions are append-only JSONL and can be resumed, forked, imported, or exported.

mjj exec --image reference.png "match this UI"
mjj sessions
mjj exec --resume SESSION_ID "continue"
mjj export run.html --session SESSION_ID

Read the complete getting-started and architecture docs →

Then point it at real work

mjj auth --probe
cd your-project
mjj exec "find the cause of the failing test and fix it"

# token-efficient repository search is also a standalone tool
mjj search "where are API retries handled?" src --stats

The downloaded binaries are currently unsigned. macOS Gatekeeper or Windows SmartScreen may ask you to confirm the first run. Release archives and installers are always published with SHA-256 checksums.