Thank you for your interest in contributing!
This project follows the Contributor Covenant v2.1.
-
Check existing issues first
-
Use the bug report template
-
Include reproduction steps
-
Specify your environment (OS, language versions)
# Clone
git clone https://github.com/hyperpolymath/proven
cd proven
# Install Idris 2 (via pack)
pack install-deps
# Install Zig
# See: https://ziglang.org/download/
# Environment fallback (Guix)
guix time-machine -C guix/channels.scm -- \
shell -m guix/manifest.scm
# Environment fallback (Nix)
nix-shell nix/shard.nix
# Pin cadence (Guix + Nix)
# Monthly on the first Saturday, plus CVE-driven updates as needed:
./scripts/update-env-pins.sh
# Build
idris2 --build proven.ipkg
# Test
idris2 --build proven.ipkg-
2-space indentation
-
Explicit type signatures for all exports
-
Document with
|||doc comments -
Prove properties where practical
Follow Conventional Commits:
-
feat:New feature -
fix:Bug fix -
docs:Documentation only -
style:Formatting, no code change -
refactor:Code restructuring -
test:Adding tests -
chore:Maintenance
Questions? Reach out at j.d.a.jewell@open.ac.uk or open a GitHub issue.