# Exclude files from publishing (/organize/mintignore)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 588 · updated: 2026-07-30 -->
Related: [Hidden pages](/organize/hidden-pages.md), [Navigation](/organize/navigation.md), [Pages](/organize/pages.md), [Related topics](/organize/related-pages.md)

The `.mintignore` file lets you exclude specific files and directories in your documentation repository from processing and publishing to your documentation site.

Use `.mintignore` to keep drafts, internal notes, and source files out of your public documentation while maintaining them in your repository.

## Create a .mintignore file [#create-a-mintignore-file]

Create a `.mintignore` file in the root of your docs directory. This file uses the same pattern syntax as `.gitignore`.

```plaintext title=".mintignore"
# Exclude draft documents
drafts/
*.draft.mdx

# Exclude internal documentation
internal/

# Exclude specific files
private-notes.md
```

When Mintlify builds your documentation, it reads the `.mintignore` file and excludes any matching files or directories from processing.

Excluded files:

* Don't appear in your published documentation.
* Aren't indexed for search.
* Aren't accessible to visitors.
* Don't have their outgoing links checked by [`mint broken-links`](/cli/commands#mint-broken-links).
* Cause any links pointing to them from other pages to appear as broken by `mint broken-links` checks.

## Default ignored patterns [#default-ignored-patterns]

Mintlify automatically ignores the following directories and files without requiring any configuration:

* `.git`
* `.github`
* `.claude`
* `.agents`
* `.idea`
* `.vscode`
* `node_modules`
* `build`
* `dist`
* `coverage`
* `.cache`
* `tmp`
* `temp`
* `README.md`
* `LICENSE.md`
* `CHANGELOG.md`
* `CONTRIBUTING.md`

You don't need to add these to your `.mintignore` file.

<Note>
  Unlike [hidden pages](/organize/hidden-pages), `.mintignore` completely removes
  matching files from your site. Visitors cannot access them by URL.
</Note>

## Pattern syntax [#pattern-syntax]

The `.mintignore` file follows `.gitignore` syntax. Some common patterns include:

| Pattern            | Description                                    |
| ------------------ | ---------------------------------------------- |
| `drafts/`          | Excludes the entire `drafts` directory         |
| `*.draft.mdx`      | Excludes all files ending in `.draft.mdx`      |
| `private-notes.md` | Excludes a specific file                       |
| `**/internal/**`   | Excludes any `internal` directory at any level |
| `!important.mdx`   | Negates a previous pattern (includes the file) |
