프로젝트 소개
commitlint는 커밋 메시지를 린트하는 오픈소스 도구입니다. 메시지가 일반적으로 `type(scope?): subject` 형식으로 작성되는 Conventional Commits 형식을 준수하는지 검증합니다. 여기서 scope는 선택 사항이며 `/`, `\\`, `,` 같은 구분자로 여러 scope를 지원합니다. 일반적인 타입으로는 build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test가 있으며 구성(configuration)을 통해 사용자 정의할 수 있습니다.
이 프로젝트는 `@commitlint/cli`로 설치되는 기본 CLI와 프로그래매틱 API를 제공합니다. 구성은 `.commitlintrc`, `.commitlintrc.json`, `.commitlintrc.yaml`, `.commitlintrc.yml`, `.commitlintrc.js`, `.commitlintrc.cjs`, `.commitlintrc.mjs`, `.commitlintrc.ts`, `.commitlintrc.cts`, `.commitlintrc.mts`, `commitlint.config.js`, `commitlint.config.cjs`, `commitlint.config.mjs`, `commitlint.config.ts`, `commitlint.config.cts`, `commitlint.config.mts` 같은 파일이나 `package.json` 또는 `package.yaml`의 `commitlint` 필드에서 자동으로 읽어옵니다.
공유 구성은 @commitlint/config-angular, @commitlint/config-conventional, @commitlint/config-lerna-scopes, @commitlint/config-nx-scopes, @commitlint/config-patternplate, @commitlint/config-workspace-scopes 등을 설치하고 확장할 수 있습니다. 사용자 정의 공유 구성은 `extends` 필드에서 짧은 이름으로 참조할 수 있도록 `commitlint-config-*` 명명 패턴을 따라야 합니다.
API 패키지에는 format, lint, load, read가 포함되어 있어 커밋 메시지를 프로그래매틱하게 린트하고, 구성을 로드하며, 지정된 범위 또는 마지막 편집에서 메시지를 읽을 수 있습니다. 추가 도구로는 commitizen 어댑터와 프롬프트 CLI가 있습니다.
시작 가이드는 husky로 커밋 시 메시지를 린트하는 로컬 설정과 CI 빌드 중 메시지를 린트하는 CI 설정을 다룹니다. 이 프로젝트는 모노레포로 개발되며 Node.js LTS >= 22.12.0 및 git >= 2.13.2가 필요합니다. MIT 라이선스로 배포됩니다. 관련 프로젝트로는 conventional-changelog, commitizen, create-semantic-module이 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.