Guide for creating proper pull requests for the Biome project. Use when opening a PR, writing a PR description, choosing the correct target branch, or filling out the PR template. Trigger when creating PRs, writing PR summaries, or preparing code for review.
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use this skill when creating a pull request for the Biome repository. It covers branch targeting, title formatting, the PR template, and AI disclosure requirements.
If AI was used in any capacity to produce the PR, you must disclose it in the PR description. Examples:
This PR was written primarily by Claude Code.
I consulted ChatGPT to understand the codebase but the solution was fully authored manually by myself.
This is mandatory. It helps reviewers apply appropriate scrutiny.
| Change type | Target branch |
|---|---|
| Bug fix (code or docs) | main |
| New nursery rule | main |
| Rule promotion from nursery | next |
| New feature (user-facing) | next |
| New feature (internal only) | main |
Use conventional commit format. The title becomes the squash-merge commit message.
<type>(<scope>): <short description>Supported prefixes:
feat: — new featurefix: — bugfixdocs: — documentation updaterefactor: — code refactor (no behavior change)test: — test updatechore: — housekeepingperf: — performance improvementci: — CI changebuild: — build system or dependency changerevert: — revert a previous changeExamples:
feat(css): add noDuplicateSelectors rule
fix(linter): handle edge case in useOptionalChain
docs: update contributing guide
refactor(parser): simplify HTML attribute parsingThe CI runs action-semantic-pull-request to validate the title. Fix it if the workflow fails.
The repository has a PR template at .github/PULL_REQUEST_TEMPLATE.md. Every PR description must follow this structure:
## Summary
<!-- Explain the motivation for this change. What problem does it solve? -->
<!-- Link relevant issues or Discord discussions. -->
<!-- If user-facing, mention the changeset. -->
## Test Plan
<!-- What demonstrates correctness? Mention tests added/updated. -->
## Docs
<!-- For new rules/actions/options: docs are inline in the code (rustdoc). -->
<!-- For other features: link a docs PR to the `next` branch of biomejs/website. -->Fixes #1234 or Related to #5678.Keep it brief. Examples:
Do not list individual test files — the diff speaks for itself. If automated tests were not possible, state that manual testing is required.
next branch of biomejs/website.N/A under the section.Before opening, ensure:
cargo checkcargo test (or just test-crate <crate> for scoped runs)just fjust ljust gen-rules && just gen-configurationjust gen-grammar <lang>just gen-bindingsjust new-changeset-emptycargo insta reviewCONTRIBUTING.md sections "Commit messages" and "Creating pull requests".github/PULL_REQUEST_TEMPLATE.mdc50a853
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.