{
"$schema": "https://cmn.dev/schemas/v1/spore-core.json",
"id": "agent-first-data",
"name": "Agent-First Data",
"version": "0.25.0",
"domain": "agentfirstkit.com",
"key": "ed25519.BwbSzqdDYyMN1pPW5snRk3afrJAovHn8aueMvDpfNKVw",
"synopsis": "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.",
"intent": [
"Encode all semantic information in the field name itself so agents parse structured data without external schemas, documentation, or type systems — _ms/_s/_epoch_ms for time, _msats/_sats/_usd_cents for currency, _bytes for size, _secret for auto-redaction",
"Define a JSONL output protocol where every line carries a kind discriminator (result, error, progress, or log), a payload field named after that kind, and a trace object for execution context (duration, token counts, cost, data source) — same structure whether the transport is CLI stdout, HTTP response body, MCP tool result, or SSE stream",
"Provide three output formats via --output json|yaml|plain: JSON is the canonical lossless format, YAML preserves structure with quoted strings and --- separators, plain applies suffix-driven human formatting (epoch_ms → RFC 3339, _bytes → human-readable, _secret → ***, _ms ≥ 1000 → seconds)"
],
"license": "MIT",
"mutations": [
"Add redact_argv across Rust, Go, Python, and TypeScript so a CLI can record its own invocation without writing a credential to its log, redacting by flag name and never by scanning free text",
"Remove the --json alias from every pre-parser: --output is the only format selector AFDATA recognizes, and --json now belongs to the application instead of being hijacked with its value misread as a subcommand",
"Fix top-level help resolution when a binary is named after one of its own subcommands, and give the version and help pre-parsers one shared rule for argv[0]",
"List every placeholder of a multi-value positional in the structured help model, so the model no longer contradicts its own usage line",
"Keep structured help usage on a single line, enforced by a schema pattern and by the help validator rather than left to each implementation",
"Honor hide_default_value and omit empty strings in structured help, so JSON and YAML never disclose what plain help withholds",
"Stop publishing build artifacts: untrack a stray Go example binary and Python bytecode, ignore them at the source, and fail the gate when any binary file is tracked in the package",
"Leave -h and -V to the application: the AFDATA help and version handlers claim no short flags, which is what keeps those letters available for a tool that owes its users -h for --host"
],
"bonds": [],
"tree": {
"algorithm": "blob_tree_blake3_nfc",
"exclude_names": [
".git",
".cmn"
],
"follow_rules": [
".gitignore"
]
}
}