git clone https://github.com/singularityos-lab/libsingularity
cd libsingularity
meson setup build
ninja -C buildTo enable GObject Introspection:
meson setup build -Dintrospection=true
ninja -C build- Language: Vala only.
- Indentation: 4 spaces no tabs, no trailing whitespace.
- Namespace: all public symbols must live under
Singularity,Singularity.Widgets,Singularity.Shell, orSingularity.Core. - Doc comments are required on every public API classes, properties, signals,
and methods. Use the
/** .. */form. - Keep files focused: one primary class per
.valafile, named after the class (e.g.SwitchRow->switch_row.vala). Redundant suffixes in the filename (like_manageror_provider) should be avoided.
By contributing you agree your code will be released under LGPL-2.1-only.
Commits follow Conventional Commits:
<type>: <subject>
<type> is one of feat, fix, chore, docs, build, ci, refactor, perf, style, test, revert. Keep <subject> short, lowercase and in English. An optional scope is allowed: <type>(<scope>): <subject>.
When a commit closes an issue, use <type>[closes #ID]: <issue title>, for example:
fix[closes #2]: Discord doesn't open on Singularity desktop
Do not add co-author or attribution trailers.