feat: add pre-commit configuration for linting and commit message enforcement (#117) #202
18
.pre-commit-config.yaml
Normal file
18
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
repos:
|
||||
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||
rev: v0.9.0.6
|
||||
hooks:
|
||||
- id: shellcheck
|
||||
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.1.8
|
||||
hooks:
|
||||
- id: ruff
|
||||
args: [--fix]
|
||||
- id: ruff-format
|
||||
|
||||
- repo: https://github.com/commitizen-tools/commitizen
|
||||
rev: v3.2.0
|
||||
hooks:
|
||||
- id: commitizen
|
||||
stages: [commit-msg]
|
||||
@@ -16,6 +16,38 @@
|
||||
- Test changes before submitting
|
||||
- See [VERSIONING.md](VERSIONING.md) for backport compatibility rules
|
||||
|
||||
## Pre-commit Hooks
|
||||
|
||||
This repository uses [pre-commit](https://pre-commit.com/) for linting and commit message enforcement.
|
||||
|
||||
### Setup
|
||||
|
||||
```bash
|
||||
pip install pre-commit
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
### Hooks
|
||||
|
||||
- **shellcheck** — Lints bash scripts
|
||||
- **ruff** — Lints and formats Python
|
||||
- **commitizen** — Enforces [Conventional Commits](https://www.conventionalcommits.org/) format
|
||||
|
||||
### Commit Message Format
|
||||
|
||||
Use Conventional Commits format:
|
||||
|
||||
```
|
||||
type(scope): message
|
||||
|
||||
# Examples
|
||||
fix(session): handle missing session gracefully
|
||||
feat(pm): add queue daemon for task delegation
|
||||
docs: update contributing guide
|
||||
```
|
||||
|
||||
Types: `fix`, `feat`, `docs`, `refactor`, `chore`, `test`
|
||||
|
||||
## Branches
|
||||
|
||||
### Primary Branches
|
||||
|
||||
Reference in New Issue
Block a user