bulloak-foundry 0.8.0

A Solidity test generator based on the Branching Tree Technique.
# bulloak-foundry

`bulloak-foundry` is a Rust crate that serves as a backend for generating Foundry tests from `bulloak-syntax` Abstract Syntax Trees (ASTs). It provides functionality to scaffold Solidity test files and check existing tests against specifications.

## Features

- Generate `.t.sol` files with scaffolded Foundry tests from `bulloak-syntax` ASTs.
- Check existing Solidity test files against `.tree` specifications.
- Implement and enforce custom rules for test structure and content.
- Automatic fixing of certain rule violations.

## Usage

To use bulloak-foundry in your project, add it to your `Cargo.toml`:

```toml
[dependencies]
bulloak-foundry = "0.1.0"  # Replace with the actual version
```

### Scaffolding Tests

```rust
use bulloak_foundry::scaffold;

fn main() -> anyhow::Result<()> {
    let tree_spec = "Your .tree specification here";
    let foundry_test = scaffold::scaffold(tree_spec)?;

    // Write foundry_test to a .t.sol file

    Ok(())
}
```

## Violation Checking

`bulloak-foundry` includes a system for defining and checking rules against Solidity test files. Violations can be of different kinds, as defined in the `ViolationKind` enum.

## License

This project is licensed under either of:

- Apache License, Version 2.0, ([LICENSE-APACHE]LICENSE-APACHE or
  https://www.apache.org/licenses/LICENSE-2.0).
- MIT license ([LICENSE-MIT]LICENSE-MIT or
  https://opensource.org/licenses/MIT).