CLI
Better Auth는 데이터베이스 스키마 관리, 프로젝트 초기화, 애플리케이션용 비밀 키 생성, 설정에 대한 진단 정보 수집을 위한 내장 CLI를 제공합니다.
Generate
generate 명령은 Better Auth에 필요한 스키마를 생성합니다. Prisma나 Drizzle과 같은 데이터베이스 어댑터를 사용하는 경우 이 명령은 ORM에 맞는 스키마를 생성합니다. 내장된 Kysely 어댑터를 사용하는 경우 데이터베이스에서 직접 실행할 수 있는 SQL 파일을 생성합니다.
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의 마이그레이션 도구를 사용하여 스키마를 적용해야 합니다.
npx @better-auth/cli@latest migrate옵션
--config- Better Auth 설정 파일의 경로입니다. 기본적으로 CLI는 ./, ./utils, ./lib 또는src디렉토리 아래의 이러한 디렉토리에서 auth.ts 파일을 찾습니다.--yes- 확인 프롬프트를 건너뛰고 스키마를 직접 적용합니다.
Init
init 명령을 사용하면 프로젝트에 Better Auth를 초기화할 수 있습니다.
npx @better-auth/cli@latest init옵션
--name- 애플리케이션의 이름입니다. (기본값은package.json의name속성)--framework- 코드베이스가 사용하는 프레임워크입니다. 현재 지원되는 프레임워크는Next.js뿐입니다.--plugins- 사용하려는 플러그인입니다. 쉼표로 구분하여 여러 플러그인을 지정할 수 있습니다.--database- 사용하려는 데이터베이스입니다. 현재 지원되는 데이터베이스는SQLite뿐입니다.--package-manager- 사용하려는 패키지 매니저입니다. 현재 지원되는 패키지 매니저는npm,pnpm,yarn,bun입니다. (기본값은 CLI를 초기화할 때 사용한 매니저)
Info
info 명령은 Better Auth 설정 및 환경에 대한 진단 정보를 제공합니다. 디버깅 및 지원을 요청할 때 공유하는 데 유용합니다.
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 인스턴스용 비밀 키를 생성하는 방법도 제공합니다.
npx @better-auth/cli@latest secret일반적인 문제
Error: Cannot find module X
이 에러가 표시되면 CLI가 Better Auth 설정 파일에서 가져온 모듈을 확인할 수 없다는 의미입니다. 현재 이러한 문제의 많은 부분에 대한 수정 작업을 진행 중이지만, 그 동안 다음을 시도해 볼 수 있습니다:
- 설정 파일의 import 별칭을 제거하고 상대 경로를 사용합니다. CLI를 실행한 후 별칭 사용으로 되돌릴 수 있습니다.