Skip to main content

conventional-commits

Create conventional commit messages following best conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits specification.

Quellinformationen

Repository
adobe/spectrum-web-components
Letzte Quellaktivität
6. Oktober 2026 um 17:19
Erkannte Sprache von SKILL.md
Englisch
Sterne
1.542
Forks
265

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
conventional-commits
description
Create conventional commit messages following best conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits specification.
license
MIT
metadata
{"version":"1.0.0"}
# Conventional Commit Messages Follow these conventions when creating commits. ## Mindset You are writing for the next person who reads this commit log, not for yourself. Clarity and consistency matter more than brevity. Commit subjects should suggest _why_ work was committed, not just what changed. ## Prerequisites Before committing, ensure you're working on a feature branch, not the main branch. ```bash # Check current branch git branch --show-current ``` If you're on `main` or `master`, create a new branch first: ```bash # Create and switch to a new branch git checkout -b <username>/<type>-<description> ``` Name the branch with the `branch-naming` skill: `<username>/<type>-<description>[-swc-<issue>]`, where type matches the commit type (e.g., `janedoe/feat-add-user-auth`). Branches the Copilot app creates for its own sessions are exempt. ## Format ``` <type>(<scope>): <subject> <body> <footer> ``` The header is required. Scope is optional. All lines must stay under 100 characters. ## Commit Types Use the types allowed by `@commitlint/config-conventional`, which `commitlint.config.cjs` extends and the `commit-msg` hook enforces. | Type | Purpose | | ---------- | --------------------------------------------- | | `build` | Build system or CI changes | | `chore` | Routine maintenance tasks, dependency updates | | `ci` | Continuous integration configuration | | `docs` | Documentation changes | | `feat` | New feature | | `fix` | Bug fix | | `perf` | Performance improvement | | `refactor` | Code refactoring (no behavior change) | | `revert` | Revert a previous commit | | `style` | Code style and formatting | | `test` | Tests added, updated or improved | Source list: `@commitlint/config-conventional` (see `commitlint.config.cjs`). ## Subject Line Rules - Use imperative, present tense: "add feature" not "added feature" - **Always lowercase** — commitlint enforces lowercase subjects; sentence-case, start-case, and pascal-case are all rejected - No period at the end - Maximum 70 characters ## Body Guidelines - Explain **why** decisions were made, not how or what - Use imperative mood and present tense - Include motivation for the change - Contrast with previous behavior when relevant - Use a bullet point for each distinct concept or reason (this also handles line length naturally) - If a bullet's text exceeds 80 characters, continue on the next line flush with the bullet text (no indentation) ## Conventional Commits The commit contains the following structural elements, to communicate intent to the consumers of your library: - fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning). - feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning). - BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type. - types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others. - footers other than BREAKING CHANGE: {description} may be provided and follow a convention similar to git trailer format. ## Examples ### Simple fix (with line wrapping) ``` fix(api): handle null response in user endpoint - the user API could return null for deleted accounts, causing a crash in the dashboard - add a null check before accessing user properties to prevent the unhandled exception ``` ### Feature with scope (with bullet points) ``` feat(alerts): add Slack thread replies for alert updates - post a reply to the original Slack thread when an alert is updated or resolved instead of creating a new message - keeps related notifications grouped together for easier scanning - reduces noise in high-volume alert channels ``` ### Refactor ``` refactor: extract common validation logic to shared module - Move duplicate validation from three endpoints into a shared validator class - No behavior change ``` ### Breaking change ``` feat(api)!: remove deprecated v1 endpoints - Remove all v1 API endpoints deprecated in version 23.1 - Clients should migrate to v2 endpoints BREAKING CHANGE: v1 endpoints no longer available ``` ## Revert Format ``` revert: feat(api): add new endpoint - Reverts commit abc123def456 - Caused performance regression in production ``` ## Principles - Each commit should be a single, stable change - Commits should be independently reviewable - The repository should be in a working state after each commit ## References - [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/#specification)
Auf GitHub ansehen