Metadata-Version: 2.5
Name: novaya
Version: 0.1.1
Summary: Ngraph: the Codewiki client. Repository context for coding agents.
Project-URL: Homepage, https://trynovaya.com
Project-URL: Dashboard, https://app.trynovaya.com
Author: Novaya
License: Proprietary
Keywords: codewiki,coding-agents,context,mcp,ngraph
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
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 :: Documentation
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# Ngraph

The client half of [Codewiki](https://trynovaya.com). Codewiki is a hosted
knowledge graph over your codebase; Ngraph is the small thing you install so
your coding agents can reach it.

```sh
uv tool install novaya
ngraph install <KEY>          # key from https://app.trynovaya.com -> Manage keys
```

That is the whole setup. `install` stores the key in your OS credential store,
resolves which indexed codebase this checkout is, writes `.ngraph/`, wires
every supported agent on the machine, and then proves it worked. If it prints
`Done`, a fresh session in this repository can already use it.

## What it wires

| Client | Instructions | MCP |
| --- | --- | --- |
| Claude Code | `CLAUDE.md` | `~/.claude.json` |
| Codex | `AGENTS.md` | `~/.codex/config.toml` |
| OpenCode | `AGENTS.md` | `~/.config/opencode/opencode.json` |

Each gets the MCP server registered natively **and** a short delimited block in
its instruction file pointing at `.ngraph/rules.md`. Both, because MCP gives an
agent real tools and only reaches clients that speak it, while the pointer
reaches anything that reads a file.

## Commands

```
ngraph summary              what this project is, in prose
ngraph overview             computed architecture: hubs, subsystems, layers
ngraph why <path>           the recorded reasoning behind a file
ngraph connections <path>   what it is wired to, including historical co-change
ngraph impact <path>        blast radius
ngraph recent               recent commits with the intent behind them
ngraph search <query>       find by meaning
ngraph ask "<question>"     a decision-shaped briefing
ngraph record-why "<why>"   write reasoning back after a commit

ngraph doctor               prove the setup still works (exit code for CI)
ngraph adapters             which clients this knows how to wire
ngraph uninstall            remove everything it wrote
```

## Where things live

- **Key** -- your OS credential store (DPAPI, Keychain, libsecret, or a 0600
  file). Never in the repository, never in a `.md`, never printed.
- **`.ngraph/rules.md`** -- how to work with the graph. Same in every repo.
- **`.ngraph/skills.md`** -- what the server serves, generated from the live API.
- **`.ngraph/blueprint.md`** -- this repository: its codebase name and origin.

Commit `.ngraph/`. It is generated but stable, and sharing it means your
teammates' agents resolve the same codebase you did.

## Why the package is `novaya` and the command is `ngraph`

`ngraph` on PyPI is an active network-modeling library and `codewiki` is an
unrelated project. Neither name is available, and installing either gets you
working software that is not this. `uv tool install novaya` is the only
install line.
