Skip to Content
Contributing

Contributing

Contributions are very welcome. mcpgen is MIT-licensed and built to be hacked on.

Prerequisites

  • Node 20+ (.nvmrc pins the major; run nvm use).
  • pnpm 9+ (corepack enable provides the pinned version).

Local development

git clone https://github.com/MobsLInep/mcpgen cd mcpgen pnpm install pnpm build

The full local gate — everything CI runs — is:

pnpm install && pnpm build && pnpm lint && pnpm typecheck && pnpm test

Two extra gates run in CI and are worth running before a PR:

pnpm test:coverage # enforces engine + verify coverage thresholds pnpm security:lint # OWASP secure-MCP audit (needs a prior build)

Project layout

See Architecture. The one rule to internalize: keep packages/core pure. If you reach for next, http, or server-heavy fs inside core, it probably belongs in cli/api.

Conventions

  • TypeScript strict everywhere — no any without a justified // eslint-disable.
  • Conventional Commits (feat:, fix:, chore:, docs:, test:).
  • Tests import from src (not dist) so pnpm test works without a build.
  • Read CLAUDE.md before adding code so the stack stays consistent.

Good first issues

New here? Look for the good first issue label — those are scoped, well-described, and a friendly way in.

Filing issues & PRs

  • Use the issue templates (bug report / feature request).
  • Open PRs against main; fill in the PR template and check the boxes.
  • All of build, typecheck, lint, test must pass.

By participating you agree to abide by our Code of Conduct  (Contributor Covenant). Be kind.

Last updated on