# semantic-pull-requests
**Repository Path**: mirrors_influxdata/semantic-pull-requests
## Basic Information
- **Project Name**: semantic-pull-requests
- **Description**: Ensure your pull requests follow the Conventional Commits spec
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2025-08-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Semantic Pull Requests
> GitHub status check that ensures your pull requests follow the Conventional Commits spec
Using [semantic-release](https://github.com/semantic-release/semantic-release)
and [conventional commit messages](https://conventionalcommits.org)? Install this
[Probot](https://probot.github.io/) app
on your repos to ensure your pull requests are semantic before you merge them.
## How it works
👮 Note! The default behavior of this bot is not to police all commit messages,
but rather to ensure that every PR has **just enough semantic information** to be
able to trigger a release when appropriate. The goal is to gather this semantic
information in a way that doesn't make life harder for project contributors,
especially newcomers who may not know how to amend their git commit history.
By default, only the PR title OR at least one
commit messsage needs to have semantic prefix. If you wish to change this
behavior, see [configuration](#configuration) section below.
Scenario | Status | Status Check Message
-------- | ------ | -------
PR title is [semantic][conventional commit type] | 💚 | `ready to be squashed`
any commit is semantic | 💚 | `ready to be merged or rebased`
nothing is semantic | 💛 | `add a semantic commit or PR title`
## Example Scenario
Take this PR for example. None of the commit messages are semantic, nor is the PR title, so the status remains yellow:
---
Edit the PR title by adding a semantic prefix like `fix: ` or `feat: ` or any other
[conventional commit type]. Now use `Squash and Merge` to squash the branch onto master and write a standardized commit message while doing so:
---
## Installation
👉 [github.com/apps/semantic-pull-requests](https://github.com/apps/semantic-pull-requests)
## Configuration
By default, no configuration is necessary.
If you wish to override some
behaviors, you can add a `semantic.yml` file to your `.github` directory with
the following optional settings:
```yml
# Always validate the PR title, and ignore the commits
titleOnly: true
```
```yml
# Always validate all commits, and ignore the PR title
commitsOnly: true
```
## License
[Apache 2.0](LICENSE)
[conventional commit type]: https://github.com/commitizen/conventional-commit-types/blob/master/index.json