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.
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.
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
Honest limits
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