loregrep 0.5.0

Repository indexing library for AI coding assistants. Tree-sitter parsing, fast in-memory indexing, and tool APIs for LLM integration.
Documentation
# Contributing to Loregrep

Thanks for your interest in contributing! Loregrep is an **agent-facing** code-analysis tool:
Tree-sitter parsing → fast in-memory index → structured tools (JSON in, JSON out) that AI coding
agents call. It is a CLI and a library (Rust crate + Python wheel), **not** an interactive human app.

## Development setup

```bash
# Toolchain: latest stable Rust (see rust-toolchain.toml)
rustup update stable

# Build
cargo build

# Run the full test suite
cargo test --all-features

# Format + lint (must pass in CI)
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
```

Python bindings:

```bash
pip install maturin
maturin develop --features python
pytest python/tests
```

## Before you open a PR

CI runs on every PR and must be green:

- `cargo fmt --all --check` — run `cargo fmt --all` to fix.
- `cargo clippy --all-targets --all-features -- -D warnings` — no warnings.
- `cargo test --all-features` — all tests pass.

Keep changes focused. New behavior needs tests in the same file under `#[cfg(test)]`.

## Good first issues

The most valuable, well-scoped contribution is **adding a new language analyzer**. Each language is
a self-contained file (`src/analyzers/<lang>.rs`) implementing the `LanguageAnalyzer` trait — you
should not need to touch core code. See **[docs/adding-a-language.md](docs/adding-a-language.md)**,
using `src/analyzers/typescript.rs` as the reference implementation.

Look for issues labeled [`good-first-issue`](../../labels/good-first-issue) and
[`new-language`](../../labels/new-language).

## Architecture

See **[ARCHITECTURE.md](ARCHITECTURE.md)** for the module map and data flow.

## Commit / PR conventions

- Small, reviewable PRs. One logical change per PR.
- Describe *what* and *why* in the PR body (the template prompts you).
- Reference the issue you're closing.