Skip to main content

griot

CI

Local-first RAG over your git repositories. griot indexes source code, git history (commits, tags, branches) and code-platform data (PRs/MRs, releases, issues) into an embedded vector store — no database server, no Docker — and lets you search it or ask questions about it, from the CLI or from an AI agent via MCP.

Named after the West African storyteller who keeps a community's history: griot remembers what your repositories have been through.

Highlights

  • Fully local storage — vectors live in an in-process Qdrant Edge shard under your XDG data dir. No services to run.
  • Free by default — the default embedding profile (jina-code) runs locally via ONNX. Paid profiles (OpenAI, Gemini) are opt-in.
  • Spend circuit breaker — daily ceiling + 5-minute velocity ceiling on every paid call, with atomic on-disk state. The openai and deepseek chat profiles refuse to run until you set their price (griot config set openai-chat-price <USD per 1M tokens>, or deepseek-chat-price), so the breaker always tracks real cost.
  • Five platforms — GitHub, GitLab (incl. self-hosted), Bitbucket Cloud, Azure DevOps and Gitea/Forgejo adapters for PRs/releases/issues, detected from each repo's origin remote. What has run against a real platform: Platforms.
  • MCP server — expose search/status/quality tools to Claude Code, opencode or any MCP client. Indexing via agent is off by default and path-allowlisted.
  • Security-hardened — API keys never in URLs or logs, 0600/0700 file modes on everything it writes, no credential ever follows a redirect. See SECURITY.md.

Status: v0.6.0, beta. One maintainer, used daily by its author. The CLI surface and the on-disk layout may still change between 0.x releases.

Installation

pipx install griot-rag    # the distribution is griot-rag; the command is griot
griot update              # later: upgrade griot to the newest release (shows the command, asks first)

Requires Python ≥ 3.10 and git. The first run of a local profile downloads its ONNX model from Hugging Face (~1.1 GB for the default jina-code) and caches it under your data directory; griot profiles list shows each profile's RAM tier against the RAM you actually have.

Installing from a checkout, what the first run downloads, and what griot update does: Getting started.

Quickstart

# 1. register the repos you want to index (asks you to confirm, in a terminal)
griot repos add ~/code/my-app

# 2. see what would be indexed (never spends anything)
griot index all --repo my-app --dry-run

# 3. index for real (default profile is local & free)
griot index all --repo my-app

# 4. search (no LLM: by meaning and exact words; --mode keyword for a hash or an error code)
griot search "where is the retry logic for the payment API?"

# 5. ask (search + LLM synthesis — requires a chat provider, see Documentation below)
griot ask "how does authentication work in this codebase?" --show-sources

When something does not work, run griot doctor: every check at once, reads only. See Getting started.

Documentation

Guide
Getting started Installing, a first index and search, griot stats, griot doctor and griot update
Configuration Embedding and chat profiles, every environment variable, where things live, griot config
Credentials griot auth, the OS keychain and .env, griot auth migrate, and credentials in indexed content
Search Search modes, filters, grouping, whether the index is behind, and griot ask
Quality The golden set, griot quality-check and griot golden-set review
MCP server Registering the server, the skills and agent for Claude Code and opencode, and running several sessions
Platforms The five platform adapters, their tokens, and what has run against a real platform
All documentation Every document: security, the roadmap, contributing, the changelog, and the maintainers' own

Development

uv sync --locked --extra dev   # the versions CI runs (or: pip install -e ".[dev]")
uv run pytest -q               # no test ever calls a real API or needs credentials

License

Apache-2.0

Metadata

Release files for griot-rag 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for griot-rag 0.6.0
File Size Uploaded
griot_rag-0.6.0.tar.gz 895.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for griot-rag 0.6.0
File Interpreter ABI Platform
griot_rag-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / griot_rag-0.6.0.tar.gz

Download URL griot_rag-0.6.0.tar.gz
Size 895.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0c63255852d2834ef46766c2299d0b34d5b21e8c624259e6387efa8feef261c1
BLAKE2b-256 checksum
How to use checksums
e490a354c7c5c964cd9620aed3ef7cb38d18950601feb9ad6764852f467421bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / griot_rag-0.6.0-py3-none-any.whl

Download URL griot_rag-0.6.0-py3-none-any.whl
Size 384.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d46063ef63395ebbae09a0c48f7350e4f42e0d33081b7de2fb7d1f97e37517ee
BLAKE2b-256 checksum
How to use checksums
7217a19e40e5e9628e3ce2727075196797a661459b810a72db79efeb9e9744d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page