> ## Documentation Index
> Fetch the complete documentation index at: https://unch.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Local-first semantic code search for functions, methods, types, and their docs.

`unch` indexes the API surface of your repository and lets you search it from the terminal using natural language.

It extracts top-level symbols and attached documentation, computes embeddings with the selected provider, and returns ranked matches. Local `llama.cpp` embeddings are the default; OpenRouter is optional when you explicitly select `--provider openrouter`.

## What unch does

When you know what a piece of code does but cannot remember its name, file, or exact text, `unch` lets you describe the behavior and find the symbol.

## Key features

* Local-first by default
* Symbol-aware indexing instead of raw line search
* Local GGUF embeddings by default, optional OpenRouter embeddings
* `auto`, `semantic`, and `lexical` search modes
* Optional remote publishing through GitHub Actions

## Supported languages

`unch` uses Tree-sitter-based symbol extraction for:

* Go
* Rust
* TypeScript
* JavaScript
* Python

For unsupported files or parser failures, `index` can still use the legacy prefix fallback.

## When unch helps

* You know the behavior you want, but not the exact symbol name
* You want docs and API surface searchable together
* You want semantic search over a local repo without sending code to a hosted service when using the default local provider

## Next steps

* [Install unch](/installation)
* [Run the quick start](/quickstart)
* [Read how indexing works](/concepts/how-it-works)
