Contributing
jai is intentionally small and simple. The goal is a sandbox that a single person can read, understand, and audit in a sitting. Contributions that preserve that quality are potentially welcome.
What we value
- Keeping it small. Every line added should earn its place. If something can be done in fewer lines without sacrificing clarity, prefer fewer lines.
- Human-authored code. jai is a human-authored project. PRs should be written by a person who understands the change — not generated wholesale by an AI tool.
- Modern C++ and linux only. No compatibility fixes for older systems. C++ and linux have both evolved to be a lot less error-prone in recent years, and jai takes full advantage of that for improved security.
How to contribute
- Open an issue first for anything non-trivial. This avoids wasted effort if the change does not fit the project's direction.
- Keep PRs focused. One logical change per PR.
If you want to test jai from a stronger outer boundary, see Arch VM Setup. That is close to the maintainer's own VM workflow.
Bug reports
Bug reports with reproduction steps are always welcome. Include:
- Kernel version (
uname -r) - Whether your home directory is on a local filesystem or NFS
- The exact jai command and its output
- Contents of any relevant config files