Metadata-Version: 2.4
Name: navar
Version: 0.1.0
Summary: A CLI coding agent written in Python
Requires-Python: >=3.11
Requires-Dist: aiosqlite
Requires-Dist: openai
Requires-Dist: pydantic-settings
Requires-Dist: qdrant-client
Requires-Dist: rich
Requires-Dist: sentence-transformers
Requires-Dist: textual
Requires-Dist: typer
Provides-Extra: dev
Requires-Dist: hatchling; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Description-Content-Type: text/markdown

# Navar

> Navigate your codebase, not your context window.

Navar is an interactive AI coding agent designed to provide context-aware assistance by indexing your local codebase and using RAG (Retrieval-Augmented Generation) to ground its responses.

## Prerequisites

- Python 3.11+
- Docker (for running Qdrant)

## Setup

1. **Install Navar:**
   ```bash
   pip install -e .
   ```

2. **Start Qdrant:**
   ```bash
   docker-compose up -d
   ```

3. **Initialize & Index:**
   ```bash
   navar init
   navar index .
   ```

## Configuration

Create a `.env` file in your project root with your DeepSeek API key:

```env
DEEPSEEK_API_KEY=your_key_here
DEEPSEEK_MODEL=deepseek-chat
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_COLLECTION=navar
EMBEDDING_MODEL=all-MiniLM-L6-v2
CHUNK_SIZE=400
CHUNK_OVERLAP=80
TOP_K=5
```

## CLI Subcommands

| Command | Description |
|---|---|
| `navar` | Launch the interactive TUI |
| `navar init` | Initialize a new project and configuration |
| `navar index <path>` | Crawl and index a directory |
| `navar clear` | Clear the current vector collection |
| `navar remove <file>` | Remove a specific file from the index |
| `navar status` | Show collection statistics |
| `navar models` | List available DeepSeek models |

## TUI Slash Commands

Inside the Navar TUI, use these commands to manage your session:

| Command | Action |
|---|---|
| `/clear` | Clear conversation history and screen |
| `/model` | Cycle through available DeepSeek models |
| `/index <path>` | Index a path from within the TUI |
| `/remove <file>` | Remove a file from the index |
| `/status` | Show collection information panel |
| `/export [path]` | Export current session to a markdown file |
| `/help` | Show all available commands |
| `/exit` | Quit the application |

---
*Built with Python, FastAPI, Qdrant, and DeepSeek.*
