Contributor Onboarding
Syn_OS is an Arch Linux derivative built for cybersecurity professionals, combining a custom AI-aware kernel, the GRIMOIRE gamified training platform, the ALFRED AI daemon, and post-quantum cryptography — almost entirely in Rust across a ~226-crate workspace.
Where the code lives
Section titled “Where the code lives”The active development entry point for community contributors is the Church of Malware public forge — reachable by anyone, no invite or key required:
git clone https://git.churchofmalware.org/Diablo_Rain/CoM-Syn_OS-Public-Repo.gitcd CoM-Syn_OS-Public-Reporustup show # installs the pinned nightly toolchainjust check # cargo check --workspace (open crates only)A small set of offensive/member-tier crates are git-crypt-gated behind a Church of Malware membership key — see Membership & /claim for how that’s separate from runtime membership recognition. Most contributions don’t need this.
Repository structure at a glance
Section titled “Repository structure at a glance”| Path | Contents |
|---|---|
fruit/crates/ | Rust library crates |
fruit/core/ | Shared infrastructure (AI, kernel, security, services, apps) |
fruit/core/src/linux-kernel/rust-modules/ | Loadable Rust kernel modules (33, capability-gated char-device/ioctl interface) |
fruit/distribution/ | ISO packaging, deployment, installer |
fruit/iso/iso-build/stages/ | The mkarchiso-based ISO build pipeline |
growth/development/docs/ | Public and internal documentation |
growth/xtask/ | cargo xtask — curtain, feature-audit, lab-integrity, and more |
Prerequisites
Section titled “Prerequisites”Required
- An Arch-based host (EndeavourOS, Arch, Manjaro, or a Dockerized Arch
environment). Other distros can build the Rust workspace, but the ISO
pipeline needs
mkarchiso/archiso. - The pinned Rust nightly toolchain —
rustup showinstalls the exact version the workspace requires (currentlynightly-2026-06-25, rustc 1.98). - Git 2.x+.
Recommended
just(cargo install just) — runs the justfile commands.cargo-deny(cargo install cargo-deny) — license and advisory checks.
Verify your environment
Section titled “Verify your environment”cargo check --workspace # fastest sanity checkcargo fmt --checkcargo clippy --workspacejust gate # full quality gate: fmt + clippy + check + denyIf just gate fails on a pre-existing issue unrelated to your change, note
it and proceed — don’t fix unrelated issues in the same PR.
Encrypted files (optional)
Section titled “Encrypted files (optional)”Some files are git-crypt encrypted (kernel internals, ALFRED internals, security configuration). Most contributors never need access:
gpg --full-generate-keygpg --armor --export your@email.com > yourname.gpg- Send the exported key to the project maintainers to be added
git-crypt unlock
Code style
Section titled “Code style”- Rust:
cargo fmt(max_width = 100, edition 2021) - No
unsafewithout a// SAFETY:comment explaining why it’s sound - No
todo!()/unimplemented!()in non-test code thiserrorfor library errors,anyhowfor binaries- Doc comments (
///) on public items
Commit format
Section titled “Commit format”Conventional Commits, enforced in CI:
feat: add ALFRED subscribe loopfix: correct XP calculation in the gamification cratedocs: update onboarding guide for nightly toolchainrefactor: extract subject routing into a helpersecurity: restrict a local API to 127.0.0.1ci: fix cargo deny license check for a new dependencychore: bump a dependency versionTesting
Section titled “Testing”cargo test -p <crate-name> --libcargo check --workspacecargo fmt --checkcargo clippy --workspaceSubmitting changes
Section titled “Submitting changes”Push your branch and open a pull/merge request against main. A maintainer
reviews within a few days; CI must be green before merge.
Checklist
-
cargo check --workspacepasses -
cargo fmt --checkpasses -
cargo clippy --workspacepasses (no new warnings) - Tests added or updated for your change
- Conventional commit format used
Useful commands
Section titled “Useful commands”just check # cargo check --workspacejust gate # full quality gatejust iterate <crate> # rapid check/clippy loop for one cratecargo xt stats # workspace metrics (LOC, crate count, test count)