Contributing
Contributions are very welcome. mcpgen is MIT-licensed and built to be hacked on.
Prerequisites
- Node 20+ (
.nvmrcpins the major; runnvm use). - pnpm 9+ (
corepack enableprovides the pinned version).
Local development
git clone https://github.com/MobsLInep/mcpgen
cd mcpgen
pnpm install
pnpm buildThe full local gate — everything CI runs — is:
pnpm install && pnpm build && pnpm lint && pnpm typecheck && pnpm testTwo 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
anywithout a justified// eslint-disable. - Conventional Commits (
feat:,fix:,chore:,docs:,test:). - Tests import from
src(notdist) sopnpm testworks without a build. - Read
CLAUDE.mdbefore 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,testmust pass.
By participating you agree to abide by our Code of Conduct (Contributor Covenant). Be kind.
Last updated on