의존성 업그레이드 분석

Ultracite v6 → v7 업그레이드, 무엇이 좋아지나

Biome 전용 프리셋에서 멀티 프로바이더 · AI 네이티브 린팅 플랫폼으로의 전환. 장점과 함께 send-grid-test/admin 도입 시 실제 비용까지.

대상: admin (React 19 · Vite · Biome)  ·  현재 ultracite 6.4.1 → 후보 7.8.3

한눈에

Ultracite는 “수백 개 규칙을 제로 설정으로” 제공하는 린트/포맷 프리셋이다. OpenAI·Vercel·Prisma·Sentry 등이 사용. v7은 단일 Biome 프리셋을 넘어 Biome·ESLint·Oxlint·Prettier·Stylelint를 한 설정으로 다루고, 40+ AI 에이전트 · 10+ 에디터 통합을 정식 기능으로 끌어올렸다.

v7 핵심 장점

멀티 프로바이더

한 설정, 여러 린터

Biome·ESLint·Oxlint를 동시에. 프리셋 경로가 ultracite/biome/*로 네임스페이스화되어 프로바이더 전환·혼용이 가능.

AI 네이티브

에이전트·MCP 통합

Claude Code·Copilot·Cursor 등 40+ 에이전트가 동일한 규칙을 공유 → 사람·AI 간 포맷 논쟁 제거. 룰을 AI 컨텍스트로 주입.

v7.8.0

프레임워크 프리셋

TanStack(routeTree.gen.ts·routes/ 인지), NestJS(typed plugin) 등 프레임워크별 전용 프리셋 추가.

v7.6.2

init 자동 감지

설치 시 프레임워크 자동 감지 + VS Code 계열 “Universal” 에디터 타깃. 초기 설정 견고성 강화.

v7.6.3 / 7.8.3

실행 신뢰성 수정

포맷터 단계 후 린터가 단락되던 치명 버그 수정, Husky pre-commit 에러 처리 · lint-staged 멱등성 개선.

철학

여전히 제로 설정 · 빠름

“초 단위 설치, 밀리초 단위 실행.” 타입 인지 규칙으로 React·Next·Vitest 등 최적화.

v6 → v7 마이그레이션 변경점

항목v6v7영향
프리셋 경로ultracite/coreultracite/biome/corebiome.json extends 수정 필수
요구 Biome2.3.x2.5+Biome 동반 업그레이드 필요
룰셋 범위기존대폭 확대기존 코드에 신규 위반 다수 노출
제거된 룰 키nursery 다수승격/제거biome migrate로 설정 자동 정리

이 프로젝트(admin) 도입 시 실제 비용

⚠ 실측: lint 위반 3,366건

admin에 v7 + Biome 2.5를 실제 적용해 빌드를 돌린 결과, 확대된 룰셋이 3,366개의 신규 lint 에러를 노출했다. 빌드 스크립트가 biome check를 게이트로 쓰므로 전량 해소 전까지 빌드가 막힌다. 2,100개 파일에 --unsafe 자동수정을 거는 것은 동작 변경 위험이 커 권장하지 않는다.

✓ 권장: 의존성 업데이트와 분리

  • 보안/기능 라이브러리 업데이트와 린터 메이저 업그레이드를 한 PR에 섞지 말 것 — 3,366건 lint 변경이 실제 변경을 가린다.
  • ultracite v7은 전용 마이그레이션 PR로: ① 경로 수정 ② biome migrate ③ 규칙별 --write 점진 적용 ④ 남는 위반은 의도적으로 off/리뷰.
  • 당장은 v6.4.1 + Biome 2.3.8로 핀 고정해 green 유지 (현재 적용된 상태).

결론

업그레이드 가치 있음   멀티 프로바이더·AI 에이전트 통합·프레임워크 프리셋은 2026 표준에 부합하며, 특히 Claude Code 등 AI 워크플로와의 규칙 공유가 핵심 이득.

단, 타이밍 분리   룰셋 확대에 따른 일회성 lint 부채(3,366건) 때문에, 의존성 보안 업데이트와는 반드시 별도 PR로 진행해야 안전하다.