Implementation:Cypress io Cypress Git Commit PR Pattern
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Development, Process |
| Last Updated | 2026-02-12 00:00 GMT |
Overview
Concrete contribution process pattern using conventional commits, PR templates, and CI validation as defined by the Cypress CONTRIBUTING.md and GitHub configuration.
Description
The contribution process is defined by:
- CONTRIBUTING.md (L1-632): Comprehensive contributor guide covering setup, coding standards, testing, and PR submission
- .github/PULL_REQUEST_TEMPLATE.md (L1-40): PR template requiring issue link, description of changes, test steps, and UX change screenshots
- Pre-commit hooks via lint-staged: Auto-runs ESLint on staged files
Usage
Follow this process for all code contributions to the Cypress repository.
Code Reference
Source Location
- Repository: cypress-io/cypress
- Files:
- CONTRIBUTING.md:L1-632 (contributor guide)
- .github/PULL_REQUEST_TEMPLATE.md:L1-40 (PR template)
Signature
Commit Format: <type>: <description>
Types: feat, fix, breaking, chore, docs, test, refactor
Example: "feat: add dark mode toggle to settings"
PR Template Sections:
- User facing changelog
- Additional details
- How has the user experience changed?
- PR Tasks (checklist)
Import
# Standard contribution workflow
git checkout -b feat/my-feature develop
# ... make changes ...
git commit -m "feat: add new feature"
git push origin feat/my-feature
# Create PR via GitHub
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Code changes | git diff | Yes | Modified source files |
| Commit message | string | Yes | Conventional commit format message |
| PR description | markdown | Yes | Filled PR template |
| CI checks | automated | Yes | Must all pass before merge |
Outputs
| Name | Type | Description |
|---|---|---|
| Merged PR | git | Squash-merged to develop branch |
| Version bump | semantic | Commit message feeds into next version calculation |
Usage Examples
Full Contribution Flow
# 1. Create branch
git checkout -b fix/button-alignment develop
# 2. Make changes and commit
git add packages/app/src/Button.vue
git commit -m "fix: correct button alignment in sidebar"
# 3. Push and create PR
git push origin fix/button-alignment
# 4. Create PR with template via GitHub UI
# 5. Wait for CI and 2 approvals
# 6. Squash and merge
Related Pages
Implements Principle
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment