나는 lint rules를 12개의 서로 다른 config files에 복사‑붙여넣는 것을 멈췄다
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.yamlAGENTS.md(Codex, Aider, Factory).cursor/rules/governance.mdcGEMINI.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를 인라인으로 출력합니다.

근거
- 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