Maquina Components는 다양한 카테고리에 걸쳐 20개 이상의 UI 컴포넌트를 제공하며, 주요 특징은 다음과 같습니다.
주요 특징
-
제로 의존성: Tailwind CSS와 선택적인 Stimulus 외 추가 프레임워크 의존성이 없습니다.
-
shadcn/ui 테마: CSS 변수 시스템을 통해 손쉬운 테마 커스터마이징을 지원합니다.
-
Rails 관례 준수: ERB 파셜, 데이터 속성, 폼 헬퍼 등 Rails 개발에 최적화되어 있습니다.
빠른 시작
-
Gem 추가:
Gemfile에gem "maquina-components"를 추가합니다. -
설치 제너레이터 실행:
bin/rails generate maquina_components:install명령어로 엔진 CSS, 테마 변수, 아이콘 헬퍼 파일을 설정합니다. -
컴포넌트 사용:
render "components/card"와 같은 ERB 파셜 또는 폼 헬퍼의 데이터 속성을 통해 컴포넌트를 활용합니다.
AI 지원 개발
Claude Code 플러그인을 활용하여 Maquina UI 표준에 맞는 뷰를 자동으로 생성할 수 있어, AI가 정확한 파셜과 데이터 속성을 사용하여 코드를 생성하도록 돕습니다.
컴포넌트 분류
-
레이아웃: Sidebar, Header
-
콘텐츠: Card, Alert, Badge, Table, Empty State
-
내비게이션: Breadcrumbs, Dropdown Menu, Pagination
-
인터랙티브: Calendar, Combobox, Date Picker, Toggle Group
-
피드백: Toast
-
폼: Inputs, Selects, Checkboxes
필수 설정
tailwindcss-rails Gem이 필수이며, 인터랙티브 컴포넌트에는 Stimulus 설정이 요구됩니다. 테마는 shadcn/ui 컨벤션에 따라 CSS 변수로 정의되며, 아이콘은 Lucide에서 가져와 maquina_components_helper.rb에서 커스터마이징할 수 있습니다.