Contributing
Luft lives at github.com/Lantharos/Luft. Report problems and suggest ideas in its issues, and send changes as pull requests.
Before you start
Section titled “Before you start”Read How Luft fits together to find where a change belongs, and the README in that folder for how to build and test it.
Making a change
Section titled “Making a change”- Keep the style of the code around you. Each language has its formatter:
cargo fmtandcargo clippyfor Rust, andbun run checkfor the apps and Kestrel’s interface. - Test it the way the repository does. Kestrel changes go through
kestrel/tools/session.sh capture, apps through their own checks, and anything touching disks, startup or installing goes through the VMs inos/vm, never through loop devices or mounts on your own machine. - Keep people’s data safe. Anything that erases asks first, and anything that can fail halfway can be finished or undone.
- Write commits as sentences, in the imperative, saying what the change does: Show newly installed apps within a quarter second. Sign them.
- Update the docs when a change affects them: the folder’s README for how to build and use it, and this site for what people see.
Licences
Section titled “Licences”Kestrel’s engine and the Mutter patches are GPL-2.0-or-later, inherited from GNOME Shell and Mutter. Everything else is MIT unless a folder says otherwise. Open Runde and Maple Mono are under the SIL Open Font License.
This site
Section titled “This site”These pages live in web/docs, written in Markdown. Pages under Reference come from the repository’s docs folder, so they’re edited there. Every page has an edit link at the bottom.
cd web/docsbun run dev # http://localhost:4321bun run build # checks every link