diff --git a/docs.json b/docs.json
index 3f6d585..0064df7 100644
--- a/docs.json
+++ b/docs.json
@@ -28,6 +28,7 @@
"platform/quickstart",
"platform/verify-connection",
"concepts/index-a-repository",
+ "platform/keep-the-graph-fresh",
"platform/console",
"platform/graphify-vs-local"
]
diff --git a/llms.txt b/llms.txt
index f82008c..b2909b5 100644
--- a/llms.txt
+++ b/llms.txt
@@ -26,6 +26,7 @@ Use when setting up hosted Graphify: sign in, index a repository, and connect an
- [Graphify in 5 minutes](https://docs.graphify.com/platform/quickstart.md): Get started with hosted Graphify in 5 minutes: sign in, index a GitHub repository, and ask your coding agent about it through the hosted MCP server.
- [Check your agent is using Graphify](https://docs.graphify.com/platform/verify-connection.md): Confirm Cursor, Claude Code, Codex or VS Code is connected to Graphify, run three test prompts, and fix common setup problems.
- [Index your first repository in Graphify](https://docs.graphify.com/concepts/index-a-repository.md): Connect a GitHub or GitLab repository to Graphify, switch on indexing, and confirm the build finished so your agent can query the graph.
+- [How Graphify keeps your graph fresh](https://docs.graphify.com/platform/keep-the-graph-fresh.md): Graphify rebuilds your code graph on every push to the default branch, re-processing only the files that changed. See what triggers a build and when.
- [Console tour: the Graphify web app](https://docs.graphify.com/platform/console.md): A tour of the Graphify web app at app.graphify.com: Overview, repository graphs, pull request reviews, formal verification, Wiki, memory and connectors.
- [Graphify vs Graphify CLI: hosted or open source](https://docs.graphify.com/platform/graphify-vs-local.md): Compare hosted Graphify with Graphify CLI, the open-source graphifyy package: how each builds, updates and serves the graph, and what needs hosted.
diff --git a/open-source/keep-the-graph-fresh.mdx b/open-source/keep-the-graph-fresh.mdx
index cf0784c..54da35c 100644
--- a/open-source/keep-the-graph-fresh.mdx
+++ b/open-source/keep-the-graph-fresh.mdx
@@ -12,7 +12,7 @@ import TryCloudCard from '/snippets/try-cloud-card.mdx';
Your agent answers from the saved graph, not from the files on disk. **If the graph is old, the answers are old.** Open-source Graphify gives you two ways to refresh it without thinking about it: git hooks and a file watcher.
-**Want this handled for you?** [Hosted Graphify](https://app.graphify.com) rebuilds the graph on every push to your default branch, with nothing to install. See [Graphify vs Graphify CLI](/platform/graphify-vs-local).
+**Want this handled for you?** [Hosted Graphify](https://app.graphify.com) rebuilds the graph on every push to your default branch, with nothing to install, and only re-processes the files that changed. See [how Graphify keeps your graph fresh](/platform/keep-the-graph-fresh).
## Pick a method
diff --git a/platform/keep-the-graph-fresh.mdx b/platform/keep-the-graph-fresh.mdx
new file mode 100644
index 0000000..fc06e31
--- /dev/null
+++ b/platform/keep-the-graph-fresh.mdx
@@ -0,0 +1,70 @@
+---
+title: "How Graphify keeps your graph fresh"
+sidebarTitle: "Keeping the graph fresh"
+description: "Graphify rebuilds your code graph on every push to the default branch, re-processing only the files that changed. See what triggers a build and when."
+keywords: ["keep code graph up to date", "incremental indexing", "reindex on push", "github webhook indexing", "default branch indexing"]
+surface: "cloud"
+icon: "refresh-cw"
+---
+
+**Push your code and the graph follows.** Once a repository is connected, Graphify keeps its graph in step with your default branch. There's nothing to install and nothing to run.
+
+
+
+ A push to the default branch starts a new build through the Graphify GitHub App.
+
+
+ Graphify re-processes the changed files and keeps the code around them in context.
+
+
+ Pushes to other branches don't change the graph.
+
+
+
+## What happens when you push
+
+
+
+ GitHub sends the push to Graphify through the GitHub App you installed when you connected the repository.
+
+
+ It checks the push is for the default branch of a connected, enabled repository, then starts a build for the new head commit.
+
+
+ The changed files are re-processed, while related code nearby stays in context, so calls and dependencies across files stay accurate.
+
+
+
+## What doesn't trigger a build
+
+
+
+ Feature branches are ignored. The graph reflects your default branch, so work on a branch shows up once it's merged.
+
+
+ A push that deletes a branch is ignored.
+
+
+ If a repository is disabled in your workspace, its pushes are skipped until you turn it back on.
+
+
+ Automatic builds are capped per repository each day. A push over the cap is still recorded, but no build runs for it. See [push allowance](/platform/repositories).
+
+
+
+## Sync and reindex
+
+
+
+ **Sync** on the Repositories and Overview pages re-reads which repositories your GitHub connection can see. It doesn't rebuild a graph.
+
+
+ **Reindex** rebuilds one repository's graph from its default-branch head, if you ever need a fresh start.
+
+
+
+## Using Graphify CLI instead
+
+
+ Working locally with Graphify CLI? Use git hooks or `graphify watch` to refresh the graph as you commit and save.
+