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
- Distinctive: line 16
Read each package's manifest/README and the repository release/compatibility policy before changes.
- Distinctive: line 23
Do not execute through a shell or interpolate user-controlled arguments into shell text.
- Distinctive: line 24
Do not silently install a mismatched Python version.
- Distinctive: line 32
Update validators, tests, changelog, and generated/consuming surfaces together.
- Distinctive: line 33
Do not loosen validation merely to accept an implementation drift.
- Distinctive: line 34
Keep tool-effect and cross-product protocol contracts synchronized with canonical server metadata.
- Very specific: line 36
Use the package's own pnpm run check for protocol-schema changes.
- Distinctive: line 42
Keep manifest entries, fixture files, and expected outputs synchronized.
- Distinctive: line 43
Do not replace failing expected evidence merely to make a test pass without understanding the behavior change.
- Common: line 44
Do not add customer/private design data, credentials, or proprietary manufacturing outputs.
- Distinctive: line 51
Keep plugin discovery failure-contained.
- Distinctive: line 53
Do not use the companion plugin to bypass server operating modes, path safety, or human manufacturing controls.
- Distinctive: line 64
Run the narrow package command first, then repository gates selected by the change:
≈ “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.
Files
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 checkpackages/kicad-fixtures: use its localcheckscript when the package toolchain is installedpackages/mcp-npm:npm --prefix packages/mcp-npm run checkand its build smoke where applicable- cross-package/release changes:
task pre-pushand 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.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- integrations/AGENTS.mdAGENTS.md
- src-tauri/AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- docs/llms.txtllms.txt
- drc-checkSkill
- fabrication-outputSkill
- kicad-design-reviewSkill
- pcb-designSkill
- schematic-reviewSkill
- visual-excellenceSkill
- wired-subcircuit-designSkill
- code-reviewSkill
- drc-checkSkill
- fabrication-outputSkill
- kicad-design-reviewSkill
- pcb-designSkill
- schematic-reviewSkill
- visual-excellenceSkill
- wired-subcircuit-designSkill
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.

