Thank you for considering contributing to entropyfa.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/entropyfa-cli.git - Create a branch:
git checkout -b my-feature - Make your changes
- Run checks:
cargo fmt --all -- --check && cargo clippy --workspace -- -D warnings && cargo test --workspace - Commit and push
- Open a pull request
You need Rust stable (1.75+). Install via rustup.
cargo build --workspace
cargo test --workspace- Run
cargo fmtbefore committing - All clippy warnings must be resolved (
-D warnings) - All tests must pass
Reference data lives in engine/src/data/. Each domain has its own module with embedded constants sourced from IRS publications. When adding or updating data:
- Cite the IRS publication or authoritative source
- Include the tax year the data applies to
- Add tests that verify key values against the source document
For the current maintenance workflow, including the Claude Code / Codex prompt-pack flow, see docs/data-pipeline.md.
Compute logic lives in engine/src/compute/. CLI wiring lives in cli/src/commands/. Every compute command must:
- Accept input as JSON via
--json '<JSON>' - Produce machine-readable JSON envelopes on stdout
- Send any human-oriented dashboards or warnings to stderr
- Support
--schemato emit input schema for agent discovery
Open an issue on GitHub with:
- What you expected
- What happened
- Steps to reproduce
entropyfa --versionoutput
By contributing, you agree that your contributions will be licensed under the MIT OR Apache-2.0 license.