반복적인 스택 설정(Database, Auth, UI)을 건너뛰고 바로 코딩 시작

발행: (2026년 1월 15일 오전 12:55 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

문제점

지난 주에 새로운 Next.js 프로젝트를 시작했습니다. 평소 쓰던 스택이 필요했죠:

  • drizzle – 데이터베이스
  • better‑auth – 인증
  • shadcn – UI
  • TanStack Query – 데이터 패칭

그 과정은 이랬습니다:

  • drizzle 설치, 스키마 생성, 클라이언트 설정
  • better‑auth 설치, user/session/account 테이블 생성
  • better‑auth 를 drizzle 스키마에 연결
  • shadcn 설치, components.json 설정
  • 테마 프로바이더 구성
  • TanStack Query 를 적절한 프로바이더와 함께 설정
  • TypeScript 경로 디버깅에 20분 소요
  • 인증 테이블을 스키마에 추가하는 걸 깜빡했다는 걸 깨달음
  • 90분 뒤에야 결국 작동

이와 같은 통합을 4개월 동안 6번이나 했습니다. 같은 스택. 같은 디버깅. 같은 시간 낭비.

내가 만든 해결책

create-faster 는 선택한 스택이 이미 통합된 프로젝트를 생성합니다:

bunx create-faster

인터랙티브 모드

스택을 선택하세요:

  • 프레임워크: Next.js, Expo, Hono, TanStack Start
  • 데이터베이스: Postgres, MySQL
  • ORM: Drizzle, Prisma (자동 생성 인증 테이블 포함)
  • UI: shadcn, nativewind, 테마 지원 등
  • 기능: Better Auth, TanStack Query/Form, MDX, PWA 등
  • 패키지 매니저: bun, pnpm, npm

비‑인터랙티브 모드

매번 같은 설정을 사용합니다:

bunx create-faster myapp \
  --app myapp:nextjs:shadcn,better-auth,tanstack-query \
  --database postgres \
  --orm drizzle \
  --git --pm bun

멀티‑앱 모노레포

웹 + 모바일이 데이터베이스를 공유하도록:

bunx create-faster mysaas \
  --app web:nextjs:shadcn,better-auth \
  --app mobile:expo:nativewind \
  --database postgres \
  --orm drizzle \
  --git --pm bun

자동으로 Turborepo 를 생성합니다. 두 앱 모두 공유 db 패키지를 사용하고, 인증 테이블은 이미 drizzle 스키마에 포함됩니다.

실제로 생성되는 내용

단순 파일이 아니라 동작하는 통합입니다.

drizzle + better‑auth

  • drizzle 스키마에 User, session, account 테이블 포함
  • 데이터베이스 클라이언트 설정 완료
  • drizzle 를 가리키는 Auth 설정
  • 타입‑안전 쿼리 바로 사용 가능

shadcn + next‑themes

  • components.json 이 설정된 shadcn 설치
  • 앱 레이아웃에 테마 프로바이더 삽입
  • 다크‑모드 토글 컴포넌트 준비
  • Tailwind 설정 완료

TanStack Query + Next.js

  • Query 클라이언트 설정
  • 앱 레이아웃에 프로바이더 삽입
  • 선택 시 Devtools 준비
  • 예시 query 훅 제공

모노레포용

  • 적절한 파이프라인을 갖춘 Turborepo
  • 모든 앱이 공유 db 패키지 사용
  • TypeScript 경로 설정
  • 단일 설치 명령어

재현 가능성 기능

생성 후, 정확히 같은 프로젝트를 다시 만들 수 있는 명령을 제공합니다:

create-faster mysaas \
  --app web:nextjs:shadcn,better-auth \
  --app mobile:expo:nativewind \
  --database postgres \
  --orm drizzle \
  --git --pm bun

저장해 두었다가 나중에 실행하면 매번 동일한 통합 스택을 얻을 수 있습니다.

왜 만들었는가

같은 통합을 계속 재구축하고 있었기 때문입니다:

  • drizzle 스키마에 better‑auth 테이블 추가
  • shadcn 에 테마 프로바이더 연결
  • TanStack Query 를 Next.js 에 연결
  • 웹 + 모바일용 Turborepo 구성

매번 약 90분씩 같은 작업을 반복했고, 설정이 조금씩 달라져 나중에 버그가 발생했습니다.
이제는 한 번의 명령으로 일관된, 바로 동작하는 스택을 얻을 수 있습니다.

앞으로의 계획

현재 지원되는 내용

  • 프레임워크: Next.js, Expo, Hono, TanStack Start
  • 데이터베이스: Postgres, MySQL (drizzle 또는 Prisma)
  • 인기 모듈: shadcn, better‑auth, TanStack Query/Form 등
  • 모노레포: 멀티‑앱 프로젝트용 자동 Turborepo

로드맵

  • 더 많은 프레임워크 (Remix, Astro)
  • 추가 통합 (tRPC, i18n, Stripe)
  • 템플릿 예시 (대시보드, dApp, SaaS)
  • 저장된 프리셋

사용해 보기

bunx create-faster
  • GitHub:
  • Docs:
  • npm:

MIT 라이선스. PR 환영합니다.

토론

어떤 스택 통합을 재구축하는 데 지치셨나요? 무엇이 더 유용할까요?

Back to Blog

관련 글

더 보기 »

기술은 구원자가 아니라 촉진자다

왜 사고의 명확성이 사용하는 도구보다 더 중요한가? Technology는 종종 마법 스위치처럼 취급된다—켜기만 하면 모든 것이 개선된다. 새로운 software, ...

에이전틱 코딩에 입문하기

Copilot Agent와의 경험 나는 주로 GitHub Copilot을 사용해 인라인 편집과 PR 리뷰를 수행했으며, 대부분의 사고는 내 머리로 했습니다. 최근 나는 t...