memstead-cli 0.7.0

Command-line interface for Memstead — query and mutate typed entity graphs from the shell. Default build produces the full `memstead` binary (multi-mem, git-backed); `--no-default-features` builds the lean folder-only surface.
Documentation
[package]
name = "memstead-cli"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Command-line interface for Memstead — query and mutate typed entity graphs from the shell. Default build produces the full `memstead` binary (multi-mem, git-backed); `--no-default-features` builds the lean folder-only surface."
readme = "README.md"
keywords = ["agent-memory", "cli", "knowledge-graph", "markdown", "agents"]
categories = ["command-line-utilities"]

[[bin]]
name = "memstead"
path = "src/main.rs"

[dependencies]
memstead-base.workspace = true
memstead-engine = { workspace = true, optional = true }
memstead-git-branch = { workspace = true, optional = true }
memstead-schema.workspace = true
clap.workspace = true
gix = { workspace = true, optional = true }
indexmap.workspace = true
semver.workspace = true
serde.workspace = true
serde_json.workspace = true
anyhow.workspace = true
thiserror.workspace = true
dirs.workspace = true
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] }
tempfile.workspace = true
toml = "1.1"
toml_edit.workspace = true
time = { version = "0.3", features = ["formatting", "parsing", "serde-well-known", "serde"] }
# Domain-authority publishing: generate a signing keypair and sign a publish.
ed25519-dalek = { version = "3", features = ["rand_core"] }
getrandom = { version = "0.4", features = ["sys_rng"] }
base64 = "0.22"
sha2.workspace = true

[dev-dependencies]
assert_cmd.workspace = true
axum = "0.8"
memstead-git-branch = { workspace = true, features = ["test-support"] }
predicates.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
zip.workspace = true

[features]
# `mem-repo` is the default: it pulls in the git-branch backend
# (`memstead-git-branch` + `gix`) and the full engine extension
# (`memstead-engine`), compiling the cfg-gated `CliEngine::MemRepo`
# variant plus the multi-mem / mem-repo lifecycle subcommands —
# yielding the full `memstead` binary. `--no-default-features` drops all
# of that, producing the lean folder-only surface whose `cli_engine()`
# rejects mem-repo workspaces with an actionable error. The lean build
# is a CI / wasm-adjacent config and dependency-hygiene guard, not a
# shipped product.
default = ["mem-repo"]
mem-repo = ["dep:memstead-git-branch", "dep:gix", "dep:memstead-engine"]

[lints]
workspace = true