Thanks for helping improve FrontMCP! This repo hosts the core SDK, CLI, adapters, plugins, docs, and the demo app. The project follows the Code of Conduct; by participating you agree to uphold it.
- Report reproducible bugs, missing docs, or regression risks via GitHub issues.
- Improve docs (
/docs), snippets, or the demo app inapps/demo. - Fix bugs or add features inside the packages under
libs/*. - Build adapters/plugins/examples that showcase how the SDK should be used.
If you are unsure whether a change fits, open an issue first so we can discuss the scope.
- Node.js >= 22 and npm >= 10 (see README installation section).
- Yarn (this workspace enables Corepack and sets
"packageManager": "yarn"innx.json). Runcorepack enableonce if needed. - Nx CLI (
yarn nx --help) powers builds, lint, tests, and type-checking. - Git and a GitHub account for forks/PRs.
First-time setup:
git clone https://github.com/agentfront/frontmcp.git
cd frontmcp
corepack enable
yarn installThis is an Nx monorepo. Each folder under libs/* is an independently built package (for example libs/sdk,
libs/cli, libs/plugins, libs/adapters). The demo and any showcase apps live under apps/*. Project-specific tasks
are declared in each project.json.
Helpful references:
README.mdfor a high-level overview and quickstart.CHANGELOG.mdfor release notes—update it when user-facing behavior changes.docs/for the Mintlify-based documentation site (yarn docs:localruns a local preview).
yarn dev # nx serve demo (demo server hot reload)
yarn nx test sdk # run Jest tests for libs/sdk
yarn nx lint plugins # lint a specific project
yarn nx run-many -t lint,test # run lint+test for everything
yarn nx run-many -t build # build all publishable packages
yarn docs:local # preview the docs site locally
yarn nx affected --target test --base main # limit CI work to changed projectsBefore opening a PR, run at least yarn nx run-many -t lint,test and yarn nx run-many -t build. If you changed
transport/session/auth flows, also try the Inspector (npx frontmcp inspector) to verify end-to-end behavior.
- Use TypeScript, modern ESM syntax, and decorators that align with the SDK’s existing patterns.
- Keep
@frontmcp/*versions aligned inside examples (see README “Version Alignment”). - Prefer strongly typed Zod schemas (pass fields directly, matching current code style).
- Keep changes focused; split unrelated work across multiple PRs.
- Formatting is enforced by Prettier and lint rules (run
yarn nx lint <project>locally). Husky + lint-staged will format staged files on commit. - Add concise comments only when necessary to explain non-obvious intent.
- Every bug fix or feature should include/adjust Jest specs alongside the code (
*.spec.ts). - Use Nx test targets close to the code (
yarn nx test sdk,yarn nx test cli, etc.). - Integration behavior that spans packages should be validated in the demo app (spin up
yarn dev) and, when possible, through Inspector flows. - If you touch build tooling, ensure
yarn nx run-many -t buildsucceeds and that emitted artifacts underdist/look reasonable.
- Docs live in
docs/(Mintlify). After editing, runyarn docs:localto confirm the nav/build passes. - Keep
README.mdin sync with notable DX changes (new scripts, requirements, etc.). - Update code snippets under
docs/snippetsif your change alters their behavior. - Demo updates should remain scoped and easy to understand; prefer creating a new sample app/tool over overloading existing ones.
- Open/mention an issue for significant changes.
- Rebase on the latest
main; keep history clean (squash in your fork if needed). - Add or update unit tests plus docs/snippets.
- Run:
yarn nx run-many -t lint,testyarn nx run-many -t buildyarn docs:local(if docs changed)npx frontmcp doctorand try Inspector if your change affects runtime behavior.
- Update
CHANGELOG.mdwhen the change is user-facing. - Include screenshots or logs when the change affects dev tooling or Inspector UX.
Maintainers handle publishing; do not run manual npm publish steps.
- For security issues, email
david@frontegg.cominstead of opening a public issue. - For general help, use GitHub Discussions/Issues or reach out during office hours if announced.
We appreciate every contribution—thank you for making FrontMCP better!