Core Concepts
jig is built around five pillars: worktrees, documentation, issues, quality, and skills.
Worktrees
Git worktrees are the foundation. Each worktree is an isolated checkout of your repository with its own working directory and branch.
main (your orchestration session)
└── feature-auth/ # Agent working on auth
└── fix-pagination/ # Agent fixing pagination bug
└── add-tests/ # Agent writing tests
Why worktrees for agents?
- Isolation — Agents can’t step on each other’s work
- Parallelism — Run multiple agents simultaneously
- Clean merges — Each worktree has its own branch, making integration straightforward
- Easy cleanup — Remove a worktree when done, no lingering files
jig manages worktree lifecycle:
jig create feature-x # Create worktree
jig spawn feature-x # Create + launch agent
jig list # See all worktrees
jig remove feature-x # Clean up
Documentation
Agents need context. The more discoverable and well-organized your documentation, the faster agents can be productive.
jig scaffolds a docs/ structure:
docs/
├── index.md # Documentation hub
├── PATTERNS.md # Coding conventions
└── CONTRIBUTING.md # How to contribute
Plus a CLAUDE.md (or agent-specific config) at the repo root with:
- Quick reference commands
- Workflow instructions
- Code style guidelines
Key insight: Documentation you write for agents is documentation that helps humans too. Invest in it.
Issues
Well-scoped tickets are the input to agent work. jig supports file-based issue tracking in issues/ and can also pull issues directly from Linear:
issues/
├── README.md
├── _templates/
├── features/
│ └── jwt-auth.md
├── bugs/
│ └── fix-pagination.md
└── chores/
└── add-tests.md
Each issue uses markdown-bold metadata:
# Implement JWT authentication
**Status:** Planned
**Priority:** High
**Category:** features
## Objective
Add JWT-based authentication to the API.
## Acceptance Criteria
- [ ] POST /auth/login returns JWT
- [ ] Middleware validates tokens
- [ ] Tests cover happy path and errors
Status values:
Planned— Ready to be picked upIn Progress— Being worked onComplete— DoneBlocked— Waiting on something
The discipline of writing detailed issue descriptions pays dividends. Agents work better with clear scope, explicit acceptance criteria, and relevant context.
Quality
Agents write code. You ensure it’s good code. jig emphasizes:
Checks
Define runnable checks that agents (and humans) can execute:
cargo build # Does it compile?
cargo test # Do tests pass?
cargo clippy # Linter happy?
cargo fmt --check # Formatted correctly?
Put these in your CLAUDE.md or success criteria docs so agents know what “done” means.
Patterns
Document your conventions in PATTERNS.md:
- Error handling approach
- Module structure
- Naming conventions
- Common abstractions
Agents follow patterns they can find. If it’s not documented, they’ll invent something—possibly something inconsistent with your codebase.
Review
You’re the final gate. When an agent marks work done:
jig review feature-x # See the diff
Check for:
- Correct implementation
- Adherence to patterns
- No hallucinated requirements
- Test coverage
- No security issues
Then merge or send back with feedback.
Skills
jig ships with safe defaults for getting a project up and running, but is extensible through bespoke skills.
What are skills?
Skills are prompt templates that agents can invoke. They live in .claude/skills/ and encode workflows, integrations, and conventions specific to your team.
.claude/skills/
├── issues/ # How to work with issues
├── review/ # Code review workflow
├── draft/ # PR drafting conventions
├── check/ # Run project checks
└── your-skill/ # Whatever you need
Extending jig
Don’t want file-based issue tracking? Rewrite the issues skill to integrate with an MCP server of your choice:
# issues skill (Linear integration)
Use the Linear MCP server to find and manage issues.
## Finding issues
- Use `mcp__linear__list_issues` to find ready issues
- Filter by assignee "me" for your queue
## Updating status
- Move to "In Progress" when starting
- Move to "In Review" when done
The same applies to any workflow. jig’s defaults are starting points—adapt them to how your team works.
Built-in skills
jig scaffolds these skills by default:
| Skill | Purpose |
|---|---|
issues |
Find, create, and manage work items |
review |
Review branch changes against conventions |
draft |
Create PRs with consistent formatting |
check |
Run build, test, lint, format checks |
spawn |
Spawn parallel workers for tasks |
Each can be customized or replaced entirely.