Metadata-Version: 2.4
Name: outrage
Version: 1.3.1
Summary: A key-addressed retrieval system for coding agents
Project-URL: Homepage, https://github.com/ZandevOxford/outrage
Project-URL: Issues, https://github.com/ZandevOxford/outrage/issues
Author-email: John M Reynolds <zandev@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.12
Requires-Dist: filelock>=3.12
Requires-Dist: httpx2>=2.12
Requires-Dist: mcp>=1.2
Requires-Dist: pydantic>=2
Requires-Dist: tomlkit>=0.13
Provides-Extra: all
Requires-Dist: duckdb>=1.5; extra == 'all'
Requires-Dist: markitdown[docx,pdf,pptx,xlsx]<0.2,>=0.1.7; extra == 'all'
Requires-Dist: psycopg[binary]>=3.2; extra == 'all'
Requires-Dist: pyarrow>=18; extra == 'all'
Provides-Extra: dev
Requires-Dist: build>=1; extra == 'dev'
Requires-Dist: hatchling; extra == 'dev'
Requires-Dist: omnidep>=0.4; extra == 'dev'
Requires-Dist: pytest-postgresql>=6; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: pyyaml>=6; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: twine>=5; extra == 'dev'
Provides-Extra: docs
Requires-Dist: furo; extra == 'docs'
Requires-Dist: sphinx-markdown-builder>=0.6.11; extra == 'docs'
Requires-Dist: sphinx>=8; extra == 'docs'
Provides-Extra: documents
Requires-Dist: markitdown[docx,pdf,pptx,xlsx]<0.2,>=0.1.7; extra == 'documents'
Provides-Extra: parquet
Requires-Dist: duckdb>=1.5; extra == 'parquet'
Requires-Dist: pyarrow>=18; extra == 'parquet'
Provides-Extra: postgres
Requires-Dist: psycopg[binary]>=3.2; extra == 'postgres'
Description-Content-Type: text/markdown

# Outrage

A simple RAG (Retrieval-Augmented Generation) system for LLMs, designed to just
work with minimal setup, and provide a memory that interoperates between
coding harnesses such as Claude Code, Codex, Cursor, and Copilot CLI.

## Features

* Simple to get started with - built in initialisation configures everything.
* Hierarchical key based store of data and arbitrary metadata.
* Search by exact text, by metadata, or optionally by meaning with a small
  classification model that screens title, keywords, summary, contents and
  body in turn. Search by meaning is experimental.
* Multiple data stores including parquet based stores for large-scale reference
  material, and an experimental PostgreSQL store shared by several devices.
* Explicit support for command-line coding agents: Claude Code, OpenAI Codex
  CLI, Cursor Agent, and GitHub Copilot CLI.
* Command line tools for manipulating the data stores.

## Getting started

Set up a 3.12 or later Python environment, then:

`pip install "outrage[all]"`

To set up a project to use Outrage, change directory to the root of the project
and run:

`outrage init`

And that's it. That will set up the MCP server, tools, skills, agents and hooks
such that when you run your LLM harness the agent will use the Outrage store
as a memory. [Getting started](src/outrage/documents/guides/getting-started.md)
has more.

## Guides

* [Getting started](src/outrage/documents/guides/getting-started.md)
* [Setting up projects](src/outrage/documents/guides/setting-up-projects.md)
* [Mounting data stores](src/outrage/documents/guides/mounting-data-stores.md)
* [Importing documents](src/outrage/documents/guides/importing-documents.md)
* [Export and backup](src/outrage/documents/guides/export-and-backup.md)
* [Parquet stores](src/outrage/documents/guides/parquet-stores.md)
* [Postgres](src/outrage/documents/guides/postgres.md) - experimental.
* [Smart search](src/outrage/documents/guides/smart-search.md) - experimental.

## Documentation

All of it is in `src/outrage/documents`, a documentation tree written to be read
*through the store*: it ships in the wheel, and the MCP server mounts it
read-only at the `outrage` key, so a session reads the manual with the same
tools it reads everything else with. It is ordinary markdown as well, so the
links here work too.

* **[the documents](src/outrage/documents/readme.md)** - the top of that tree,
  and where to start. The guides, keys, the command line, the tools and the
  conventions all hang off it.
* **[the command line](src/outrage/documents/cli.md)** and
  **[the MCP tools](src/outrage/documents/tools.md)** - the reference for each
  front end.
* **[the design](src/outrage/documents/design.md)** - why Outrage is built the
  way it is.
* **[development](src/outrage/documents/development.md)** - the development
  environment, for working on Outrage itself.
