// git-native multi-agent orchestration

Merge only what's proven.

Agents don't share thoughts. They share verified work — each on its own branch, gated by a deterministic validation script before anything reaches main.

$ agentgit create-task "Add OAuth callback handler"
Created AG-1 on branch agent/agent-01/AG-1
 
$ agentgit validate AG-1
[agentgit:validate] running: npm test
[agentgit:validate] PASSED — AG-1 marked 'approved' (exit 0)
 
$ agentgit merge AG-1
[agentgit:merge] merged. AG-1 → main.

How it works

Three checkpoints, in this exact order. Skip none of them.

AG-01

Isolate

Every task gets its own branch and workspace. No agent commits directly to main.

AG-02

Validate

A real command runs. A real exit code decides approved or rejected — never an agent's self-report.

AG-03

Merge

The merge gate re-checks task state itself and refuses anything not already approved.

Where AgentGit sits

Coordination protocols like gnap answer who owns which task. AgentGit answers what they leave open: how work gets validated and merged without trusting an agent's word.

Diagram positioning AgentGit against gnap, CrewAI/LangGraph, and worktree session managers on isolation model vs. automated validation/merge
ProjectScopeValidation before merge
AgentGitIsolation → validation → automated mergeDeterministic gate (core feature)
gnapCoordination protocol onlyExplicitly out of scope
CrewAI / LangGraphIn-process agent orchestrationApplication-defined
Worktree session managersRun parallel coding-agent sessionsUsually human-reviewed

Full comparison: docs/en/comparison.md · français

Quickstart

Not published to npm yet — npx agentgit won't work until it is (see CHANGELOG.md). Two ways to try it today.

Option A — clone and run directly

git clone https://github.com/Tryboy869/AgentGit.git
cd your-other-project
node /path/to/AgentGit/bin/agentgit.js init

Option B — npm link (get a plain agentgit command)

git clone https://github.com/Tryboy869/AgentGit.git
cd AgentGit
npm link

cd ~/your-other-project
agentgit init

A few examples, once linked

# in your own repo
agentgit create-task "Add OAuth callback handler"
agentgit create-task "Write onboarding docs"
agentgit status
// AG-1   draft   agent/unassigned/AG-1   Add OAuth callback handler
// AG-2   draft   agent/unassigned/AG-2   Write onboarding docs

# after an agent (or you) does the work on the created branch:
agentgit validate AG-1
agentgit merge AG-1   # only succeeds if AG-1 is "approved"

Once published, the same commands will work as npx agentgit ... — no clone or link needed. No CLI required either — .agentgit/ is plain, documented JSON. See docs/en/protocol.md.