Meerkit
Meerkit
HomeDocsComponentsAPI
GitHub

Getting Started

5
IntroductionInstallationProject StructureThemingDeployment

CLI

6
CLI Overviewinit & setupstart, stop & openstatus, check, env & logsdbadd, test & update

Core Concepts

5
AuthenticationRoles & PermissionsData ModelLogin LockoutSecurity

Guides

3
Protect a pageAdd a roleCall your own API

Components

24

사용자 화면12

Login FormSignup FormEmail VerificationTerms AgreementGoogle LoginPassword ResetProfile & PasswordNicknameAuth DialogProfile ImageUser AvatarUser Menu

관리자 화면6

Member TableMember DirectoryMember AI UsageMember AI Usage HistoryRole ManagerRole Select

공통5

Address FieldFile DropzoneLoadingDateRoute Guards

AI Components

4
AI Prompt InputThinking IndicatorAPI Key InputVoice

API

6
OverviewHealthAuthUsers · 내 정보Users · 관리자LLM

Reference

2
Hooks & StateFAQ

Installation

명령어 한 줄로 프로젝트를 만들고 로컬에서 실행합니다.

shadcn/ui · InstallationTailwind CSS · Installation
새 프로젝트라면 아래 Create a project 두 단계면 충분합니다. 기존 프로젝트에 붙이려면 Existing project를 보세요.

Requirements

도구버전확인 명령
Node.js20 이상node -v
Python3.12 이상python3 --version
uv최신uv --version
Docker실행 중이어야 함docker info

Create a project

폴더 구조만 생성합니다. 이 단계에서는 설치나 실행을 하지 않습니다.

npx create-meerkit my-app

프로젝트 안으로 이동해 세팅을 실행합니다. 의존성 설치, 환경 변수 생성, DB 실행, 마이그레이션, 서버 실행까지 한 번에 진행됩니다.

bash
cd my-app
npx @snackcup/meerkit setup

What setup does

  1. Node, Python, uv, Docker가 있는지 확인합니다. 없으면 설치 안내 후 멈춥니다.
  2. frontend에서 npm install을 실행합니다.
  3. backend에서 uv sync를 실행합니다.
  4. .env.example을 .env로 복사하고 JWT 비밀키를 생성합니다. 이미 있으면 덮어쓰지 않습니다.
  5. docker compose up -d --wait로 로컬 DB를 띄웁니다.
  6. Alembic 마이그레이션을 적용하고 시드 관리자 계정을 만듭니다.
  7. 백엔드와 프론트엔드 서버를 시작하고 접속 주소를 출력합니다.

각 단계는 한 줄로 진행 상황을 보여 주고, 전체 로그는 meerkit-setup.log에 저장됩니다. 다시 실행해도 안전합니다(이미 끝난 단계는 건너뜁니다).

Local URLs

서비스주소
Frontendhttp://localhost:3000
Backend API 문서http://localhost:8000/docs
PostgreSQLlocalhost:5432

Environment variables

프론트엔드 frontend/.env에서 설정합니다. 운영 환경에 올릴 때의 값은 Deployment 페이지를 보세요.

변수기본값설명
NEXT_PUBLIC_API_BASE_URL/api브라우저가 호출할 API 경로. next.config의 프록시가 백엔드로 전달합니다.
API_PROXY_TARGEThttp://localhost:8000프록시가 전달할 백엔드 주소.
NEXT_PUBLIC_DOCS_URL/docs웰컴 페이지 Docs 링크(새 창). 문서를 따로 배포했다면 그 주소.
NEXT_PUBLIC_GITHUB_URL저장소 주소문서 상단 GitHub 버튼.
NEXT_PUBLIC_SHOW_DOCS_PAGEtrue이 문서(/docs) 라우트를 열지 여부. 운영에서는 false로 닫는 것을 권장합니다.

Existing project

이미 있는 Next.js 프로젝트에 킷의 프론트 부분만 가져오려면 다음 순서로 진행합니다.

  1. Tailwind v4와 shadcn/ui를 설정합니다. components.json의 hooks 별칭은 @/meerkit/auth로 둡니다.
  2. 필요한 패키지를 설치합니다.
  3. src/meerkit/과 src/components/ui/를 복사합니다.
  4. 루트 레이아웃을 <MeerkitProvider>로 감쌉니다.
  5. 토큰 파일을 globals.css에서 불러옵니다.
bash
npm install zustand @tanstack/react-query axios radix-ui \
  class-variance-authority clsx tailwind-merge lucide-react sonner
app/layout.tsx
import { MeerkitProvider } from "@/meerkit";

export default function RootLayout({ children }) {
  return (
    <html lang="ko">
      <body>
        <MeerkitProvider>{children}</MeerkitProvider>
      </body>
    </html>
  );
}
app/globals.css
@import "tailwindcss";
@import "../meerkit/styles/tokens.css";

Troubleshooting

증상원인해결
Docker에 연결할 수 없음Docker Desktop이 꺼져 있음Docker를 실행한 뒤 setup을 다시 실행
포트 충돌 (3000/8000/5432)다른 프로세스가 사용 중해당 프로세스를 종료하거나 포트를 변경
Node 버전 부족Node 20 미만Node를 업그레이드
uv 명령 없음uv 미설치uv를 설치한 뒤 다시 실행
DB 연결 실패컨테이너가 아직 준비 중잠시 뒤 setup을 다시 실행
IntroductionProject Structure
© Meerkit. All rights reserved.GitHub