
shadcn/ui 공식 변경 로그에 따르면 shadcn/ui는 2026년 7월 새 프로젝트의 기본 컴포넌트 라이브러리를 Base UI로 전환했다. shadcn/ui는 React 생태계에서 널리 쓰이는 컴포넌트 배포 방식으로, 개발자가 완성된 패키지를 설치해 쓰기보다 프로젝트 안으로 컴포넌트 코드를 가져와 수정하는 방식을 내세워 왔다.
이번 변경의 핵심은 새 프로젝트의 기본 선택지가 바뀐다는 점이다. shadcn/ui는 npx shadcn init을 실행하면 Base UI가 기본 선택지가 되고, shadcn/create에서도 Base UI가 먼저 표시된다고 밝혔다. 공식 문서의 컴포넌트 페이지도 Base UI 탭을 기본으로 열며, Radix 문서는 한 번의 선택으로 계속 확인할 수 있도록 유지한다.
shadcn/ui는 이 결정을 기존 Radix 사용 중단으로 설명하지 않았다. 공식 변경 로그는 Radix가 폐기되는 것이 아니며, 기존 프로젝트는 마이그레이션할 필요가 없다고 강조했다. 새 컴포넌트와 업데이트도 특정 기능이 Base UI에만 존재하는 경우를 제외하면 두 라이브러리 모두에 제공한다는 입장이다. 새 프로젝트에서도 Radix를 선호하는 경우에는 shadcn init에 -b radix 옵션을 붙이면 된다.
전환 배경으로는 Base UI의 안정화와 사용 흐름이 제시됐다. shadcn/ui는 Base UI가 1.6.0에 도달했고 주간 다운로드가 600만 회를 넘었다고 설명했다. 또 shadcn/create로 만들어지는 프로젝트에서 Base UI 선택 비율이 Radix보다 높아졌다고 밝혔다. 내부적으로도 새 프로젝트에 Base UI를 사용하고 있다는 점을 근거로 들었다.
Base UI는 공식 사이트에서 접근성 있는 사용자 인터페이스를 만들기 위한 React용 비스타일드 컴포넌트 라이브러리라고 소개된다. Base UI 측은 Radix, Floating UI, Material UI를 만든 이들이 참여하고 있으며, Tailwind CSS, CSS Modules, CSS-in-JS, 일반 CSS 등 다양한 스타일링 방식과 함께 쓸 수 있다고 설명한다. 접근성 측면에서는 ARIA Authoring Practices Guide 패턴과 WCAG 2.2 기준을 따른다고 밝히고 있다.
Radix Primitives는 그동안 shadcn/ui의 주요 기반이었다. Radix 공식 문서는 Accordion, Tabs, Radio Group, Switch 등 비스타일드 컴포넌트를 제공하며, 접근성·키보드 내비게이션·제어형 또는 비제어형 사용 패턴을 지원한다고 소개한다. shadcn/ui 역시 초기에는 Radix를 기반으로 출발했으며, 이번 변경 로그에서도 Radix를 성숙하고 검증된 라이브러리로 표현했다.
마이그레이션 방식도 눈에 띈다. shadcn/ui는 일괄 codemod 대신 에이전트가 읽을 수 있는 skill 기반 전환 방식을 제시했다. 개발자는 pnpm dlx skills add shadcn/ui 명령으로 관련 skill을 추가한 뒤, 코딩 에이전트에 특정 컴포넌트를 Base UI로 옮기도록 요청할 수 있다. shadcn/ui는 이 방식이 프로젝트별 커스터마이징과 동작 차이를 더 잘 다룰 수 있다고 설명했다.
이번 변화는 프론트엔드 컴포넌트 생태계에서 선택의 무게가 단순한 라이브러리 교체를 넘어 개발 워크플로와 에이전트 활용 방식으로 확장되고 있음을 보여준다. shadcn/ui는 기존 사용자의 즉시 전환을 요구하지 않으면서도 새 프로젝트의 기본값을 바꿨다. 따라서 당장 영향이 큰 대상은 새로 시작하는 React 프로젝트와 템플릿, 사내 디자인 시스템 레지스트리, CI에서 shadcn init을 자동 실행하는 팀이다.
출처: shadcn/ui Changelog https://ui.shadcn.com/docs/changelog · Base UI https://base-ui.com/ · Radix Primitives https://www.radix-ui.com/primitives