Skip to content

clue2solve/memoria

Repository files navigation

nenapu (ನೆನಪು)

Persistent memory system for Claude Code — built on Neon Postgres.

Domain Purpose
nenapu.app Production API + landing
nenapu.studio Memory Observatory UI
nenapu.dev Redirects to nenapu.app

What it does

  • Stores Claude Code decisions, conventions, and constraints across projects
  • Surfaces them automatically at session start via the memoria-agent MCP server
  • Blocks contradictory writes before they corrupt memory
  • Provides the Memory Observatory UI for curation and health monitoring
  • Decays confidence on unused memories nightly

Getting started

1. Clone and install

git clone https://github.com/clue2solve/memoria
cd memoria
npm install

2. Set up Neon

  1. Create a project at neon.tech
  2. Copy the connection string
  3. Create branches: main, preview, dev

3. Configure environment

cp .env.example .env.local
# Fill in all values

4. Run migrations

npm run db:generate
npm run db:migrate

5. Start dev server

npm run dev          # Next.js on localhost:47832
npm run mcp:dev      # MCP server in watch mode

6. Configure Claude Code

Add to your ~/.claude/settings.json:

{
  "mcpServers": {
    "memoria": {
      "command": "npx",
      "args": ["@clue2solve/memoria-agent"],
      "env": {
        "MEMORIA_API_URL": "http://localhost:47832/api",
        "MEMORIA_API_KEY": "<your MEMORIA_API_KEY>"
      }
    }
  }
}

7. Import existing CLAUDE.md files

# Via MCP in Claude Code:
# Upload your CLAUDE.md content to /api/import
# Review parsed memories in Observatory UI at localhost:47832/observatory
# Click Seed to write approved memories

Slash commands

Command Purpose
/build-spec Plan a feature spec + save decisions to memory
/review-memory Audit dormant and flagged memories

MCP tools available to Claude Code

Tool Purpose
get_memory Load context at session start
save_memory Persist a new decision (blocks on contradiction)
confirm_memory Mark a memory as still accurate
flag_memory Mark for review in Observatory
search_memory Find memories by keyword
review_dormant List stale memories

Deploy

# Deploy to clue2app (initial), then nenapu.app (custom domain)
git push origin main

# Publish MCP server to npm
npm run mcp:build
npm publish --access public

Architecture

Claude Code
    ↓ MCP stdio
memoria-agent (npm)
    ↓ REST + API key
nenapu.app (Next.js API routes)
    ↓ Drizzle ORM
Neon Postgres
    ↑ REST + session auth
Memory Observatory (React UI)

About

Persistent memory system for Claude Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors