# devforge
## Build & Test
```bash
cargo build
cargo test
cargo clippy -- -D warnings
```
## Architecture
Library crate with `pub fn run()` entry point. Consumers create an xtask crate that depends on devforge and calls `devforge::run()` from main.
Modules:
- `config.rs` — Parse `devforge.toml` (serde + toml)
- `env.rs` — .env loading, file checks, tool checks
- `docker.rs` — compose up/down, health checks (cmd + url)
- `runner.rs` — mprocs launcher, hook execution, custom commands
## Conventions
- No async — synchronous with thread::sleep polling
- Conventional commits
- No Co-Authored-By lines