driftlint은(는) 무엇을 하나요?
CLAUDE.md / AGENTS.md / skills에 작성된 주장 중 코드가 더 이상 지원하지 않는 항목을 찾습니다.
설정 불필요, API 키 없음.
개요
AI 에이전트가 프로젝트를 올바르게 이해하고 작업하려면 설정 파일(CLAUDE.md, AGENTS.md, skill 파일)에 적힌 내용이 코드와 일치해야 합니다. 그러나 시간이 지나면서 코드는 변경되는데 설정 파일이 그대로 남아 '드리프트(drift)'가 발생합니다.
DriftLint를 사용하면 이러한 불일치를 자동으로 감지하여, 에이전트가 잘못된 가정에 따라 작업하는 것을 방지할 수 있습니다.
작동 방식
- 설정 파일 스캔 –
CLAUDE.md,AGENTS.md,skills/폴더 내 파일을 파싱하여 기술적 주장(의존성, 지원 버전, 아키텍처 등)을 추출합니다. - 코드베이스 분석 – 추출된 주장을 실제 코드(import문, 설정 파일, 사용된 API 등)와 대조합니다.
- 불일치 보고 – 주장과 코드 사이에 차이가 있으면 구체적으로 보고합니다 (예: "파일 X에 'Python 3.9 필요'라고 명시되어 있지만, 실제 코드에서 Python 3.8 전용 라이브러리 Y를 사용 중입니다.")
지원 플랫폼
- Claude Code
- Cursor
- Codex
- GitHub Copilot
- 그 외 AI 코딩 어시스턴트
사용 예시
# 프로젝트 루트에서 실행
driftlint
결과 예시:
❌ CLAUDE.md: "Node.js 18 필요" 라고 명시되어 있지만, package.json에서 Node.js >=16 을 허용하고 있습니다.
❌ skills/database.md: "MongoDB 6.0 사용" 이라고 명시되어 있지만, docker-compose.yml에서 image: mongo:5.0 을 사용 중입니다.
설치
npx driftlint
또는
npm install -g driftlint
driftlint
라이선스
MIT