문서
시작하기
MSUB/ui는 MSUB의 내부 디자인 시스템 컴포넌트 라이브러리입니다. TailwindCSS 기반으로 만들어졌으며, shadcn/ui 스타일의 소스 복사 방식을 채택합니다.
전제 조건
MSUB/ui를 사용하기 전에 다음 환경이 준비되어 있어야 합니다.
Node.js 18+
CLI 도구 실행을 위해 Node.js 18 버전 이상이 필요합니다.
React 18+ 프로젝트
Next.js, Vite, CRA 등 React 18 이상 기반의 프로젝트가 필요합니다.
TailwindCSS 3.4+
모든 컴포넌트는 TailwindCSS로 스타일링되어 있습니다.
GitHub 계정 (MSUB-Core Organization 멤버)
패키지 다운로드를 위해 GitHub 인증이 필요합니다.
GitHub Token 설정
MSUB/ui CLI는 GitHub Packages에서 배포되므로, 먼저 GitHub Personal Access Token을 발급받아야 합니다.
1. GitHub Token 발급
- GitHub에 로그인 후 Settings로 이동합니다.
- 좌측 하단 Developer settings를 클릭합니다.
- Personal access tokens → Tokens (classic)을 선택합니다.
- Generate new token (classic)을 클릭합니다.
- Token 이름을 입력합니다 (예:
msub-ui-cli) - 권한에서 read:packages를 체크합니다.
- Generate token을 클릭하고 생성된 토큰을 복사합니다.
팁: 토큰은 생성 직후에만 볼 수 있으므로 안전한 곳에 저장해 두세요.
2. .npmrc 파일 설정
프로젝트 루트 또는 홈 디렉토리(~/.npmrc)에.npmrc 파일을 생성하고 다음 내용을 추가합니다.
@msub-core:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKENYOUR_GITHUB_TOKEN 부분을 발급받은 토큰으로 교체합니다.
3. 환경 변수로 설정 (선택)
토큰을 파일에 직접 저장하지 않고 환경 변수로 관리할 수도 있습니다.
@msub-core:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}그런 다음 쉘 설정 파일 (~/.zshrc 또는~/.bashrc)에 다음을 추가합니다.
설치
1. 프로젝트 초기화
이 명령어를 실행하면 대화형 프롬프트가 시작됩니다.
✔ TailwindCSS 설정 파일 경로? … tailwind.config.ts
✔ 글로벌 CSS 파일 경로? … src/styles/globals.css
✔ 컴포넌트 설치 경로? … src/components/ui
✔ 유틸리티 함수 경로? … src/lib/utils
✔ 다크모드를 사용하시나요? … yes
설정 완료! msub.json 파일이 생성되었습니다.완료되면 프로젝트 루트에 msub.json 설정 파일이 생성됩니다.
{
"tailwind": {
"config": "tailwind.config.ts",
"css": "src/styles/globals.css"
},
"aliases": {
"components": "src/components/ui",
"utils": "src/lib/utils"
},
"darkMode": true
}2. 컴포넌트 추가
원하는 컴포넌트를 프로젝트에 추가합니다. 여러 컴포넌트를 동시에 추가할 수도 있습니다.
컴포넌트 목록 확인은 다음 명령어로 가능합니다.
3. 사용
추가된 컴포넌트는 설정한 경로에 소스 코드로 복사됩니다. 직접 import하여 사용할 수 있습니다.
import { Button } from "@/components/ui/button"
export default function Example() {
return (
<Button variant="default" size="lg">
Click me
</Button>
)
}다크모드
다크모드는 선택적으로 지원됩니다. init 명령어 실행 시 다크모드 사용 여부를 선택할 수 있습니다.