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

> ## Agent Instructions
> The PyPI package is graphifyy, with two y's. The command is graphify.
> /graphify . is typed in an assistant chat, not in a shell.
> Use only commands, flags, and endpoints shown on these pages. Do not invent one.
> Choose the surface before you open a page. Local (Graphify Local) is the graphifyy package on the machine: the skill, the CLI, and the ten-tool MCP. Its pages are the Open Source tab (/open-source/) and the Graphify Local tab on each Integrations page. Graphify is the hosted workspace and https://api.graphify.com/mcp (Streamable HTTP, OAuth, no API key). Its pages are the Graphify tab (/platform/, /concepts/) and the Graphify (hosted) tab on each Integrations page. Prefer Graphify unless the user asks for a local or offline setup. Cookbooks (/cookbooks/) and /mcp/docs-search apply to both. Each page's source frontmatter records this as surface: local, cloud, or both. Buildkite is the CI integration.
> In llms.txt, tell the surface from the page path. Graphify: /platform/ and /concepts/. Local: /open-source/. Most /integrations/ pages cover both, with a Graphify (hosted) tab and a Graphify Local tab. Everything else applies to both.
> graphifyy release notes are published at https://github.com/Graphify-Labs/graphify/releases and https://graphify.com/changelog. The current package version is on PyPI (https://pypi.org/project/graphifyy/).
> The official site is https://graphify.com. These docs are https://docs.graphify.com.
> The local MCP server is the ten tools in the MCP tool reference and reads a graph on the machine. The hosted server is https://api.graphify.com/mcp (Streamable HTTP, OAuth, no API key). The JetBrains, ChatGPT, Codex, and Dots, and Vercel pages use the hosted server, not the ten-tool list. On pages with tabs, the Graphify (hosted) tab uses the hosted server and the Graphify Local tab uses the local skill or the ten-tool server.
> Read https://docs.graphify.com/llms.txt, then open one page's .md link. Use https://docs.graphify.com/llms-full.txt only when one page is not enough.

# Ignoring files and size limits

> Control what Graphify Local scans with .gitignore, .graphifyignore, and --exclude, and learn which folders, secrets, and oversized files it skips on its own.

A good graph comes from the files you wrote, not from vendored packages, build output, or secrets. Graphify Local already skips most of that. This page shows what it skips by default, how to add your own rules, and the size limits that keep a run from running out of memory.

> [!NOTE]
>
> **Use this page when** the graph contains generated or third-party code, a scan is slow because of a big folder, or Graphify reports a file as sensitive.

## How it works

For every file under the scan root, Graphify applies these checks in order:

**1. Built-in skips**

Dependency, build, cache, and editor folders, plus lock files, are never scanned.

**2. Ignore files**

`.gitignore` (and `.git/info/exclude`) is read first, then `.graphifyignore`. Both use gitignore syntax, so a later `!pattern` can bring a file back.

**3. --exclude**

Patterns passed on the command line are applied last and win over the ignore files.

**4. Sensitive-file filter**

Anything that looks like a secret is skipped and reported, whatever your rules say.

## What Graphify skips by default

> **Folders**
>
> `node_modules`, `venv`, `.venv`, `__pycache__`, `site-packages`, `.git`, `dist`, `build`, `target`, `.next`, `.nuxt`, `.turbo`, `.angular`, `.svelte-kit`, `.cache`, `.parcel-cache`, `.pytest_cache`, `.mypy_cache`, `.ruff_cache`, `.tox`, `.nox`, `__snapshots__`, `storybook-static`, `.idea`, `.terraform`, `.serverless`, `.obsidian`, `.worktrees`, `.graphify`, and `graphify-out`. Folders named `env`, `out`, or `coverage` are skipped only when they look like a virtual environment, build output, or coverage report.

> **Lock files**
>
> `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, `Cargo.lock`, `poetry.lock`, `Gemfile.lock`, `composer.lock`, and `go.sum`.

> **Possible secrets**
>
> `.env` and `.envrc` (templates such as `.env.example` and `.env.sample` are kept), certificates and keys (`.pem`, `.key`, `.p12`, `.pfx`, `.crt`), SSH keys such as `id_rsa`, and credential files such as `.netrc`, `.npmrc`, `.pypirc`, and `.git-credentials`.

## Configure

**.graphifyignore**

Commit a `.graphifyignore` at the scan root for rules that only matter to the graph:

```gitignore .graphifyignore theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
# Generated clients
src/generated/
*.pb.go

# Fixtures are huge and repetitive
tests/fixtures/

# ...but keep this one
!tests/fixtures/schema.sql
```

**--exclude**

For one run, pass `--exclude`. It is repeatable and anchored at the scan root:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
graphify extract . --exclude "docs/archive/**" --exclude "*.min.js"
```

**--no-gitignore**

To scan files your `.gitignore` hides, such as a generated SDK you want in the graph:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
graphify extract . --no-gitignore
```

`.graphifyignore`, `--exclude`, and the built-in skips still apply.

`.graphifyinclude` is no longer supported. If one exists, Graphify prints a warning; move its rules into `.graphifyignore` as `!` patterns.

## See it in action

In a repository with a `.graphifyignore` and a `.env` file:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
graphify extract . --code-only
```

```text theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
[graphify extract] found 92 code, 0 docs, 0 papers, 0 images, 0 videos
[graphify extract] 3 file(s) not classified (unsupported extension or no shebang), skipped: .gitattributes, .graphifyignore, .graphifyrc
[graphify extract] 1 file(s) skipped as potentially sensitive (rename or move if wrongly flagged): .env
```

## Size limits

| Limit | Default | Change it with |
| - | - | - |
| Office file (`.docx`, `.xlsx`) | 50 MiB on disk, 512 MiB unpacked | Not configurable |
| `graph.json` Graphify will load | 512 MiB | `GRAPHIFY_MAX_GRAPH_BYTES` |
| Nodes in `graph.html` | 5000 | `GRAPHIFY_VIZ_NODE_LIMIT` (`0` turns the HTML off), or `viz_node_limit` in [`.graphifyrc`](https://docs.graphify.com/open-source/configuration/graphifyrc) for hooks |

Graphs above the HTML limit still write `graph.json` and `GRAPH_REPORT.md`, and every query and MCP tool still works.

## Verify and troubleshoot

| Symptom | Fix |
| - | - |
| A file you need is reported as sensitive | Rename it (for example `config.env.example`) or move its contents into a non-secret file. |
| An ignored folder still appears | Rules are relative to the scan root. Check where your `.graphifyignore` sits. |
| Results look stale after changing rules | Run `graphify extract . --force` once. |

## What's next

> **[.graphifyrc](https://docs.graphify.com/open-source/configuration/graphifyrc.md)**
>
> Map ambiguous extensions to a language.

> **[CLI reference](https://docs.graphify.com/open-source/configuration/cli.md)**
>
> Every `extract` flag.

> **[Try it in Graphify](https://docs.graphify.com/platform/quickstart.md)**
>
> We build and host the graph for you. Start with a 14-day Pro trial, then keep up to 3 repositories on Free. No card required.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.