About
Mousse is an open source, MIT licensed project, maintained on a volunteer basis. It draws heavily on its peers, such as Express, Fastify and Koa. Every bug report, idea and pull request helps it grow.
Support
Sponsor Mousse Sponsoring on GitHub buys time to maintain Mousse, fix bugs and write new modules. github.com/sponsors/Tyrenn More projects Mousse is one of several open source tools by Tyren : a query builder, Svelte components, and more. tyrenn.github.io
Ways to help
Report a bug
Something breaks, or behaves unlike the docs say ? An issue with a minimal reproduction is the most useful help.
Open an issueSuggest a feature
A missing module, a rough API, a use case Mousse does not cover yet : describe it in an issue before writing code.
Browse issuesImprove the docs
This site is built from the README and the docs folder. A typo fix or a clearer example is a welcome pull request.
docs/Find your way around
The repository is a pnpm monorepo driven by turbo :
packages/mousse- The framework, with its unit tests
apps/examples- Runnable examples and the integration tests
apps/benchmarks- Benchmarks against express, fastify and raw µWebSockets.js
apps/site- This site, built from the README and docs/
pnpm example # list runnable examples
pnpm example schemas # run one on http://localhost:8080
pnpm site # run this site locallyContributing code
- Fork the repository and create a branch from
main.git clone https://github.com/<you>/mousse cd mousse && pnpm install git checkout -b my-change - Make your change, with tests : an integration test in
apps/examples/testsfor a new feature, a unit test inpackages/mousse/testsfor pure logic. Then check everything locally.pnpm build && pnpm check-types && pnpm test - Record your change with a changeset. It describes the change and the version bump it deserves, and ends up in the changelog.
Answer the prompts, then commit the generated
.changeset/*.mdfile with your change.pnpm changeset - Open a pull request against
main. CI runs the build, the types and the full test suites.