# Contributing to loop-agent-sdk
## Local development
```bash
cargo build --all-features
cargo test --all-features
cargo clippy --all-features --all-targets -- -D warnings
cargo doc --no-deps --all-features
```
## Pre-publish gate
Before bumping the version and publishing, verify:
```bash
cargo fmt --all -- --check
cargo clippy --all-features --all-targets -- -D warnings
cargo test --all-features
cargo doc --no-deps --all-features
cargo publish --dry-run
```
All five must succeed cleanly. `cargo publish --dry-run` will flag any missing Cargo.toml metadata (readme, license, etc.) that would reject on crates.io.
## Feature flags
See `README.md#feature-flags` for the full matrix. Do not break the default feature (`full` = `action` + `perception` + `state`) — a user running `cargo add loop-agent-sdk` should get a useful SDK without opt-ins.
## Versioning
This crate follows [Semantic Versioning](https://semver.org). Pre-1.0:
- `0.x.y` — minor bumps for API-breaking changes (allowed pre-1.0)
- `0.x.0` for new features that don't break API
- `0.0.y` for bug fixes only
Post-1.0 will follow standard SemVer.
## License
By contributing you agree your contribution is MIT-licensed. See `LICENSE`.