Skip to main content

Laravel Pint란

Laravel Pint는 PHP CS Fixer 위에 구축된 코드 스타일 자동 수정 도구입니다. 설정 없이 바로 사용할 수 있도록 설계되었으며, Laravel의 코딩 스타일에 따라 코드를 자동으로 정형화합니다. 팀 개발에서 자주 있는 “코드 스타일에 대한 리뷰 코멘트”를 자동화함으로써 본질적인 코드 리뷰에 집중할 수 있게 됩니다.

설치

새로 생성된 Laravel 애플리케이션에는 Pint가 자동으로 설치되어 있습니다. 구버전 프로젝트에는 Composer로 설치해 주세요.

실행 방법

기본 사용법

프로젝트 내의 모든 .php 파일을 자동 수정합니다.
특정 파일이나 디렉터리만 대상으로 할 수도 있습니다.

옵션 목록

설정

프로젝트 루트에 pint.json을 생성하여 동작을 커스터마이징할 수 있습니다.
설정 파일 경로를 명시적으로 지정할 수도 있습니다.

프리셋

프리셋은 규칙 세트입니다. 기본값은 laravel 프리셋이며, Laravel 프로젝트에 최적화된 규칙이 적용됩니다.

규칙 커스터마이징

pint.json에서 규칙을 개별적으로 활성화/비활성화할 수 있습니다. 사용 가능한 규칙은 PHP CS Fixer Configurator를 참조해 주세요.

파일·폴더 제외

특정 폴더를 검사 대상에서 제외할 수 있습니다.
파일명 패턴으로 제외하는 경우에는 notName을 사용합니다.
특정 파일 경로로 제외하는 경우에는 notPath를 사용합니다.

권장 설정

실제 개발 현장에서 효과적인 pint.json 설정 예시를 소개합니다.
각 규칙을 추가하는 이유는 다음과 같습니다.
strict_comparisondeclare_strict_types는 타입에 엄격한 코드를 강제하므로 기존 프로젝트에 추가할 때 초회 수정량이 많아질 수 있습니다. 신규 프로젝트에서는 처음부터 도입하는 것을 권장합니다.
no_unused_imports는 패키지 개발용 설정입니다. Pint의 기본값은 true(사용되지 않는 use 문 삭제)이므로 일반적인 Laravel 프로젝트에서는 이 항목 자체가 불필요합니다. 패키지 개발에서는 트레이트나 인터페이스의 임포트로 기능을 온/오프하는 패턴이 있기 때문에, false를 추가해 두고 각 패키지 상황에 맞춰 true로 변경하는 운용이 편리합니다.

composer.json에 scripts 설정

composer.jsonpint용 스크립트를 등록하면 composer pint만으로 실행할 수 있게 됩니다.
등록 후에는 다음과 같이 실행할 수 있습니다.
CI 환경에서는 composer pint:test를 사용하면 파일을 변경하지 않고 스타일 위반을 검출할 수 있습니다. --test 옵션은 에러가 있으면 0이 아닌 종료 코드를 반환하므로 CI의 패스 체크에 사용할 수 있습니다.

GitHub Actions에서 자동 실행

GitHub Actions를 사용해 푸시할 때마다 코드 스타일을 자동 수정·커밋할 수 있습니다.
1

Workflow의 권한을 설정한다

GitHub 리포지토리의 Settings > Actions > General > Workflow permissions에서 “Read and write permissions”를 활성화합니다.
2

Workflow 파일을 생성한다

.github/workflows/lint.yml을 생성합니다.
이 워크플로우는 푸시할 때마다 Pint를 실행하고, 스타일 위반을 수정한 파일을 자동으로 커밋합니다.
Pull Request 리뷰 전에 자동 수정이 들어가므로 코드 스타일에 관한 리뷰 코멘트가 줄어듭니다. 팀에 도입할 때는 처음에 모든 파일을 로컬에서 수정한 후 워크플로우를 추가하면 여분의 커밋을 방지할 수 있습니다.
마지막 수정일 2026년 7월 13일