다른 파이썬 프로젝트를 보다가 ruff-pre-commit이 설정되었는 것을 확인해서 적용해보기로 하고, 블로그에 작업을 시작.
pre-commit
파이썬 라이브러리인 pre-commit. ~~12년된 프로젝트인데 왜 설정안했나? 나야?~~
나는 uv를 사용하니까 다음으로 설치.
uv add --dev pre-commit
dev
그룹으로 넣은건 커밋할때 빼고는 동작하지 않아도 되는걸 굳이 캐싱까지하는 CI에 넣어야하나 싶어서 이기도함.
그냥 글만 쓰게 되는 환경을 구성하게되면, 수정을 해보는걸로…
설정
pre-commit에서 사용하는 설정은 .pre-commit-config.yaml
파일에 나열 해주면된다.
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.5
hooks:
- id: ruff-check
args: [--fix]
- id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: detect-private-key
- id: end-of-file-fixer
- id: mixed-line-ending
- id: pretty-format-json
args: [--autofix]
- id: trailing-whitespace
pre-commit-config.yaml 파일 구조
내용을 다적을려고 했는데, 어떤 방법으로 보여주는게 좋을지 생각나지 않아 URL로 대체한다.
pre-commit plugins
pre-commit cli
# 설정 내역 반영
pre-commit install
# 제거!
pre-commit uninstall
끝
뭔가 더 적을까했으나, 뭔가 더 적을 만한게… 없다.
한번만 설정해두면, 왠만해서는 변경할 일이 없으니, 한번 잘 작성해두고 두고두고 버전업만 하면서 사용하도록하자.
그리고 pre-commit
과 비슷한 동작을 하는 것들이 언어별로 있으니 Python이 아닌 다른 언어를 사용한다면, 언어에 맞는 것을 사용하기 바란다. 레포에 두가지이상 언어가 섞이면 어지럽다.