Lustre Dev Tools

Lustre's official CLI and development tooling.

Available on Hex

Lustre | Commands | Discord

Built with ❤︎ by Hayleigh Thompson and Giacomo Cavalieri

Features

Philosophy

Lustre’s dev tools are designed to make the experience as simple as possible for folks unfamiliar with frontend development or are exhausted at the state of JavaScript tooling. That means being opinionated about the tools we support and the commands we provide.

If you find yourself needing more configuration or control over your build process, you might be outgrowing what Lustre’s dev tools have set out to provide! We’d love to hear from those users too, though, so please open an issue or reach out on Discord if you think something is missing.

For more advanced users, we recommend using vite and the vite-gleam package.

Installation

Lustre’s dev tools are published on Hex! You can add them as a dev dependency to your Gleam projects from the command line:

Note: currently one of lustre_dev_tools’ dependencies is not compatible with the most recent version of gleam_json, making it impossible to install. To fix this, add gleam_json = "1.0.1" as a dependency in your gleam.toml file.

gleam add lustre_dev_tools --dev

The --dev flag is important to make sure the dev tools are not included in your application’s build!

Note: The included development server uses the erlang package fs as a file watcher. For Linux uses, you need to have inotify-tools installed on your system. Both Linux and MacOS users must also have a C compiler.

To run any of the commands provided by the dev tools, you should run the lustre/dev module using Gleam’s run command:

gleam run -m lustre/dev build app

Commands

You can run gleam run -m lustre/dev -- --help to see a list of all the available commands. Each command also has its own help text that lists the available flags and options. Here’s a brief overview of the commands provided by Lustre’s dev tools:

Support

Lustre is mostly built by just me, Hayleigh, around two jobs. If you’d like to support my work, you can sponsor me on GitHub.

Contributions are also very welcome! If you’ve spotted a bug, or would like to suggest a feature, please open an issue or a pull request.

Search Document