M
mnzsss/ivar
Multi-repo worktrees for coding agents
SECURITY.md ✓
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Official descriptionMulti-repo worktrees for coding agents. One feature across repos, as one unit: one branch, one plan, one PR per repo, for Claude Code, OpenCode and OMP. Open-source Rust CLI, Apache-2.0.
Install & config
Install command from the repository
go install ivar
Parsed from the README we fetched on 2026-10-26; we have not executed it.
This is the install method the repository states, not an MCP client config, so no JSON is generated.
Key names differ by client: Clients & CLI
- Star count
- 5 ★ · mnzsss/ivar · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-10-23 · last seen 2026-11-14 · seen 26× · listed by 1 sources
- Score
- score 103 · 5 ★ · 1 sources · repo
- Install
go install ivar
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
go install ivar. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
mnzsss/ivar;first catalogued 2026-10-23;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# ivar
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Multi-repo worktrees for coding agents. One feature across repos, as one unit: one branch, one plan, one pull request per repo, inside the Claude Code, OpenCode or OMP session you already use.
sh
curl -fsSL https://ivar.run/install | sh
Add an avatarUrl field to the user profile: the agent describes it in shared-types, returns it from api and renders it in web, with all three mounted as real git worktrees on the avatar-url branch. Repos you haven't promoted are guarded (kernel-enforced on Linux; see Limitations).
Your harness: Claude Code, OpenCode or OMP, with MCP servers declared once in ivar.json (ivar mcp add figma).
Plan first: /ivar-plan stops for your approval after requirements, analysis and plan.
Code graph: one local SQLite graph of every repo. In a two-repo benchmark, discovery took a median 460k tokens instead of 738k.
On your disk: single Rust binary, Apache-2.0, no account, macOS and Linux. Pull requests go through gh.
Quickstart · Docs · Why not just git worktree?
## The model
ivar is a local Rust CLI built around five small ideas:
1. Hall — a committed directory that declares the repositories a team works
across in ivar.json.
2. Feature — one branch name shared by the repositories participating in one
change.
3. Promotion — the explicit decision to make a repository writable on that
feature. Everything else stays guarded read-only (kernel-enforced on Linux).
4. Session — a view directory opened for you or an agent.
5. View Dir — symlinks to the right real worktrees: feature worktrees for
promoted repositories, and for the rest the feature's base (the parent's worktree, the root's base branch, or the default branch).
text
Hall
api ────────── promoted ──► avatar-url worktree (writable)
web ────────── promoted ──► avatar-url worktree (writable)
shared-types ─ promoted ──► avatar-url worktree (writable)
infra ────────────────────► main worktree (read-only)
Session / View Dir
api · web · shared-types · infra · plans
From the view dir, one agent session describes the field in shared-types,
returns it from api and renders it in web. The plan, branches, and
worktrees remain on disk when the conversation ends.
## Why not just git worktree?
Use git worktree directly when one repository is the problem. ivar uses Git
worktrees underneath, then adds the multi-repository parts:
one committed Hall definition that teammates can clone and ivar sync;
a shared feature branch across the repositories you promote;
read-only guards for repositories outside the feature's write scope;
per-repository setup scripts for untracked runtime state; and
a session view with provider configuration, plans, and durable run receipts.
Read the detailed, candid comparison: Why not just git worktree?.
## Install
sh
curl -fsSL https://ivar.run/install | sh
The installer defaults to zero telemetry, and the installed ivar binary never
sends analytics. Its only unrequested request is the update check: at most once
per 20 hours it asks GitHub for the latest release tag, sending nothing but a
User-Agent (turn it off with IVARNOUPDATECHECK=1). To optionally help
count successful installations:
sh
curl -fsSL https://ivar.run/install | IVARINSTALLANALYTICS=1 sh
sh
curl -fsSL https://ivar.run/install | sh
Add an avatarUrl field to the user profile: the agent describes it in shared-types, returns it from api and renders it in web, with all three mounted as real git worktrees on the avatar-url branch. Repos you haven't promoted are guarded (kernel-enforced on Linux; see Limitations).
Your harness: Claude Code, OpenCode or OMP, with MCP servers declared once in ivar.json (ivar mcp add figma).
Plan first: /ivar-plan stops for your approval after requirements, analysis and plan.
Code graph: one local SQLite graph of every repo. In a two-repo benchmark, discovery took a median 460k tokens instead of 738k.
On your disk: single Rust binary, Apache-2.0, no account, macOS and Linux. Pull requests go through gh.
Quickstart · Docs · Why not just git worktree?
## The model
ivar is a local Rust CLI built around five small ideas:
1. Hall — a committed directory that declares the repositories a team works
across in ivar.json.
2. Feature — one branch name shared by the repositories participating in one
change.
3. Promotion — the explicit decision to make a repository writable on that
feature. Everything else stays guarded read-only (kernel-enforced on Linux).
4. Session — a view directory opened for you or an agent.
5. View Dir — symlinks to the right real worktrees: feature worktrees for
promoted repositories, and for the rest the feature's base (the parent's worktree, the root's base branch, or the default branch).
text
Hall
api ────────── promoted ──► avatar-url worktree (writable)
web ────────── promoted ──► avatar-url worktree (writable)
shared-types ─ promoted ──► avatar-url worktree (writable)
infra ────────────────────► main worktree (read-only)
Session / View Dir
api · web · shared-types · infra · plans
From the view dir, one agent session describes the field in shared-types,
returns it from api and renders it in web. The plan, branches, and
worktrees remain on disk when the conversation ends.
## Why not just git worktree?
Use git worktree directly when one repository is the problem. ivar uses Git
worktrees underneath, then adds the multi-repository parts:
one committed Hall definition that teammates can clone and ivar sync;
a shared feature branch across the repositories you promote;
read-only guards for repositories outside the feature's write scope;
per-repository setup scripts for untracked runtime state; and
a session view with provider configuration, plans, and durable run receipts.
Read the detailed, candid comparison: Why not just git worktree?.
## Install
sh
curl -fsSL https://ivar.run/install | sh
The installer defaults to zero telemetry, and the installed ivar binary never
sends analytics. Its only unrequested request is the update check: at most once
per 20 hours it asks GitHub for the latest release tag, sending nothing but a
User-Agent (turn it off with IVARNOUPDATECHECK=1). To optionally help
count successful installations:
sh
curl -fsSL https://ivar.run/install | IVARINSTALLANALYTICS=1 sh
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/mnzsss-ivar/)
- Source
- github · https://github.com/mnzsss/ivar
- Browse by field
- Open source
- Traction
- 5 ★
- added
- today
- Security policy
- the repository has
SECURITY.mdat its root (we checked that the file exists, not what it says)
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.