Skip to content

dvic/create-gleam-lustre-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

create-gleam-lustre-fullstack

A scaffolding tool for creating full-stack Gleam applications with Lustre, featuring client-server hydration.

Features

  • 🚀 Full-stack Gleam/Lustre application setup
  • 🔄 Client-server hydration out of the box
  • ✨ Optimistic UI updates using the optimist package
  • 📦 Separate client, server, and shared modules
  • ⚡ Vite for fast client-side development
  • 🧪 Test setup for all modules

Usage

Using npm create (recommended)

npm create gleam-lustre-fullstack@latest

Using npx

npx create-gleam-lustre-fullstack@latest

Using pnpm

pnpm create gleam-lustre-fullstack@latest

Using yarn

yarn create gleam-lustre-fullstack

What's Included

The scaffolded project includes:

  • Client: Lustre frontend application with Vite

    • Hot module replacement
    • TypeScript declarations
    • CSS styling
    • Optimistic UI updates for better UX
  • Server: Gleam backend server

    • Static file serving
    • API endpoints ready
  • Shared: Common code between client and server

    • Shared types and logic
    • Reusable utilities

Project Structure

your-project/
├── client/
│   ├── src/
│   │   ├── {name}_client.gleam
│   │   ├── main.js
│   │   └── main.css
│   ├── test/
│   ├── gleam.toml
│   ├── package.json
│   └── vite.config.js
├── server/
│   ├── src/
│   │   ├── {name}_server.gleam
│   │   └── manifest.gleam
│   ├── test/
│   ├── priv/
│   └── gleam.toml
└── shared/
    ├── src/
    │   └── shared.gleam
    ├── test/
    └── gleam.toml

Getting Started

After scaffolding your project:

cd your-project

# Start development servers
# Terminal 1 - Start the client dev server
cd client && npm install && npm run dev

# Terminal 2 - Start the server
cd server && gleam run

# Or build for production
cd client && npm install && npm run build
cd server && gleam run

Requirements

Credits

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Issues

If you find any bugs or have feature requests, please file an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

License

Stars

9 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors