PR Hygiene
Use this skill before creating or updating a pull request, adding a changeset, or choosing a PR title.
Goal
Make PRs pass repository policy on the first try:
- Conventional Commit PR title.
- A changeset for every PR.
- Clear release note quality.
- Accurate PR body with validation.
PR Title
Use Conventional Commit format:
<type>(optional-scope): <summary>
Allowed types:
feat- user-visible feature or API addition.fix- bug fix.docs- documentation-only change.style- formatting or stylistic change with no behavior impact.refactor- internal restructuring with no intended behavior change.perf- performance improvement.test- test-only change.build- build tooling or dependency change.ci- CI workflow change.chore- maintenance that does not fit another type.revert- revert a prior change.
Examples:
feat: add durable websocket attachment helpers
fix(worker): preserve websocket upgrade responses
ci: require changesets on pull requests
chore: update Vite Plus tooling
feat!: simplify durable websocket state APIs
Use ! for breaking changes. Prefer feat! for intentional breaking API changes.
Changesets
Every PR must include one non-README file under .changeset/.
Use a package changeset when the change affects a published package:
---
"effect-cf": minor
---
Add Effect-native Durable Object WebSocket helpers for typed hibernation attachments.
Use an empty changeset for internal-only changes that should not release a package:
---
---
Update CI policy and Vite+ hook tooling without releasing package changes.
Version choice:
patchfor bug fixes and compatible behavior improvements.minorfor new public API or normal feature additions.majorfor breaking changes.- Empty changeset for CI, docs-only internal notes, local tooling, or repo maintenance that should not publish.
Write changesets for consumers, not implementation details. Mention migration-impacting API shape plainly.
PR Body
Use this structure:
## Summary
- <what changed>
- <why it matters>
## Validation
- `vp check`
- `vp test`
Include any skipped validation and why. Do not claim commands were run if they were not.
Before Opening Or Updating A PR
- Run
git status --shortand inspect the diff. - Add or update the changeset.
- Run
vp check. - Run relevant tests, usually
vp test. - Create or update the PR title using Conventional Commit format.
- Ensure the PR body lists the validation commands actually run.
CI Policy
The repository enforces PR hygiene in CI. Normal PRs fail if:
- The title is not Conventional Commit format.
- No non-README
.changeset/*.mdfile changed.
Changesets release PRs from changeset-release/* are exempt.
Source: danieljvdm/effect-cf — distributed by TomeVault.