agnix
무엇인가
agnix는 AI 코딩 에이전트에 주입되는 설정 파일 자체를 정적으로 검사하는 린터이자 언어 서버다. 규율 대상은 에이전트가 읽는 지시문 계층 — CLAUDE.md, AGENTS.md, SKILL.md, 훅 정의, MCP 서버 설정 — 이며, 문법 오류, 금지된 필드, 효과가 없는 일반론 지시, 도구별 포맷 불일치를 진단한다. 코드 품질이 아니라 에이전트 구성의 유효성을 다룬다.
어떻게 동작하나
CLI가 대상 디렉터리를 스캔해 파일별로 규칙을 적용하고 `파일:행:열` 형식으로 경고·오류를 출력한다. 예를 들어 SKILL.md의 이름 필드가 대문자를 포함하면 오류로 잡고 소문자·하이픈 표기를 안내하며, CLAUDE.md의 'Be helpful and accurate' 같은 일반 지시는 경고로 표시한다. 규칙 ID(MCP-018 등)로 개별 규칙의 근거를 조회할 수 있고, `--fix`·`--fix-safe`·`--fix-unsafe`로 자동 수정을 적용하며 `--dry-run --show-fixes`로 인라인 diff를 미리 본다. `--strict`는 경고를 오류로 승격하고 `--format github`은 GitHub Actions 애노테이션을 낸다. Rust 워크스페이스로 agnix-rules(규칙 메타데이터), agnix-core(검증 엔진), agnix-cli, agnix-lsp, agnix-mcp, agnix-wasm 크레이트가 나뉘어 있고, LSP 바이너리는 VS Code·JetBrains·Neovim·Zed 확장에 붙어 편집 중 실시간 진단을 제공한다.
무엇과 다른가
프롬프트를 직접 다듬는 방식은 규칙이 사람 머릿속에만 남고 파일이 늘어나면 검증되지 않는다. agnix는 규칙을 `knowledge-base/rules.json`에서 생성한 메타데이터로 관리하며, 공식 사양·학술 연구·실제 파손 사례에서 끌어온 456개 규칙을 한 실행에 적용한다. 단일 도구 전용 규칙 파일과 달리 Cursor·Claude Code·Copilot·Codex CLI·OpenCode가 요구하는 서로 다른 포맷을 동시에 검사하므로, 한 도구에서 통과한 설정이 다른 도구에서 깨지는 상황을 실행 전에 드러낸다.
어떻게 쓰나
설치는 `npm install -g agnix`, `brew tap agent-sh/agnix && brew install agnix`, `pip install agnix`, `cargo install agnix-cli` 중 하나로 하고, 설치 없이 `npx agnix .`로 바로 실행할 수도 있다. 첫 사용은 저장소 루트에서 `agnix .`를 돌려 진단을 확인한 뒤 `--fix`로 안전한 수정만 적용하는 순서다. CI에서는 `agent-sh/agnix@v0` 액션에 `target: 'claude-code'` 같은 값을 넘겨 검증 단계를 넣고, `--target` 프리셋으로 CC-* 규칙 범위를 좁힐 수 있다.
전제와 한계
검사 대상은 설정 파일이지 소스 코드가 아니다. 규칙은 Claude Code·Codex CLI·OpenCode·Cursor·Copilot 등 지원 도구 목록에 한정되며 새 도구 지원은 계속 추가되는 중이다. 자동 수정은 신뢰도 등급이 나뉘어 있어 `--fix-unsafe`는 중간·낮은 신뢰도 수정까지 적용하므로 결과 검토가 필요하다. 또한 규칙 위반이 없다는 사실이 에이전트 동작의 정확성을 보장하지는 않는다. 문법적으로 유효하지만 의도와 어긋난 지시는 잡지 못한다.
유사 도구
- claude-code-lspsClaude Code에 언어 서버 프로토콜(LSP) 플러그인을 붙여 정의 이동·참조 찾기·실시간 진단을 에이전트 도구로 노출하는 플러그인 묶음이다.
- mcp-useTypeScript로 MCP 서버와 ChatGPT·Claude용 뷰 앱을 정의하도록 Zod 스키마·도구 등록·React 뷰 바인딩·Inspector 검증 절차를 에이전트에 주입하는 Claude Code 플러그인이다.
- agentic-awesome-skills에이전트가 프로젝트를 직접 검사해 로컬 카탈로그에서 스킬 ID를 고르고, compose_stack으로 선택을 검증해 aas-stack.json과 불변 계획으로 남기게 규율하는 Claude Code 플러그인이다.
- refly자연어로 서술한 업무 절차를 결정적 스킬로 컴파일해 Claude Code·API·웹훅으로 내보내는 Refly의 스킬 팩이다. 실행 중 개입과 버전 관리를 규칙으로 고정한다.
- serenaMCP 클라이언트에 연결해 심볼 단위 코드 검색·편집·리팩터링을 제공하는 Python 서버다. 언어 서버로 코드의 의미 구조를 해석한다.
- xclaude-pluginiOS 빌드·테스트·시뮬레이터 도구를 8개 MCP 서버로 쪼개 작업별로 필요한 것만 켜게 하고, 도구 출력을 구조화 JSON으로 압축해 컨텍스트를 아끼게 하는 Claude Code 플러그인이다.