Remove .codegraph/config.json and the entire config surface. CodeGraph now indexes every file whose extension maps to a supported language and respects .gitignore everywhere — git repos via git itself, non-git projects via the `ignore` library (root + nested .gitignore files, the same way git does). - Remove CodeGraphConfig/DEFAULT_CONFIG, src/config.ts, and the public config API (the `config` option on init, getConfig/updateConfig/getConfigPath). - Derive the source-file allowlist from EXTENSION_MAP (isSourceFile); maxFileSize is now a constant. Drop the .codegraphignore marker. - Behavior change: committed, non-gitignored dirs (vendor/, a committed dist/) are now indexed — .gitignore is the single source of truth. Earlier inert fields (languages, frameworks, extractDocstrings, trackCallSites, customPatterns) and their dead helpers are removed as part of this. Resolves #283. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
5b71a89574
commit
f6772dac7c
@@ -418,28 +418,23 @@ cg.close();
|
||||
|
||||
## Configuration
|
||||
|
||||
The `.codegraph/config.json` file controls indexing:
|
||||
There isn't any — CodeGraph is zero-config. It indexes every file whose
|
||||
extension maps to a [supported language](#supported-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).
|
||||
|
||||
```json
|
||||
{
|
||||
"version": 1,
|
||||
"languages": ["typescript", "javascript"],
|
||||
"exclude": ["node_modules/**", "dist/**", "build/**", "*.min.js"],
|
||||
"frameworks": [],
|
||||
"maxFileSize": 1048576,
|
||||
"extractDocstrings": true,
|
||||
"trackCallSites": true
|
||||
}
|
||||
```
|
||||
What that means in practice:
|
||||
|
||||
| Option | Description | Default |
|
||||
|--------|-------------|---------|
|
||||
| `languages` | Languages to index (auto-detected if empty) | `[]` |
|
||||
| `exclude` | Glob patterns to ignore | `["node_modules/**", ...]` |
|
||||
| `frameworks` | Framework hints for better resolution | `[]` |
|
||||
| `maxFileSize` | Skip files larger than this (bytes) | `1048576` (1MB) |
|
||||
| `extractDocstrings` | Extract docstrings from code | `true` |
|
||||
| `trackCallSites` | Track call site locations | `true` |
|
||||
- Anything git ignores — `node_modules`, build output, secrets in `.env` — is
|
||||
never indexed. **To keep something out of the graph, add it to `.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.
|
||||
- Files larger than 1 MB are skipped (generated bundles, minified JS, vendored
|
||||
blobs) — they cost parse budget for no useful symbols.
|
||||
|
||||
> 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`.
|
||||
|
||||
## Supported Languages
|
||||
|
||||
|
||||
Reference in New Issue
Block a user