Contributing
How to contribute to the cartwright docs site, the CLI, and the engine template.
Cartwright is split across two repositories. Understanding which one you are contributing to is the first step.
Teloz1870/cartwright-app(this site) — the docs site and thecreate-cartwrightCLI. Open for PRs from anyone.Teloz1870/cartwright-template(the engine template) — the actual Next.js + Prisma + Stripe + MCP engine template, public and MIT-licensed. It is published as sanitized snapshots from the development engine on every release tag, so engine changes are best proposed as issues (or PRs the maintainers pull upstream).
Most contributions land in cartwright-app.
Quick start
-
Fork
cartwright-appon GitHub. -
Clone and install.
gh repo clone <your-username>/cartwright-app
cd cartwright-app
pnpm install-
Pick where you are contributing.
- Docs improvement → edit
apps/web/content/docs/<slug>.mdx. - CLI feature or bugfix →
apps/cli/src/. - Site UI or component →
apps/web/components/. - Shared types or schema →
packages/shared/.
- Docs improvement → edit
-
Verify locally.
cd apps/web && pnpm typecheck && pnpm build
# or for CLI work:
cd apps/cli && pnpm buildBoth must pass clean.
- Open a PR with a Conventional Commits subject (
feat:,fix:,docs:,chore:,refactor:). The PR description should explain why — the diff already shows what.
Style conventions
- Docs tone matches existing pages: dev-tool aesthetic, no marketing-speak, honest about what is shipped vs planned, English. 200-600 words per page.
- MDX components are globally available — do not import them. Use
<Callout>,<Tabs>+<Tab>,<Steps>,<Card>/<Cards>,<Mermaid>. - Code-fence languages — Shiki ships a known list. Use
bash,ts,tsx,json,prisma,sql. Avoidenv(usebash). - No emojis in docs body or commit messages.
Releases (Changesets)
cartwright-app publishes create-cartwright to npm via @changesets/cli. CLI-affecting PRs need a .changeset/<random>.md describing the change — run pnpm changeset at the repo root and commit the generated file.
Reporting issues
- Bugs in the engine template (a scaffolded shop) → GitHub Issues on
cartwright-template. - Bugs in the docs site → GitHub Issues on
cartwright-app. - Bugs in
create-cartwrightCLI → GitHub Issues oncartwright-app(same repo). - Security issues → Do not open a public issue. Email security@cartwright.app per SECURITY.md.
Code of conduct
This project follows the Contributor Covenant v2.1. Be kind, assume good intent, and never make a contributor feel unwelcome.