synapse CLAUDE.md

A set of project instructions for Synapse, an application software development kit for building apps that communicate through the MCP ext-apps protocol. It defines required checks, release rules, and where different specification types belong.

In plain words
What is it for?
Use it when changing, verifying, or releasing the Synapse package. It covers the continuous-integration command, versioning, changelog entries, GitHub Actions publishing, and specification locations.
Why use it?
It gives coding agents consistent rules for verifying changes and publishing releases. It helps prevent skipped checks, incorrect version changes, and release workflow mistakes.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/nimblebraininc/synapse/claude-md
Clone the repo
git clone --depth 1 https://github.com/NimbleBrainInc/synapse
Per session 3,046 This file is loaded in full into every session.
When invoked 3,046 The same file — it is already loaded in full.
Security scan C 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.03046 $0.03046
Opus 5 $0.01523 $0.01523
Sonnet 5 $0.00609 $0.00609
Haiku 4.5 $0.00305 $0.00305

Measured 2d ago against content hash 432e04951d1f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

synapse CLAUDE.md scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

rm -rf src/_iife-entry.ts src/_shims
CLAUDE.md · 197 lines

How it starts

The opening of the file, as written. The whole thing — 197 lines — stays where its author put it; the contents beside it link to each section on GitHub.

@nimblebrain/synapse

Agent-aware app SDK for the MCP ext-apps protocol (2026-01-26).

Verification

npm run ci    # lint → typecheck → build → test

Run npm run ci before declaring any change complete. No exceptions.

Releasing

@nimblebrain/synapse publishes to npm via GitHub Actions trusted publishing on v* tag push. There is no static npm token; auth is OIDC (id-token: write) under the npm environment. The workflow is .github/workflows/publish.yml.

To cut a release:

  1. Bump version in package.json and add a CHANGELOG entry on the release branch. A ### Breaking entry means the minor moves. Nothing enforces this: the workflow checks the tag matches package.json and that a ## [<version>] heading exists, and neither tells a minor from a patch. Consumers pin caret on 0.x, which does not cross a minor — so cutting a breaking change as a patch carries it to every pinned consumer silently, which is the opposite of what the CHANGELOG's migration note promises.
  2. Merge the PR.
  3. Tag the merge commit on main and push the tag:
    git checkout main && git pull
    git tag v<version> -m "v<version>"
    git push origin v<version>
    
  4. Watch the Publish to npm workflow run. It re-runs lint/typecheck/build/test, then verifies the tag string matches package.json (catches a stale bump), then runs npm publish --provenance --access public, then creates a matching GitHub Release with the body extracted from the ## [<version>] section of CHANGELOG.md.

The version-match check at workflow time is the load-bearing safety: a tag of v0.8.0 against package.json at 0.7.0 aborts before publishing instead of publishing the wrong contents under a misleading tag. The CHANGELOG-extraction step is the second tripwire — it fails the workflow if the version has no ## [<version>] heading, so a release can't ship without notes.

Releases are public and provenance-attested — published artifacts carry a signed link back to the workflow run that produced them. Don't run npm publish from a local machine; do it through tags so provenance is preserved. Don't create the GitHub Release by hand either; the workflow handles it (and skips cleanly if the Release already exists, so manual reruns are safe).

Read the full file on GitHub · 197 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 197 lines · 3,046 tokens per session scan C 432e04951d1f

Subscribe to this mod's changes

synapse CLAUDE.md is an instructions file published in the GitHub repository NimbleBrainInc/synapse (2 stars, last pushed 1mo ago), licensed MIT. It adds 3,046 tokens to every session, about $0.0152 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.