rllvm 0.2.0

A tool to build whole-program LLVM bitcode files
Documentation
# Contributing to rllvm

Thanks for your interest in contributing! This guide covers the essentials.

## Development Setup

1. **Install Rust** (stable, edition 2024, MSRV 1.85):
   ```bash
   rustup update stable
   ```

2. **Install LLVM/Clang** (required for building and testing):
   - macOS: `brew install llvm`
   - Linux: `sudo apt install llvm llvm-dev clang libclang-dev`

3. **Build**:
   ```bash
   cargo build --verbose
   ```

## Code Style

CI enforces both `rustfmt` and `clippy`. Please run these before submitting:

```bash
cargo fmt --all                              # Auto-format
cargo fmt --all --check                      # Check formatting (what CI runs)
cargo clippy --all-targets -- -D warnings    # Lint
```

- Follow standard Rust naming conventions.
- Keep changes focused — avoid unrelated reformatting or refactoring in the same PR.

## Running Tests

```bash
cargo test --all --verbose
```

LLVM/Clang must be installed for the test suite to pass. Tests run on both Linux and macOS in CI.

## Pull Request Process

1. **Fork and branch** — create a feature branch from `main`.
2. **Make your changes** — keep commits small and well-described.
3. **Ensure CI passes** — format, clippy, tests, and `cargo audit` all run automatically.
4. **Open a PR against `main`** — describe what you changed and why.
5. **Respond to review feedback** — maintainers may request changes before merging.

## License

By contributing, you agree that your contributions will be licensed under the [Apache-2.0 license](LICENSE).