[package]
name = "aristo"
description = "Aristo SDK — annotation macros and verification (meta-crate)."
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme = "../../README.md"
keywords.workspace = true
rust-version.workspace = true
authors.workspace = true
documentation = "https://docs.rs/aristo"
categories = ["development-tools", "development-tools::testing"]

[lints]
workspace = true

[package.metadata.docs.rs]
# Render with all features on so docs.rs picks up the rustdoc-injection
# behaviour of `aristo_doc` alongside the default `aristo_check` path.
all-features = true

[features]
default = ["aristo_check"]
# Pass-through to aristo-macros/aristo_check; see that crate for rationale.
aristo_check = ["aristo-macros/aristo_check"]
# Pass-through to aristo-macros/aristo_doc — gates rustdoc injection of
# `.aristo/doc/<id-safe>.md` content above each annotated item. Slice 30.
aristo_doc = ["aristo-macros/aristo_doc"]
# aristo_instrument: gates the Phase 2 `aristo::instrument` module —
# proc-macro re-exports (`Inspect`, `expose_pub`, `yield_point`) plus
# the inline runtime hook (`set_hook`, `__yield_point`) that the
# `yield_point!` expansion calls. Independent from aristo_check /
# aristo_doc. Off by default; see docs/ROADMAP.md Phase 2.
aristo_instrument = ["aristo-macros/aristo_instrument"]

[dependencies]
aristo-macros = { workspace = true }
