aislop

AI Coding ToolsCLITypeScript

★ 611주당 +18조회 4

무엇인가

aislop은 정적 분석 린터 계열에 속한다. 코드 생성 이후 단계에서 AI 에이전트 산출물의 품질을 결정적 규칙으로 검사하는 CLI이며, LLM을 실행 경로에 두지 않는다. 테스트와 린트가 통과한 뒤에도 남는 서술형 주석, 삼켜진 예외, 숨은 폴백, `as any` 캐스트, 환각 임포트, 중복 헬퍼, 죽은 코드, TODO 스텁, 과대 함수를 탐지 대상으로 삼는다.

어떻게 동작하나

`aislop scan`이 프로젝트 파일을 순회하며 10개 언어 대상에 50개 이상의 규칙을 적용하고 변경마다 0~100점을 매긴다. 실행은 1초 미만이고 같은 입력에 같은 점수를 낸다. 설정은 프로젝트 루트의 `.aislop/config.yml`에 두고 `schema/aislop.config.schema.json`으로 편집기 자동완성을 붙인다. 경로 제외는 `.aislopignore`와 `--exclude`로 지정하고, 규칙별 심각도는 id 단위로 `off`/`error`/`warning`으로 덮어쓴다. 줄 단위 억제는 `aislop-ignore-next-line`, `aislop-ignore-line`, `aislop-ignore-file` 주석 지시자로 처리하며, 억제된 발견은 채점 전에 제거되고 몇 건이 무시됐는지 보고된다.

무엇과 다른가

LLM 기반 코드 리뷰 도구와 달리 런타임에 모델을 호출하지 않으므로 점수가 재현된다. 일반 린터·포매터가 잡지 않는 AI 특유 패턴을 규칙 id로 명시한 점이 다르다. `aislop fix`는 포매터 실행, 미사용 임포트 제거, 죽은 코드 삭제처럼 기계적인 수정만 적용하고, `--safe`는 동작을 바꿀 수 없는 수정으로 범위를 좁힌다. 판단이 필요한 항목은 `aislop agent`나 외부 코딩 에이전트 핸드오프로 넘긴다.

어떻게 쓰나

설치는 npm, Yarn, Bun, Homebrew, PyPI 중 하나를 고르고, 설치 없이 `npx aislop@latest scan`으로 바로 실행할 수 있다. `aislop badge`는 README용 점수 배지를 생성한다. `aislop agent`는 로컬 git 워크트리를 만들고 안전한 수정을 적용한 뒤 설치된 Codex·Claude Code·OpenCode 헤드리스 세션을 스트리밍하고 `aislop scan --json`으로 결과를 검증한다. 세션 기록은 `.aislop/agent/sessions/`에, 제공자 기본값은 `.aislop/agent/provider.json`에 저장되며 로컬 Git exclude로 커밋에서 빠진다. 핸드오프 플래그(`--vscode`, `--windsurf`, `--aider`, `--goose`, `--opencode` 등)로 남은 진단을 코딩 에이전트에 넘긴다.

전제와 한계

분석 대상은 10개 언어로 한정된다. 저장소가 Swift·Kotlin·Java 같은 비지원 언어 위주면 점수를 산출하지 않고 보류하며, `--json`은 `score: null`, `scoreable: false`와 `coverage` 내역을 반환한다. 패키지 설치 시 의존성 라이프사이클 스크립트를 실행하지 않으므로 Ruff와 golangci-lint 검사를 쓰려면 `aislop-tools`를 한 번 실행해야 한다. Homebrew 설치와 pipx 사용은 Node.js가 PATH에 있어야 한다. `aislop agent`는 OpenAI·Anthropic API 키를 요구하지 않고 설치된 제공자 CLI의 로컬 인증을 쓴다.

유사 도구