A lean, transparent terminal coding assistant where you control every token.
Website · Contributing · Releasing · Issues
Free and open source (MIT) — and open to contributions.
Most AI coding tools quietly inflate every request with huge hidden prompts you can't see or change — GitHub Copilot can spend ~27k tokens on a single "hey," and other tools routinely send ~7k. JustCode sends roughly ~550 tokens per request, and most of that is a system prompt you can read and edit to be exactly what you want. No hidden bloat, no wasted spend — your context, your rules.
- ~550 tokens per request — no hidden bloat inflating every call.
- A system prompt you can read and edit — no black box.
- Bring your own provider & key — OpenAI, Anthropic, OpenRouter, Qwen (Alibaba Cloud), Ollama, LM Studio, or any OpenAI-compatible endpoint.
- Claude subscription support — connect the "Claude Code" provider to use
your Claude Pro/Max plan through the official
Claude Agent SDK. JustCode never
handles your Anthropic credentials: the SDK runs the official Claude Code
runtime, which authenticates with your own
claude /loginsession, and usage draws from your plan's limits. Requires Claude Code installed and signed in. - Self-contained binary — ships with its runtime embedded; end users need
no Node, no Bun, and no
node_modules. - File-backed sessions — conversations are saved under
~/.cache/justcode/sessionsso you can resume, branch, and revisit past work. - MCP servers, chat modes (Build / Ask / Plan + custom), and a VS Code extension sharing the same lean engine.
Once a release is published, install through any channel (all fetch the same self-contained binary — no runtime prerequisites):
# curl
curl -fsSL https://github.com/ghraw/kingeke/justcode/main/scripts/install.sh | sh
# npm / bun / pnpm
npm install -g justcode-cli
# Homebrew
brew tap kingeke/justcode && brew trust kingeke/justcode && brew install justcodeTo uninstall a curl-installed binary (keeps the cache in ~/.justcode):
curl -fsSL https://github.com/ghraw/kingeke/justcode/main/scripts/uninstall.sh | shSee release.md for how binaries are built and published.
- Run
justcode. - Use
/connectto add a provider (paste an API key or sign in), then/modelsto pick a model. - Start chatting. Type
/to see every command; resume past work with/sessions.
JustCode gives the model a focused toolset — read / write / edit files, run
bash, grep, glob, fetch and search the web, plan work, and more — and can
load extra tools on demand to keep requests lean. Everything is driven from the
prompt with ~23 slash commands (/connect, /models, /mode, /sessions,
/manage-tools, /reasoning, …), across three modes plus your own:
- Build — implement changes with the full toolset (the default).
- Ask — read-only Q&A about your codebase; explains without editing.
- Plan — produce a reviewable plan first, then implement on approval.
- Custom — define your own mode and system prompt via
/mode.
The full, always-current list of tools and commands is on the website.
Skills are installable packs of slash commands, distributed as plain GitHub
repositories. Installing one registers its commands in the CLI and the VS Code
extension automatically — and it doesn't have to be built for JustCode:
repos following the shared ecosystem conventions (Claude plugins, SKILL.md
skills, commands/*.md) install and work as-is:
justcode skill add test/skill # asks: [l]ocal / [g]lobal?
justcode skill add test/skill --local # this project only (.justcode/skills/)
justcode skill add test/skill --global # every project (~/.cache/justcode/skills/)
justcode skill list # installed skills, labelled (local)/(global)
justcode skill update test-skill
justcode skill remove test-skillA local skill shadows a global one of the same name, so a project can pin its own version of a shared skill.
Each command is a markdown file whose body runs as the system prompt for that
turn — e.g. installing a skill that ships commands/explain.md gives you
/explain in the chat. See docs/skills.md for a
five-step walkthrough of creating your own skill, plus the manifest reference,
command authoring, and publishing.
Building requires Bun (curl -fsSL https://bun.sh/install | bash).
Bun is only needed to build — the produced binary runs on its own.
npm install # install dependencies (once)
npm run install:local # compile the host binary and symlink it as `justcode`install:local compiles a self-contained binary
(dist-bin/justcode-<os>-<arch>) and symlinks it onto your PATH. After changing
code, rebuild — the symlink picks up the new binary automatically:
npm run update:local # recompile the binary
npm run uninstall:local # remove the symlinkHandy scripts:
npm run dev # run the CLI from source
npm test # run the test suite
npm run typecheck # type-check the workspace
npm run web # run the landing page (apps/web) locallyapps/cli— the terminal UI.apps/vscode— the VS Code extension.apps/web— the landing page (React + Vite), deployed to GitHub Pages.packages/core— domain + application logic (provider-agnostic).packages/runtime— tools, MCP, auth, and service wiring.packages/providers— provider integrations.
JustCode is open source and open to contributions — bug reports, docs, fixes, and features are all welcome.
- Fork the repo and branch off
main. - Install dependencies with
npm install(builds require Bun). - Make your change, matching the surrounding style and the repository layout above.
- Run the checks (
npm run typecheck,npm test,npm run format), then open a PR describing the change.
See CONTRIBUTING.md for the full setup, conventions, and pull-request guidelines. For anything large, please open an issue first to discuss the approach.
Found a bug or have an idea? Open an issue.
The landing page lives in apps/web and deploys to GitHub Pages at
https://justcodeapp.dev/ via .github/workflows/pages.yml. Enable it once
under Settings → Pages → Source: GitHub Actions, and set the custom domain to
justcodeapp.dev (the apps/web/public/CNAME file keeps it across deploys).
The site republishes when a release is cut (the Version workflow deploys it on
the new tag) or when the Pages workflow is run manually from the Actions tab —
pushes to main alone never deploy it.
JustCode is free and open source. If it saved you time, a small tip is hugely appreciated — no pressure, no paywall. 🙏
- Ko-fi: https://ko-fi.com/kingeke — card, Apple Pay, Google Pay, or PayPal; no account needed.
- Bitcoin (BTC):
1B8skEF6uo8PNGjcd624gkJf3TJt73DF8X - Tether (USDT · TRC20):
TD9UEFBPtsLLbQYxRXFCgtBWDdogkiXMqq
JustCode is provided free and "as is", with no warranty of any kind. It can run commands, execute code, and modify or delete files at your direction — you are responsible for reviewing and approving everything it does, for backing up your data, for the costs you incur with any AI provider, and for how you use it. AI-generated output may be wrong or insecure; always review it. To the maximum extent permitted by law, the developer is not liable for any damages arising from your use of the Software.
By using JustCode you agree to the Terms of Use and Privacy Policy.
MIT © Chinonso Eke
