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

# Devin Desktop .devinignore

> Use a .devinignore file to control which files and directories Devin Desktop excludes from indexing and agent access, with gitignore-style syntax.

## Default ignore rules

By default, Devin Desktop indexing ignores:

* Paths listed in `.gitignore`
* Files in `node_modules`
* Hidden pathnames (starting with ".")

When a file is ignored, it is not indexed. Files matched by `.gitignore` also cannot be edited by the agent.

## `.devinignore`

To exclude additional files, add a `.devinignore` file to the root of your repository. It uses the same syntax as `.gitignore`:

```gitignore .devinignore theme={null}
# Generated fixtures and vendored code
experimental/**/testfiles/**
vendor/

# Secrets and local config
*.pem
.env.local
```

Paths matched by `.devinignore` are excluded from indexing and cannot be viewed, edited, or created by Devin. `.devinignore` works in addition to `.gitignore`, so you only need to list paths that are not already gitignored.

## Global ignore rules

For enterprise customers managing multiple repositories, you can enforce ignore rules across all repositories by placing a global `.codeiumignore` file in the `~/.codeium/` folder. This global configuration applies to every Devin Desktop workspace on your system.

The global `.codeiumignore` file uses the same syntax as `.gitignore` and works in addition to any repository-specific ignore files.

## System requirements

When first enabled, Devin Desktop will consume a fraction of CPU while it indexes the workspace. Depending on your workspace size, this should take 5-10 minutes, and only needs to happen once per workspace. CPU usage will return to normal automatically. Devin Desktop indexing also requires RAM (\~300MB for a 5000-file workspace).

<Note>
  The legacy `.windsurfignore` and `.codeiumignore` filenames are still read and enforced alongside `.devinignore`. Existing files keep working, but prefer `.devinignore` for new rules.
</Note>
