Contributing
Contributions are welcome — skills, tests, documentation, and tooling. This page covers the mechanics.
git clone https://github.com/Anselmoo/mcp-ai-agent-guidelinescd mcp-ai-agent-guidelinesnpm installnpm run buildnpm run testNode.js ≥ 22 is required (ESM modules, "type": "module" in package.json).
Quality gates
Section titled “Quality gates”All contributions must pass before merging:
npm run quality # type-check + Biome lint/formatnpm run test # Vitest full runlefthook runs npm run quality automatically on pre-commit.
Adding a new skill
Section titled “Adding a new skill”- Add the entry in
src/skills/skill-specs.ts(canonical skill catalog) - Write the implementation at
src/skills/<domain>/<skill-id>.ts - Add workflow coverage in
src/workflows/workflow-spec.ts(zero-orphan rule enforced byscripts/verify_matrix.py) - Regenerate tool definitions:
Terminal window python3 scripts/generate-tool-definitions.py - Rebuild:
Terminal window npm run build - Write tests in
src/tests/skills/<domain>/mirroring the source subtree
Code conventions
Section titled “Code conventions”- TypeScript ESM —
"type": "module","moduleResolution": "nodenext". Import paths must use.jsextension even for.tssources. - Biome for lint + format — tabs (not spaces), double quotes. Run
npm run check:fixto auto-fix. - Tests in
src/tests/— do not colocate*.test.tsfiles next to source modules. Mirror the source subtree insidesrc/tests/. - All 20 public instruction tools share the same input schema:
{ context?: string; request: string; options?: object }.requestis the only required field. - Return types for MCP tool handlers must include
[x: string]: unknownto satisfy the SDK’sServerResultunion.
Documentation
Section titled “Documentation”The documentation site lives in docs/ (Starlight / Astro). To run it locally:
npm run docs:devTo add or update a page, edit or create a Markdown/MDX file under docs/src/content/docs/. Pages auto-appear in the sidebar based on the autogenerate config in docs/astro.config.mjs.
Commit messages
Section titled “Commit messages”Follow Conventional Commits:
feat(skills): add adv-neural-plasticity skillfix(router): correct cascade fallback orderingdocs(reference): add env-variables pagePull requests
Section titled “Pull requests”- Keep PRs focused — one feature or fix per PR
- Include tests for new skills
- Run
npm run quality && npm run testbefore opening the PR - Reference the relevant issue or workflow if applicable