A full-stack serverless application boilerplate built with AWS services, implementing clean architecture principles and HAL-FORMS hypermedia patterns. Features multiple frontend implementations (Mantine, shadcn/ui, DaisyUI, Svelte) sharing a common hypermedia API.
The project follows clean architecture with strict dependency inversion:
Four frontend implementations share common utilities through web.commons and web.commons.react:
The API implements HAL-FORMS for hypermedia-driven interactions:
Local development uses Docker containers to mock AWS services:
# Install dependencies
npm install
# Start full local stack (Docker services + API + all web frontends)
make local-start
# Or start with a specific frontend
make local-start web=mantine # Mantine UI only
make local-start web=shadcn # shadcn/ui only
make local-start web=daisyui # DaisyUI only
make local-start web=svelte # Svelte only
make local-start web=none # API only (no frontend)
Run local dev servers against remote AWS environments instead of Docker/Moto:
make local-start env=dev # Local servers → AWS development
make local-start env=staging # Local servers → AWS staging
make local-start env=prod # Local servers → AWS production (with safety prompt)
| Service | Port |
|---|---|
| PostgreSQL | 5432 |
| API | 3001 |
| Mantine | 5173 |
| shadcn | 5174 |
| DaisyUI | 5175 |
| Svelte | 5176 |
| Moto | 5555 |
| Cognito | 9230 |
make local-stop # Stop all services (Docker + dev servers)
make local-restart # Restart all services
make local-reset # Reset local data and restart
make local-status # Check status of all services
make local-ports # Show configured port mappings
make moto-logs # View Moto init script logs
make cognito-logs # View Cognito-Local container logs
make test-local # Run tests against local services
make moto-health # Check Moto health
make moto-services # List Moto services (user pools, buckets, secrets)
make clean # Clean up all containers and data
make help # Show all available commands
Note: In the monorepo,
local-startdelegates to internaldev-*targets that handle the multi-frontend setup. Scaffolded projects collapse these into the unifiedlocal-*commands shown above.
# Run all tests
npm test
# Run tests in a specific package
cd core && npm test
cd framework && npm test
cd api.hypermedia && npm test
# Run a single test file
cd core && npx vitest run path/to/test.test.ts
The create-project scaffolding script generates a standalone project from this monorepo template. It copies the packages you need, selects a single frontend framework, and rewrites all naming and configuration to match your project.
npm run create-project
| Prompt | Description | Example |
|---|---|---|
| Output path | Where to create the new project | ../my-awesome-project |
| Project name | Scoped npm package name | @acme/my-awesome-project |
| Display name | Human-readable project name | My Awesome Project |
| Resource prefix | Short prefix for AWS resources (2-8 chars) | myapp |
| Config domain | Domain for secrets/config naming | myawesomeproject.acme.com |
| Author | Package author (defaults to git user) | Jane Doe |
| Web framework | Which frontend to include | mantine, shadcn, daisyui, or svelte |
| Base port | Starting port for local Docker services (5 sequential) | 6000 |
api.hypermedia, core, framework, infrastructure, types, moto, plus root config filesweb.<framework> to web/web.commons and web.commons.react into web/src/commons/@houseofwolves/serverlesslaunchpad references to your scope.env with your port allocations and updates all referencesThe base port allocates 5 sequential ports:
| Offset | Service |
|---|---|
| +0 | PostgreSQL |
| +1 | API |
| +2 | Web |
| +3 | Moto |
| +4 | Cognito |
For example, base port 6000 gives you PostgreSQL on 6000, API on 6001, Web on 6002, Moto on 6003, and Cognito on 6004.
cd ../my-awesome-project
npm install
make local-start
serverlesslaunchpad/
├── api.hypermedia/ # HTTP API with HAL-FORMS and XHTML support
├── core/ # Business logic and domain abstractions
├── framework/ # AWS service implementations
├── types/ # Shared TypeScript types and HAL definitions
├── infrastructure/ # AWS CDK deployment code
├── web.mantine/ # React frontend (Mantine UI)
├── web.shadcn/ # React frontend (shadcn/ui)
├── web.daisyui/ # React frontend (DaisyUI)
├── web.svelte/ # Svelte frontend
├── web.commons/ # Shared web utilities
├── web.commons.react/ # Shared React utilities
├── moto/ # Local AWS mock configuration and init scripts
├── scripts/ # Scaffolding and build scripts
└── .claude/ # Project specs and management
Copyright © 2023-2026 House of Wolves LLC. Licensed under the Apache License 2.0.