create-fastify-server
v1.0.2
Published
Fastify API scaffolding CLI
Maintainers
Readme
create-fastify-server
한국어
Fastify API 프로젝트를 빠르게 생성해주는 CLI 스캐폴딩 도구입니다.
사용법
npx create-fastify-server선택 옵션
| 항목 | 선택지 | |------|--------| | 언어 | JavaScript · TypeScript | | TS 빌더 | tsc · esbuild · tsx | | 데이터베이스 | Prisma · pg · Supabase · MongoDB · Firebase | | 캐시 | Redis (ioredis) · In-memory (node-cache) | | 인증 | JWT · bcrypt | | 플러그인 | CORS · Helmet · Rate Limit · Compress · Multipart · WebSocket · Swagger | | 개발 도구 | ESLint · Prettier · Vitest · Jest · dotenv |
생성되는 구조
my-fastify-app/
├── src/
│ ├── index.ts # Fastify 앱 (플러그인, 라우트 자동 등록)
│ ├── db.ts # 데이터베이스 클라이언트 (선택 시)
│ ├── cache.ts # 캐시 클라이언트 (선택 시)
│ ├── types/ # TypeScript 타입 선언 (선택 시)
│ └── routes/
│ ├── index.ts # GET / GET /health (WS /ws)
│ ├── users.ts # GET /api/users POST /api/users
│ └── auth.ts # POST /api/auth/login GET /api/auth/me (선택 시)
├── server.ts # 엔트리 포인트
├── prisma/schema.prisma # Prisma 스키마 (선택 시)
├── .env # 환경변수 (선택 시 자동 생성)
├── .env.example
└── tsconfig.json
src/routes/에 파일을 추가하면/api/{파일명}경로로 자동 등록됩니다.
English
A CLI scaffolding tool for spinning up Fastify API projects.
Usage
npx create-fastify-serverOptions
| Category | Choices | |----------|---------| | Language | JavaScript · TypeScript | | TS builder | tsc · esbuild · tsx | | Database | Prisma · pg · Supabase · MongoDB · Firebase | | Cache | Redis (ioredis) · In-memory (node-cache) | | Auth | JWT · bcrypt | | Plugins | CORS · Helmet · Rate Limit · Compress · Multipart · WebSocket · Swagger | | Dev tools | ESLint · Prettier · Vitest · Jest · dotenv |
Generated structure
my-fastify-app/
├── src/
│ ├── index.ts # Fastify app (auto-registers plugins & routes)
│ ├── db.ts # Database client (if selected)
│ ├── cache.ts # Cache client (if selected)
│ ├── types/ # TypeScript declarations (if selected)
│ └── routes/
│ ├── index.ts # GET / GET /health (WS /ws)
│ ├── users.ts # GET /api/users POST /api/users
│ └── auth.ts # POST /api/auth/login GET /api/auth/me (if selected)
├── server.ts # Entry point
├── prisma/schema.prisma # Prisma schema (if selected)
├── .env # Auto-generated with relevant vars
├── .env.example
└── tsconfig.jsonAny file added to
src/routes/is automatically registered as/api/{filename}.
