sidermem-cli
v1.3.5
Published
SiderMem CLI - Manage your personal knowledge base from the terminal
Maintainers
Readme
SiderMem CLI
SiderMem CLI is a command-line interface for managing your AI context and personal memories. Sync, search, create, and access your cloud-stored memories directly from your terminal.
What's New in 1.3.5
- Interactive Wiki Visualizer: Browse Wiki relationships in a terminal tree with keyboard navigation, expand/collapse, cycle markers, and search via
sidermem vis-wiki --interactive. - Wiki Graph Output: Keep using ASCII, Mermaid, and JSON formats for scripts, exports, and documentation.
What's New in 1.3.0
- Aligned Absolute Path Namespaces: Namespaces now align to the full local absolute project path (e.g.,
/Users/foo/workspace/myapp) instead of encoded folder names, eliminating collisions and allowing different local workflows to share the same cloud memory partition. - Smart
SKILL.mdTitle Mapping: Fixed a critical cloud overwrite bug where multi-file project skills namedSKILL.mdwould collide in the same namespace.SKILL.mdfiles are now intelligently remapped to use their outermost parent skill directory name as the memory title.
Quick Start
Installation
npm install -g sidermem-cliAuthentication
sidermem loginThe CLI will prompt for your email address, send a 6-digit one-time code to that inbox, then ask you to paste it in. Your session is stored locally and auto-refreshed — you only need to log in once.
? Enter your email address: [email protected]
✔ OTP sent to [email protected]
? Enter the 6-digit code from your email: 482019
✔ Successfully logged in!To sign out and clear the local session:
sidermem logoutCommands
sidermem status
Shows your plan tier, memory quota, and how many memories you have used.
SIDERMEM ACCOUNT STATUS
CLI Version: 1.3.5
Email: [email protected]
Plan Tier: FREE
Usage: 4 / 10 memoriessidermem list
Lists your most recent memories, newest first.
sidermem list # last 20 memories
sidermem list -l 50 # last 50 memories
sidermem list -s "meeting" # search by keyword (matches title and content)
sidermem list --json # machine-readable JSON arrayOptions:
| Flag | Description |
| :--- | :--- |
| -l, --limit <n> | Max number of results (default: 20) |
| -s, --search <term> | Case-insensitive search across title and full content |
| --json | Output as a JSON array: [{uuid, title, created_at}] |
sidermem create
Creates a new memory. There are three mutually exclusive modes:
Mode 1 — Pipe content via stdin (most common for scripting)
This is the primary way to create memories non-interactively. You must supply --title when piping; without it the CLI will error.
# Pipe the output of any command
cat notes.txt | sidermem create --title "Project Notes"
# Pipe a multi-line heredoc directly in the terminal
sidermem create --title "Quick idea" << 'EOF'
Some longer text here.
Can span multiple lines.
EOF
# Capture command output
git log --oneline -20 | sidermem create --title "Recent commits"
# Pipe from clipboard (macOS)
pbpaste | sidermem create --title "Clipboard snapshot"Note: If you run
sidermem create --title "..."with nothing piped and no other flags, the CLI will hang waiting for input on stdin. PressCtrl+D(EOF) to submit what you typed, orCtrl+Cto abort.
Mode 2 — Read a local file
The memory title defaults to the filename. You cannot combine --file with --title or --content.
sidermem create --file ./report.txt
sidermem create --file ~/docs/architecture.mdMode 3 — Inline content via flags
Pass both --title and --content as flags in one shot. Best for short, single-line content.
sidermem create --title "API endpoint" --content "POST /v1/memories — requires Bearer token"Options:
| Flag | Description |
| :--- | :--- |
| -f, --file <path> | Read content from a local file (title = filename) |
| -t, --title <string> | Memory title (required for stdin and inline modes) |
| -c, --content <string> | Inline content string |
| --json | Output result as JSON: {uuid, title} |
Limits: Content is capped at 128 KB. If you exceed your plan's memory quota, the upload is rejected with a quota_exceeded error.
sidermem show <id>
Prints the full content of a memory. Accepts a full UUID or a partial prefix (see Partial UUID Matching below).
sidermem show 5f2a
sidermem show 5f2a3b1c-dead-beef-... # full UUID also works
sidermem show 5f2a --json # output {uuid, title, content}sidermem info <id>
Prints metadata for a memory, including its AI-generated summary if one has been computed.
sidermem info 5f2a
sidermem info 5f2a --json # {uuid, title, source_type, characters, updated_at, summary} MEMORY INFO
Title: Project Notes
UUID: 5f2a3b1c-...
Type: manual
Characters: 1,402
Last Updated: 5/19/2026, 10:30:00 AM
AI Summary:
A set of notes from the Q2 planning session covering...Wiki
SiderMem Wiki pages are automatically generated entity and concept pages derived from your synced memories. After create, update, or delete, Wiki refresh runs in the background, so allow a moment for new pages to appear.
sidermem list-wiki
Lists Wiki pages by most recently updated first. Use --search to search page titles and summaries.
sidermem list-wiki
sidermem list-wiki --limit 50
sidermem list-wiki --search "Supabase"
sidermem list-wiki --jsonThe JSON form is an array of {slug, title, summary, updated_at} objects:
sidermem list-wiki --json | jq -r '.[].slug'| Flag | Description |
| :--- | :--- |
| -l, --limit <n> | Max number of pages (default: 20) |
| -s, --search <term> | Search titles and summaries |
| --json | Output a machine-readable JSON array |
sidermem show-wiki <slug>
Displays a Wiki page's full content, summary, related pages, and source memories.
sidermem show-wiki supabase
sidermem show-wiki supabase --json
sidermem show-wiki supabase --json | jq -r '.content'The JSON form contains slug, title, summary, content, related_page_slugs, and sources. Each item in sources contains a source memory's uuid and title.
sidermem vis-wiki
Visualizes relationships between Wiki pages. ASCII output is printed by default; Mermaid is useful for documentation and JSON is useful for scripts.
# Print the complete graph as an ASCII tree
sidermem vis-wiki
# Start from one page and limit traversal depth
sidermem vis-wiki --root personal-knowledge-wiki --depth 2
# Export a graph for documentation or automation
sidermem vis-wiki --format mermaid > wiki-graph.mmd
sidermem vis-wiki --format json > wiki-graph.json
# Browse the graph interactively in a terminal
sidermem vis-wiki --interactive| Flag | Description |
| :--- | :--- |
| -r, --root <slug> | Start from one Wiki page (default: all pages) |
| -d, --depth <n> | Limit relationship depth to a non-negative integer |
| -f, --format <format> | ascii, mermaid, or json (default: ascii) |
| -i, --interactive | Open the interactive terminal tree viewer; requires a TTY |
The interactive viewer supports arrow keys or j/k to navigate, arrow keys or h/l to collapse and expand, Enter or Space to toggle, / to search, Esc to clear a search, and q to quit. Cycles and repeated references are marked in the graph rather than traversed indefinitely.
sidermem update <id>
Updates the title, content, or both. Accepts partial UUIDs.
sidermem update 5f2a --title "New title"
sidermem update 5f2a --content "Replacement content"
sidermem update 5f2a --title "Renamed" --content "Also new body"At least one of --title or --content must be provided.
sidermem delete <id>
Soft-deletes a memory (it is flagged inactive and hidden from all queries, but not permanently erased). Prompts for confirmation by default.
sidermem delete 5f2a # interactive confirmation prompt
sidermem delete 5f2a --yes # skip confirmation (useful in scripts)Partial UUID Matching
Every command that takes a <uuid> argument also accepts a prefix of the UUID — as few as 4 characters is usually enough to be unambiguous.
# Full UUID
sidermem show 5f2a3b1c-1234-5678-abcd-ef0123456789
# Equivalent — just the first 4 characters
sidermem show 5f2aIf your prefix matches more than one memory, the CLI prints all matches and asks you to be more specific:
✖ Ambiguous ID "5f": 2 matches found.
Please be more specific. Matches:
- 5f2a3b1c-... (Project Notes)
- 5fe901d2-... (Old draft)JSON Output
Every read command supports --json for scripting and piping into other tools:
# List all memories and extract UUIDs with jq
sidermem list --json | jq '.[].uuid'
# Get just the content of a memory
sidermem show 5f2a --json | jq -r '.content'
# Create and capture the new UUID
NEW_ID=$(sidermem create --title "Note" --content "..." --json | jq -r '.uuid')
echo "Created: $NEW_ID"Command Reference
| Command | Description |
| :--- | :--- |
| sidermem login | Authenticate via email OTP |
| sidermem logout | Clear local session |
| sidermem status | Show plan tier and memory usage |
| sidermem list | List memories (-l limit, -s search, --json) |
| sidermem show <id> | Print full content (partial UUID, --json) |
| sidermem info <id> | Show metadata and AI summary (partial UUID, --json) |
| sidermem list-wiki | List generated Wiki pages (-l limit, -s search, --json) |
| sidermem show-wiki <slug> | Show a Wiki page and its related memories (--json) |
| sidermem vis-wiki | Visualize Wiki relationships as ASCII, Mermaid, JSON, or an interactive tree |
| sidermem create | Create from --file, --content, or stdin + --title |
| sidermem update <id> | Update --title and/or --content (partial UUID) |
| sidermem delete <id> | Soft delete, with confirmation (--yes to skip) |
