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

@techarm/mnemo

v0.4.0

Published

Mnemo - Knowledge memory system for Claude Code

Readme

Mnemo

Knowledge memory system for Claude Code.

Mnemo helps Claude Code remember what you've learned across sessions. It stores lessons, pitfalls, patterns, and solutions in a local vector database, then automatically injects relevant knowledge into future sessions via semantic search.

Features

  • Semantic Knowledge Search — Hybrid search (vector + full-text) with Reciprocal Rank Fusion scoring
  • 7 Knowledge Types — lesson, pitfall, pattern, preference, solution, reference, procedure
  • Confidence Decay — Old, unused knowledge fades naturally; frequently accessed knowledge stays fresh
  • CLAUDE.md Auto-Generation — Automatically maintains project context from stored knowledge
  • Session Continuity — Session logs bridge context between conversations
  • User Profile — Persistent preferences (tools, coding style, communication language)
  • Setup Procedures — Save and replay tool setup guides across projects
  • Obsidian Export — Export your knowledge base to an Obsidian vault with wikilinks and frontmatter
  • MCP + CLI — Use from Claude Code (MCP tools) or terminal (CLI commands)

Prerequisites

  • Node.js 18+
  • Ollama with nomic-embed-text model (for local embedding generation)

Install Ollama from ollama.com, then:

ollama pull nomic-embed-text

Installation

npm install -g @techarm/mnemo

Setup

Project Setup (recommended for first-time users)

Set up Mnemo for a single project. This configures MCP server, hooks, and skills within the project:

cd your-project
mnemo init

This will:

  • Add MCP server config to .mcp.json
  • Copy hook scripts to .claude/hooks/
  • Configure hooks in .claude/settings.json
  • Copy skill definitions to .claude/skills/
  • Register the project in Mnemo

Global Setup (all projects)

Set up Mnemo globally so it's available in all Claude Code sessions:

mnemo init --global

This will:

  • Register MCP server globally via claude mcp add --scope user
  • Copy hook scripts to ~/.mnemo/hooks/
  • Configure hooks in ~/.claude/settings.json

Note: Skills (slash commands) are project-specific. Run mnemo init in each project to add skills.

Removing Configuration

Remove Mnemo configuration from the current project:

mnemo cleanup

Remove global configuration:

mnemo cleanup --global

Note: cleanup removes configuration only. Your knowledge data in ~/.mnemo/ is preserved.

CLI Usage

Record Knowledge

# Record a lesson
mnemo learn "Always use explicit limit with LanceDB" \
  -t pitfall \
  -c "LanceDB query().toArray() defaults to limit(10). Use .limit(N) explicitly." \
  -p my-project \
  --tags lancedb,query

# Record a solution
mnemo learn "Fix Docker build cache" \
  -t solution \
  -c "Add --no-cache flag to docker build when dependencies change."

Search Knowledge

# Semantic search
mnemo recall "database query performance"

# Filter by type
mnemo recall "setup" -t procedure

# Filter by project
mnemo recall "authentication" -p my-app

Project Management

# Register a project
mnemo project register my-app --path /path/to/my-app --lang typescript

# Detect project from current directory
mnemo project detect

# List projects
mnemo project list

Task Management

# Add a task
mnemo task add "Implement user auth" -p my-app --priority high

# List tasks
mnemo task list -p my-app

# Mark task as done
mnemo task done <task-id>

Other Commands

# View statistics
mnemo stats

# Generate CLAUDE.md for a project
mnemo generate my-project

# Export to Markdown
mnemo export

# Export to Obsidian vault
mnemo export -f obsidian

# Manage user profile
mnemo profile show
mnemo profile set tools linter oxlint
mnemo profile set communication language Japanese

# Backup & restore
mnemo backup create
mnemo backup restore <path>

# Session logs
mnemo session list -p my-project
mnemo session recent -p my-project

MCP Tools (Claude Code)

When connected as an MCP server, Claude Code can use these tools:

| Tool | Description | |------|-------------| | mnemo_learn | Store knowledge (lesson, pitfall, pattern, solution, reference, procedure) | | mnemo_recall | Search knowledge with hybrid semantic + keyword search | | mnemo_project | Register, list, detect projects | | mnemo_task | Manage tasks (add, list, update, done) | | mnemo_doc | Create/update project specification documents | | mnemo_generate | Generate CLAUDE.md from stored knowledge | | mnemo_profile | Manage user profile (identity, tools, coding style) | | mnemo_backup | Create/restore backups | | mnemo_stats | View knowledge base statistics | | mnemo_export | Export to Markdown or Obsidian | | mnemo_delete | Delete knowledge, tasks, or projects |

Skills (Slash Commands)

| Skill | Command | Description | |-------|---------|-------------| | Learn | /learn | Extract and record knowledge from the current session | | Research | /research | Research a topic via web/Context7, save as reference | | Setup | /setup | Research tool setup, organize into procedure, save for reuse | | Session Review | /session-review | End-of-session review: extract learnings, update tasks & docs | | Doc | /doc | Create or update project specification documents | | Code Reuse Finder | /code-reuse-finder | Scan for code duplication and reuse opportunities |

Configuration

Mnemo uses environment variables for configuration:

| Variable | Default | Description | |----------|---------|-------------| | MNEMO_DATA_DIR | ~/.mnemo | Data storage directory (LanceDB, sessions, profile) | | OLLAMA_URL | http://localhost:11434 | Ollama API endpoint | | EMBED_MODEL | nomic-embed-text | Embedding model name |

Architecture

User Input
    |
    +-- MCP Tools --> src/index.ts --> Core Layer --> LanceDB (~/.mnemo/)
    |                                    |
    +-- CLI ---------> bin/mnemo.ts --> Core Layer --> Ollama (embeddings)
                                         |
                                         +--> .claude/docs/ (project specs)
                                         +--> ~/.mnemo/profile.json (user profile)
                                         +--> ~/.mnemo/sessions/ (session logs)

Stack: TypeScript, LanceDB (embedded vector DB), Ollama (local embeddings), MCP SDK

License

MIT