Metadata-Version: 2.4
Name: dev-guru
Version: 0.11.3
Summary: Dev Guru: understand, improve, verify and learn from your software. A local-first developer product on the Ananke Plexus harness: Python SDK and CLI, offline HTML reports and a local web interface.
Project-URL: Homepage, https://github.com/Neo-Pragnya/Dev-Guru
Project-URL: Repository, https://github.com/Neo-Pragnya/Dev-Guru
Project-URL: Issues, https://github.com/Neo-Pragnya/Dev-Guru/issues
Project-URL: Changelog, https://github.com/Neo-Pragnya/Dev-Guru/blob/main/CHANGELOG.md
Author: Neo Pragnya
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agents,ananke,code-understanding,developer-tools,reports
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
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: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: ananke-plexus<0.4,>=0.3.33
Requires-Dist: markdown-it-py<5,>=3
Requires-Dist: pydantic<2.14.3,>=2.11
Requires-Dist: rich>=13
Requires-Dist: typer<1,>=0.16
Provides-Extra: dev
Requires-Dist: hatchling>=1.26; extra == 'dev'
Requires-Dist: mypy>=1.15; extra == 'dev'
Requires-Dist: pytest-bdd>=8; extra == 'dev'
Requires-Dist: pytest-cov>=6; extra == 'dev'
Requires-Dist: pytest-xdist>=3; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: pyyaml>=6; extra == 'dev'
Requires-Dist: ruff>=0.12; extra == 'dev'
Requires-Dist: types-pyyaml>=6; extra == 'dev'
Provides-Extra: dex
Requires-Dist: dex-trove>=0.1.6; extra == 'dex'
Description-Content-Type: text/markdown

# Dev Guru

[![PyPI](https://img.shields.io/pypi/v/dev-guru)](https://pypi.org/project/dev-guru/)
[![Python](https://img.shields.io/pypi/pyversions/dev-guru)](https://pypi.org/project/dev-guru/)

**See your code. Understand it. Change it with confidence.**

Point Dev Guru at a Python project and get **one offline HTML explorer**:
- a 3D constellation of files you can orbit, where imports pull and packages cluster;
- the flow of dependencies;
- the blast radius of a change;
- who calls what, and where the hotspots are;
- a guided tour, with the source one click away.

Everything is computed locally by [Ananke Plexus](https://neo-pragnya.github.io/Ananke-Plexus/), and the report is
a single file you can share like a PDF.

```bash
pip install dev-guru
dev explore path/to/project -o explorer.html --open
```

![Dev Guru running dev doctor and dev explore](docs/assets/dev-explore.svg)

**[Documentation and a live demo →](https://neo-pragnya.github.io/Dev-Guru/)** · **[Dev Guru on PyPI →](https://pypi.org/project/dev-guru/)**: the site's hero runs the real
report of Dev Guru exploring its own source.

## What's in a report

| View | Question it answers |
| --- | --- |
| ✦ Constellation | What's here? A 3D force-directed graph: drag to orbit, hover to light up imports |
| ⇶ Flow | What depends on what? Entry side to foundations; cycles glow rose |
| ◎ Impact | What breaks if this changes? Blast-radius rings over importers and callers |
| ƒ Calls | Who calls in, and what goes out? A symbol-level ego network |
| ▦ Hotspots | Where is change expensive? A treemap of size against how depended-on a file is |
| ☄ Tour | Show me around: a narrated walk through the codebase |

Plus search (`/`), a command palette (`Ctrl`/`⌘` `K`), a source inspector, a light and dark theme, and shareable
URLs. Reports are **offline and view-only**, treat source as text, and carry a manifest with the input digest and the
Git revision. See [report safety](docs/concepts/report-safety.md).

## More than the explorer

```bash
dev present talk.md                  # Markdown slides → one offline, accessible HTML deck
dev diagram docs/arch.md             # an animated SVG of what a document states, every edge cited
dev explore . --profile public       # a report safe to publish: no source, docstrings or Git revision
dev sources                          # capabilities from your folders, private Git and Dex Trove
dev serve                            # a local web interface: live runs, the code graph, your capabilities
dev learning review NAME             # review what Ananke learned before it becomes reusable
```

## From Python

```python
from dev_guru import GuruClient

with GuruClient(workspace="path/to/project") as guru:
    result = guru.explore()
    guru.export(result, output="explorer.html")
```

## In your browser

`dev serve` opens a web interface to what Ananke computes. It shows what's connected, starts and follows runs (which
survive a reload or a lost connection, and stop only when you press Cancel), browses the code graph, and searches your
capabilities. It listens only on your computer, only the link it prints gets in, and it needs no Node: everything comes
from the [Dev Guru package on PyPI](https://pypi.org/project/dev-guru/). See [The local gateway](docs/guides/gateway.md).

What's released and what's coming next is in the [roadmap](docs/roadmap.md).

## How it fits together

| Repository | Role |
| --- | --- |
| **Dev Guru** (this repo) | The product: CLI and SDK, report view models and renderers, a local web interface |
| [Ananke Plexus](https://github.com/Neo-Pragnya/Ananke-Plexus) | The harness: code graph, analysis, workflows, policy, runs and evidence |
| [Dex Trove](https://github.com/Neo-Pragnya/Dex-Trove) | Optional capability memory: curated skills, agents, instructions and workflows |

Dev Guru never analyses code itself: every domain operation goes through one client port to Ananke, and Dex is never
required. See [Architecture](docs/concepts/architecture.md) and [How Dev Guru talks to Ananke](docs/concepts/ananke-client.md).

## Quality gates

```bash
make verify             # ruff, ruff format, strict mypy, pytest
make acceptance-wheel   # capability scenarios on the built wheel, including real-Chrome journeys
make web-journeys       # just the web interface, in real Chrome, on a temporary workspace
make scan               # gitleaks, pip-audit, GuardDog and Bandit on dist/
```

## Licence

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