Encode intention. Decode software.
A focused coding-agent runner for interviews, reviewed plans, tmux-native execution, and durable verification.
Gajae-Code is an experimental, beta-stage project. Expect rough edges and verify outputs before relying on it for important work.
Visit gajae-code.com for the Gajae Code landing page, quick-start guide, architecture overview, harness notes, bridge/RPC docs, skills, receipts, remote-control design, and troubleshooting.
Gajae-Code (gjc) is an external coding-agent harness. It runs from the repository or worktree you choose, then gives the agent a small, explicit workflow surface:
deep-interview -> ralplan -> ultragoal
└─ optional team execution when parallel tmux workers help
It is intentionally not a hidden plugin for Codex CLI, Claude Code, OpenCode, or Claw Code. Start gjc beside those tools when you want structured planning, persistent evidence, tmux-backed workers, or an isolated worktree.
bun install -g gajae-codeThe scoped package is also available as @gajae-code/coding-agent.
On a clean Windows 11 machine, install Bun first, then install gjc with Bun's
global installer:
# 1. Install Bun
powershell -c "irm bun.sh/install.ps1|iex"
# 2. Restart the terminal so PATH and the Bun runtime refresh, then confirm Bun
bun --version
# 3. Install and verify gjc
bun install -g gajae-code
gjc --version
gjc --smoke-testbun install -g places the gjc launcher in %USERPROFILE%\.bun\bin. That
directory must be on PATH for gjc to resolve as a command. Bun's installer
adds it automatically, but the change only applies to terminals started after
installation — restart PowerShell (or sign out/in) if gjc is "not recognized".
Troubleshooting:
gjcreports an old Bun runtime. Re-run the Bun installer above, restart the terminal, and confirmbun --versionmatches whatgjc --versionexpects. If an older Bun still wins, make sure%USERPROFILE%\.bun\binis first onPATHand remove any stale Bun installs shadowing it.gjc.exeexists butgjcis "not recognized". The launcher is installed but not onPATH. Confirm%USERPROFILE%\.bun\binis listed inecho $env:Path, then restart the terminal.
# Run directly in the current checkout
gjc
# Use a tmux-backed leader session
gjc --tmux
# Use an isolated worktree for risky or reviewable work
# --worktree takes an optional branch-like name, not a filesystem path.
gjc --tmux --worktree my-task-branch
# If you already created a worktree directory, launch from that directory instead.
cd ../my-task-worktree && gjc --tmuxInside a GJC session, use the public workflow surface:
/skill:deep-interview clarify ambiguous requirements
/skill:ralplan build and critique the implementation plan
gjc ultragoal create-goals --brief-file <approved-plan>
gjc ultragoal complete-goals
Add gjc team ... only when coordinated tmux workers materially help.
- Interview before guessing:
deep-interviewturns vague requests into concrete requirements. - Plan before mutation:
ralplanreviews the approach before code changes. - Execute with evidence:
ultragoaltracks goals, revisions, checks, and completion evidence. - Parallelize when useful:
teamcoordinates tmux-backed workers for larger tasks. - Stay external and reviewable: run from a chosen repo or worktree without patching another agent runtime.
Gajae-Code ships four default workflow skills:
| Skill | What it does |
|---|---|
deep-interview |
Clarifies ambiguous requirements before planning or code changes. |
ralplan |
Builds and critiques an implementation plan before mutation. |
ultragoal |
Tracks goals through execution, revision, verification, and evidence. |
team |
Coordinates tmux-backed workers when parallel execution is worth it. |
And four bundled role agents:
| Agent | What it does |
|---|---|
executor |
Bounded implementation, fixes, and refactors. |
architect |
Read-only architecture and code-review assessment. |
planner |
Read-only sequencing and acceptance criteria. |
critic |
Read-only plan critique and actionability review. |
No sprawling default skill zoo: GJC improves by making this small method better.
| Tool | Recommended GJC command | Boundary |
|---|---|---|
| Codex CLI | gjc --tmux --worktree <name> or gjc |
--worktree names a GJC-managed sibling worktree; for an existing path, cd there first. |
| Claude Code | gjc --tmux or gjc --tmux --worktree <name> |
GJC does not become a Claude Code extension. |
| OpenCode | gjc or gjc --tmux |
External-runner workflow only today. |
| Claw Code | gjc --tmux --worktree <name> |
GJC does not install into or replace Claw Code. |
For remote-control protocol details, see docs/bridge.md. For the Gajae Remote thin phone steering wheel design (v0), see docs/gajae-remote.md.
Provider retry budgets live in ~/.gjc/config.yml:
retry:
requestMaxRetries: 4
streamMaxRetries: 100
maxRetries: 3
maxDelayMs: 300000requestMaxRetries applies before a stream is established. streamMaxRetries applies only to replay-safe transient stream failures. Invalid auth, unsupported models/providers, malformed requests, context overflow, user aborts, and permanent quota failures remain fail-fast.
The default dark TUI identity is the GJC red-claw theme, while light-appearance terminals default to the bundled blue-crab theme. Explicit user theme settings still win.
Install dependencies and local defaults:
bun install
bun run install:defaultsRun the CLI from source:
bun packages/coding-agent/src/cli.ts --helpDefault workflow definitions live in source, not committed .gjc copies:
packages/coding-agent/src/defaults/gjc/skills/<name>/SKILL.md
packages/coding-agent/src/prompts/agents/<role>.md
For workflow-definition or rebrand-surface changes, run the project gates:
bun scripts/check-visible-definitions.ts
bun scripts/verify-g002-gates.ts
bun scripts/rebrand-inventory.ts --strict
bun test packages/coding-agent/test/default-gjc-definitions.test.tsFor a package-by-package map, see docs/codebase-overview.md.
Thanks to the people and agents helping shape the early Gajae-Code releases, including Yeachan-Heo, IYENTeam, and HaD0Yun. Contributions, bug reports, and release validation are welcome through GitHub and the Discord community.
Gajae-Code's default TUI identity is the crustacean pair: red-claw for dark appearance and blue-crab for light appearance. It builds on lessons from a small family of agent harnesses while keeping the public GJC surface intentionally focused. Historical attribution is kept in NOTICE.md.
MIT. See LICENSE.
Gajae-Code includes a geobench product spec for measuring LLM hit rate, MRR, share of voice, and citations.
- Spec:
geobench/gajae-code.yaml - Runbook:
docs/geobench.md

