Skip to content

Yeachan-Heo/gajae-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

699 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gajae-Code autonomous coding-agent hero illustration

Gajae-Code

Encode intention. Decode software.
A focused coding-agent runner for interviews, reviewed plans, tmux-native execution, and durable verification.

Website npm package MIT license Discord

Gajae-Code character mascot

Gajae-Code is an experimental, beta-stage project. Expect rough edges and verify outputs before relying on it for important work.

Website

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.

What is Gajae-Code?

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.

Install

bun install -g gajae-code

The scoped package is also available as @gajae-code/coding-agent.

Windows (native install)

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-test

bun 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:

  • gjc reports an old Bun runtime. Re-run the Bun installer above, restart the terminal, and confirm bun --version matches what gjc --version expects. If an older Bun still wins, make sure %USERPROFILE%\.bun\bin is first on PATH and remove any stale Bun installs shadowing it.
  • gjc.exe exists but gjc is "not recognized". The launcher is installed but not on PATH. Confirm %USERPROFILE%\.bun\bin is listed in echo $env:Path, then restart the terminal.

Quick start

# 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 --tmux

Inside 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.

Core capabilities

  • Interview before guessing: deep-interview turns vague requests into concrete requirements.
  • Plan before mutation: ralplan reviews the approach before code changes.
  • Execute with evidence: ultragoal tracks goals, revisions, checks, and completion evidence.
  • Parallelize when useful: team coordinates tmux-backed workers for larger tasks.
  • Stay external and reviewable: run from a chosen repo or worktree without patching another agent runtime.

Workflow surface

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.

Works beside your existing agent

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.

Configuration

Provider retry budgets live in ~/.gjc/config.yml:

retry:
  requestMaxRetries: 4
  streamMaxRetries: 100
  maxRetries: 3
  maxDelayMs: 300000

requestMaxRetries 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.

TUI identity

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.

Development

Install dependencies and local defaults:

bun install
bun run install:defaults

Run the CLI from source:

bun packages/coding-agent/src/cli.ts --help

Default 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.ts

For a package-by-package map, see docs/codebase-overview.md.

Contributors

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.

Inspirations and lineage

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.

License

MIT. See LICENSE.

GEO visibility benchmark

Gajae-Code includes a geobench product spec for measuring LLM hit rate, MRR, share of voice, and citations.

About

Gajae Code MVP

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors