What is this?
Darkwave is three things:
- The Stack - A pre-wired configuration of frameworks, libraries, and dev tools
- The Boilerplate - A starter kit with auth, middleware, and extendable admin
- The Philosophy - Guiding principles for building maintainable applications
In practice, Darkwave is just a starter kit for Astro. At a higher level, it’s an entire paradigm for building web applications.
The Stack
A pre-wired configuration of specific frameworks, libraries, and dev tools. Straightforward, responsible choices for building reliable CRUD apps.
You don’t have to deal with the foundational minutiae of starting a new project. The boring problems are solved: we’ve done the research, evaluated options, and put together a good starting point.
Core Stack
- Astro (SSR with Node.js adapter and TypeScript support)
- MySQL (8.0) with Kysely query builder
- Better-Auth
- Tailwind CSS with shadcn/ui
Supporting Libraries
- Alpine.js
- HTMX
- Cropper.js
- Dropzone
- Flatpickr - Date picker
- SortableJS
- Validator.js
- Iconify
- Nodemailer
The Boilerplate
Application Structure
- Middleware configuration
- Config management
- Database schemas
- Default CSP, CSRF validation for forms
- Environment variable handling
- Alias imports (
@/path resolution)
Authentication System
- JWT-based authentication middleware
- Role-based access control
- OAuth configured with Google login
- Login/register templates wired with Better-Auth and Nodemailer
Components
- Form UI components
- Form and input validation
- Photo uploads and gallery management
- File upload handling with storage providers (S3/R2, Bunny.net, local filesystem)
- Image processing (optimization, cropping)
Backend Utilities
- CRUD abstraction helpers
- Email notification components
Admin App
- Simple base you can extend as needed
- Or ignore entirely
The Philosophy
DW codifies best practices in a way that others can understand and follow. Clear coding standards with enough examples between the codebase and docs to understand how to build with this toolkit.