jig tool on your machine once, then set up each project
that should use it. Jig needs Git and a coding agent — Claude Code
or Codex. It needs no Node.js, Python, package manager or build step.
1. Install Jig on your machine
- macOS and Linux
- Windows
Paste one line into a terminal:The installer:
- clones Jig into
~/.local/share/jig, at the newest release; - links
~/.local/bin/jigto it; - only when
~/.local/binis not on yourPATHyet, adds one marked line to~/.zshrc,~/.bashrcor~/.profile.
sudo and does not touch the folder you ran it from. Open a new terminal
afterwards so the new PATH is picked up. Running the line again is safe: it moves a clean
installation forward and refuses to overwrite anything it did not create.Jig needs Bash 3.2 or newer, Git and the standard Unix tools, all of which macOS and Linux have.
WSL2 works as Linux; keep the project on the Linux filesystem, not under /mnt/c.Read the script before running it, or install without it
Read the script before running it, or install without it
To read the macOS/Linux installer first:Its options: A clone made this way follows
--ref main installs the development channel instead of a release, --ref vX.Y.Z
a specific release; --install-dir, --bin-dir and --no-path change where things go and skip
the startup-file line.Without the installer, clone Jig into a permanent folder and put its executable on PATH:main, the development channel.2. Set up a project
In your project folder — a Git repository — run once:.ai/— project knowledge, configuration and Jig’s scripts (so a teammate needs no global install);AGENTS.mdandCLAUDE.md— the instructions your agent reads, when they do not exist yet;- the Jig skills for Claude Code (
.claude/skills/) and Codex (.codex/skills/); - a few lines in
.gitignoreand.gitattributes.
package.json, composer.json, pyproject.toml …) and
turns on the matching verification profiles. Nothing is committed: review the change and commit
it, so everyone who clones the project gets the same setup.
Commit right after jig init. A task starts on its own branch, and Git cannot branch from a
repository with no commits yet.
The Jig section for AGENTS.md
The Jig section for AGENTS.md
3. Let the agent learn the project
Open the project in your agent and say “set up Jig for this project” (or name the skill:/jig-init in Claude Code, $jig-init in Codex). The agent studies the code and writes the
project’s glossary, architecture and rules into .ai/knowledge/, shows you each document in
full, and asks where a term or a boundary is ambiguous.
What happens next depends on where you start: a new project begins with an idea, an
existing project with the documentation it already has.
Keep Jig up to date
Updating is two separate steps, because updating the tool on your machine must never change a project behind your back.self-update refuses a checkout with uncommitted changes and changes no project. upgrade fetches
nothing: it copies from the Jig on your machine, updates only files Jig installed and you did not
edit, removes the ones Jig no longer ships unless you edited them, keeps and reports the edited ones, and never touches project knowledge, configuration or
your AGENTS.md. jig status tells you when the project’s copy is older than the tool. Review the
diff and commit it.
Run jig doctor any time something seems off: it checks the tool, the project and the agent
instructions, one line each, with a fix for every warning.