pub enum Command {
Show 28 variants
Serve {
db_dir: PathBuf,
addr: SocketAddr,
ui: ServeUi,
demo_if_empty: bool,
token: Option<String>,
role_tokens: Vec<(String, String)>,
snapshot_every: Option<Duration>,
tls_cert: Option<PathBuf>,
tls_key: Option<PathBuf>,
},
Mcp {
db_dir: Option<PathBuf>,
auto: bool,
},
Stats {
db_dir: PathBuf,
},
Demo {
db_dir: PathBuf,
},
AsOf {
db_dir: PathBuf,
commit: u64,
query: Option<String>,
},
Suggest {
db_dir: PathBuf,
},
Algo {
db_dir: PathBuf,
subcmd: AlgoSubcmd,
top: usize,
dir: AlgoDir,
edge_types: Vec<String>,
weight_prop: Option<String>,
min_weight: Option<f64>,
},
Query {
db_dir: PathBuf,
cypher: String,
},
Snapshot {
db_dir: PathBuf,
keep_wal: bool,
archive_wal: bool,
retention: Option<u32>,
},
SchemaApply {
db_dir: PathBuf,
schema_file: PathBuf,
},
Migrate {
db_dir: PathBuf,
},
Verify {
db_dir: PathBuf,
},
Backup {
db_dir: PathBuf,
dest: PathBuf,
},
Export {
db_dir: PathBuf,
dest: PathBuf,
format: ExportFormat,
},
IngestGit {
db_dir: PathBuf,
opts: IngestGitOpts,
},
Install(InstallOpts),
Uninstall(InstallOpts),
Doctor(DoctorOpts),
Recall {
db_dir: Option<PathBuf>,
auto: bool,
},
Sync {
db_dir: PathBuf,
json: bool,
},
Touch {
db_dir: Option<PathBuf>,
auto: bool,
files: Vec<PathBuf>,
},
Map {
db_dir: PathBuf,
json: bool,
},
Context {
db_dir: PathBuf,
target: String,
},
Impact {
db_dir: PathBuf,
files: Vec<String>,
},
Owners {
db_dir: PathBuf,
path: String,
},
Why {
db_dir: PathBuf,
a: String,
b: String,
},
Version,
Help,
}Expand description
Parsed mushroomdb invocation.
No Eq derive: Algo { min_weight: Option<f64>, .. } carries a float.
Variants§
Serve
Fields
addr: SocketAddrdemo_if_empty: boolIf the db dir is missing or empty, run run_demo before serving.
Docker’s default CMD uses this so a fresh volume is ready on first boot.
Mcp
Fields
db_dir: Option<PathBuf>None with auto set: resolved by resolve_auto_db at run time.
Stats
Demo
AsOf
Read-only view of the database at a past commit.
Fields
Suggest
Profile the database and suggest linking rules with estimated edge counts.
Algo
Run a graph algorithm (pagerank / wcc / degree / communities).
Fields
subcmd: AlgoSubcmddir: AlgoDirEdge direction for degree/pagerank (out / in / both).
Ignored by wcc and communities, which are always undirected.
Query
Run a Cypher query (read or write).
Snapshot
Write snapshot.bin (default truncates WAL unless --keep-wal).
Fields
SchemaApply
Apply a JSON schema file idempotently (schema apply <db-dir> <schema.json>).
Migrate
Migrate an old-format snapshot to the current version and keep .bak.
Verify
Validate CRC32 integrity of every section in the V8 snapshot.
Backup
Create a consistent, verified copy of the database directory.
Export
Export all nodes, edges, and rules to a destination directory.
IngestGit
Build (or incrementally sync) a graph of a git repository.
Install(InstallOpts)
Wire the /mushroom skill and MCP server into Claude Code / Cursor.
Uninstall(InstallOpts)
Undo what install wrote (manifest-driven).
Doctor(DoctorOpts)
Verify an install end to end: config, store, hooks, and a real MCP handshake.
Recall
Body of the Claude Code UserPromptSubmit hook: reads a prompt payload on stdin, prints related graph facts on stdout.
Sync
Bring the store up to date with the repository the GitSync marker
names: the commits since the marker, then the dirty working tree.
Fields
Touch
Re-extract named files only. Body of the PostToolUse hook, which reads the paths off a payload on stdin when none are given on the command line.
Map
Summarise the repository the store was built from: clusters, key files, owners, what is hot, and what is worth asking about.
Fields
json: boolPrint the core_api::repograph::RepoMap as JSON instead of the
rendered digest.
Context
Everything the graph knows about one file or symbol.
Impact
What else the named files reach: co-change partners, importers, and the symbols other files call.
Owners
Who has written a file, and when.
Why
What links two nodes, with the evidence behind each link.
Version
Help
Trait Implementations§
impl StructuralPartialEq for Command
Auto Trait Implementations§
impl Freeze for Command
impl RefUnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnsafeUnpin for Command
impl UnwindSafe for Command
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.