SameTree

SameTree

Local coordination for coding agents that share a Git working tree.

Category
访问服务器

README

SameTree

Run multiple Claude Code and OpenCode agents in the same repository and branch.

CI License: MIT Node.js 22+

SameTree is a local multi-agent coordination MCP server for running multiple Claude Code, OpenCode, and other coding agents in parallel on the same repository, branch, and working tree. Agents share tasks, file claims, messages, handoffs, and repository policy without separate Git worktrees, a daemon, or a cloud service.

<p align="center"> <img src="docs/demo.svg" alt="SameTree setup, task and path ownership, conflict prevention, and agent messaging" width="100%"> </p>

What It Does

  • Gives agents a shared task board and inbox.
  • Prevents agents from unknowingly editing the same paths.
  • Transfers work through structured handoffs.
  • Shares coordination rules through versioned repository files.
  • Stores all live state locally in the Git worktree.

Requirements

  • Node.js 22.12 or newer
  • Git
  • A local filesystem

SameTree does not support state databases on NFS, SMB, cloud-synced folders, or multiple machines.

Install

git clone https://github.com/simozampa/sametree.git
cd sametree
npm ci
npm run build
npm link

SameTree is not yet published to npm. npm link exposes sametree and sametree-mcp from the source checkout.

Quick Start

cd /path/to/your/project
sametree setup --claude --opencode

Setup is required once per project. It configures the requested harnesses and writes shared instructions under .sametree/. After that, start agents normally in separate terminals:

opencode
claude

Every instance gets a unique identity automatically and joins the agents in that worktree. Different projects and Git worktrees use separate state. Avoid switching branches while agents are active because every process in that worktree sees the same checkout.

Coordination Loop

The generated agent instructions tell each agent to:

  1. Check current tasks, claims, messages, and policy.
  2. Claim a task and the smallest paths it needs.
  3. Coordinate conflicts instead of overwriting another agent.
  4. Update or hand off work and release claims when finished.

Agents normally use the MCP tools directly. The CLI provides the same coordination surface for humans and scripts:

export SAMETREE_AGENT=opencode-1
export SAMETREE_HARNESS=opencode

sametree status
sametree task create --title "Add request validation" --priority high
sametree task claim task_...
sametree claim acquire src/http/request.ts test/http/request.test.ts
sametree task update task_... --status done
sametree claim release --all
SAMETREE_AGENT=observer sametree watch --tail

Optional Git hooks can reject commits that overlap active claims or violate repository policy:

export SAMETREE_AGENT=human
sametree hooks install

How It Works

Each MCP client starts a local SameTree process. All clients in one worktree open the same SQLite database under Git's private worktree directory:

Claude Code ─┐
Claude Code ─┼─ MCP stdio / CLI ─ Domain service ─ SQLite WAL
OpenCode ────┤                                  └─ Git working tree
OpenCode ────┘

There is no server to run. State stays local and is never committed.

SameTree is designed for trusted agents on one machine. It coordinates edits but does not merge simultaneous changes or sandbox processes.

FAQ

Can multiple Claude Code and OpenCode agents safely work in the same repository?

SameTree reduces collisions between Claude Code and OpenCode instances sharing one checkout. Each agent gets its own identity, sees the same task board, and claims files before editing them.

Do parallel coding agents need separate branches or Git worktrees?

Not when the work is intertwined. SameTree is built for agents collaborating on the same branch and live working tree. Independent tasks can still use separate Git worktrees, which SameTree keeps isolated.

How do coding agents share context across sessions?

SameTree stores tasks, messages, handoffs, claims, and policy acknowledgements in a worktree-local SQLite database. Claude Code and OpenCode access that shared context through MCP tools.

Is SameTree a Conductor alternative?

Conductor gives each task an isolated workspace, branch, files, and merge path. SameTree coordinates agents inside one live working tree. Use Conductor-style isolation for independent tasks and SameTree for coupled work that must share uncommitted state.

How is SameTree different from agent-talk?

agent-talk provides encrypted agent-to-agent messaging across people and machines through a relay. SameTree stays on one machine and adds tasks, file claims, handoffs, policy, and Git checks for agents sharing a working tree.

Does SameTree work across multiple machines?

No. SameTree is intentionally local to one machine and one Git worktree. Use a networked coordination or messaging tool when agents need to communicate across machines.

Documentation

Development

npm ci
npm run check
npm pack --dry-run

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选