CLI to scaffold a modern full-stack application with Bun, Elysia, React, and PostgreSQL
npm install create-jakestackA CLI tool to scaffold modern full-stack applications with Bun, Elysia, React, and PostgreSQL.
``bash`
npx create-jakestack my-app
cd my-app
docker compose up -d
bun install
bun run dev
Generated projects include:
| Layer | Technology |
|-------|------------|
| Runtime | Bun |
| Backend | Elysia |
| Frontend | Vite + React + Tailwind CSS |
| Database | PostgreSQL + Drizzle ORM |
| API Docs | Swagger UI + Redoc |
| Monitoring | BetterStack heartbeat integration |
``
my-app/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ │ ├── Layout.tsx # Main layout with sidebar
│ │ │ └── Sidebar.tsx # Navigation sidebar
│ │ ├── pages/
│ │ │ ├── Dashboard.tsx # Home dashboard
│ │ │ ├── Users.tsx # Users management
│ │ │ ├── Posts.tsx # Posts/content
│ │ │ └── Settings.tsx # App settings
│ │ ├── App.tsx # Router setup
│ │ ├── main.tsx # Entry point
│ │ └── index.css # Tailwind styles
│ ├── index.html
│ ├── vite.config.ts
│ └── tailwind.config.js
├── server/ # Elysia backend
│ ├── index.ts # Server entry point
│ ├── routes/
│ │ └── health.ts # Health check endpoint
│ └── db/
│ ├── index.ts # Drizzle ORM instance
│ └── schema.ts # Database schema
├── docs/
│ └── index.html # Redoc API documentation
├── docker-compose.yml # PostgreSQL container
├── drizzle.config.ts # Drizzle configuration
├── .env.example # Environment template
├── package.json
└── README.md
and /api/swaggerAvailable Scripts
After creating a project:
| Script | Description |
|--------|-------------|
|
bun run dev | Start backend with hot reload |
| bun run dev:client | Start Vite dev server |
| bun run dev:all | Start both backend and frontend |
| bun run build | Build frontend for production |
| bun run start | Start production server |
| bun run db:push | Push schema changes to database |
| bun run db:generate | Generate SQL migration files |
| bun run db:migrate | Run migrations |
| bun run db:studio | Open Drizzle Studio GUI |URLs
| URL | Description |
|-----|-------------|
| http://localhost:3000 | Application |
| http://localhost:5173 | Vite dev server (development) |
| http://localhost:3000/api | API root |
| http://localhost:3000/api/docs | Redoc documentation |
| http://localhost:3000/api/swagger | Swagger UI |
| http://localhost:3000/api/health | Health check endpoint |
Development
$3
- Bun v1.0+
- Docker (for PostgreSQL)
$3
`bash
Install dependencies
bun installBuild
bun run buildTest locally
bun src/index.ts my-test-app
`$3
`bash
npm publish
``MIT