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

# Projects: Index and Connect Your Codebase to Luminy

> Luminy projects link a local folder to the AI agent, enabling code search, file editing, and codebase-aware conversations with automatic local indexing.

A **project** in Luminy is a local folder from your filesystem that you've connected to the agent. Once added, Luminy parses and indexes your code so the agent can read files, search symbols, navigate your directory tree, and make targeted edits — all without ever leaving your machine. Every conversation you start under a project inherits full awareness of that codebase, so you never have to paste in context manually.

## Adding a project

<Steps>
  <Step title="Open the project picker">
    Click the **+ Projects** button in the left sidebar. This opens your operating system's native folder picker.
  </Step>

  <Step title="Select your folder">
    Navigate to and select the root directory of the codebase you want to connect. Luminy accepts any folder — a monorepo, a single package, or a personal scripts directory.
  </Step>

  <Step title="Wait for indexing to finish">
    Luminy immediately starts indexing the folder. A progress bar appears in the sidebar while the index is being built. The chat input is locked during this time — once indexing is complete the input unlocks and the agent is ready to work with your code.
  </Step>
</Steps>

## What happens during indexing

When you add a folder, Luminy runs three steps in the background:

<CardGroup cols={3}>
  <Card title="Parse source files" icon="code">
    Tree-sitter tokenizes every source file it recognizes, extracting functions, classes, types, and other symbols.
  </Card>

  <Card title="Build a repo map" icon="map">
    A compact structural map of the codebase is assembled from the parsed symbols and stored locally. This map lets the agent understand the shape of your code without reading every file from scratch on every request.
  </Card>

  <Card title="Generate a description" icon="sparkles">
    An AI-generated description of the project is produced automatically and attached to the project record. You'll see this description in the sidebar.
  </Card>
</CardGroup>

<Note>
  Indexing is entirely local. Your source code is parsed and stored on your own machine — nothing is sent to any external server during the indexing process.
</Note>

## Supported languages

Tree-sitter indexing currently supports the following languages:

| Language   | File extensions               |
| ---------- | ----------------------------- |
| Python     | `.py`                         |
| JavaScript | `.js`, `.mjs`, `.cjs`         |
| TypeScript | `.ts`, `.tsx`                 |
| Rust       | `.rs`                         |
| Go         | `.go`                         |
| Java       | `.java`                       |
| C++        | `.cpp`, `.cc`, `.cxx`, `.hpp` |
| C#         | `.cs`                         |

Files in other languages are still readable and editable by the agent — they just don't contribute symbols to the repo map.

## How the agent uses your project

Once a project is indexed, the agent gains several codebase-aware capabilities:

<CardGroup cols={2}>
  <Card title="File read & write" icon="file-pen">
    The agent can open, read, and edit any file in your project directory with precise line-level changes.
  </Card>

  <Card title="Grep & glob search" icon="magnifying-glass">
    Pattern searches across the entire codebase let the agent find usages, imports, and references quickly.
  </Card>

  <Card title="Symbol lookup" icon="brackets-curly">
    The repo map gives the agent instant access to function signatures, class definitions, and type declarations without reading every file.
  </Card>

  <Card title="Repo map context" icon="sitemap">
    A structured overview of the project is injected into each conversation so the agent understands the shape of your codebase from the first message.
  </Card>
</CardGroup>

## Managing projects

* **Switch projects** — click any project in the sidebar to make it the active project. New sessions will be scoped to that project.
* **Delete a project** — right-click a project in the sidebar and select **Delete**. This removes the project and its index from local storage. Your source files on disk are not affected.

<Tip>
  If you add new files or make large structural changes to a codebase, you can re-index the project by removing it and adding it again. This rebuilds the repo map from scratch.
</Tip>
