agent-first-data 0.17.3

A naming convention that lets AI agents understand your data without being told what it means.
Documentation
[package]
name = "agent-first-data"
version = "0.17.3"
edition = "2024"
description = "A naming convention that lets AI agents understand your data without being told what it means."
license = "MIT"
repository = "https://github.com/agentfirstkit/agent-first-data"
readme = "README.md"

[lib]
path = "rust/src/lib.rs"

[[bin]]
name = "afdata"
path = "cli/src/main.rs"
required-features = ["cli"]

[[example]]
name = "agent_cli"
path = "rust/examples/agent_cli.rs"
required-features = ["cli-help", "cli-help-markdown"]

[[example]]
name = "afdata_bench"
path = "rust/examples/afdata_bench.rs"

[features]
# Batteries included by default, for both the binary and the library:
# `cargo install agent-first-data` gets the full CLI (skill management, markdown
# help, stream redirection) and `cargo add agent-first-data` gets every helper
# including tracing. Consumers that want only the core formatting/redaction/
# protocol surface opt out with `default-features = false`.
default = ["cli", "tracing", "cli-help-markdown", "skill-admin", "stream-redirect"]
cli = ["dep:clap"]
tracing = ["dep:tracing", "dep:tracing-subscriber"]
cli-help = ["dep:clap"]
cli-help-markdown = ["cli-help", "dep:clap-markdown"]
skill = ["dep:noyalib"]
skill-admin = ["skill"]
stream-redirect = ["dep:libc"]

[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
chrono = "0.4"
url = "2"
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter", "registry"], optional = true }
clap = { version = "4", features = ["derive"], optional = true }
clap-markdown = { version = "0.1.5", optional = true }
libc = { version = "0.2", optional = true }
noyalib = { version = "0.0.15", optional = true }

[dev-dependencies]
clap = { version = "4", features = ["derive"] }
clap-markdown = "0.1.5"

[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
print_stdout = "deny"
print_stderr = "deny"