Favicon of jcode

jcode

jcode is a Rust-based terminal coding agent harness with low memory use, semantic agent memory, and multi-agent swarm collaboration.

Open Source Alternative to:
jcode website screenshot
jcode GitHub repository preview

jcode is a terminal-based coding agent harness written in Rust. It wraps LLM providers like Claude and OpenAI (plus MCP tool servers) in a CLI/TUI that runs coding agents directly in your terminal. It targets developers who run agent sessions frequently, especially those who spin up many sessions at once and care about how much RAM and CPU each one consumes.

The project markets itself heavily on efficiency: it reports much lower RSS/PSS memory per session and faster startup times compared to other terminal coding agents, and that gap widens as you add more concurrent sessions. On top of the harness basics, it adds an agent memory system, a side-panel UI for auxiliary content and diagrams, and a "swarm" mode for running multiple cooperating agents in the same repo.

Key features

  • Low memory footprint: designed to keep per-session RAM usage small, with memory overhead per additional session reported as a fraction of what comparable CLI agents use.
  • Fast startup and rendering: renders its TUI quickly (reported time-to-first-frame in the low milliseconds) and can render at very high internal frame rates to avoid flicker.
  • Semantic agent memory: embeds each conversation turn as a vector and queries a memory graph via cosine similarity so relevant past context surfaces automatically, without the agent needing to call memory tools explicitly.
  • Memory extraction and consolidation: periodically extracts memories from sessions (via a side-agent) and consolidates/reorganizes the memory graph over time, plus explicit memory tools and session search for manual recall.
  • Side panels and diagrams: a panel tool opens desktop panels from Markdown or linked Markdown/PDF files; panels and chat both render Mermaid diagrams inline using a custom, dependency-free renderer.
  • Info widgets: contextual information shown only in unused screen space, so it doesn't crowd out the main chat output.
  • Swarm mode: run two or more agents in the same repository with server-managed coordination, including conflict notifications when one agent edits a file another has read, plus direct messaging and broadcast between agents.
  • MCP and provider support: works with Claude, OpenAI, and MCP-based tools, and supports Linux, macOS, and Windows.
  • Config and update controls: configurable via ~/.jcode/config.toml (e.g. disabling emoji output), with /update in the TUI or jcode update from the shell to pull the latest stable release without losing session state.

Ideal use cases

jcode fits developers who already work in a terminal and want an AI coding agent that doesn't eat gigabytes of RAM once they open several sessions at once, such as running one agent per repo or per feature branch. It's a good match for anyone who wants agents to remember prior context across sessions without manually re-explaining project details, since the memory system handles that passively. Teams experimenting with multiple agents working the same codebase concurrently (splitting work across files or subtasks) can use swarm mode to avoid stepping on each other's edits.

It's less of a fit if you want a GUI-first or IDE-embedded experience rather than a terminal tool, or if you need a hosted/managed service instead of something you install and run yourself. If your workflow only ever runs a single lightweight agent session occasionally, the RAM and startup advantages matter less, since most competing tools are usable at that scale too.

Installation

On macOS and Linux:

curl -fsSL https://jcode.sh/install | bash

On Windows 11 (PowerShell 5.1+):

irm https://jcode.sh/install.ps1 | iex

The README notes that Homebrew, source builds, and provider setup are covered in a more detailed installation section on the project's docs site (linked from the README) if the quick install script doesn't fit your setup.

To update, run /update inside the TUI to fetch the latest stable release in the background and reload with your session preserved, or run jcode update from a terminal and restart the client afterward. The default update channel is stable; switching features.update_channel to main opts into tracking source-branch builds instead. Configuration, including display options like disabling emoji, lives in ~/.jcode/config.toml.

Frequently asked questions

Share:

Stars
21K
Forks
2.4K
Last commit
1 day ago
Repository age
10 months
License
MIT
Self-hosted
No
Activity score
82/100
View Repository
Ad
Favicon

 

  
 

Similar to jcode

Favicon

 

  
 
Favicon

 

  
 
Favicon