create-yuki-stack
v0.3.2
Published
A CLI tool for scaffolding type-safe, full-stack TypeScript applications with best practices and customizable.
Maintainers
Readme
create-yuki-stack
A modern CLI tool for scaffolding fully-typed, full-stack TypeScript applications with best practices and customizable technology choices.
Features
- Multiple Frontend Options: Next.js, React Router or TanStack Start
- API Layer Options: tRPC or oRPC for end-to-end type safety
- Database Choices: Prisma, Drizzle, or Mongoose
- Authentication: Multiple auth solutions including NextAuth.js and Better Auth
- UI Components: Optional shadcn/ui integration
- Turborepo: Optimized monorepo structure for better developer experience
- Shared Packages: Common code in packages for better code reuse
- Pre-configured Tooling: Oxlint, Oxfmt, TypeScript
Getting Started
To scaffold a new application using create-yuki-stack, run any of the following commands and follow the interactive prompts:
npm
npm create yuki-stackyarn
yarn create yuki-stackpnpm
pnpm create yuki-stackbun
bun create yuki-stackCLI Options
| Option | Description |
| ---------------------------- | -------------------------------------------------------------------------- |
| -y, --yes | Skip all prompts and use default settings |
| --no-yes | Negate --yes option |
| --frontend [values...] | Frontend frameworks (choices: nextjs, react-router, tanstack-start) |
| --database [string] | Database option (choices: none, drizzle, prisma, mongoose) |
| --adapter [string] | Database adapter (choices: none, neon) |
| --backend [string] | Backend framework (choices: none, express, elysia, hono, spring-boot |
| --api [string] | API type (choices: none, eden, trpc, orpc) |
| --auth [string] | Authentication (choices: none, basic-auth, better-auth, next-auth) |
| --extras [values...] | Add extra packages and tooling (choices: gh-actions, email) |
| --package-manager [string] | Package manager (choices: npm, yarn, pnpm, bun) |
| --install | Install dependencies after setup |
| --no-install | Negate --install option |
| --git | Initialize git repository |
| --no-git | Negate --git option |
| -h, --help | Display help information |
| -V, --version | Display version number |
Default Options (with -y flag)
- Name:
my-yuki-app - Frontend: [
Next.js] - Database:
none - Adapter: none
- Backend:
none - API:
none - Auth: none
- Extras: []
- Package Manager: Auto-detected from environment
- Install Dependencies:
true - Initialize Git:
true
Tech Stack Options
- Next.js: The React Framework for the Web
- React Router: A user‑obsessed, standards‑focused, multi‑strategy router you can deploy anywhere
- TanStack Start: Full-stack React and Solid framework powered by TanStack Router
- Elysia: Ergonomic Framework for Humans & Fox Girls
- Express: Fast, unopinionated, minimalist web framework for Node.js
- Hono: Fast, lightweight, built on Web Standards. Support for any JavaScript runtime
- eden: End-to-end type-safe APIs with Elysia
- tRPC: Move Fast and Break Nothing. End-to-end typesafe APIs made easy
- oRPC: Easy to build APIs that are end-to-end type-safe and adhere to OpenAPI standards
- Drizzle: A lightweight and performant TypeScript ORM with developer experience in mind
- Prisma: Ship at lightning speed, and scale to a global audience effortlessly with our next-gen serverless Postgres database
- Mongoose: Elegant MongoDB object modeling for Node.js
- Basic Auth: Basic authentication built from scratch based on Lucia
- Better Auth: The most comprehensive authentication framework for TypeScript
- Next Auth: Authentication for Next.js applications
- Github Actions: Automated CI/CD workflows for:
format,lint,typecheckwith reusable setup actions supporting multiple package managers (npm, yarn, pnpm, bun) - Email: Send transactional emails using
ResendAPI with customizableReact Emailtemplates
Generated Project Structure
The generated project follows a monorepo structure using Turborepo with:
apps/
├─ api/ # API server
└─ nextjs/ # Next.js application
packages/
├─ auth/ # Authentication utilities
├─ db/ # Database client and schema
├─ ui/ # Shared UI components
└─ validators/ # Shared validation schemasContributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
