Skip to content

How to contribute ​

Contributions are welcome: code, bug reports, documentation, tutorials, themes and example projects. Issues and pull requests are handled on GitHub.

How work is organised ​

  • Work is tracked in issues: Bug, Feature and Task, labelled by area (area: erosion, area: editor…) and priority (P1–P3), and planned into release milestones (such as 2026.1.1 for fixes and 2026.2 for the next feature release). Large features are epics with sub-issues.
  • Questions and early ideas go to Discussions.
  • Before a larger change, comment on its issue (or open one) so work isn't duplicated. A pull request should say which issue it fixes (Fixes #123).
  • good first issue marks good places to start.

Commit messages ​

Commit messages and pull request titles must be conventional commits, because the changelog is generated from them. CI checks this.

text
feat(graph): add node bypass
fix(export): …

Install the git hooks once with prek (or pre-commit) to check as you commit:

sh
prek install

Every commit must be signed off under the Developer Certificate of Origin. Use git commit -s to add the Signed-off-by: line.

Before opening a pull request ​

Run what CI runs:

sh
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo build && godot --headless --path app --script res://tests/smoke_test.gd

Improving this website ​

This site lives in LibreTerrain/LibreTerrain-Site. Docs and tutorials are Markdown files in content/, and every page has an Edit this page on GitHub link at the bottom.

Licence ​

LibreTerrain is dual-licensed under MIT or Apache-2.0, at your option. Unless you say otherwise, any contribution you submit is dual-licensed the same way.

The name "LibreTerrain" and its logo belong to EllisonDigital. You're welcome to fork the project, but please release forks under a different name.

Code dual-licensed MIT / Apache-2.0. "LibreTerrain" and its logo belong to EllisonDigital.