Structured Context Storage

Store your project knowledge in a structured SQLite database that is organically used during conversations with your AI. The more you store in Engrams, the less you need to provide in each prompt.

How it works

Every significant fact about your project — a database choice, a coding convention, an architectural pattern — can be stored in Engrams. Your AI retrieves these facts automatically when they become relevant, grounding its responses in your actual project decisions rather than generic assumptions.

Example

You: "Implement a new /medications endpoint that looks for a
      patient_id in the request body and returns their meds.
      Start with authorized GET and POST only."

AI:  Found relevant decisions:
     Decision #23: PostgreSQL is our primary database
     Decision #24: All operations written with SQLAlchemy
     Decision #7:  JWT token authentication

     I'll extract the authenticated user from the request body
     for POST operations. The INSERT and SELECT will use SQLAlchemy.

Product Context vs Active Context

TypeWhat it storesHow often it changes
Product Context Project goals, tech stack, architecture overview, key features Rarely — on major pivots
Active Context Current focus, open questions, recent changes, next steps Every session

CLI Commands Reference

  • engrams product-context get / update — Manage high-level project goals and tech stack.
  • engrams active-context get / update — Track current sprint focus and session goals.
  • engrams decision log / search / list / get / delete / consolidate — Record and find architectural decisions (ADRs). Checks for similar decisions by default; merges duplicates via consolidate.
  • engrams progress log / list / get / delete — Log tasks and track hierarchical subtasks. Supports --check-similar to prevent duplicates.
  • engrams pattern log / list / get / delete — Standardize and retrieve codebase patterns and design conventions.
  • engrams custom set / get / search / delete — Store arbitrary configuration or key-value pairs.

See the full CLI Reference for arguments and options.