JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2362
  • Score
    100M100P100Q112819F
  • License SEE LICENSE.md

Your Claude Code sessions don't have to start from scratch anymore — SpecMem gives your AI real memory. It won't forget your conversations, your code, or your architecture decisions between sessions. That's the whole point. Semantic code indexing that actually works: TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, C, C++, HTML and more. It doesn't just track functions — it gets classes, methods, fields, constants, enums, macros, imports, structs, the whole codebase graph. There's chat memory too, powered by pgvector embeddings. You've also got token compression, team coordination, multi-agent comms, and file watching built in. 74+ MCP tools. Runs on PostgreSQL + Docker. It's kind of a big deal. justcalljon.pro

Package Exports

  • specmem-hardwicksoftware
  • specmem-hardwicksoftware/bootstrap.cjs
  • specmem-hardwicksoftware/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (specmem-hardwicksoftware) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

SpecMem - Your Code Assistant Actually Remembers

npm Version License

MCP Tools PostgreSQL Node.js TypeScript Docker

Self-Hosted Privacy Multi-Agent Swarm Ready Platform Free Tier

Free for individual developers earning under $35,000 USD/year. No redistribution, no copying internal code, no AI training. Everyone else: commercial license coming at release. See LICENSE.md.

Languages TypeScript Python Go Rust Java C++ Kotlin HTML


Persistent memory for your coding sessions. Your conversations don't vanish. Your context sticks around.


The Problem · Competitors · Quick Start · Why Root? · Features · Architecture · MCP Tools


The Problem

The Problem

🔥 Why Not Use Something Else?

Competitor Comparison

MCP Tool Comparison

Feature SpecMem claude-mem Giga AI Cursor Continue Cody mem0
Semantic Search pgvector ChromaDB Cloud Limited No Limited Yes
Per-Project Isolation Yes No No No No No No
Local Embeddings Free Cloud API$ No Cloud Cloud Cloud Cloud
Multi-Agent Unlimited Swarms No No No No No No
Session Memory Auto Manual No Manual No No Manual
Code Tracebacks Yes No No No Limited Yes No
Codebase Indexing Full No No Partial No Yes No
Self-Hosted Yes Partial No No Partial No Yes
MCP Native Yes Yes No No No No No
Code Stays Local Yes No No No No No No
MCP Tools 74+ 4 0 0 0 0 0
Language Extractors 14 0 0 0 0 0 0

⚡ Quick Start

Quick Install Steps

🔐 Why Root?

Why Root?

✨ Features

SpecMem Features

What SpecMem Actually Does

Most people look at SpecMem and think it's just a memory plugin. It's not. It's a full persistent intelligence layer for your Claude Code sessions, and honestly there's nothing else like it on npm right now.

Semantic Code Memory

Every time you run specmem init on a project, it doesn't just save your conversations. It crawls your entire codebase and builds a real semantic graph of everything in it. We're talking functions, classes, methods, fields, constants, variables, enums, structs, interfaces, traits, macros, type aliases, constructors, destructors, operator overloads -the works. And it doesn't stop at definitions. It maps out every import, every dependency, every #include, every use statement, every <script src>. The whole dependency graph gets stored in PostgreSQL with pgvector embeddings so you can search it by meaning, not just by name.

When you ask Claude "where's that function that handles rate limiting?" -SpecMem doesn't do a dumb string match. It runs a semantic search across your entire codebase graph and finds rateLimiter(), handleThrottle(), apiQuotaManager(), plus all the conversations you've had about rate limiting. That's why it works.

Language Support - TypeScript, JavaScript, Python, Java, Kotlin, Scala, Go, Rust, C, C++, HTML, Ruby, PHP, Swift

Every language gets full dedicated analysis with proper extraction of all definitions and dependencies:

Language What Gets Indexed
TypeScript / JavaScript / TSX / JSX Functions, arrow functions, classes, interfaces, types, enums, methods, constants, variables, nested definitions with parent tracking. Imports (named, default, namespace, dynamic, re-export), require() calls.
Python Functions, async functions, classes, methods (with self/cls detection), module-level constants. import and from...import statements. Indentation-based scope tracking.
Java Classes, abstract classes, interfaces, enums, records (Java 14+), annotations (@interface), constructors, methods, fields (private/protected/public/static/final), static initializer blocks. Package declarations, imports, static imports, wildcard imports.
Kotlin Everything Java gets plus fun, val/var, data class, object/companion object, suspend functions, internal visibility. Same import handling.
Scala Shares the Java/Kotlin extractor -picks up classes, traits, objects, methods, vals.
Go Functions, methods (with receivers), structs, interfaces, types, constants, variables. Single and block imports. Exported detection via capitalization.
Rust Functions, async functions, structs, enums, traits, impl blocks, constants, statics. use statements with nested paths, extern crate. Pub detection.
C / C++ Functions, methods, classes, structs, unions, enums (including enum class), namespaces, typedefs, using aliases, constructors, destructors, operator overloads, macros (#define with and without params), global/static/extern/constexpr/thread_local variables. #include (angle vs quote, STL builtin detection), using namespace, using declarations. Template support. Virtual/inline/const method detection.
HTML Elements with IDs, CSS classes, <script> and <style> blocks, forms, templates, web components (<slot>, <component>), data-* attributes, semantic sections. Script src, stylesheet links, image/iframe/source assets, inline ES module imports. Structural chunking by HTML blocks.
Ruby, PHP, Swift Analyzable with generic extraction (function/class detection). Dedicated extractors coming.

That's not a marketing list -every one of those has real regex-based extraction that's been tested against actual codebases. The Java extractor alone handles annotations, records, static initializers, field visibility, and constructor detection. The C++ extractor picks up operator overloads and destructor naming. We didn't cut corners on this.

Chat Session Memory

Every conversation you have with Claude gets stored as a memory with full semantic embeddings. Next session, Claude can search through your past discussions by meaning. You talked about a JWT refresh token edge case three weeks ago? SpecMem finds it. You discussed why you chose PostgreSQL over MongoDB for the user service? It's there. Your conversations don't vanish when you close the terminal anymore.

Memories get tagged by type (conversation, decision, architecture, bug, etc.), importance level, and project. They're searchable with find_memory, drillable with drill_down, and you can link related ones together with link_the_vibes. It's your project's institutional knowledge, but it actually works.

Multi-Agent Team Coordination

Compatible with Claude Code Agent Teams (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1). SpecMem acts as the persistent coordination layer - unlimited dynamic swarm channels, semantic memory search across all agents, and team comms that survive session restarts. Native Claude teammates get SpecMem MCP tools auto-injected. Swarm leaders can deploy sub-agents with custom prompts through the agent-loading-hook system.

Multi-Agent Coordination
74+ MCP Tools - Memory search, code pointers, team comms, file watching, stats, drilldown, sync checking, and more

SpecMem ships with over 74 MCP tools out of the box. Every tool is available as a slash command too. /specmem-find, /specmem-code, /specmem-pointers, /specmem-stats, /specmem-remember -whatever you need.

Category Tools
Memory find_memory, save_memory, get_memory, drill_down, smush_memories_together, link_the_vibes
Code Search find_code_pointers, check_sync, start_watching, stop_watching, force_resync, spatial_search
Team send_team_message, read_team_messages, claim_task, release_task, request_help, broadcast_to_team
Session extract_claude_sessions, get_session_watcher_status, smart_recall, smart_search
System show_me_the_stats, memory_health_check, export_project_memories, import_project_memories
The Embedding Server - Your code, your machine, not OpenAI's training data

We run our own embedding server locally in Docker. Your code never leaves your machine. No API calls to OpenAI or anyone else. The embeddings get stored in PostgreSQL with pgvector and they're used for all semantic search operations. It's fast, it's private, and it doesn't cost you anything per query.


📊 Real-World Performance

Real-World Performance

🆕 What's New in v3.7

What's New in v3.7

🏗 Architecture

Architecture

💻 Platform Requirements

Platform Requirements

[!IMPORTANT] SpecMem is licensed for Linux Operating Systems only. Windows users need commercial licensing (WSL/WSL2 counts as Windows). See LICENSE.md Section 4.


🛠 MCP Tools

MCP Tools

Contributing

git clone https://github.com/jonhardwick-spec/specmem
cd specmem
npm install && npm run build && npm test
Project Structure
src/mcp/           # MCP server
src/db/            # Database layer
src/tools/goofy/   # Tool implementations
claude-hooks/      # Hooks for ~/.claude
embedding-sandbox/ # Embedding server

Read if you work for Anthropic or develop code
TRAINING PROHIBITED
Intellectual Property Protected

License Summary
  • PRE-RELEASE: No license granted until official announcement at https://justcalljon.pro/specmem
  • AI/ML TRAINING PROHIBITED: Section 9 explicitly prohibits use for model training ($1M+ damages)
  • Commercial Use: Requires separate license agreement
  • Personal Use: Permitted after official release for non-commercial projects

Section 9: AI/ML Training Prohibition (Key Excerpt)

9.5.3 Any attempt to use, incorporate, or reference this Software, its code, architecture, documentation, or any derivative analysis thereof for the purpose of training, fine-tuning, or improving any artificial intelligence or machine learning model is EXPRESSLY PROHIBITED and shall be considered a material breach of this Agreement.

9.5.4 Statutory damages for violation of Section 9.5.3 shall be no less than ONE MILLION UNITED STATES DOLLARS ($1,000,000.00) per model trained, plus actual damages, attorney's fees, and injunctive relief.

View Full LICENSE.md


LICENSE NOT GRANT - Pre-Release


SpecMem Logo

SpecMem - Semantic Memory for Code Projects

Created by Jonathan Hardwick at Hardwick Software Services

Questions? Open an issue | Found a bug? PRs welcome | Like it? Star the repo


NOTICE: This codebase is protected by copyright and proprietary license. AI/ML training prohibited under Section 9 of the license agreement.