Mindcache Memory CLI
Use this skill when the task is about the real Rust memory runtime in mindcache-memory/.
Do not use the public website demo as if it were the real runtime. The demo is only a guided simulation.
Project Boundary
The runtime lives here:
mindcache-memory/
Treat it as a separate project from the company website.
Default Workflow
Prefer the installed binary when available:
mindcache-memory <command> ...
If the binary is not installed yet, the most direct installation path today is:
source "$HOME/.cargo/env"
cd mindcache-memory
cargo install --path crates/memory-cli --bin mindcache-memory --force
If you are working from source, operate inside:
cd mindcache-memory
Preferred workflow:
- initialize a SQLite database
- import source material
- inspect atom nodes or source inputs
- run daily digest
- inspect daily writeups and topics
Key Commands
Initialize
mindcache-memory init ./demo.sqlite3
Import text
mindcache-memory import text "Met with a friend in Singapore to discuss a memory runtime." ./demo.sqlite3
This classifies the input as snippet, resource, or writeup, then extracts atom memory nodes:
facteventplan
Import markdown
mindcache-memory import markdown ./notes/example.md ./demo.sqlite3
Import calendar
mindcache-memory import calendar ./calendar/sample.ics ./demo.sqlite3
Search exact
mindcache-memory search exact "memory runtime" ./demo.sqlite3 --limit 5
Search semantic
mindcache-memory search semantic "topic recall" ./demo.sqlite3 --limit 5
Search topic tree
mindcache-memory search topics "memory runtime" ./demo.sqlite3 --limit 5
Inspect atom surface
mindcache-memory inspect list graph ./demo.sqlite3 --json
Inspect atom nodes
First list nodes:
mindcache-memory inspect list nodes ./demo.sqlite3
Then inspect one atom node:
mindcache-memory inspect node <node_id> ./demo.sqlite3
Run digest
mindcache-memory digest daily ./demo.sqlite3
This now performs:
- daily writeup generation
- atom reconciliation (
keep / add / modify / delete) - topic-tree maintenance
Inspect daily writeups
mindcache-memory inspect list daily-writeups ./demo.sqlite3 --json
Inspect topics
mindcache-memory inspect list topics ./demo.sqlite3
Topic search is the primary retrieval structure. The graph/atom surface is secondary and mainly useful for debugging, inspection, and leaf-level detail.
Working Rules
- Prefer the installed binary over
cargo runwhen it exists. - If no binary is installed yet, fall back to building from source.
- Prefer the CLI over inventing custom scripts unless a script is clearly needed.
- Treat the SQLite file as session state for the current task.
- Prefer topic-first retrieval over graph-first retrieval.
- When checking digest output after a run, inspect both
daily-writeupsandtopics. - Be explicit about which database path you are using.
What To Avoid
- Do not assume the website demo is runtime-backed.
- Do not describe the Rust runtime as multi-user or cloud-ready.
- Do not require
cargo runif a compiled binary is already available. - Do not mix website storage with
mindcache-memoryruntime state unless the user explicitly wants that integration. - Do not describe the current runtime as entity-first or graph-first.
- Do not describe
resourceorwriteupas atom memory nodes.
Good Default Pattern
When the user wants to try the runtime locally:
- create
./demo.sqlite3 - import one or two text snippets
- inspect the extracted atom nodes
- run daily digest
- inspect the resulting daily writeups and topic tree
This gives the cleanest first contact with the system.
Fallback Developer Path
If the binary is not installed yet, build from source:
cd mindcache-memory
cargo build --release
./target/release/mindcache-memory init ./demo.sqlite3