# .cargo/config.toml — aliases de desenvolvimento local.
#
# Cada alias é atômico (cargo não suporta multi-step nativamente).
# Para rodar toda a pipeline local, use:
#   cargo check-all && cargo lint && cargo fmt --check && cargo docs && cargo test-all
#
# Cada alias espelha um job do `.github/workflows/ci.yml`.

[alias]
# Gate 1 — compilação.
check-all = "check --all-targets --all-features --locked"

# Gate 2 — lint com warnings como erro.
lint = "clippy --all-targets --all-features --locked -- -D warnings"

# Gate 4 — doc com warnings como erro (requer RUSTDOCFLAGS no shell).
docs = "doc --no-deps --all-features --locked"

# Gate 5 — toda a suíte de testes (unit + integration + doctests).
test-all = "test --all-features --locked"

# Gate 6 — cobertura textual.
cov = "llvm-cov --all-features --summary-only"

# Gate 6 (alternativo) — cobertura com relatório HTML navegável.
cov-html = "llvm-cov --all-features --html"

# Gate 9 — ensaio de publicação sem upload ao crates.io.
publish-check = "publish --dry-run --locked"

# Gate 10 — lista arquivos que entrariam no tarball.
pkg-list = "package --list"
