Skip to main content

Command

Enum Command 

Source
pub enum Command {
Show 33 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, all_tools: 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, wal: WalDisposition, 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), Disable(ToggleOpts), Enable(ToggleOpts), Doctor(DoctorOpts), Recall { db_dir: Option<PathBuf>, auto: bool, }, Brief { db_dir: Option<PathBuf>, auto: bool, }, Sync { db_dir: Option<PathBuf>, auto: bool, json: bool, }, Intercept { db_dir: Option<PathBuf>, auto: bool, }, Touch { db_dir: Option<PathBuf>, auto: bool, files: Vec<PathBuf>, }, Map { db_dir: PathBuf, json: bool, }, Explore { db_dir: PathBuf, target: String, depth: Depth, full: bool, }, Context { db_dir: PathBuf, target: String, full: bool, }, 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

§db_dir: PathBuf
§demo_if_empty: bool

If 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.

§token: Option<String>

Bearer token for non-loopback binds. Loopback may omit it.

§role_tokens: Vec<(String, String)>

Role-bound tokens from --role-token TOKEN:ROLE flags. Merged with MUSHROOMDB_ROLE_TOKENS env var in main before serving.

§snapshot_every: Option<Duration>

Periodic snapshot cadence. None = off (default).

§tls_cert: Option<PathBuf>

Path to PEM certificate for native TLS (--tls-cert). Requires --tls-key.

§tls_key: Option<PathBuf>

Path to PEM private key for native TLS (--tls-key). Requires --tls-cert.

§

Mcp

Fields

§db_dir: Option<PathBuf>

None with auto set: resolved by resolve_auto_db at run time.

§auto: bool
§all_tools: bool

--all-tools: advertise all twenty-five tools in tools/list rather than the surface the store chose — three on a store ingest-git built, eleven on any other. The rest are callable either way; the flag decides what is listed, and what every session pays for before its first turn.

§

Stats

Fields

§db_dir: PathBuf
§

Demo

Fields

§db_dir: PathBuf
§

AsOf

Read-only view of the database at a past commit.

Fields

§db_dir: PathBuf
§commit: u64

0-based WAL commit index to replay up to (inclusive).

§query: Option<String>

Optional Cypher read query to execute against the as-of view.

§

Suggest

Profile the database and suggest linking rules with estimated edge counts.

Fields

§db_dir: PathBuf
§

Algo

Run a graph algorithm (pagerank / wcc / degree / communities).

Fields

§db_dir: PathBuf
§subcmd: AlgoSubcmd
§top: usize

Print only the top N results (0 = all).

§dir: AlgoDir

Edge direction for degree/pagerank (out / in / both). Ignored by wcc and communities, which are always undirected.

§edge_types: Vec<String>

communities only: restrict to the union of these edge types (--edge-type T, repeatable). Empty means all edge types.

§weight_prop: Option<String>

communities only: edge property to read as the edge weight.

§min_weight: Option<f64>

communities only: drop edges below this resolved weight.

§

Query

Run a Cypher query (read or write).

Fields

§db_dir: PathBuf
§cypher: String

Positional after dir (remaining args joined), or --query.

§

Snapshot

Write snapshot.bin. The WAL is archived unless told otherwise.

Fields

§db_dir: PathBuf
§retention: Option<u32>

Keep the newest N archives; prune oldest at snapshot time. None = unlimited. Applies only when the WAL is archived.

§

SchemaApply

Apply a JSON schema file idempotently (schema apply <db-dir> <schema.json>).

Fields

§db_dir: PathBuf
§schema_file: PathBuf
§

Migrate

Migrate an old-format snapshot to the current version and keep .bak.

Fields

§db_dir: PathBuf
§

Verify

Validate CRC32 integrity of every section in the V8 snapshot.

Fields

§db_dir: PathBuf
§

Backup

Create a consistent, verified copy of the database directory.

Fields

§db_dir: PathBuf
§dest: PathBuf
§

Export

Export all nodes, edges, and rules to a destination directory.

Fields

§db_dir: PathBuf
§dest: PathBuf
§

IngestGit

Build (or incrementally sync) a graph of a git repository.

Fields

§db_dir: PathBuf
§

Install(InstallOpts)

Wire the /mushroom skill and MCP server into Claude Code / Cursor.

§

Uninstall(InstallOpts)

Undo what install wrote (manifest-driven).

§

Disable(ToggleOpts)

Turn an install off without removing it: strips the hooks, the MCP entry and the git hook blocks; the skill, the store and the .gitignore line stay.

§

Enable(ToggleOpts)

Turn a disabled install back on, re-deriving the dynamic parts (the resolved command, the hooks) rather than replaying stale ones.

§

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.

Fields

§db_dir: Option<PathBuf>
§auto: bool
§

Brief

Body of the Claude Code SessionStart hook: prints the repository in one byte-stable block, which the host caches for the whole session.

Fields

§db_dir: Option<PathBuf>
§auto: bool
§

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

§db_dir: Option<PathBuf>

None with auto set: resolved by resolve_auto_db at run time. The git hooks install writes use that form, so a git worktree of the repository syncs its own store rather than the one belonging to the checkout the install was typed in.

§auto: bool
§json: bool

Print the report as one JSON object instead of the plain digest. The MCP sync tool runs this binary and reads that object, so the counts reach an assistant without being parsed back out of prose.

§

Intercept

Body of the optional PreToolUse hook: reads a Grep tool call on stdin and exits 2 with a message when the pattern names a symbol the graph holds, so the search becomes an explore. Off unless install --intercept-grep wired it.

Fields

§db_dir: Option<PathBuf>
§auto: bool
§

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.

Fields

§db_dir: Option<PathBuf>
§auto: bool
§files: Vec<PathBuf>
§

Map

Summarise the repository the store was built from: clusters, key files, owners, what is hot, and what is worth asking about.

Fields

§db_dir: PathBuf
§json: bool

Print the core_api::repograph::RepoMap as JSON instead of the rendered digest.

§

Explore

One target from as many sides as the depth asks for: the graph’s context, impact and owners answers behind one command.

Fields

§db_dir: PathBuf
§target: String
§depth: Depth
§full: bool

Quote the body from the working tree, as context --full does.

§

Context

Everything the graph knows about one file or symbol.

Fields

§db_dir: PathBuf
§target: String
§full: bool

Quote the body from the working tree. Without it the answer names where the body is and leaves the reading to the caller.

§

Impact

What else the named files reach: co-change partners, importers, and the symbols other files call.

Fields

§db_dir: PathBuf
§files: Vec<String>
§

Owners

Who has written a file, and when.

Fields

§db_dir: PathBuf
§path: String
§

Why

What links two nodes, with the evidence behind each link.

Fields

§db_dir: PathBuf
§

Version

§

Help

Trait Implementations§

Source§

impl Clone for Command

Source§

fn clone(&self) -> Command

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Command

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Command

Source§

fn eq(&self, other: &Command) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Command

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.