나는 lint rules를 12개의 서로 다른 config files에 복사‑붙여넣는 것을 멈췄다

발행: (2026년 4월 6일 AM 09:29 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

문제

내가 작업하는 모든 프로젝트는 같은 문제를 가지고 있습니다: 내 lint/테스트/빌드 규칙이 CI 워크플로, pre‑commit 훅, .cursorrules, AGENTS.md, GEMINI.md 등 여러 파일에 존재합니다. 한 곳에서 규칙을 바꾸면 다른 곳은 점점 달라집니다.

이 문제를 해결하기 위해 crag 를 만들었습니다.

작동 방식

약 20줄짜리 governance.md 하나를 작성합니다. crag는 이를 원자적으로 12개의 하위 파일로 컴파일합니다:

  • .github/workflows/gates.yml (GitHub Actions)
  • .husky/pre-commit
  • .pre-commit-config.yaml
  • AGENTS.md (Codex, Aider, Factory)
  • .cursor/rules/governance.mdc
  • GEMINI.md
  • .github/copilot-instructions.md
  • .clinerules, .continuerules, .windsurfrules
  • .zed/rules.md
  • .sourcegraph/cody-instructions.md

한 줄만 바꾸면 모든 파일을 다시 생성합니다.

3초 만에 사용해 보기

npx @whitehatd/crag demo

설치 필요 없음. 설정 필요 없음. 네트워크 필요 없음. LLM 필요 없음. 약 500 ms 안에 검증된 12개 대상 파이프라인을 실행하고 결정론적 SHA를 인라인으로 출력합니다.

npx @whitehatd/crag demo Usage

근거

  • Ubuntu, macOS, Windows 환경에서 Node 18/20/22를 사용해 512개의 테스트 모두 통과
  • 101개의 OSS 레포에서 스트레스 테스트 수행 (4,400회 호출, 충돌 0회)
  • 레퍼런스 벤치마크: 선적 준비된 거버넌스에서 40/40, A 등급
  • 결정론적: 동일 입력 → 바이트 단위로 동일한 출력, 9개의 러너에서 CI 푸시마다 SHA 검증
  • 런타임 의존성 전혀 없음

GitHub:
npm:

라이선스

MIT 라이선스.

Tags: devtools, opensource, javascript, ai

0 조회
Back to Blog

관련 글

더 보기 »