[package]
edition = "2024"
name = "agent-first-data"
version = "0.24.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A naming convention that lets AI agents understand your data without being told what it means, plus a CLI and library for reading and safely editing structured JSON, TOML, YAML, dotenv, and INI documents."
readme = "README.md"
license = "MIT"
repository = "https://github.com/agentfirstkit/agent-first-data"
[features]
cli = ["dep:clap"]
cli-help = ["dep:clap"]
cli-help-markdown = ["cli-help"]
default = [
"cli",
"tracing",
"cli-help-markdown",
"skill-admin",
"stream-redirect",
"yaml",
"toml",
"dotenv",
"ini",
]
dotenv = []
ini = []
schema = []
skill = ["dep:noyalib"]
skill-admin = ["skill"]
stream-redirect = ["dep:libc"]
toml = [
"dep:toml",
"dep:toml_edit",
]
tracing = [
"dep:tracing",
"dep:tracing-subscriber",
]
yaml = ["dep:noyalib"]
[lib]
name = "agent_first_data"
path = "rust/src/lib.rs"
[[bin]]
name = "afdata"
path = "cli/src/main.rs"
required-features = ["cli"]
[[example]]
name = "afdata_bench"
path = "rust/examples/afdata_bench.rs"
[[example]]
name = "agent_cli"
path = "rust/examples/agent_cli.rs"
required-features = [
"cli-help",
"cli-help-markdown",
]
[[test]]
name = "cli_document"
path = "tests/cli_document.rs"
[[test]]
name = "document_e2e"
path = "tests/document_e2e.rs"
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.noyalib]
version = "0.0.17"
features = ["lossless-u64"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["arbitrary_precision"]
[dependencies.toml]
version = "1"
optional = true
[dependencies.toml_edit]
version = "0.25"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"registry",
]
optional = true
[dependencies.url]
version = "2"
[dev-dependencies.clap]
version = "4"
features = ["derive"]
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
expect_used = "deny"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
unwrap_used = "deny"