cartwright

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 the create-cartwright CLI. 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

  1. Fork cartwright-app on GitHub.

  2. Clone and install.

gh repo clone <your-username>/cartwright-app
cd cartwright-app
pnpm install
  1. 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/.
  2. Verify locally.

cd apps/web && pnpm typecheck && pnpm build
# or for CLI work:
cd apps/cli && pnpm build

Both must pass clean.

  1. 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. Avoid env (use bash).
  • 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-cartwright CLI → GitHub Issues on cartwright-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.

On this page