Skip to main content

Post-session knowledge crystallizer for AI coding agents

Project description

prism-mem

Every coding session leaves behind artifacts. Prism reads them and turns them into structured, reusable knowledge — automatically.

Prism is a post-session knowledge crystallizer for AI coding agents. It reads Claude Code session transcripts and git history, extracts semantic knowledge as triples, links them into a graph, and auto-regenerates the context files every agent reads at session start (CLAUDE.md, .cursorrules, AGENTS.md).

Quickstart

pip install prism-mem

# Configure your LLM provider (one-time setup)
prism config set provider anthropic
prism config set model claude-haiku-4-5-20251001
prism config set api-key <your-api-key>

# Run once after a coding session to extract knowledge and regenerate context files
prism crystallize --project /path/to/your/project

# Install the git hook so it runs automatically after every commit
prism hook install --project /path/to/your/project

# Add as an MCP server so agents can query the knowledge graph directly
claude mcp add prism -- prism serve --project /path/to/your/project

Configuration

Prism uses ~/.prism/config.toml to store your LLM provider settings. Set it up with:

prism config set provider anthropic        # or: openai, gemini, ollama, groq, mistral, ...
prism config set model claude-haiku-4-5-20251001
prism config set api-key <your-api-key>

prism config show                          # verify (api-key is masked)

The provider is validated against LiteLLM's provider list at set-time. Any provider LiteLLM supports works — Anthropic, OpenAI, Gemini, local Ollama models, etc. The model string is passed as provider/model to LiteLLM.

How it works

[git commit]
     │
     ▼
[1] INGEST
    Read ~/.claude/projects/<id>/<session>.jsonl  +  git diff HEAD~1 HEAD
     │
     ▼
[2] EXTRACT
    kg-gen → NetworkX graph of (subject, predicate, object) triples
     │
     ▼
[3] STORE + LINK
    Embed triples (sentence-transformers, local)
    Store in SQLite at ~/.prism/projects/<hash>/graph.db
    Connect related triples by cosine similarity (numpy)
    Flag contradicted facts as stale
     │
     ▼
[4] GENERATE
    Score triples (recency + confidence)
    Top 30 → LLM (via LiteLLM) → write CLAUDE.md / .cursorrules / AGENTS.md

Commands

Command What it does
prism config set <key> <value> Set provider, model, or api-key
prism config show Show current config (api-key masked)
prism crystallize --project . Full pipeline: ingest → extract → store → generate
prism hook install --project . Write .git/hooks/post-commit to run crystallize after every commit
prism hook uninstall --project . Remove the hook
prism serve --project . Start MCP server in stdio mode
prism ui --project . Open graph UI at http://localhost:7823

MCP tools

When added as an MCP server, Prism exposes three tools to any agent:

Tool What it does
get_context() Returns the current CLAUDE.md for the project
query_knowledge(question) Semantic search over the triple graph, returns top-5 matches
crystallize(session_id?) Triggers the full pipeline in the background

Graph UI

prism ui opens a local browser UI at http://localhost:7823:

  • /constitution — current CLAUDE.md with a Regenerate button
  • /memory — searchable table of all triples (active + stale)
  • /graph — interactive force-directed knowledge graph

Storage

All data is local. Nothing leaves your machine except calls to your configured LLM provider.

~/.prism/
├── config.toml             ← provider, model, api-key
└── projects/
    └── <project-hash>/
        └── graph.db        ← SQLite, one file per project

Requirements

  • Python 3.13+
  • Any LiteLLM-compatible LLM provider (configured via prism config set)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prism_mem-0.1.3.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prism_mem-0.1.3-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file prism_mem-0.1.3.tar.gz.

File metadata

  • Download URL: prism_mem-0.1.3.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for prism_mem-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9fc1f94e3c74b79500ff27892fda3cbcc82df4b97c0ce68def3b0089189cdd29
MD5 466e22d1e29f6b73089f8b3c831eb41b
BLAKE2b-256 93daf8b6675d736df1d408763e5956143b037b33a297556ef582e7f2d1397d58

See more details on using hashes here.

File details

Details for the file prism_mem-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: prism_mem-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for prism_mem-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 41c32fc32f5d0762b47512eb916d9101e539c643ea5b762a0044c4cffb11de7b
MD5 efec7872f13dae470648be9a586b7654
BLAKE2b-256 df6da1209594b4119cfe33798657079b864cfb7839fc45dd628b10d496d33d98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page