# create-lamdera-app-rs
A Rust implementation of create-lamdera-app - A CLI tool to scaffold [Lamdera](https://lamdera.com) applications with batteries included.
## Features
- ๐ **Quick Setup** - Get a fully-featured Lamdera app in seconds
- ๐จ **Tailwind CSS** - Beautiful, responsive designs out of the box
- ๐ **Authentication** - Google One Tap, GitHub OAuth, and Email authentication
- ๐ **i18n Support** - Built-in internationalization (EN/FR) with easy extension
- ๐ **Dark Mode** - System-aware dark/light theme switching
- ๐งช **Testing Ready** - lamdera-program-test integration
- โก **Fast** - Rust-powered for instant project creation
## Installation
```bash
cargo install create-lamdera-app-rs
```
## Usage
```bash
# Interactive mode
create-lamdera-app-rs
# With flags
create-lamdera-app-rs --name my-app --simple
# See all options
create-lamdera-app-rs --help
```
## Options
- `--name <name>` - Project name
- `--simple` - Use simple boilerplate (no demo features)
- `--skip-install` - Skip package installation
- `--package-manager <npm|bun>` - Choose package manager (default: npm)
- `--no-github` - Don't create GitHub repository
- `--public` - Make GitHub repository public
- `--help` - Show help
- `--version` - Show version
## After Scaffolding
Inside the generated app:
```bash
# Start local development
npm run start
# Run Elm tests through Lamdera
npm test
# Compile Tailwind and run Lamdera's compiler checks
npm run check
```
Before deploying, configure the values listed in `ENVIRONMENT_SETUP.md`.
`passwordSecret` is backend-only and should be generated per environment:
```bash
lamdera env:set passwordSecret "$(openssl rand -base64 32)"
```
## Development
```bash
# Build
cargo build
# Run
cargo run -- --help
# Test
cargo test
```
## License
MIT