Production-ready Lamdera starter with auth, WebSockets, program-test, and everything you need to ship.
npx lamdera-starter-kit my-app
cd my-app
./compile.sh
lamdera liveOpen http://localhost:8000 — you're running!
npx lamdera-starter-kit
# Prompts for project namenpx lamdera-starter-kit my-appnpx lamdera-starter-kit my-app -ynpx lamdera-starter-kit my-app --jsonReturns structured JSON:
{
"success": true,
"path": "/path/to/my-app",
"projectName": "my-app",
"nextSteps": ["cd \"/path/to/my-app\"", "./compile.sh", "lamdera live"],
"errors": [],
"warnings": []
}mkdir my-app && cd my-app
npx lamdera-starter-kit .npx lamdera-starter-kit [project-name] [options]
Arguments:
project-name Name for new project (creates ./project-name)
. Initialize in current directory
Options:
-y, --yes Non-interactive mode (no prompts, fails if dir not empty)
--json Output JSON instead of human text (implies --quiet)
-q, --quiet Suppress decorative output
-v, --verbose Show detailed progress
-h, --help Show help
- Email/Password + Google OAuth — complete integration
- Role-based permissions — SysAdmin, UserRole, Anonymous with granular controls
- Session management — persistent login across browser sessions
- Test account —
sys@admin.com/admin(SysAdmin access)
- lamdera/program-test — full end-to-end testing framework
- Property-based tests — fuzz testing with elm-explorations/test
- Visual test viewer — see rendered UI snapshots in browser
- 298 tests included — routes, permissions, auth flows, themes, and more
- Pure functional WebSocket library — drop-in with Lamdera wire format
- RPC system — HTTP endpoint framework with async operations
- External API examples — crypto prices, Slack, OpenAI integration
- Port system — console logging, clipboard, error handling
- elm-pkg-js standard — clean JavaScript integration
- Admin panel — logs, system monitoring at
/admin - Environment config — dev/prod modes with API key management
- CLAUDE.md — comprehensive LLM development guide
- Hot reload —
lamdera livewatches for changes
my-app/
├── src/
│ ├── Frontend.elm # Browser-side app
│ ├── Backend.elm # Server-side app
│ ├── Types.elm # All application types
│ ├── Route.elm # URL routing
│ ├── Pages/ # Route-based pages
│ ├── Components/ # Reusable UI components
│ ├── Rights/ # Auth & permissions
│ └── RPC.elm # HTTP endpoints
├── tests/
│ ├── Program/ # End-to-end tests
│ ├── Property/ # Property-based tests
│ └── Helpers/ # Test utilities
├── auth/ # Auth submodule
├── lamdera-websocket-package/# WebSocket submodule
├── compile.sh # Build + test script
├── CLAUDE.md # LLM development guide
└── elm.json # Dependencies
- Node.js (v14+)
- Git
- Lamdera CLI — install from https://lamdera.com/start
./compile.sh # Build + run tests
lamdera live # Dev server at http://localhost:8000
elm-test-rs --compiler lamdera "tests/**/*.elm" # Run tests only| Field | Value |
|---|---|
sys@admin.com |
|
| Password | admin |
| Role | System Administrator |
This starter is optimized for AI-assisted development:
- Read
CLAUDE.md— contains architecture, patterns, and conventions - Use
--jsonflag — get structured output for parsing - Run
./compile.sh— validates changes (tests + type checking) - Check
/admin— inspect logs via RPC endpoints
Example agent workflow:
# Create project
npx lamdera-starter-kit my-app --json
# Verify setup
cd my-app && ./compile.sh
# Read development guide
cat CLAUDE.md- LLM Guide:
CLAUDE.mdfor AI development patterns - Examples:
/examplespage for interactive demos - Admin Panel:
/adminfor logs and monitoring - Tests:
tests/directory for testing patterns
MIT
Built with ❤️ and type safety