Thank you for your interest in contributing to hexaFn!
This document outlines how to get involved, contribute code or ideas, and follow our development process.
Please review the following core documents:
- Code: New features, bugfixes, enhancements to modules or core
- Plugins: External integrations, reusable logic extensions
- Docs: Fixing typos, improving structure, or writing new guides
- Issues & Feedback: Filing issues, proposing ideas or improvements
Please follow our Branching Guide
- Always branch from
develop - Use one of the allowed types as prefix:
feat/,fix/,chore/,refactor/,test/,docs/,ci/,perf/,build/,release/,hotfix/,style/ - Example:
feat/auth-handler,fix/login-bug,docs/contributing - Never branch from
main - Only maintainers may merge to
mainorrelease/*
All commits and pull requests must follow Conventional Commits:
feat, fix, chore, refactor, test, docs, ci, perf, build, release, hotfix, style
feat: add user authentication module
fix: resolve panic on empty payload
chore: remove unused dependencies
refactor: simplify scheduler logic
test: add unit tests for HexaStore
docs: improve contributing guide
ci: update GitHub Actions for linting
perf: optimize event matching engine
build: update cargo manifest and version
release: prepare v0.2.0 release
hotfix: patch critical runtime bug
style: reformat codebase with rustfmtPR titles must follow the same format. Title linting is enforced.
Please run these before opening a PR:
cargo fmt # Format code
cargo clippy --all-targets --all-features -- -D warnings # Lint
cargo test --locked --all-targets # TestAll contributions are tracked in the Project Board:
- Choose or create an issue
- Fork the repo and branch from
develop - Submit a PR with a descriptive title
- PR flows through:
- 🟡 In Progress
- 🔍 In Review
- ✅ Done
Labels are automatically assigned based on the module or type.
Refer to Labelling Strategy
- All PRs must pass checks (build, test, format, lint)
- PRs are merged into
develop, then promoted torelease/* - Only merges into
maintrigger semantic-release automation
- Questions? Use GitHub Discussions
- For sensitive topics, contact info@hexafn.com
- Please follow our Code of Conduct
We’re excited to build hexaFn with your help 🚀