dmmulroy/anti-slop
Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns
해결하는 문제
Anti-slop은 TypeScript 및 JavaScript를 위한 의도적인 린트 규칙 세트를 제공하여 '스럽(slop)'—낮은 증거 또는 낮은 신호를 제공하는 코딩 패턴—을 제거합니다. 타입 안전성을 높이고 아키텍처 경계를 엄격히 지키기 위해, 연쇄적인 타입 애스서션과 같은 증거를 조작하거나, 알려진 값을 unknown으로 확장하는 등의 패턴을 거부합니다.
작동 방식
Oxlint의 플러그인으로 구현되어 있으며, Oxlint의 ESTree 및 lexical-scope API를 사용하여 코드를 분석합니다. TypeScript 타입 체커에 의존하지 않고, 동일 파일 내 별칭과 투명한 제네릭 별칭을 해결하여 위반 사항을 식별합니다. 이 프로젝트는 고정된 종속성으로 설치하는 대신, 리포지토리에 직접 복사하여 벤더링하는 것을 목적으로 하며, 팀이 자체 기준에 맞게 규칙을 커스터마이징할 수 있도록 설계되었습니다.
대상 사용자
TypeScript 및 JavaScript를 사용하며 코드베이스에서 엄격한 타입 안전성을 강제하고 일반적인 낮은 신호 패턴을 피하고자 하는 개발자 및 팀.
주요 특징
- 엄격한 타입 증거: 연쇄적인 타입 애스서션과 알려진 값을
unknown또는object로 확장하는 것을 거부. - 경계 강제:
typeof로 임의의 좁힘 대신 경계 파싱을 요구하며, 함수 매개변수 및 반환값에unknown사용을 거부. - 안전성 근거: 비상수 타입 애스서션에 대해
SAFETY주석(또는 사용자 정의 마커)을 제공하도록 강제. - Effect 통합: Effect 프레임워크를 사용하는 프로젝트를 위한 전용 규칙 그룹을 포함하여 잘못된 서비스 생성자 임포트를 방지.
- 에이전트 준비 설치: 규칙을 프로젝트에 초기 복사 및 구성하는 데 자동화된 에이전트 스킬을 제공.
관련
- 프로젝트