SyncytiumMD

io.github.mrcbrbn5361Published by GitHub account mrcbrbn5361v0.3.1Updated Nov 6, 2026

One canonical context transpiled into Cursor, Claude, Copilot, Cline and more, with agent handoff.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Keeps AI coding rules and decisions in one canonical .syncytium/ folder and transpiles them into Cursor, Claude, Copilot and other tool files, with agent…

What you can do
  • Load project context: read rules, architecture, ADRs and the active handoff state, plus the knowledge graph and handoff history
  • Manage rules and decisions: create, list, search, update and remove canonical rules and architectural decision records
  • Sync and inspect generated files: regenerate bridge files for each AI tool, check drift, lint and validate config and frontmatter, run a workspace health check
  • Coordinate agents: acquire, release and check a workspace lease, record handoffs, list and restore archived deletions
  • Migrate existing files: import unmanaged rule files such as CLAUDE.md or .cursorrules into the canonical store
When to use it
Useful when several AI coding tools or agents work in the same repository and you are tired of maintaining duplicate instruction files that drift apart. It also helps when agents need to hand work to each other or avoid editing the same files at once.
Requirements
Runs locally over stdio via npx from the syncytium-md npm package; Node.js 20 or newer is required. The workspace should be scaffolded with the syncytium init command first. No authentication is declared; the README suggests passing an optional token through the SYNCYTIUM_TOKEN environment variable.
Before you install
Many tools write to the workspace: rules, ADRs, config fixes, regenerated bridge files and imports. Removal tools delete rules and decisions, though they default to a dry run, require explicit confirmation and archive items for restore. The sync tool can prune generated files. Pin the package version and pass --ignore-scripts when launching through npx, and keep any credential in the env block rather than command arguments.

Installation

In SourceWeft

  1. Open SyncytiumMD in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

🧬 SyncytiumMD

One context. Every AI coding tool. Zero copy-paste.

[npm] [CI] [Node] [License] [PRs Welcome]

English · Türkçe


The problem

You use Cursor at work, Claude Code in the terminal, Copilot in pull requests, and three CLI agents on CI. Each one wants its own instruction file. So you maintain four copies of the same rules, they drift, and no agent knows what the others did yesterday.

The idea

Keep the rules once, in .syncytium/, and transpile them into every tool's native format.

.syncytium/          canonical, human-authored, git-tracked  rules/*.md         code style, security, testing, architecture, …  memory/decisions.md  ADRs — why the project is the way it is  HANDOFF.md         live agent baton: who has it, what's next        │        │  syncytium sync        ▼CLAUDE.md   AGENTS.md   GEMINI.md   AGENT.md   CONVENTIONS.md.cursorrules   .clinerules   .roomodes   .windsurfrules   .traerules.cursor/rules/*.mdc          .gemini/antigravity/rules/*.md.github/copilot-instructions.md + .github/instructions/*.instructions.md

Every generated file carries a banner saying where it came from, and syncytium diff --check fails your CI if any of them drift. syncytium clean removes only banner-tagged files — your hand-written rules are never touched.

Quick start

bash
npx syncytium init          # scaffold .syncytium/ (stack auto-detected)npx syncytium sync          # generate every bridge filenpx syncytium graph         # open the 3D knowledge graph in your browser

Requires Node.js 20+. No global install needed; npx works.

What you get

10 built-in adaptersCursor, Claude Code, GitHub Copilot, Cline/Roo, Antigravity, Windsurf, Trae, OpenCode, AGENTS.md, GEMINI.md
Stack-aware startersTypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, PHP, Ruby, .NET, Swift, Elixir, generic
Multi-agent safetyA lease-based workspace lock with heartbeat, a handoff baton, and a 100-entry audit trail
Drift detectionReal unified diffs, orphan detection, and a --check flag that actually exits non-zero
Live 3D graphWebGL knowledge cosmos, vault explorer, Markdown document reader — bound to 127.0.0.1
MCP server23 tools with zod-validated inputs, honest safety annotations, built-in rate limits, and recoverable deletions
CI + git hookssyncytium ci and syncytium hook install both gate on zero drift
--json everywhereEvery command emits machine-readable output for agents and CI

Commands

Run syncytium --help for the full list.

Context

CommandWhat it does
init [name]Scaffold .syncytium/. --template <stack>, --force
syncRegenerate all bridge files. -t/--target, --no-prune, -f/--force
watchAuto-sync on every change. -a/--agent also holds and renews the lock
diffShow drift with real patches. --check exits 1 in CI, --full for complete hunks
doctor11 health checks, each with an actionable fix: hint. --strict
lintValidate rules, frontmatter and ADR schema. --fix heals kebab-case and missing titles
validateValidate syncytium.config.json and every rule against the schema. --fix
cleanDelete only banner-tagged files. --dry-run
exportOne portable Markdown bundle you can paste anywhere. --html, --max-rule-chars
importReverse-migrate existing CLAUDE.md, .cursorrules, … into .syncytium/. --dry-run
adaptersList every registered adapter and its targets
statusOne-screen project + handoff + lock summary

Rules & decisions

bash
syncytium rules [query]                       # search the catalogsyncytium rule add --title "..." --body "..." # add a canonical rulesyncytium rule show <id>                      # inspect onesyncytium rule update <id> --body-file x.md   # edit in placesyncytium rule remove <id>                    # delete + prune generated files
syncytium adr list                            # architectural decisionssyncytium adr add --title "..." --context "..." \                  --decision "..." --consequences "..."syncytium adr show ADR-006syncytium adr remove ADR-006

Multi-agent coordination

bash
syncytium lock acquire --agent "Cursor" --goal "Refactor auth"syncytium lock heartbeat --agent "Cursor"    # extend the leasesyncytium lock statussyncytium lock release --agent "Cursor"
syncytium handoff -i                          # interactive wizardsyncytium handoff --from "Cursor" --to "Claude" \  -s ready_for_review -g "Ship v1" -d "…" -t "…"syncytium log -n 20                           # baton audit trail

Guards

bash
syncytium hook install      # block commits on driftsyncytium hook install --auto-sync   # or just re-sync on every commitsyncytium ci                # .github/workflows/syncytium.yml drift gatesyncytium ci --force        # regenerate an existing workflow

Knowledge graph

bash
syncytium graph                        # 3D WebGL cosmos + vault explorersyncytium graph --category ide         # isolate IDE adapterssyncytium graph --compact              # hide file and tag nodessyncytium graph --no-open --port 4000

The server binds to 127.0.0.1 and rejects non-loopback Host headers (DNS-rebinding guard). It refuses to serve .env*, *.pem, *.key, .git/** and other in-root secrets.

Clicking a tool in the 3D galaxy opens the actual Markdown files it generates: directory targets such as .cursor/rules/ become directory nodes that list their .mdc rules, each file opens in the document panel and is highlighted in 3D, and adapters are marked USED or EMPTY depending on whether their targets exist on disk.

MCP

jsonc
{  "mcpServers": {    "syncytium": {      "command": "npx",      "args": ["--ignore-scripts", "-y", "-p", "[email protected]", "syncytium-mcp"],      "cwd": "${workspaceFolder}",      "env": {        "SYNCYTIUM_TOKEN": "${SYNCYTIUM_TOKEN}"      }    }  }}

Hardening notes: pin the exact package version instead of @latest, pass --ignore-scripts when launching through npx, keep only the 3-5 MCP connectors a workspace actually needs, and pass any short-lived, read-only credential through the env block rather than command arguments.

Or syncytium mcp if you already have the CLI installed. The server exposes 23 tools, including syncytium_get_context, syncytium_handoff, syncytium_create_rule, syncytium_update_rule, syncytium_remove_rule, syncytium_record_decision, syncytium_sync, syncytium_diff, syncytium_doctor, syncytium_validate, syncytium_validate_fix, syncytium_lock_acquire/release/status, syncytium_get_graph, syncytium_list_trash, syncytium_restore and more. Every input is zod-validated and closed with additionalProperties: false; every property is documented; every stable read tool declares an outputSchema and returns matching structuredContent.

Built-in MCP safety. Every tool advertises MCP readOnlyHint, destructiveHint, idempotentHint and openWorldHint annotations, and the server enforces a per-tool sliding-window rate limit (for example 5 destructive calls per minute). Destructive tools default to dryRun: true; deleting needs dryRun: false and confirm: true. Rules and ADRs are archived under .syncytium/memory/trash/ before removal, so syncytium_restore can undo the operation. syncytium_doctor is strictly read-only. These limits are enforced server-side, so they hold even when a client ignores the annotations.

MCP Registry. The repository root carries a server.json manifest (official registry.modelcontextprotocol.io format) describing the npm package, the stdio transport and the mcp launch argument. The discoverability workflow regenerates llms.txt and llms-full.txt, verifies the manifest against the package (including mcpName), and publishes it with GitHub OIDC - no stored secret and no manual step. A unit test pins the manifest version to package.json so the registry never advertises stale metadata.

.syncytiumignore

Excludes generated targets from both sync and diff. Full gitignore syntax, including **, ?, directory-only patterns and ! negation:

# Don't manage these tools.cursorrules.github/instructions/
# Except this one!.github/instructions/keep.md

Custom adapters

Declare any tool in syncytium.config.json — no code required:

jsonc
{  "customAdapters": [    {      "id": "zed",      "name": "Zed",      "targetFile": ".rules/zed.md",      "includeHandoff": true,      "includeArchitecture": true    }  ],  "enabledAdapters": ["cursor", "claude", "zed"]}

Library usage

ts
import { SyncytiumEngine } from 'syncytium-md';
const engine = new SyncytiumEngine(process.cwd());await engine.sync();const { hasDrift, summary } = await engine.diff();const graph = await engine.getKnowledgeGraph({ category: 'ide' });

Development

bash
npm installnpm run verify      # typecheck -> build -> 114 tests

See CONTRIBUTING.md and .syncytium/architecture.md.

License

MIT © Miraç Birben

Source: README.md at commit 9b7287e

Tools

23

syncytium_get_context

Get canonical context

Read-only. Get project rules, architecture, architectural decisions (ADR), and the active handoff state. Use this first in any session.

ParameterstopicincludeContent

syncytium_handoff

Record agent handoff

Write. Pass the baton to the next AI agent or record progress on the shared blackboard. Run this before you finish your turn.

ParametersgoalforcenotesstatusnextAgentactiveAgentrequiredpendingTaskstouchedFilescompletedWork

syncytium_record_decision

Record an ADR

Write. Record an Architectural Decision (ADR) shared across all AI agents.

Parametersidtitlerequiredstatuscontextrequireddecisionrequiredconsequencesrequired

syncytium_remove_decision

Archive and remove an ADR

Destructive, but safe by default: previews the impact unless dryRun is false, requires confirm: true to delete, and archives the ADR so syncytium_restore can undo it.

ParametersidrequireddryRunconfirm

syncytium_list_decisions

List ADRs

Read-only. List recorded ADRs (optionally filtered by status or free-text query).

Parameterslimitquerystatus

syncytium_create_rule

Create a canonical rule

Write. Add a new canonical rule to .syncytium/rules/ and regenerate every bridge file. Reversible with syncytium_remove_rule.

ParametersidbodyrequiredsynctagsglobstitlerequiredalwaysApplydescription

syncytium_list_rules

List canonical rules

Read-only. Search the canonical rule catalog by id, title, tag or body text.

Parametersquery

syncytium_update_rule

Update a canonical rule

Write. Edit an existing canonical rule in place (title, description, body, globs, tags).

ParametersidrequiredbodysynctagsglobstitlealwaysApplydescription

syncytium_remove_rule

Archive and remove a canonical rule

Destructive, but safe by default: previews the impact unless dryRun is false, requires confirm: true to delete, archives the rule, and prunes only banner-tagged generated files. Undo with syncytium_restore.

ParametersidrequireddryRunconfirm

syncytium_sync

Regenerate bridge files and prune orphans

Regenerate all AI tool bridge files (CLAUDE.md, .cursor/rules/, AGENTS.md, GEMINI.md, …). Can prune orphaned banner-tagged generated files; pass noPrune:true to keep them.

ParametersforcenoPrunetargets

syncytium_get_history

Get handoff history

Read-only. Get the multi-agent handoff audit trail: past goals, completed tasks and baton passes.

Parameterslimit

syncytium_lint

Lint canonical content

Read-only. Validate canonical rules, frontmatter and ADR schema. Returns a compact summary, not the full report.

Takes no parameters.

syncytium_validate

Validate config and rule frontmatter

Read-only. Validate syncytium.config.json and every rule frontmatter against the zod schema and report issues without changing anything.

Takes no parameters.

syncytium_validate_fix

Repair invalid config or frontmatter

Write. Repair invalid config or rule frontmatter in place, then report what changed. Separate from syncytium_validate so a read-only scan can never mutate the workspace.

ParametersdryRun

syncytium_diff

Check context drift

Read-only. Check context drift between .syncytium/ and the generated bridge files. Returns a summary plus the drifted paths.

Parameterstargets

syncytium_doctor

Read-only workspace health check

Read-only. Run the full workspace health check: config, adapters, rules, drift, lock, git hook and CI gate. Never fixes or executes anything; remediation strings are suggestions only.

Takes no parameters.

syncytium_lock_acquire

Acquire the workspace lease

Write. Take the exclusive workspace lease so other agents do not edit the same files concurrently.

ParametersgoalagentrequiredforceleaseMinutes

syncytium_lock_release

Release the workspace lease

Write. Release the workspace lease held by this agent (idempotent).

Parametersagentforce

syncytium_lock_status

Read lease status

Read-only. Report who currently holds the workspace lease and when it expires.

Takes no parameters.

syncytium_get_graph

Get the knowledge graph

Read-only. Get the project knowledge graph (rules, tags, ADRs, agents, adapters, bridge files) for visualisation.

Parameterscompactcategory

syncytium_import

Import unmanaged rule files

Write. Reverse-migrate existing unmanaged AI rule files (CLAUDE.md, .cursorrules, …) into .syncytium/. Dry-run by default; it only creates rules and never deletes the originals.

ParametersdryRun

syncytium_list_trash

List recoverable deletions

Read-only. List recoverable deletions (archived rules and ADRs) with their archive timestamps, newest first.

Parameterskindlimit

syncytium_restore

Restore an archived rule or ADR

Write. Restore an archived rule or ADR from the recoverable trash and regenerate bridge files. Fails if the same id already exists.

Parametersidrequiredkindrequired

Version history

1
  1. v0.3.1LatestNov 5, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts