Thanks for your interest in contributing to ProseKit! This guide will help you get started.
- Install Node.js v24.0.0 or later
- Install pnpm
- Clone the ProseKit repository
- Run
pnpm installin the repository root directory
ProseKit is a monorepo using pnpm workspaces:
packages/- All packages published to npm:core/- Core editor functionalityextensions/- Editor features (bold, italic, tables, etc.)web/- Web componentsreact/,vue/,preact/,svelte/,solid/- Framework integrationsbasic/- Simple starter kitprosekit/- Main umbrella package that re-exports functionality
website/- Documentation and examplessrc/content/- Documentation markdown
registry/- Framework examples and shared UI componentssrc/- Examples and componentstest/- Tests
Run pnpm run dev to start the development server:
- Website: https://localhost:4321
- Playground: https://localhost:4321/playground
- Build:
pnpm run build(all) orpnpm run build:package(packages only) - Lint:
pnpm run lint - Fix issues:
pnpm run fix(runs code generation, linting, and formatting) - Type check:
pnpm run typecheck
- Run all:
pnpm run test:run - Run specific test:
pnpm run test [test-file-path] - Run with coverage report:
pnpm run test:coverage - Files: Unit tests located in
packages/with.spec.tssuffix, and integration tests inregistry/test/with.test.tssuffix - Coverage report:
coverage/directory
- Use Conventional Commits style for PR titles and Git commit messages.
- If your changes need to be published, run
pnpm run changeto start an interactive session to create a changeset. Alternatively, you can manually create a changeset file in the.changeset/directory. - Run
pnpm run fixto fix linting and formatting issues. - Run
pnpm run typecheckto check for type errors. - Make sure all tests pass before submitting a PR.
Join our Discord server for help and to discuss development: ProseKit Discord