withastro/astro
How to contribute
This section is the working contributor's manual for the withastro/astro monorepo. The canonical source of policy is CONTRIBUTING.md at the repo root; the pages below summarize and link into it.
Picking up work
- Browse the issue tracker filtered by
good first issueorhelp wanted. - For triage, the priority labels
p1(cosmetic) throughp5(release-blocker) are documented in the "Assign priority to bugs" section ofCONTRIBUTING.md. - The
triage/workspace (linked viapnpm-workspace.yaml) is the standard place to drop reproductions while debugging. - Discord (#contributors): https://astro.build/chat
PR process
The expected lifecycle is:
- Fork, branch off
main, implement your change. - Add a changeset (
pnpm exec changeset) for any change to a published package. Examples (examples/*) do not need a changeset. - Pass
pnpm run lint,pnpm run format:ci, andpnpm run testfor the affected packages. - Open a PR. The CI runs the full test matrix (
.github/workflows/ci.yml). - A maintainer reviews. Reviews are voluntary and best-effort; pinging once after a few days is fine.
- After approval and CI green, a maintainer merges. Releases are then cut by the bot via the
[ci] releasePR.
The pr preview label triggers a snapshot release for any package with a pending changeset. Comment !bench to run the benchmark suite against main.
Definition of done
A PR is done when:
- All CI jobs are green (build, lint, test, e2e where applicable).
- A changeset is present iff the change affects a published package.
- New behavior has tests (mocha or
node:test, plus Playwright e2e for HMR/hydration). - Breaking changes are flagged in the changeset as
major. - Touched files still pass
pnpm run format:ci.
Sub-pages
- Development workflow — branch, build, dev loop, changesets, snapshots, prereleases.
- Testing — mocha,
node:test, e2e, fixtures, theastro-scripts testrunner. - Debugging — Vite debug logs, dev overlay, common error classes, the
optimize-depssymptoms. - Patterns and conventions — the runtime/non-runtime split, internal exports, decoupling, error data.
- Tooling —
astro-scripts,bgproc,agent-browser, Biome, knip, turbo, pnpm overrides.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.