Metadata-Version: 2.4
Name: repoglass
Version: 0.3.0
Summary: Local code and prose index: symbol navigation, lexical and semantic retrieval
License-Expression: MIT
Project-URL: Homepage, https://github.com/nitkrar/repoglass
Project-URL: Source, https://github.com/nitkrar/repoglass
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: src/repoglass/corpus/queries/NOTICE.md
Requires-Dist: tree-sitter>=0.25
Requires-Dist: tree-sitter-language-pack>=1.19
Requires-Dist: grep-ast>=0.9
Requires-Dist: semsift>=0.0.3
Provides-Extra: config
Requires-Dist: tomlkit>=0.13; extra == "config"
Provides-Extra: onnx
Requires-Dist: semsift[onnx]>=0.0.3; extra == "onnx"
Provides-Extra: webgpu
Requires-Dist: semsift[webgpu]>=0.0.3; extra == "webgpu"
Dynamic: license-file

# repoglass

Local code and prose search with exact symbol lookup.

repoglass builds a local index for one directory tree. `rpg search` does ranked
retrieval; `rpg defs` and `rpg refs` read the stored symbol table for exact
navigation.

## Quickstart

```bash
brew install nitkrar/tap/repoglass   # or: uv tool install repoglass
cd ~/your/repo
rpg search "how are retries handled"
```

`pipx install repoglass` works too. Each of these puts `rpg` and `repoglass`
on PATH and keeps them there across upgrades. To work on repoglass itself,
`pip install -e .` inside a virtualenv leaves both commands in that
virtualenv's `bin/`.

The first command that needs an index builds it. If the default model or grammar
bundle is not cached yet, that first run may download them; later runs are
local.

## Next commands

```bash
rpg defs Index
rpg refs humanise
rpg symbols --count-by lang
rpg status
repoglass --help
repoglass search --help
```

## Docs

- [docs/design.md](docs/design.md) records invariants that are not obvious from
  one source file.
- [docs/decisions-log.md](docs/decisions-log.md) records non-obvious decisions
  and absences.
- [docs/worklist.md](docs/worklist.md) lists current user-visible defects.
- `./.venv/bin/python benchmarks/run_corpus.py` prints current corpus scores.
- `python -m unittest discover -s tests` runs the test suite. It is stdlib
  `unittest`; there is no test dependency to install.

## Licence

MIT, see [LICENSE](LICENSE). Third-party material is attributed in
[src/repoglass/corpus/queries/NOTICE.md](src/repoglass/corpus/queries/NOTICE.md).
