Contributing - HULKs/labello GitHub Wiki
Contributing to Labello
Use the architecture to locate the behavior's owner and read the affected current documentation before editing. Code and tests define current behavior; plans and historical records stay in docs/archive.
Set up and verify
rustup show installs the pinned Rust 1.98.0 compiler, rustfmt, Clippy, and WASM
target. Install Trunk 0.21.14. Native Linux builds also need Wayland, X11,
XKBCommon, and OpenGL development libraries used by eframe.
Run from the repository root:
./scripts/verify.sh changed origin/main
The script selects documentation checks or the locked native/inspector/WASM baseline, plus a release browser build for affected paths. An unclassified path, unavailable required check, or stale lockfile fails verification. Use a recorded comparison-base SHA for stacked work. The verification guide defines exact commands and additional risk-specific checks.
Make a change
- Inspect status/diffs and preserve unrelated work. Trace the complete production flow, callers, failure boundaries, and platform adapters.
- Implement the narrowest complete change at its shared owner. Add a focused regression test for nontrivial behavior and update its current documentation.
- Run canonical verification and applicable manual checks. Use egui_kittest and the native inspector for shared UI; use Chromium for browser claims.
- Fill the PR template with requirements, evidence, commands/results, omissions, risks, and preserved unrelated changes. Visual changes require reviewer-accessible screenshots or recordings when opening the draft.
- Publish a verified draft as Awaiting CI when publication is requested. Only
exact-current-head success of the required
Testingcheck permits an authorized Ready for review handoff. Independent review decides acceptance.
The requested endpoint determines whether the task also owns CI fixes, assignments, and project transitions. Follow workflow scope. Preserve existing reviewer requests. Merging, closing issues, and marking accepted require user authorization, passing CI, and independent review. Before coordinating several issues or testing stacked PRs together, read parallel development.
Edit documentation
Edit current Markdown in this repository; the wiki is generated from those files.
Run python3 scripts/docs.py check for links, anchors, metadata, and publication
coverage. Keep proposals and delivery records under docs/archive/; the publisher
rejects archive entries. See documentation and wiki for the page
list, local preview, and publishing procedure. Use Git history in place of document
owner, status, date, or commit headers.