docs: clarify zero-config + built-in default-ignores; drop stale config wording (#418)

Refresh the README and docs-site Configuration pages to (a) state plainly there are no codegraph config files, (b) describe the new built-in default-ignores (#407) and the .gitignore-negation opt-in, and (c) remove the now-inaccurate note that committed vendor/dist dirs are indexed. Also fixes a stray 'excluded by config patterns' phrase in README troubleshooting.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Colby Mchenry
2026-05-25 18:29:16 -05:00
committed by GitHub
co-authored by Claude Opus 4.7
parent 832f9063b1
commit 2721165604
3 changed files with 29 additions and 25 deletions
+17 -15
View File
@@ -421,23 +421,25 @@ cg.close();
## Configuration ## Configuration
There isn't any — CodeGraph is zero-config. It indexes every file whose There isn't any — CodeGraph is zero-config, with **no config file** to write or
extension maps to a [supported language](#supported-languages) and **respects keep in sync. Language support is automatic from the file extension; there's
your `.gitignore`**: in git repos via git itself, and in non-git projects by nothing to wire up per language.
reading `.gitignore` files directly (root and nested, the same way git would).
What that means in practice: What it skips out of the box:
- Anything git ignores — `node_modules`, build output, secrets in `.env` — is - **Dependency, build, and cache directories**`node_modules`, `vendor`,
never indexed. **To keep something out of the graph, add it to `.gitignore`.** `dist`, `build`, `target`, `.venv`, `Pods`, `.next`, and the like across every
- There's no config file to write or keep in sync, and nothing to wire up per [supported stack](#supported-languages) — so the graph is your code, not
language: support is automatic from the file extension. third-party noise. This holds even with no `.gitignore`.
- Files larger than 1 MB are skipped (generated bundles, minified JS, vendored - **Anything in your `.gitignore`** — honored in git repos via git, and in
blobs) — they cost parse budget for no useful symbols. non-git projects by reading `.gitignore` directly (root and nested).
- **Files larger than 1 MB** — generated bundles, minified JS, vendored blobs.
> Committed files that aren't gitignored *are* indexed, even under `vendor/` or a To keep something else out, add it to `.gitignore`. To pull a default-excluded
> committed `dist/`. If you commit a dependency or build directory you don't want directory back **in** (say you really do want a vendored dependency indexed),
> in the graph, add it to `.gitignore`. add a negation — `!vendor/`. The defaults apply uniformly, so committing a
dependency or build directory doesn't force it into the graph; the `.gitignore`
negation is the explicit opt-in.
## Supported Platforms ## Supported Platforms
@@ -502,7 +504,7 @@ the MCP server and writing its instructions file:
**MCP server not connecting** — Ensure the project is initialized/indexed, verify the path in your MCP config, and check that `codegraph serve --mcp` works from the command line. **MCP server not connecting** — Ensure the project is initialized/indexed, verify the path in your MCP config, and check that `codegraph serve --mcp` works from the command line.
**Missing symbols** — The MCP server auto-syncs on save (wait a couple seconds). Run `codegraph sync` manually if needed. Check that the file's language is supported and isn't excluded by config patterns. **Missing symbols** — The MCP server auto-syncs on save (wait a couple seconds). Run `codegraph sync` manually if needed. Check that the file's language is supported and isn't inside a `.gitignore`d or default-excluded directory (e.g. `node_modules`, `dist`).
## Star History ## Star History
@@ -1,19 +1,21 @@
--- ---
title: Configuration title: Configuration
description: CodeGraph is zero-config — here's what that means in practice. description: CodeGraph is zero-config — there are no config files.
--- ---
There isn't any — CodeGraph is **zero-config**. It indexes every file whose extension maps to a [supported language](/codegraph/reference/languages/) and **respects your `.gitignore`**: in git repos via git itself, and in non-git projects by reading `.gitignore` files directly (root and nested, the same way git would). There isn't any — CodeGraph is **zero-config**, with **no config file** to write or keep in sync. Language support is automatic from the file extension; there's nothing to wire up per language.
## What that means in practice ## What it skips out of the box
- Anything git ignores — `node_modules`, build output, secrets in `.env` — is never indexed. **To keep something out of the graph, add it to `.gitignore`.** - **Dependency, build, and cache directories**`node_modules`, `vendor`, `dist`, `build`, `target`, `.venv`, `Pods`, `.next`, and the like across every [supported stack](/codegraph/reference/languages/) — so the graph is your code, not third-party noise. This holds even with no `.gitignore`.
- There's no config file to write or keep in sync, and nothing to wire up per language: support is automatic from the file extension. - **Anything in your `.gitignore`** — honored in git repos via git, and in non-git projects by reading `.gitignore` directly (root and nested).
- Files larger than 1 MB are skipped (generated bundles, minified JS, vendored blobs) — they cost parse budget for no useful symbols. - **Files larger than 1 MB** — generated bundles, minified JS, vendored blobs.
:::note ## Excluding or including more
Committed files that aren't gitignored *are* indexed, even under `vendor/` or a committed `dist/`. If you commit a dependency or build directory you don't want in the graph, add it to `.gitignore`.
::: To keep something else out, add it to `.gitignore`. To pull a default-excluded directory back **in** (e.g. you really want a vendored dependency indexed), add a negation — `!vendor/`.
The defaults apply uniformly, so committing a dependency or build directory doesn't force it into the graph — the `.gitignore` negation is the explicit opt-in.
## Where data lives ## Where data lives
+1 -1
View File
@@ -36,4 +36,4 @@ Reports node/edge/file counts, the active SQLite backend, and the journal mode.
## What gets indexed ## What gets indexed
Every file whose extension maps to a [supported language](/codegraph/reference/languages/), minus anything your `.gitignore` excludes and files over 1 MB. See [Configuration](/codegraph/getting-started/configuration/). Every file whose extension maps to a [supported language](/codegraph/reference/languages/), minus dependency/build directories excluded by default (`node_modules`, `vendor`, `dist`, …), anything your `.gitignore` excludes, and files over 1 MB. See [Configuration](/codegraph/getting-started/configuration/).