> ## 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.

# Keep the graph current

> Keep your code knowledge graph current: refresh only changed files, exclude noisy paths, and recover from stale graphify output.

Graph queries read the saved graph. Update it after changing the source to keep answers relevant.

## Refresh code

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

For an assistant-driven incremental refresh that also considers document context:

```text theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
/graphify . --update
```

The code and semantic paths have separate work and caching behavior. A code-only refresh does not replace a semantic refresh for changed documents.

## Watch the project

Install the `watch` extra, then:

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

Or install git hooks:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
graphify hook install
graphify hook status
```

The hooks refresh after commits and branch switches. They run in the background, so a query immediately after a commit can briefly see the old graph. After `git pull` or a merge, run `graphify update .` explicitly.

## Exclude unhelpful files

Graphify respects ignore files. Add a `.graphifyignore` at the repository root for project-specific exclusions:

```gitignore .graphifyignore theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
node_modules/
dist/
coverage/
*.generated.py
```

`graphify extract --no-gitignore` opts out of Git’s ignore rules while retaining `.graphifyignore`. Use it only when ignored source belongs in the graph.

## After a large refactor

Graphify has guards against accidentally replacing a graph with a smaller incomplete result. If you intentionally removed substantial source, inspect the warning, then explicitly allow the smaller graph:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
graphify update . --force
```

Keep a copy of the old graph if you need to compare it. Regenerate visualizations with `graphify export html` after a refresh when necessary.

## See the cache at work

These examples come from a code-only graph of the open-source [httpx](https://github.com/encode/httpx) repository, built with Graphify Local 0.9.97. Your counts will differ. The first run of `update` re-extracted only the files that weren't already cached:

```text theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
$ graphify update .
Re-extracting code files in . (no LLM needed)...
  AST cache: 78/107 files served from cache (72%); 29 to extract
  AST extraction: 29/29 uncached files (100%) [8 workers]
[graphify watch] Rebuilt: 2341 nodes, 4537 edges, 189 communities
[graphify watch] graph.json, graph.html and GRAPH_REPORT.md updated in graphify-out
Code graph updated. For doc/paper/image changes run /graphify --update in your AI assistant.
```

After a one-line edit, the next run extracted a single file:

```text theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  AST cache: 107/108 files served from cache (99%); 1 to extract
[graphify watch] community set changed since labeling (0 saved labels, 170 communities now; renamed 34 community(ies) by their hub). Run `graphify label` to refresh names with the LLM.
[graphify watch] Rebuilt: 2346 nodes, 4541 edges, 170 communities
```

When communities shift, Graphify renames them after their hub node. Run `graphify label` if you want an LLM to name them again.

`graphify extract` without `--force` is incremental too:

```text theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
[graphify extract] 0 code, 0 docs, 0 papers, 0 images changed; 78 unchanged; 0 deleted
[graphify extract] incremental summary: 78 files cached/unchanged, 0 re-extracted, 0 deleted
```

## Flags

| Command | Flag | What it does |
| - | - | - |
| `update` | `--force` | Writes `graph.json` even if the rebuild has fewer nodes. Use it after deleting code. You can also set `GRAPHIFY_FORCE=1`. |
| `update` | `--no-cluster` | Skips clustering and writes the raw extraction only. |
| `extract` | `--force` | Runs a full re-scan and skips the manifest gate and the semantic cache. |
| `check-update` | `<path>` | Checks whether a semantic re-extraction is pending. Safe to run from cron. |

## Troubleshooting

**`error: watchdog not installed. Run: pip install watchdog`.** `graphify watch` needs the `watch` extra:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
pip install "graphifyy[watch]"
```

**`error: path not found`.** The path you passed doesn't exist. Run `update` from the project root, or pass the root path.

**The node count dropped after a refactor.** If the rebuild has fewer nodes, `update` won't overwrite `graph.json` unless you pass `--force`. That stops a partial checkout from wiping the graph.

## FAQ

**Does `update` re-read documents?** No. It re-extracts code without an LLM. For document, paper and image changes, run `/graphify --update` in your assistant.

## Next steps

> **[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.

> **[Repositories and builds](https://docs.graphify.com/platform/repositories.md)**
>
> How Cloud indexes and rebuilds repositories.

> **[Record useful findings](https://docs.graphify.com/open-source/features/work-memory.md)**
>
> Save what you learn next to the graph.

[PreviousAsk better graph questions](https://docs.graphify.com/open-source/features/querying.md)
[NextRecord useful findings](https://docs.graphify.com/open-source/features/work-memory.md)


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