Thank you for contributing. TypeMCP is an open-source TypeScript project released under the MIT License. By submitting a contribution, you agree to license it under that license and to follow the Code of Conduct.
- Read AGENTS.md, the relevant document in docs/, and the active task in the single-package migration plan or a later approved plan.
- Keep the root package framework-neutral: no application-framework dependency or import in core source;
src/langchain.tsmay depend only on its declared LangChain peer. - Confirm whether the requested behavior is MVP scope. Add an ADR and revised plan before implementing a deferred capability.
npm ci
npm test -- --run <focused-test-file>
npm run typecheck
npm run lint
npm test
npm run build
npm run verify:package
npm run verify:publishWrite and run a failing test first. Implement the smallest behavior that makes it pass, then run the affected suite and full verification as applicable.
All work after the initial repository bootstrap follows this flow. Never commit directly to protected dev or main.
- Search open work, then create one focused GitHub Issue with scope and verification criteria.
- Create a branch from updated
devnamed<type>/<issue-number>-<description>.- Examples:
feat/12-tool-compiler,fix/19-safe-error-result,docs/24-http-guide.
- Examples:
- Use focused conventional commits, e.g.
feat(core): add MCP tool decorator. - Push the issue branch and open one PR against
dev. - Include
Closes #<issue-number>in the PR body so GitHub closes the matching issue after merge. - Include exact verification commands/results, then resolve specification and code-quality review findings.
- Squash merge only when CI is green; confirm the issue is closed and local
devmatchesorigin/dev. - Use a separate reviewed PR from
devto release-onlymainwhen promoting a release.
Keep generated files, credentials, local logs, coverage, and node_modules/ out of commits. Update public docs for changed behavior and complete .agents/checklists/pre-commit.md before committing.
Review in two passes:
- Specification compliance: all acceptance criteria and non-goals are respected.
- Code quality: test-first evidence, type safety, runtime validation, package boundaries, safe errors, and docs.
Use .agents/templates/review-report.md to record findings when a change is non-trivial.
- Check SECURITY.md before handling a suspected vulnerability. A private reporting channel is not configured yet, so do not submit sensitive details in public issues or pull requests.
- For usage and contribution questions, read SUPPORT.md and use the Question or contribution support issue form if the question remains unresolved.
Maintainers triage new reports, request missing reproduction details when needed, and review changes for specification compliance and code quality. A contribution is ready to merge only after the linked issue is scoped, CI is green, review findings are resolved, and the PR template is complete.