agentleFS
oaslanankaoaslananka/kicad-mcp-pro/packages/AGENTS.md

kicad-mcp-pro / packages

AGENTS.md169 starsChanged 18 days agoMITView on GitHub

These instructions apply to packages/** and supplement the repository root AGENTS.md. packages/ contains distinct distributable/test surfaces with different contracts. Do not treat them as one generic Node workspace. Current package roles include: Read each package's manifest/README and the repository release/compatibility policy before changes. The npm package is a thin launcher, not a second server implementation. Schema changes are public compatibility changes. Use the package's own pnpm run check for protocol-schema changes. Fixture data is deterministic test evidence, not arbitrary sample…

We split this AGENTS.md into the rules it gives an agent

13 rules. About 1 is common, 11 are distinctive, and 1 is very specific to this project.

  • ≈1

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Read each package's manifest/README and the repository release/compatibility policy before changes.

    line 16
  2. Distinctive:

    Do not execute through a shell or interpolate user-controlled arguments into shell text.

    line 23
  3. Distinctive:

    Do not silently install a mismatched Python version.

    line 24
  4. Distinctive:

    Update validators, tests, changelog, and generated/consuming surfaces together.

    line 32
  5. Distinctive:

    Do not loosen validation merely to accept an implementation drift.

    line 33
  6. Distinctive:

    Keep tool-effect and cross-product protocol contracts synchronized with canonical server metadata.

    line 34
  7. Very specific:

    Use the package's own pnpm run check for protocol-schema changes.

    line 36
  8. Distinctive:

    Keep manifest entries, fixture files, and expected outputs synchronized.

    line 42
  9. Distinctive:

    Do not replace failing expected evidence merely to make a test pass without understanding the behavior change.

    line 43
  10. Common:

    Do not add customer/private design data, credentials, or proprietary manufacturing outputs.

    line 44
  11. Distinctive:

    Keep plugin discovery failure-contained.

    line 51
  12. Distinctive:

    Do not use the companion plugin to bypass server operating modes, path safety, or human manufacturing controls.

    line 53
  13. Distinctive:

    Run the narrow package command first, then repository gates selected by the change:

    line 64

≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Package Boundary Instructions

These instructions apply to packages/** and supplement the repository root AGENTS.md.

Boundary

packages/ contains distinct distributable/test surfaces with different contracts. Do not treat them as one generic Node workspace.

Current package roles include:

  • mcp-npm/ — npm launcher/wrapper for the Python distribution;
  • protocol-schemas/ — versioned public protocol schemas and TypeScript validators;
  • kicad-fixtures/ — deterministic shared KiCad fixture corpus and expected outputs;
  • kicad-plugin/ — KiCad companion plugin code that runs inside KiCad.

Read each package's manifest/README and the repository release/compatibility policy before changes.

npm wrapper

The npm package is a thin launcher, not a second server implementation.

  • Preserve argv forwarding and child exit/signal semantics.
  • Do not execute through a shell or interpolate user-controlled arguments into shell text.
  • Do not silently install a mismatched Python version; package/release parity and the documented override semantics remain explicit.
  • Publishing the npm wrapper must not precede the compatible Python package it launches.

Protocol schemas

Schema changes are public compatibility changes.

  • Preserve schema versioning and backward-compatibility policy.
  • Update validators, tests, changelog, and generated/consuming surfaces together.
  • Do not loosen validation merely to accept an implementation drift.
  • Keep tool-effect and cross-product protocol contracts synchronized with canonical server metadata.

Use the package's own pnpm run check for protocol-schema changes.

KiCad fixtures

Fixture data is deterministic test evidence, not arbitrary sample content.

  • Keep manifest entries, fixture files, and expected outputs synchronized.
  • Do not replace failing expected evidence merely to make a test pass without understanding the behavior change.
  • Do not add customer/private design data, credentials, or proprietary manufacturing outputs.
  • Version-sensitive fixture expectations should state or encode their supported KiCad contract.

KiCad companion plugin

The companion plugin executes inside KiCad's Python environment.

  • Keep plugin discovery failure-contained; optional plugin failure must not break unrelated KiCad plugin discovery.
  • Preserve loopback-only/server-mediated behavior and safe-apply confirmation for mutation paths.
  • Do not use the companion plugin to bypass server operating modes, path safety, or human manufacturing controls.
  • KiCad-bundled Python/runtime constraints differ from the server environment; avoid assuming server-only dependencies are available.

Version and release discipline

Package versions and metadata follow repository release policy; do not bump one public release surface in isolation when synchronization is required.

Lockfile changes must correspond to intentional dependency changes. Generated build output is not a substitute for source/schema updates.

Verification

Run the narrow package command first, then repository gates selected by the change:

  • packages/protocol-schemas: pnpm --dir packages/protocol-schemas run check
  • packages/kicad-fixtures: use its local check script when the package toolchain is installed
  • packages/mcp-npm: npm --prefix packages/mcp-npm run check and its build smoke where applicable
  • cross-package/release changes: task pre-push and the repository package/release checks

Definition of done

A package change is complete only when its source, manifest/version, lockfile, tests, public contract, release ordering, and consuming surfaces remain consistent.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.