콘텐츠로 이동

CI/CD

contextlint는 Node.js 환경이 있다면 임의의 CI에서 동작시킬 수 있습니다. @contextlint/cli 패키지는 의존이 가볍고 서브초로 완료되므로, PR마다 실행해도 CI 시간에 큰 영향을 주지 않습니다. 머지 전에 문서 정합성을 보장하는 용도와, 커밋 전에 로컬에서 빠르게 검출하는 용도 어느 쪽에든 통합할 수 있습니다.

시점주요 도구용도
로컬 훅pre-commit / Husky / lint-staged커밋 전의 마지막 안전망
푸시 시GitHub Actions / GitLab CI / CircleCIPR 리뷰 전 문서 정합성 보장

에디터 통합(Editors (LSP))과 AI 통합(AI Agents)이 “쓰고 있는 순간”의 피드백을 담당하는 데 비해, CI/CD는 “머지 전”의 최종 체크를 담당합니다. 세 레이어를 조합함으로써, 문서의 정합성이 무너진 상태가 저장소에 남지 않는 환경을 만들 수 있습니다.

CI 상에서 contextlint를 실행하는 경우, contextlint.config.json은 저장소에 커밋해 둡니다. 러너가 저장소를 checkout한 시점에서 npx contextlint가 자동으로 설정 파일을 검출하기 때문에, CLI에 추가 인수를 전달할 필요는 없습니다.

설정 파일의 명세는 Configuration을 참조해 주세요.

contextlint는 위반이 1건 이상 있으면 비제로로 종료하므로, CI 잡을 그대로 실패로 처리할 수 있습니다. 리뷰 코멘트나 어노테이션을 첨부하고 싶은 경우는 --format json으로 기계 판독 가능한 출력을 얻어 주세요.

Terminal window
npx contextlint --format json

JSON 출력의 구조와 필드는 Integrations → CLI → JSON 출력을 참조해 주세요.