대규모 프론트엔드 코드베이스를 위한 아키텍처 린터입니다.
🚧 초기 개발 단계(Early stage)
patternier는 현재 초기 개발 단계에 있으며, API·룰·설정 방식은 변경될 수 있습니다.
프론트엔드 프로젝트가 커질수록 아키텍처 규칙을 지키기 어려워집니다.
- feature 간 의존성이 뒤섞이고
- 레이어 경계가 무너지며
- ESLint만으로는 “아키텍처 의도”를 표현하기 어렵습니다
patternier는 이런 문제를 해결하기 위해 만들어진
아키텍처 인식 기반(rule-based) 린터입니다.
현재는 Feature-Sliced Design(FSD) 패턴을 기본으로 지원하며,
앞으로 더 다양한 아키텍처 패턴을 지원할 수 있도록 설계되었습니다.
- ✅ 레이어 / 슬라이스 기반 아키텍처 룰
- ✅
patternier.config.mjs를 통한 유연한 설정 - ✅ FSD 프리셋 기본 제공
- ✅
.patternierignore지원 - ✅ CLI 기반 워크플로우 (CI 친화적)
pnpm add -D patternierESLint가 문법/코드 품질(syntax, correctness) 을 다룬다면,
patternier는 아키텍처/패턴(pattern, layer/slice) 을 다룹니다.
둘은 관심사가 달라서 같이 쓰면 더 좋은 개발자 경험을 줍니다.
- 관심사 분리: 문법 규칙과 아키텍처 규칙을 분리하면 유지보수가 쉽습니다.
- 의도 표현: ESLint로 표현하기 어려운 레이어 경계/슬라이스 규칙을 명확히 정의합니다.
- 협업 안정성: 아키텍처 붕괴를 CI에서 빠르게 감지할 수 있습니다.
patternier.config.mjs 없이도 기본 FSD 규칙으로 바로 사용할 수 있습니다.
pnpm patternier check
pnpm patternier inspect ./src/features/auth/index.tsdefinePatternConfig 타입을 제공하기 때문에, 최소한의 설정만으로도 기본 규칙을 바로 적용할 수 있습니다.
// patternier.config.mjs
import { definePatternConfig } from "patternier";
export const config = definePatternConfig({
type: "fsd",
});- 아키텍처 인식 규칙: 레이어/슬라이스 구조를 이해하고 규칙을 실행합니다.
- 검사 대상 제어:
.patternierignore로 불필요한 경로를 쉽게 제외할 수 있습니다. - 개발/CI 친화적: CLI 중심 워크플로우로 빠르게 통합 가능합니다.