Open-Source Wikis

/

Svelte

/

How to contribute

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

PR expectations

  • Open all PRs against main.
  • One concern per PR — split if necessary.
  • Run pnpm lint and pnpm test locally before pushing.
  • If your change is user-visible (bug fix, feature, breaking change), run npx changeset at 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:

  1. All CI jobs pass — Tests (matrix of Node 18/20/22/24 across Linux/macOS/Windows), TestNoAsync, TSGo, Lint, Benchmarks (.github/workflows/ci.yml).
  2. Generated types match — the Lint job re-runs pnpm build and fails on git status --porcelain differences. If types changed, run cd packages/svelte && pnpm generate:types and commit.
  3. Snapshot suites that compare against .expected files are updated (UPDATE_SNAPSHOTS=true pnpm test).
  4. 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 conventionssnake_case internals, camelCase public, 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.

How to contribute – Svelte wiki | Factory