Contribute

Get involved

Confium is developed in the open. Pull requests, issues, design feedback, and security reports all welcome.


Ways to contribute

Code

Pick an issue labeled good first issue from the Rust workspace, or browse the Ruby gem's open issues.

All code changes go through pull request. Use conventional commits — they drive automated version bumps via release-plz.

Docs

Documentation lives in three places:

Docs use MDX with YAML frontmatter. Cross-link liberally.

Design feedback

Substantive design discussions belong in the specs repository as a proposal AsciiDoc file. Smaller conversations can start as GitHub Discussions or issues.

Security reports

See Security for the disclosure policy. Do not open public issues for security problems.

Development workflow

The Rust workspace uses Nix flakes for reproducibility:

nix develop
cargo test --workspace

Without Nix, install Rust stable 1.85+ via rustup and run cargo test --workspace directly.

Pre-commit hooks

Two options, both mirror CI:

# Framework version
pre-commit install

# Shell version (no dependencies)
cp .githooks/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

Code of conduct

The project follows the Contributor Covenant 2.1. Reports go to conduct@confium.org.