Thanks to everyone who has contributed to Catmint.
- Daryl Cecile (@darylcecile)
Contributions are welcome. To get started:
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Run tests (
pnpm test) and lint (pnpm lint) - Submit a pull request
Please ensure all tests pass and code is formatted (pnpm format:check) before submitting.
The documentation site lives in the docs/ directory and is built with Catmint itself (mode: 'frontend'). It runs as a workspace package in the monorepo.
Each documentation page is a page.mdx file using the standard Catmint page.mdx convention (see PRD Section 24.2).
Pages are organized into four sections under docs/app/:
getting-started/-- installation, quick start, project structureguides/-- feature-specific guides (routing, middleware, caching, etc.)api/-- API reference pages for each public exportadr/-- architecture decision records
pnpm install
pnpm --filter catmint-docs devThe docs site runs on http://localhost:3001.
- Create a directory under the appropriate section (e.g.
docs/app/guides/my-topic/) - Add a
page.mdxfile with the documentation content - Add a navigation link in
docs/app/layout.tsxunder the appropriate sidebar section
Edit the page.mdx file in the relevant directory. The MDX files support standard Markdown, JSX expressions, and embedded React components.
The examples/ directory contains three projects that demonstrate Catmint with each deployment adapter. All three share the same set of demo pages (counter, todo, server data, forms, API explorer, server/client boundaries, server functions, static routes, cached routes, loading/error states, and async components) plus an API endpoint.
| Example | Adapter | Filter name |
|---|---|---|
examples/node |
@catmint/adapter-node |
example-node |
examples/vercel |
@catmint/adapter-vercel |
example-vercel |
examples/cloudflare |
@catmint/adapter-cloudflare |
example-cloudflare |
The Node example runs a standalone HTTP server. You can use it in dev mode and also build and start a production server locally:
# Dev mode (http://localhost:6468)
pnpm --filter example-node dev
# Production build + start
pnpm --filter example-node build
pnpm --filter example-node startThe Vercel example produces Build Output API v3 artifacts (.vercel/output/). Dev mode works locally; the build output is intended for deployment to Vercel:
# Dev mode
pnpm --filter example-vercel dev
# Build (produces .vercel/output/)
pnpm --filter example-vercel buildTo preview locally after building, use the Vercel CLI:
cd examples/vercel
npx vercel devThe Cloudflare example builds a Workers bundle. Dev mode works locally; the build output is intended for deployment with Wrangler:
# Dev mode
pnpm --filter example-cloudflare dev
# Build (produces dist/ with Workers bundle)
pnpm --filter example-cloudflare buildTo preview locally after building, use Wrangler:
cd examples/cloudflare
npx wrangler dev- All examples are workspace packages, so
pnpm installat the root links them to the local framework packages automatically. - Changes to framework source files under
packages/require rebuilding the relevant package (npx tsc --noEmit false --declaration --outDir distin the package directory) before they take effect in the examples. - The demo pages in each example are identical and sourced from
docs/app/examples/. When adding or updating an example page, apply the same change across all three projects.