CLI

Better Auth는 데이터베이스 스키마 관리, 프로젝트 초기화, 애플리케이션용 비밀 키 생성, 설정에 대한 진단 정보 수집을 위한 내장 CLI를 제공합니다.

Generate

generate 명령은 Better Auth에 필요한 스키마를 생성합니다. Prisma나 Drizzle과 같은 데이터베이스 어댑터를 사용하는 경우 이 명령은 ORM에 맞는 스키마를 생성합니다. 내장된 Kysely 어댑터를 사용하는 경우 데이터베이스에서 직접 실행할 수 있는 SQL 파일을 생성합니다.

Terminal
npx @better-auth/cli@latest generate

옵션

  • --output - 생성된 스키마를 저장할 위치입니다. Prisma의 경우 prisma/schema.prisma에 저장됩니다. Drizzle의 경우 프로젝트 루트의 schema.ts에 저장됩니다. Kysely의 경우 프로젝트 루트에 schema.sql로 저장되는 SQL 파일입니다.
  • --config - Better Auth 설정 파일의 경로입니다. 기본적으로 CLI는 ./, ./utils, ./lib 또는 src 디렉토리 아래의 이러한 디렉토리에서 auth.ts 파일을 찾습니다.
  • --yes - 확인 프롬프트를 건너뛰고 스키마를 직접 생성합니다.

Migrate

migrate 명령은 Better Auth 스키마를 데이터베이스에 직접 적용합니다. 이는 내장된 Kysely 어댑터를 사용하는 경우 사용할 수 있습니다. 다른 어댑터의 경우 ORM의 마이그레이션 도구를 사용하여 스키마를 적용해야 합니다.

Terminal
npx @better-auth/cli@latest migrate

옵션

  • --config - Better Auth 설정 파일의 경로입니다. 기본적으로 CLI는 ./, ./utils, ./lib 또는 src 디렉토리 아래의 이러한 디렉토리에서 auth.ts 파일을 찾습니다.
  • --yes - 확인 프롬프트를 건너뛰고 스키마를 직접 적용합니다.

Init

init 명령을 사용하면 프로젝트에 Better Auth를 초기화할 수 있습니다.

Terminal
npx @better-auth/cli@latest init

옵션

  • --name - 애플리케이션의 이름입니다. (기본값은 package.jsonname 속성)
  • --framework - 코드베이스가 사용하는 프레임워크입니다. 현재 지원되는 프레임워크는 Next.js뿐입니다.
  • --plugins - 사용하려는 플러그인입니다. 쉼표로 구분하여 여러 플러그인을 지정할 수 있습니다.
  • --database - 사용하려는 데이터베이스입니다. 현재 지원되는 데이터베이스는 SQLite뿐입니다.
  • --package-manager - 사용하려는 패키지 매니저입니다. 현재 지원되는 패키지 매니저는 npm, pnpm, yarn, bun입니다. (기본값은 CLI를 초기화할 때 사용한 매니저)

Info

info 명령은 Better Auth 설정 및 환경에 대한 진단 정보를 제공합니다. 디버깅 및 지원을 요청할 때 공유하는 데 유용합니다.

Terminal
npx @better-auth/cli@latest info

출력

이 명령은 다음을 표시합니다:

  • System: OS, CPU, 메모리, Node.js 버전
  • Package Manager: 감지된 매니저 및 버전
  • Better Auth: 버전 및 설정 (민감한 데이터는 자동으로 편집됨)
  • Frameworks: 감지된 프레임워크 (Next.js, React, Vue 등)
  • Databases: 데이터베이스 클라이언트 및 ORM (Prisma, Drizzle 등)

옵션

  • --config - Better Auth 설정 파일 경로
  • --json - 공유 또는 프로그래밍 방식 사용을 위해 JSON으로 출력

예시

# 기본 사용법
npx @better-auth/cli@latest info

# 사용자 정의 설정 경로
npx @better-auth/cli@latest info --config ./config/auth.ts

# JSON 출력
npx @better-auth/cli@latest info --json > auth-info.json

비밀 키, API 키, 데이터베이스 URL과 같은 민감한 데이터는 안전한 공유를 위해 자동으로 [REDACTED]로 대체됩니다.

Secret

CLI는 Better Auth 인스턴스용 비밀 키를 생성하는 방법도 제공합니다.

Terminal
npx @better-auth/cli@latest secret

일반적인 문제

Error: Cannot find module X

이 에러가 표시되면 CLI가 Better Auth 설정 파일에서 가져온 모듈을 확인할 수 없다는 의미입니다. 현재 이러한 문제의 많은 부분에 대한 수정 작업을 진행 중이지만, 그 동안 다음을 시도해 볼 수 있습니다:

  • 설정 파일의 import 별칭을 제거하고 상대 경로를 사용합니다. CLI를 실행한 후 별칭 사용으로 되돌릴 수 있습니다.

On this page