CLI that scaffolds an opinionated Bun & Vue fullstack application.
- Bun as package manager & runtime
- TypeScript as the language
- Vue 3 as frontend framework
- Vite as build tool
- Vite SSG for static site generation
- UnoCSS for styling
- Unhead for head management
- Vue I18n for internationalization
- oRPC for API layer
- Better Auth for authentication
- Pinia Colada for data fetching & state management
- Pino for logging
- Drizzle ORM as SQL-first TypeScript ORM
- Valibot for validation
- PostgreSQL as database
- Docker Compose & Traefik for infrastructure
- ESLint & Stylelint for linting
- Knip for detecting unused dependencies, exports, and files
- Metabase for Business Intelligence (BI)
- Drizzle Studio for database management (web GUI)
- Umami for web analytics
- Mailpit for email testing
Requires Bun v1.3 or later.
By default, the CLI scaffolds from its built-in opinionated template:
bun create @kevinmarrec/app
# OR
bunx @kevinmarrec/create-appAfter scaffolding, see the generated README.md in your project root for detailed setup instructions, including environment configuration, Docker setup, and development workflows.
You can use the --template (-t) option to scaffold from any external git repository instead of the default template:
# GitHub shorthand
bun create @kevinmarrec/app -t user/repo
# HTTPS URL
bun create @kevinmarrec/app -t https://github.com/user/repo.git
# SSH URL
bun create @kevinmarrec/app -t git@github.com:user/repo.git
# Subdirectory of a repository
bun create @kevinmarrec/app -t user/repo#path/to/templateThe repository is cloned with --depth 1 (shallow clone) and its contents are copied into the target directory.
Use #subdir to scaffold from a specific subdirectory within the repository.