Skip to main content

pull-request-standards

Writes clear PR descriptions for contributors of this repository. Always use when creating or updating pull request descriptions.

Informações da origem

Repositório
Shopify/hydrogen
Última atividade na origem
9 de outubro de 2026 às 14:11
Idioma detectado do SKILL.md
inglês
Estrelas
2.142
Forks
447

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
pull-request-standards
description
Writes clear PR descriptions for contributors of this repository. Always use when creating or updating pull request descriptions.
# Hydrogen PR Descriptions Write functional PR descriptions that help reviewers quickly understand the change, intent, and impact. ## Style - Use short paragraphs, clear headlines, and bullets. - Write in understandable, simple language. Avoid complex jargon and explain in the simplest possible way - Use **bold** only for important emphasis. - Be specific and concise. - Do not be punchy, sassy, commercial, or launch-y. - Do not include the whole diff. - Highlight only what this PR touches. - The first section is the **Why** of the PR and does not need a title. - Mention any issues closed by the PR at the beginning. ## Before Writing Identify the intent behind the pull request via: - **Conversation context**: the user request, issue, spec, linked PRs, review thread, or task notes that explain why the work exists. - **Diff** between the branch this PR is merging into and this PR. - **Why**: the problem, drift, missing source of truth, or developer pain. - **Developer impact**: public APIs, exports, examples, skills, docs, generated types, or migration work. - **UX impact**: routes, buttons, UI states, forms, navigation, copy, loading states, or accessibility behavior. - **Before/after**: the smallest useful old/new code or behavior comparison. - **Versioning**: whether a changeset is needed and why. - **Manual testing**: the exact human workflow that proves the behavior works. - **Boundaries and risk**: what was intentionally left out, known tradeoffs, or follow-up work deferred to later PRs. ## Template Use only the sections that apply: ```md Closes #[number] TL;DR: [Short explanation of the problem and intent.] ## Before [Short code snippet or behavior summary showing the previous state.] ## After [Short code snippet or behavior summary showing the new state.] ## What this changes - [Concrete change] - [Concrete change] ## Developer impact [Only if library users, examples, public exports, package skills, types, or migration paths change.] ## UX impact [Only if UI, routes, forms, buttons, navigation, loading states, copy, or accessibility behavior changes.] ## Out of scope [Only if there are intentional boundaries, known tradeoffs, or risks reviewers should know about.] **Out of scope** - [What this PR deliberately does not address] ## Risk - [What could break, what we are accepting as a tradeoff, or what needs extra scrutiny] ## How to Test [Human-facing manual steps. Include setup, folder changes, dev server commands, environment assumptions, and behavior to verify.] ``` Do not include categories that do not apply. ## Rules - Never assume the reader will have full context of the situation - Prefer **source-of-truth** framing when the PR aligns server handlers, examples, generated types, or agent skills. - Use conversation context to recover intent; the diff usually shows what changed, not why it changed. - If the why is not clear from the diff, issue, spec, linked PRs, review thread, or current conversation, ask the user before drafting. - Use before/after snippets for API and example migrations. - Keep snippets short and focused on the changed contract. - Separate developer-facing impact from implementation details. - Include UX impact for any visible route, UI, navigation, or interaction change. - Call out direct public entrypoint changes separately from internal refactors. - Explain changeset level when the diff touches `packages/hydrogen/src/**`, package exports, `packages/hydrogen/skills/**`, or examples that teach supported patterns. See **Versioning** below. - Do not use linting, unit tests, integration tests, typechecks, or CI as `How to Test`. - If there is no meaningful manual behavior to test, omit `How to Test`. - `Out of scope` names what this PR does not try to solve. It is not a roadmap. - `Risk` names what could go wrong, what we are knowingly accepting, or what deserves extra reviewer attention. ## Versioning When the diff touches library code, exports, packaged skills, or teaching examples, say whether a changeset is included and why that bump level fits. Put this in **Developer impact** unless versioning is the whole point of the PR. Use these levels for `@shopify/hydrogen`: - **patch**: bug fixes, internal refactors, or skill/example hardening with no new public API - **minor**: new exports, helpers, or supported patterns that are additive for consumers - **major**: breaking changes to public exports or taught patterns Hydrogen is versioned `YYYY.Q.P` (CalVer), so these levels don't map straight onto the version number. At release time, `scripts/calver.ts` turns minor and patch into the next `P` (2026.10.0 → 2026.10.1) and major into the next quarter (2026.10.3 → 2027.1.0). While Hydrogen is on a prerelease, CI rejects major changesets. This is an example of the level of detail expected. Do not force every PR into this exact wording. ```md ## Developer impact Includes a **patch** changeset for `@shopify/hydrogen`. Tightens cart drawer skill guidance and the Next.js example wiring. No new exports and no runtime contract changes. ``` ```md ## Developer impact Includes a **minor** changeset for `@shopify/hydrogen`. Adds predictive search helpers, server handlers, and framework bindings. Consumers can adopt the new API without breaking existing search routes. ``` If no changeset is needed, say why. Example-only or repo-local skill changes that do not ship in `@shopify/hydrogen` do not need a package bump. ## Manual Testing `How to Test` is for local manual verification by a human. Assume a MacBook unless told otherwise. Include every step needed to exercise the behavior: This is an example of the level of detail expected. Do not force every PR into this exact flow. ```md ## How to Test 1. Run `pnpm install && pnpm build:pkgs` to rebuild the packages. 2. Run `pnpm dev:next` to start the Next.js example app. 3. Open `http://localhost:3000/collections/frontpage`. 4. Select a filter. 5. Confirm the URL updates and the product grid shows the filtered products. 6. Reload the page. 7. Confirm the same filter remains selected and the same products render. ``` ## Anti-Patterns - Do not write only a diff summary. - Do not include headings that do not apply. - Do not hide developer or UX impact in implementation bullets. - Do not describe unrelated future work in `What this changes`. Use `Out of scope` only for boundaries of this PR. - Do not use `pnpm lint`, `pnpm typecheck`, unit tests, or CI as manual testing instructions. - Do not over-explain code that TypeScript or the diff already makes obvious.
Ver no GitHub