1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# dbmd-cli — the single `dbmd` binary.
#
# This crate is a THIN arg-parse / format wrapper. It owns NO toolkit logic:
# every subcommand parses its args, calls into `dbmd-core`, and formats the
# result (text by default, structured JSON under `--json`). All parsing, store
# walk, graph, validation, query, render, summary, index, and log behavior
# lives in `dbmd-core` — keep it that way (ripgrep precedent: the lib does the
# work, the binary is thin).
#
# Hard invariants enforced here:
# - Zero AI/LLM dependencies. clap + serde + dbmd-core, plus the embedded-
# ripgrep trio (grep + ignore + regex) that `dbmd search`'s free-text scan
# needs in-handler (plan Block 4) — never a bundled `rg`, never a shell-out.
# - No interactive prompts ever — flags only (agent-primary ergonomics).
# - Every dependency is permissive — MIT / Apache-2.0 / BSD-2/3-Clause+0BSD /
# Unlicense / MPL-2.0 / Zlib / Unicode-3.0 — and is recorded in
# /THIRD_PARTY_NOTICES. No GPL/AGPL/LGPL-static.
[]
= "dbmd-cli"
= true
= true
= true
= true
= true
= true
= "README.md"
= "The `dbmd` command-line tool for db.md — the open database in plain files. A thin wrapper over dbmd-core: validate, search, query, graph, write, index, and log over a db.md store. Zero AI dependencies."
# One binary, named `dbmd` (git / cargo / kubectl shape). The crate is
# `dbmd-cli`; the artifact the user installs is `dbmd`.
[[]]
= "dbmd"
= "src/main.rs"
[]
= { = "../dbmd-core", = "0.2.4" }
= { = true }
= { = true }
= { = true }
# `dbmd fm`/`dbmd log` build a `dbmd_core::LogEntry`, parse user RFC3339/date
# timestamps, and render frontmatter YAML scalars (`fm get`). chrono + serde_yml
# are the minimal glue for that — already `dbmd-core` deps, so MIT OR Apache-2.0
# is vetted; recorded in /THIRD_PARTY_NOTICES.
= { = true }
= { = true }
# `dbmd search`'s free-text step is an embedded-ripgrep scan run in the handler
# over the candidate set that `dbmd-core` (`query` + `graph`) already resolved.
# Plan Block 4 names these three explicitly; the same crates back `dbmd-core`,
# so licenses (MIT / Unlicense / Apache-2.0) are already vetted in
# /THIRD_PARTY_NOTICES.
= { = true }
= { = true }
= { = true }
[]
= { = true }
= { = true }
# Integration-test driver for the `dbmd` binary (spawn, assert exit code +
# stdout/stderr). Dev-only — never shipped in the binary. MIT OR Apache-2.0
# (transitive `predicates`, `bstr`, `doc-comment`); recorded in
# /THIRD_PARTY_NOTICES.
= { = true }