sveltejs/svelte
How to contribute
Active contributors: Rich Harris, Ben McCann, Simon H
Source of truth
The canonical contributor guide is CONTRIBUTING.md at the repo root. This page summarises the workflow and links into deeper sub-pages.
Picking up work
- Issues are managed on GitHub: https://github.com/sveltejs/svelte/issues. Look for
good first issue. - Larger features go through the
sveltejs/rfcsrepository before code lands. - Roadmap: https://svelte.dev/roadmap. The team typically focuses on a single major effort at a time.
- Maintainer meetings happen the last Saturday of each month; outcomes are posted as comments on relevant issues.
PR expectations
- Open all PRs against
main. - One concern per PR — split if necessary.
- Run
pnpm lintandpnpm testlocally before pushing. - If your change is user-visible (bug fix, feature, breaking change), run
npx changesetat the repo root and select the affected packages. Without a changeset the change won't be released. - Fill in the test plan section — concrete commands you ran and their output. UI changes should include a screenshot or video.
- Breaking changes use the four-line template from
CONTRIBUTING.md— who's affected, how to migrate, why, severity.
Definition of done
A PR is mergeable when:
- All CI jobs pass —
Tests(matrix of Node 18/20/22/24 across Linux/macOS/Windows),TestNoAsync,TSGo,Lint,Benchmarks(.github/workflows/ci.yml). - Generated types match — the
Lintjob re-runspnpm buildand fails ongit status --porcelaindifferences. If types changed, runcd packages/svelte && pnpm generate:typesand commit. - Snapshot suites that compare against
.expectedfiles are updated (UPDATE_SNAPSHOTS=true pnpm test). - A changeset is included for any user-visible change.
Sub-pages
- Development workflow — branch, code, test, PR, merge cycle.
- Testing — Vitest layout, common suite names, snapshot updates.
- Debugging — turning on tracing, isolating failing tests, inspecting compiled output.
- Patterns and conventions —
snake_caseinternals,camelCasepublic, message authoring, error generation. - Tooling — Rollup, Vitest,
dts-buddy,process-messages, changesets, ecosystem-CI.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.