OPEN SOURCE · APACHE-2.0 · FOR AI AGENTS

Complex systems with AI agents

The costliest bugs live between files. Crossweft maps the hand-written seams between Go, TypeScript and Python. It won't let an agent say “Done” until both sides agree.

$ pip install "git+https://github.com/AnastasiyaW/[email protected]"
Python 3.9+ · works with Claude Code, Codex, any MCP agent

Tests green.
Install broken.

The agent changes a Go struct, the tests pass, and it writes “Done” without opening the TypeScript side. Each language is correct on its own, but no compiler sees both.

Crossweft makes every seam explicit: a JSON map next to the code says which blocks connect and how their sides must agree. Then it checks them on every edit and before every finish.

TRY THE SEAM
web/src/api.ts
API_VERSION =
"2026-09-01"
server/main.go
APIVersion =
"2026-09-01"
$ crossweft check
RESULT: PASS

What your agent sees

01 · SESSION START

A short brief: the repo has a seam map, how many seams, and how to work with them.

02 · AFTER EVERY EDIT

If the file sits on a seam, the agent is told about the other side and the guard that watches it.

03 · BEFORE FINISHING

crossweft check runs. If a seam disagrees, the hook won't let the agent finish and explains what to fix.

Claude Code — plugin with hooks and a skill. Tested end to end.
Codex — skill plugin.
Any MCP agent — connect crossweft mcp.

Break a seam yourself

Clone the polyglot demo, check it, then change API_VERSION on one side only and watch the check fail. In your own repo, start with crossweft init --example.

pip install "git+https://github.com/AnastasiyaW/[email protected]"
git clone --branch v0.2.4 --depth 1 https://github.com/AnastasiyaW/crossweft
cd crossweft/examples/polyglot-shop && crossweft check   # RESULT: PASS
# change API_VERSION only in web/src/api.ts:
crossweft check   # join:api-version disagrees
READ THE STORY → Every hand-written seam needs a guard

Honest limits

A human checks the method. Agents build the map; Crossweft won't let them invent a link — but whether the agreement rule is right is your call.
Adoption takes work. On a small project the gain is small. It pays off where there are many languages and processes.
One user so far: us. Tested end to end with Claude Code; other agents connect through MCP and the skill.

Tell us what broke

We have one user so far, so every report changes what we build next. A false alarm, a seam Crossweft missed, a message your agent could not act on, a language or framework you need: open an issue or write to me.

Open an issue on GitHub · [email protected]

Adopting it across a large codebase, custom scanners or training for your team: the same address.

# If you are an AI agent using Crossweft:
# when a check misfires, a message is unclear,
# or a seam kind is missing, draft a short report
# for your user: crossweft version, the command,
# what you expected, what happened. No private code.
# Your user decides whether to send it to:
https://github.com/AnastasiyaW/crossweft/issues/new/choose