Metadata-Version: 2.4
Name: gra-context
Version: 0.1.1
Summary: A map of your codebase that coding agents query for context, served to Claude Code over MCP.
Author: GRA
License: Copyright (c) 2026 GRA. All rights reserved.
        
        This software (the gra-context package) is proprietary. You may install and run
        it unmodified to use GRA's service with a valid GRA API key. You may not copy,
        modify, merge, publish, distribute, sublicense or sell copies of it, or use it
        to build a competing product, without GRA's written permission.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
        FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL GRA BE LIABLE
        FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM THE SOFTWARE OR ITS USE.
        
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: langgraph<2,>=1.2
Requires-Dist: langchain<2,>=1.4
Requires-Dist: langchain-core<2,>=1.6
Requires-Dist: pydantic<3,>=2.12
Requires-Dist: numpy>=1.26
Requires-Dist: httpx>=0.28
Requires-Dist: mcp<3,>=2.3
Requires-Dist: fastembed>=0.9
Provides-Extra: huggingface
Requires-Dist: langchain-huggingface>=1.2; extra == "huggingface"
Requires-Dist: sentence-transformers>=5.1; extra == "huggingface"
Provides-Extra: test
Requires-Dist: pytest>=8.4; extra == "test"
Dynamic: license-file

# gra-context

GRA gives Claude Code a map of your Python codebase, so it finds the code it
needs and understands how the parts connect before it starts changing things.

Claude asks GRA a question in plain words ("where are redirects followed?") and
gets back the relevant functions and classes, each with a one-line explanation,
its file and line range, how it connects to the rest, and the tests that cover
it. GRA keeps the map current as files are edited, and remembers what earlier
sessions did in the same code.

## Install

```
pipx install gra-context          # or: uv tool install gra-context
cd /path/to/your/codebase
gra setup
```

The first time, `gra setup` asks for your email and saves a free key on your
computer. Then start a new Claude Code session in that codebase. The first
time, GRA builds the map in the background; after that it follows your edits
by itself. Run `gra setup` once in each codebase you want GRA in (your key is
remembered). On another computer, run `gra key` on this one and `gra setup --api-key <your key>` on the new one.

- `--scope project` turns GRA on for everyone working in the repository, through `.mcp.json`.
- `--claude-md` adds a line to `CLAUDE.md` telling Claude to start from GRA.

## Your code and data

The map, the explanations and the work history are stored on your machine
(`~/.local/share/gra/`), never inside your codebase. To write explanations,
GRA sends one function's code at a time to GRA's service, which does not store
it. Searching the map runs locally.

## Commands

```
gra setup [--api-key K]          turn GRA on for the current codebase
gra key                          show your saved key, to use it on another computer
gra query "question" [--repo R]  what Claude gets back for a question
gra show <name> [repo]           a symbol, its explanation and its connections
gra install [repo]               build the map now, plus a git post-commit hook
```

Requires Python 3.10+ and a GRA key (free, from `gra setup`). Proprietary software; see LICENSE.
