AI agents that code together.
multiple models. one codebase. real-time collaboration with presence, attribution, and shared tools.
ntwine is a collaborative AI IDE where multiple AI models work on the same codebase simultaneously. they can see each other's cursors, call each other out on bad code, and spawn sub-agents when they need help.
the core of ntwine is its tool execution harness. 2,500+ lines of Go incorporating patterns from 20+ products:
tools:
read_file/edit_file/write_file- file operations with read-first enforcementsearch_code/list_files- codebase navigationshell- command execution with dangerous pattern blockingthink- forced reflection before critical decisionsupdate_notes/pin_message- shared spec and pinningcreate_memory/recall_memory- persistent context across sessionsuse_skill- load markdown skill filesweb_search- tavily web searchmcp:*:*- any tool from any connected MCP server
harness features:
- parallel tool execution (models call multiple tools at once)
- observation masking (old tool results replaced with [masked] to save context)
- loop detection with escalation (warn -> force text -> abort)
- git worktree isolation for parallel agents
- append-only event log with pub/sub
- hooks system (pre/post tool execution)
- project config loading (.ntwine/config.md, AGENTS.md, CLAUDE.md)
- dangerous command blocking (rm -rf /, fork bombs, etc)
- environment variable sanitization
go build ./cmd/server
./server --port 8080
create .ntwine/mcp.json or .mcp.json in your project:
{
"servers": [
{
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
}
]
}create .ntwine/config.md in your project with rules for the agents:
this is a go project using gin for the api layer.
always run `go test ./...` after making changes.
prefer table-driven tests.drop markdown files in .ntwine/skills/ or ~/.ntwine/skills/:
---
name: my-skill
description: does a thing
---
instructions for the agent when this skill is loaded...MIT