Metadata-Version: 2.4
Name: devos-client
Version: 0.2.8
Summary: A system of record for engineering decisions — captures what your AI agents reasoned and what git changed, into one decision graph per repo.
Project-URL: Homepage, https://github.com/zerohive-ai/devOS
Project-URL: Repository, https://github.com/zerohive-ai/devOS
Project-URL: Issues, https://github.com/zerohive-ai/devOS/issues
Author-email: Zerohive <ashutosh@zerohive.ai>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agents,ai,code,decisions,git,knowledge-graph,llm,mcp
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.11
Requires-Dist: anthropic>=0.40
Requires-Dist: fastapi>=0.110
Requires-Dist: httpx>=0.27
Requires-Dist: mcp<2,>=1.0
Requires-Dist: networkx>=3.0
Requires-Dist: numpy>=1.26
Requires-Dist: openai>=1.60
Requires-Dist: pathspec>=0.12
Requires-Dist: psycopg[binary]>=3
Requires-Dist: pydantic>=2.6
Requires-Dist: pyjwt[crypto]>=2.9
Requires-Dist: rich>=13.7
Requires-Dist: scipy>=1.11
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: tree-sitter-go>=0.23
Requires-Dist: tree-sitter-javascript>=0.23
Requires-Dist: tree-sitter-python>=0.23
Requires-Dist: tree-sitter-typescript>=0.23
Requires-Dist: tree-sitter<0.27,>=0.25
Requires-Dist: uvicorn>=0.29
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Provides-Extra: embedding
Requires-Dist: fastembed>=0.3; extra == 'embedding'
Requires-Dist: sqlite-vec>=0.1; extra == 'embedding'
Provides-Extra: localstore
Requires-Dist: pgserver==0.1.4; (python_version < '3.13') and extra == 'localstore'
Provides-Extra: mcp
Requires-Dist: mcp<2,>=1.0; extra == 'mcp'
Provides-Extra: postgres
Requires-Dist: psycopg[binary]>=3; extra == 'postgres'
Description-Content-Type: text/markdown

# DevOS

![PyPI](https://img.shields.io/badge/pypi-v0.2.0-b26a00)
![Python](https://img.shields.io/badge/python-3.11%2B-3776ab)
![License](https://img.shields.io/badge/license-Apache--2.0-555)
![MCP](https://img.shields.io/badge/MCP-ready-1a7f37)
![Models](https://img.shields.io/badge/models-BYO-4493f8)

**The system of record for engineering decisions.** Your agents write the code — DevOS
remembers *why*. It captures what your AI coding agents reasoned about **and** what your git
history actually changed, links them into one decision graph per repo, and surfaces the
relevant prior decisions when you (or your agent) start new work — so a settled call never
gets silently re-litigated.

Everything runs **local and private** by default: your data stays in a SQLite database on
your machine. Opt into a shared team store when you want teammates to see each other's
decisions.

## Install

```bash
pipx install devos        # isolated CLI install (recommended)
# or
pip install devos         # into the current environment
```

Requires Python ≥ 3.11 and `git`. An LLM API key is needed only for the *extract* step
(distilling decisions); capture and ingestion are free and need no key.

## Quickstart

```bash
devos init
```

The interactive setup walks you through your model provider + key, discovers the git repos
you work on, and onboards the ones you pick into one shared store (`~/.devos/devos.db`) —
installing capture hooks and wiring each repo's agent (`.mcp.json`) in one pass. Then just
work normally: DevOS captures git commits and agent sessions in the background.

Prefer one repo at a time, or scripting it?

```bash
devos setup                                   # onboard a single repo (enable + ingest + wire)
devos onboard-workspace --root ~/code --yes   # non-interactive bulk onboarding
```

## What it does

- **Captures two sources** into one graph: AI-agent sessions (Claude Code, Codex, via a Stop
  hook) and git history (commits, changed files, committed docs, via a post-commit hook).
- **Extracts decisions** from those sources with an LLM, each traced back to the exact commit
  or conversation it came from.
- **Surfaces a headstart** — a task-aware primer of the relevant verified prior decisions,
  available to your agent over MCP or on the CLI.

## Bring your own model

DevOS is provider-agnostic. `devos init` lets you pick one and stores the key in
`~/.devos/.env`:

| Provider | Key env var | Notes |
|----------|-------------|-------|
| **Anthropic** | `ANTHROPIC_API_KEY` | default — extraction/verification prompts are calibrated on Claude |
| OpenAI | `OPENAI_API_KEY` | supported |
| Gemini | `GEMINI_API_KEY` | supported |
| OpenRouter | `OPENROUTER_API_KEY` | supported (usage recorded; cost unpriced) |

Already have a key exported in your shell? DevOS uses it — an explicit `export` always wins
over the stored file.

## Team sharing (optional)

Beyond the solo local store, DevOS can sync a team's decisions into a shared backend so an
agent recalls what a teammate already figured out. See `devos team` and `devos teamsync`.

## Optional extras

| Extra | Adds |
|-------|------|
| `devos[postgres]` | a Postgres storage backend (for shared/team stores) |
| `devos[embedding]` | local embeddings for semantic decision retrieval |

(The MCP decision server ships in the base install — no extra needed.)

## License

Apache-2.0. See [LICENSE](./LICENSE).
