graphiti AGENTS.md

Repository guidance for Graphiti, a software library that stores and searches connected information as a graph. It describes the code layout, supported database systems, development commands and testing practices.

In plain words
What is it for?
Use it to find relevant Graphiti modules, install the development environment, run tests, work with database drivers or integrations, and follow the project’s coding and validation conventions.
Why use it?
It gives contributors a map of a large codebase with separate areas for graph data, search, database drivers, services and integrations. This reduces guesswork when changing code or running checks.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/getzep/graphiti/agents-md
Clone the repo
git clone --depth 1 https://github.com/getzep/graphiti

Made for: Codex, OpenCode.

Per session 1,656 This file is loaded in full into every session.
When invoked 1,656 The same file — it is already loaded in full.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01656 $0.01656
Opus 5 $0.00828 $0.00828
Sonnet 5 $0.00331 $0.00331
Haiku 4.5 $0.00166 $0.00166

Measured 2d ago against content hash 068e33c30b0c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

graphiti AGENTS.md scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

Docker has no systemd here — start the daemon manually once per VM: `sudo dockerd > /tmp/dockerd.log 2>&1 &`. Then start the DBs on the host network exactly as CI does (see `.github/workflows/unit_tests.yml`):
AGENTS.md · 46 lines

How it starts

The opening of the file, as written. The whole thing — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Repository Guidelines

Project Structure & Module Organization

Graphiti's core library lives under graphiti_core/, split into domain modules such as nodes.py, edges.py, models/, and search/ for retrieval pipelines. Database drivers in graphiti_core/driver/ support Neo4j, FalkorDB, and Neptune (plus a deprecated Kuzu driver). Additional core modules include cross_encoder/ (reranking via BGE, OpenAI, and Gemini), telemetry/ (OpenTelemetry tracing), namespaces/ (namespace management), and migrations/ (database migrations). Service adapters and API glue reside in server/graph_service/, while the MCP integration lives in mcp_server/ (with its own src/, tests/, config/, and docker/ subdirectories). Shared assets sit in images/ and examples/. Tests cover the core package via tests/, with configuration in conftest.py, pytest.ini, and Docker compose files for optional services. Specifications live in spec/ and type signatures in signatures/. Tooling manifests live at the repo root, including pyproject.toml, Makefile, and deployment compose files.

Build, Test, and Development Commands

  • make install: install the dev environment (uv sync --extra dev).
  • make format: run ruff to sort imports and apply the canonical formatter.
  • make lint: execute ruff plus pyright type checks against graphiti_core.
  • make test: run unit tests only, excluding integration tests and disabling non-Neo4j drivers (DISABLE_FALKORDB=1 DISABLE_KUZU=1 DISABLE_NEPTUNE=1 uv run pytest -m "not integration").
  • make check: run format, lint, and test in sequence.
  • uv run pytest tests/path/test_file.py: target a specific module or test selection.
  • docker-compose -f docker-compose.test.yml up: provision local graph/search dependencies for integration flows.

Coding Style & Naming Conventions

Python code uses 4-space indentation, 100-character lines, and prefers single quotes as configured in pyproject.toml. Modules, files, and functions stay snake_case; Pydantic models in graphiti_core/models use PascalCase with explicit type hints. Keep side-effectful code inside drivers or adapters (graphiti_core/driver, graphiti_core/cross_encoder, graphiti_core/utils) and rely on pure helpers elsewhere. Run make format before committing to normalize imports and docstring formatting.

Read the full file on GitHub · 46 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 46 lines · 1,656 tokens per session scan B 068e33c30b0c

Subscribe to this mod's changes

graphiti AGENTS.md is an instructions file published in the GitHub repository getzep/graphiti (30,424 stars, last pushed 3d ago), licensed Apache-2.0. It adds 1,656 tokens to every session, about $0.0083 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.