cargo-tribute 0.7.0

Generate a REUSE-style LICENSES/ folder and third-party attribution from a Cargo dependency tree.
# Contributing

Thanks for your interest in cargo-tribute.

## Development

```
cargo build
cargo test                     # unit tests + end-to-end tests
cargo clippy --all-targets     # must be clean
cargo fmt
```

Run the tool against a real tree while developing:

```
cargo run -- --manifest-path /path/to/some/Cargo.toml
```

## Allowing a license

License and exception texts come from the `spdx` crate, so there are no text files to add. To allow a license out of the box, add its SPDX id to `DEFAULT_ACCEPTED` (`src/config.rs`); the text resolves automatically. Per project, users can add it to `accepted` in `tribute.toml` instead.

## Code layout

- `src/main.rs` -- CLI args and the `run()` orchestration
- `src/config.rs` -- tribute.toml: accepted list, clarify/exception entries, output paths
- `src/policy.rs` -- SPDX expression evaluation against the accepted set
- `src/harvest.rs` -- copyright lines and NOTICE bodies from the crate sources
- `src/output.rs` -- rendering (THIRD-PARTY.md, json, text, cyclonedx) and the `--check` staleness scan
- `src/audit.rs` -- `--audit`: declared licenses vs the license files crates ship

Unit tests live in each module's `tests` submodule; the end-to-end tests in `tests/cli.rs`.

## License resolution

`choose`/`combine` (`src/policy.rs`) evaluate the SPDX expression in postfix over an accepted-license set. When you touch them, add a case to that module's tests.

## Pull requests

- Keep `cargo fmt` and `cargo clippy --all-targets` clean.
- One focused change per pull request.

## License

By contributing, you agree that your contributions are dual licensed under [MIT](LICENSE-MIT) and [Apache-2.0](LICENSE-APACHE), matching the project.