Thank you for helping improve Ferron!
- Read the
README.mdfor build and run basics. - Follow the
CODE_OF_CONDUCT.md. - If your change is security-sensitive, report it privately as described in
SECURITY.mdinstead of opening a public issue.
Contributions are welcome across:
- bug fixes
- new features
- performance improvements
- tests
- documentation updates
- Fork the repository and clone your fork.
- Create a branch from
develop-2.x(this is the default development branch for Ferron 2 work). - Make your changes in focused commits.
You can build with the provided helpers (make on Unix-like systems, build.ps1 on Windows).
Run from the repository root.
cargo test --workspace --verbose
cargo fmt --all -- --check
cargo clippy --workspace -- -D warningsmake build-dev CARGO_FINAL_EXTRA_ARGS="--verbose"Windows:
$env:CARGO_FINAL_EXTRA_ARGS = "--verbose"
powershell -ExecutionPolicy Bypass .\build.ps1 BuildDevAfter build-dev:
FERRON="$(pwd)/target/debug/ferron" bash smoketest/smoketest.shWindows:
$env:FERRON = $PWD.Path + '\target\debug\ferron'
powershell -ExecutionPolicy Bypass .\smoketest\smoketest.ps1If your change affects runtime behavior, networking, modules, container packaging, or configuration parsing, also run:
docker rm -f $(docker ps -a --filter ancestor=e2e-test-ferron -q)
docker image rm e2e-test-ferron
cd e2e
cargo testIf behavior, configuration, CLI output, installation steps, or defaults change, update documentation in the same pull request.
- Main docs live in
docs/. - If you add or rename doc pages, update
docs/docLinks.ts. - Keep examples and command snippets aligned with the code and scripts in this repository.
Optional local docs linting/formatting (same tool used in CI):
rumdl fmt docs
rumdl check --fix docs- Open pull requests against
develop-2.xby default. - Use a clear title and description explaining:
- what changed
- why it changed
- how you validated it (commands you ran)
- Link related issues when applicable.
- Keep pull requests focused; separate unrelated changes.
- Ensure CI is green before requesting review.
- Keep commit messages descriptive and scoped.
- Avoid mixing refactors, behavior changes, and docs-only updates in one commit when possible.
- Open a GitHub issue for bugs or feature requests.
- For general help and discussion, use the project community channels listed on the Ferron website.