npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

sidermem-cli

v1.3.5

Published

SiderMem CLI - Manage your personal knowledge base from the terminal

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.md Title Mapping: Fixed a critical cloud overwrite bug where multi-file project skills named SKILL.md would collide in the same namespace. SKILL.md files are now intelligently remapped to use their outermost parent skill directory name as the memory title.

Quick Start

Installation

npm install -g sidermem-cli

Authentication

sidermem login

The 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 logout

Commands

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 memories

sidermem 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 array

Options:

| 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. Press Ctrl+D (EOF) to submit what you typed, or Ctrl+C to 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.md

Mode 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 --json

The 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 5f2a

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