
AGENTS.md 파일이 존재하지 않는 명령어나 경로를 가리키고 있지는 않나요? CI에서 검증하는 린터(Linter)를 만들었습니다
요약
에이전트에게 전달되는 `AGENTS.md`와 같은 설정 파일에서, 실제 코드베이스와 불일치하는 '거짓된 지시'를 CI 환경에서 검증하는 린터(`agents-lint`)가 개발되었습니다. 이 도구는 스크립트나 참조 경로의 오류를 자동으로 잡아내어, 오래되거나 잘못된 설정을 PR 병합 단계에서 차단합니다.
핵심 포인트
- 에이전트 설정 파일의 지시사항을 CI에서 검증하는 린터(`agents-lint`) 개발.
- 스크립트 이름 누락 및 존재하지 않는 참조 경로 오류를 자동으로 감지함.
- PR 과정에서 실패하여, 오래된 설정을 병합(merge)할 수 없게 만듦으로써 안정성을 확보함.
Claude Code / Cursor / Codex 같은 에이전트에게 전달되는 AGENTS.md (또는 llms.txt, CLAUDE.md) 파일이 있습니다.
여기에 "설정은 npm run build", "진입점은 src/index.ts"와 같이 적혀 있지만, 리네임(rename)이나 삭제로 인해 그 지시가 어느새 거짓말이 되어버립니다. 에이전트는 그것을 믿고 사고를 칩니다.
표기상의 차이나 문체 문제가 아니라, '거짓된 지시' 자체를 CI에서 잡아내는 린터인 agents-lint를 만들었습니다.
일부러 불일치(inconsistency)를 넣은 샘플을 통과시키면 다음과 같이 나옵니다.
x agents-lint: AGENTS.sample.md — 3건의 참조 오류
:8 `npm run build` — package.json에 script "build"가 없습니다
:14 참조 `src/parser.ts`가 존재하지 않습니다
...
npm run <script>이package.json에 없으면 에러 (유사한 이름을 제안)- 백틱(backtick)으로 작성된 참조 경로가 디스크에 없으면 에러
- 문제가 있으면 종료 코드 1
name: agents-lint
on: [push, pull_request]
jobs:
...
지적 사항은 PR에 인라인 주석으로 나타나고, 잡(job)이 실패하기 때문에 오래된 설정은 병합(merge)할 수 없습니다. 사람이 의식하지 않아도 매 PR마다 실행된다는 것이 정착의 핵심입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기