Docs / Developers
Contributing
How to report problems, send changes and help build Zainium OS.
Zainium OS is developed in the open on GitHub. Contributions of every size are welcome.
Report a problem
Open an issue on the repository of the component, with:
- what you did, what you expected and what happened;
- the output of
zex --versionand, for package problems,zex inspect <package>; - logs (
journalctl -b) when the system or a service misbehaves.
Send a change
- Fork the repository and create a branch.
- Keep commits small and focused; describe why in the message.
- For code, run the project's tests (
cargo testfor the Rust components). - Open a pull request and describe how you tested it.
AI-assisted contributions
Contributions written with the help of AI tools are allowed: userland packages, base recipes, patches, code and documentation. The person who opens the pull request is responsible for every line of it, whatever tool wrote it:
- Verify it yourself before you open the pull request. Read every line of the recipe, the patch or the code, build the package and test it on Zainium OS. A pull request that was not built and tested by you is closed.
- Understand and defend the change. You must be able to explain why each line is there and answer review questions without asking the tool.
- Check the license and the source. Patches must come from upstream or be your own work; say where each one comes from. Do not submit code the tool may have copied from a source whose license does not allow it.
- Say which tool helped, with an
Assisted-by:line in the commit message, for exampleAssisted-by: <tool> <model>. AI tools are not authors: they must not be listed as authors or co-authors of a commit. - Keep pull requests focused. One package (or one closely related set) per pull request, and never mix base (syshub-recipes) and userland (userland-recipes) packages: they live in different repositories and go through different reviews.
Good places to start
- Package recipes — add a program to userland-recipes.
- Documentation — this website is Markdown files; fix what is wrong or missing.
- The standard — discuss and improve the Dualayer Hierarchy Standard.
- Testing — try the ISO on real hardware and report what does not work.
Components
| Component | What it is |
|---|---|
| zex | the package manager |
| quantra-ramfs | the initramfs: layers, staged upgrades, splash |
| sys_resolver | FHS path resolution and loader redirection |
| elevate, elevate-pam | root access that protects the base |
| userutiles | the core command-line utilities |
| syshub-recipes, userland-recipes | package recipes and CI |
Contributions are licensed under the license of the repository they go to (GPL-3.0 for the operating system, CC BY-SA 4.0 for the DHS text).