## 1. Project Overview & Quickstart (Graphify-Labs/BENCHMARKS)

## 1. Project Overview & Quickstart (Graphify-Labs/BENCHMARKS)

# BENCHMARKS

Open-source repository Graphify-Labs/BENCHMARKS

### Repository Details
- **Repository:** [Graphify-Labs/BENCHMARKS](https://github.com/Graphify-Labs/BENCHMARKS)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (Graphify-Labs/docs)

# Mintlify Starter Kit

Use the starter kit to get your docs deployed and ready to customize.

Click the green **Use this template** button at the top of this repo to copy the Mintlify starter kit. The starter kit contains examples with

- Guide pages
- Navigation
- Customizations
- API reference pages
- Use of popular components

**[Follow the full quickstart guide](https://starter.mintlify.com/quickstart)**

## AI-assisted writing

Set up your AI coding tool to work with Mintlify:

```bash
npx skills add https://mintlify.com/docs
```

This command installs Mintlify's documentation skill for your configured AI tools like Claude Code, Cursor, Windsurf, and others. The skill includes component reference, writing standards, and workflow guidance.

See the [AI tools guides](/ai-tools) for tool-specific setup.

## Development

Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally. To install, use the following command:

```
npm i mint
```

Run the following command at the root of your documentation, where your `docs.json` is located:

```
mint dev
```

View your local preview at `http://localhost:3000`.

## Publishing changes

Install our GitHub app from your [dashboard](https://dashboard.mintlify.com/settings/organization/github-app) to propagate changes from your repo to your deployment. Changes are deployed to production automatically after pushing to the default branch.

## Need help?

### Troubleshooting

- If your dev environment isn't running: Run `mint update` to ensure you have the most recent version of the CLI.
- If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`.

### Resources
- [Mintlify documentation](https://mintlify.com/docs)

## 2. Official Technical Reference & Guides (Graphify-Labs/docs)

## File: README.md

# Mintlify Starter Kit

Use the starter kit to get your docs deployed and ready to customize.

Click the green **Use this template** button at the top of this repo to copy the Mintlify starter kit. The starter kit contains examples with

- Guide pages
- Navigation
- Customizations
- API reference pages
- Use of popular components

**[Follow the full quickstart guide](https://starter.mintlify.com/quickstart)**

## AI-assisted writing

Set up your AI coding tool to work with Mintlify:

```bash
npx skills add https://mintlify.com/docs
```

This command installs Mintlify's documentation skill for your configured AI tools like Claude Code, Cursor, Windsurf, and others. The skill includes component reference, writing standards, and workflow guidance.

See the [AI tools guides](/ai-tools) for tool-specific setup.

## Development

Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally. To install, use the following command:

```
npm i mint
```

Run the following command at the root of your documentation, where your `docs.json` is located:

```
mint dev
```

View your local preview at `http://localhost:3000`.

## Publishing changes

Install our GitHub app from your [dashboard](https://dashboard.mintlify.com/settings/organization/github-app) to propagate changes from your repo to your deployment. Changes are deployed to production automatically after pushing to the default branch.

## Need help?

### Troubleshooting

- If your dev environment isn't running: Run `mint update` to ensure you have the most recent version of the CLI.
- If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`.

### Resources
- [Mintlify documentation](https://mintlify.com/docs)

---

## File: guides/ask-your-agent.mdx

---
title: "Ask your agent one question"
hideFooterPagination: true
sidebarTitle: "Ask your agent one question"
---

This is the shortest path from an empty checkout to one real question. It uses the open-source engine on your machine. You need Python 3.10 or later and a supported coding assistant.

<Steps>
  <Step title="Install and check the version">
    ```bash
    uv tool install graphifyy
    graphify --version
    ```

    `graphify --version` prints the version you installed. The latest release is on [PyPI](https://pypi.org/project/graphifyy/) and in the [changelog](/changelog). The package is `graphifyy`, with two y's. The command is `graphify`.
  </Step>
  <Step title="Install the skill for your assistant">
    ```bash
    graphify install --platform cursor
    ```

    Use `claude`, `codex`, `gemini`, or `copilot` in place of `cursor` when that is the assistant. `graphify install` with no flag uses the assistant it detects. Copilot in VS Code uses `graphify vscode install`. See [all integrations](/integrations/overview).
  </Step>
  <Step title="Map the repository">
    In the assistant chat, at the repository root:

    ```text
    /graphify .
    ```

    In Codex, select the Graphify skill with `$graphify` and ask it to map the current repository. This is an assistant instruction, not a shell command.
  </Step>
  <Step title="Check the files">
    A finished map writes `graphify-out/` at the repository root:

    ```text
    graphify-out/
    ├── graph.html        Interactive graph
    ├── GRAPH_REPORT.md   Concepts, communities, and suggested questions
    └── graph.json        The graph used by CLI and MCP queries
    ```
  </Step>
  <Step title="Ask one question">
    ```bash
    graphify query "how does authentication reach the database?"
    ```

    The first line names the graph and the nodes the search started from. Each `NODE` line is a concept with its source file and line. Each `EDGE` line is a relationship and where it happens in the code. If the output says `TRUNCATED`, raise `--budget` or ask about a narrower name.

    This is graph context from the files Graphify analyzed, not a verified answer. Open the source lines it cites before you rely on it.
  </Step>
</Steps>

## If a step fails

| What you see | What to do |
| --- | --- |
| The shell cannot find `graphify` | Run `uv tool update-shell`, then open a new terminal. See [Troubleshooting](/troubleshooting). |
| No `graphify-out/` after `/graphify .` | Run it in the assistant chat at the repository root, not in a shell. See [When something fails](/platform/when-stuck). |
| The query returns nothing useful | Ask about a function, class, or file in this repository. If the code changed since the map, run `graphify update .` first. |

## Next steps

<Columns cols={2}>
  <Card title="Trace who calls this" icon="route" href="/platform/trace">
    Find the callers of a symbol and check whether two names connect.
  </Card>

  <Card title="Query reference" icon="terminal" href="/reference/query">
    Every flag `graphify query` accepts.
  </Card>
</Columns>

---

## File: guides/exports.mdx

---
title: "Export and reuse your graph"
hideFooterPagination: true
---

Build a graph first, then export the same saved relationships into the format you need.

| Command | Output |
| --- | --- |
| `graphify export html` | Interactive graph visualization. |
| `graphify export callflow-html` | Architecture and call-flow HTML. |
| `graphify export wiki` | Markdown wiki organized around graph communities. |
| `graphify export obsidian` | Obsidian-compatible notes and links. |
| `graphify export svg` | Static SVG graph; requires the `svg` extra. |
| `graphify export graphml` | GraphML for tools such as Gephi or yEd. |
| `graphify export neo4j` | Cypher for Neo4j. |
| `graphify export falkordb` | Cypher for FalkorDB. |

## Generate a call-flow view

```bash
graphify export callflow-html --max-sections 8
graphify export callflow-html --output docs/architecture.html
```

The exporter reads the graph and associated report/labels. Explicit output paths make it easier to include the result in an internal documentation workflow.

## Export another graph

```bash
graphify export graphml --graph ./shared/graph.json
```

## Write to an existing Obsidian vault

```bash
graphify export obsidian --dir /absolute/path/to/vault
```

Review generated content before syncing it to a shared vault. The exporter is designed to preserve your own notes and `.obsidian` configuration.

## Push to a graph database

Neo4j and FalkorDB exports support optional push connections. Install the matching extra, use the appropriate connection URL, and supply passwords through `NEO4J_PASSWORD` or `FALKORDB_PASSWORD` rather than putting secrets on the command line.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousExtract without an IDE](/guides/headless-extraction)
  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Record useful findings](/guides/work-memory)

---

## File: guides/first-graph.mdx

---
title: "Build and explore a small graph"
hideFooterPagination: true
---

This example works without an API key. It makes the first query reproducible, instead of depending on names that may not exist in your repository.

## Create a project

Create a folder containing `app.py`:

```python app.py
def normalize_email(email: str) -> str:
    return email.strip().lower()


def find_user(email: str) -> dict:
    return {"email": normalize_email(email)}


def login(email: str) -> dict:
    return find_user(email)
```

## Build the graph

From that folder, with Graphify installed:

```bash
graphify extract . --code-only
graphify cluster-only . --no-label
graphify export html
```

Open `graphify-out/graph.html`, or read `graphify-out/GRAPH_REPORT.md`. The graph should contain the three functions and their call relationships. Exact IDs and report formatting can vary by release.

## Ask for context

```bash
graphify query "how does login normalize an email?"
graphify explain "normalize_email"
graphify path "login" "normalize_email"
```

Look for the relationship from `login` to `find_user`, then to `normalize_email`. Check the associated source references. If a label matches several nodes, use the node ID returned by the query for a more precise lookup.

## Make a change

Add another helper or change a call, then refresh:

```bash
graphify update .
graphify export html
```

Re-run the query and compare the connections. Graphify queries the saved graph, so changing a source file without updating the graph can leave an old answer.

## Move to your repository

Repeat the workflow from your repository root. Use [the assistant skill](/quickstart) to include model-assisted document context, or connect [MCP](/mcp/overview) for native agent tool calls.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Ask better graph questions](/guides/querying)

---

## File: guides/headless-extraction.mdx

---
title: "Extract without an IDE"
hideFooterPagination: true
---

`graphify extract` runs the pipeline without an assistant skill. It is useful for repeatable local scripts and CI jobs.

## Code-only extraction

```bash
graphify extract . --code-only
```

This needs no model API key. Start here to verify installation and the project scope.

## Semantic extraction

Install the extra for your backend, configure its credentials outside the repository, then select it:

```bash
graphify extract ./docs --backend claude
```

Graphify supports Claude, Gemini, OpenAI, DeepSeek, Kimi, Ollama, Bedrock, Azure, and Claude CLI backends. [Configuration](/reference/configuration) maps backends to their environment variables. Do not assume a model supports every input type.

## Tune resource use

```bash
graphify extract ./docs --backend ollama --token-budget 4000 --max-concurrency 2
```

`--max-workers` controls structural extraction parallelism. `--max-concurrency` controls model requests. `--api-timeout` changes the request timeout. Smaller chunks and less concurrency can help a local model fit its available memory.

## CI pattern

Install a pinned package version in the CI environment, run extraction from the repository root, and retain the reviewed graph or report as an artifact. Use the same ignore rules and output location on every run. Supply provider credentials through the CI secret store only when semantic extraction is part of the job.

No provider key is necessary for `--code-only`. Do not make CI publication of the graph public unless the underlying source can be public too.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousKeep the graph current](/guides/incremental-updates)
  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Export and reuse your graph](/guides/exports)

---

## File: guides/incremental-updates.mdx

---
title: "Keep the graph current"
hideFooterPagination: true
---

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

## Refresh code

```bash
graphify update .
```

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

```text
/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
graphify watch .
```

Or install git hooks:

```bash
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
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
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.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousRun Graphify locally](/guides/local-development)
  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Extract without an IDE](/guides/headless-extraction)

---

## File: guides/local-development.mdx

---
title: "Run Graphify locally"
hideFooterPagination: true
---

The open-source engine stores its graph on your filesystem. It does not require a Graphify account.

## Code-only workflow

```bash
uv tool install graphifyy
graphify extract . --code-only
graphify cluster-only . --no-label
graphify export html
graphify query "entry points"
```

`--code-only` is an `extract` flag. It skips semantic document and media extraction. It is not a flag you need to pass to the assistant skill.

## Include documents with a local model

Install the Ollama extra and run an Ollama model suitable for your content. Select an installed model in `OLLAMA_MODEL`, then:

```bash
uv tool install "graphifyy[ollama]"
graphify extract ./docs --backend ollama
```

Graphify defaults to the local Ollama endpoint. If you override the endpoint to a remote host, that changes where the content is sent. Large documents may need a smaller `--token-budget` or lower `--max-concurrency`.

## Understand the boundaries

- Local structural parsing does not send code to a model.
- A cloud coding assistant still controls where its own prompts and context go.
- A headless semantic backend receives the documents or media you ask it to process.
- PR commands contact GitHub, and model-assisted CLI triage can call your configured provider.
- Query logging is off by default in the current implementation; [configuration](/reference/configuration) describes the opt-in controls.

The generated graph can contain source text, labels, paths, and document concepts. Keep it in a location appropriate for that source material.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousAsk better graph questions](/guides/querying)
  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Keep the graph current](/guides/incremental-updates)

---

## File: guides/pull-requests.mdx

---
title: "Review pull requests with graph context"
hideFooterPagination: true
---

Graphify can combine a repository’s graph with open pull request information. This workflow needs the GitHub CLI (`gh`) authenticated for the repository.

## Inspect the queue

```bash
graphify prs
graphify prs 42
graphify prs --conflicts
```

Replace `42` with a real PR number. The queue shows available CI, review, and graph-impact information. The conflicts view finds overlap in graph communities; it is a review signal, not a guarantee of textual conflicts or runtime breakage.

## Prioritize reviews

```bash
graphify prs --triage
```

CLI triage uses an available configured model backend. Override it with `GRAPHIFY_TRIAGE_BACKEND` and optionally `GRAPHIFY_TRIAGE_MODEL` when needed.

## Target the correct repository

```bash
graphify prs --repo owner/repository --base main
graphify prs --worktrees
```

Replace `owner/repository` and `main` with the repository and base branch you use. Keep the local graph current and aligned with that codebase before interpreting impact.

## MCP equivalent

`list_prs`, `get_pr_impact`, and `triage_prs` expose PR context to an assistant. MCP `triage_prs` returns actionable PR data for the assistant to reason over; it is distinct from the CLI’s backend-assisted ranking.

These commands inspect PRs. Merging and changing code remain separate actions in your normal workflow.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousShare context with your team](/guides/team-workflows)

---

## File: guides/querying.mdx

---
title: "Ask better graph questions"
hideFooterPagination: true
---

Start with a specific subsystem or concept, then narrow your investigation. A compact query is usually more useful to an assistant than the whole architecture report.

## Gather context with query

```bash
graphify query "authentication and session storage" --budget 1500
```

`query` finds relevant starting nodes and traverses their relationships. Breadth-first traversal gathers a broader neighborhood. `--dfs` follows a deeper chain:

```bash
graphify query "request validation" --dfs --budget 1500
```

## Inspect one concept with explain

Take a label or node ID from the query results:

```bash
graphify explain "normalize_email"
```

Look at its source, community, and incoming and outgoing relationships. Inspect the source itself when a precise implementation detail matters.

## Trace a relationship with path

```bash
graphify path "login" "normalize_email"
```

This uses the [tutorial’s example project](/guides/first-graph). In your project, replace the labels with real nodes. Stored direction is respected; add `--undirected` when you want connectivity rather than a directional path.

## Ask the assistant to preserve uncertainty

> Use Graphify to trace how a request reaches persistence. Show the path and source references. Flag inferred or ambiguous edges, and tell me if the graph is missing evidence.

The tool supplies context, and the assistant interprets it. Ask for evidence and avoid treating an absent path as proof that two systems are independent.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousBuild and explore a small graph](/guides/first-graph)
  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Run Graphify locally](/guides/local-development)

---

## File: guides/team-workflows.mdx

---
title: "Share context with your team"
hideFooterPagination: true
---

You can share generated graph files in the repository, build them in each clone, or run a shared MCP server. Choose based on the size of the graph and who may access the source context.

## Repository workflow

1. Register the assistant skill in project scope if your team wants shared instructions.
2. Build and inspect the graph.
3. Decide which generated artifacts belong in version control.
4. Install `graphify hook install` once in each clone.
5. Run `graphify update .` after pulls and merges.

The upstream project recommends committing `graphify-out/` to share a starting map. Review generated files first; they contain source-derived information. Keep local cost reports out of version control:

```gitignore
graphify-out/cost.json
```

You can also exclude `graphify-out/cache/` to reduce repository size, at the cost of less cache reuse. The portable manifest uses relative paths and is re-anchored on load.

## One graph per worktree

Avoid multiple branches writing into one output location. Set `GRAPHIFY_OUT` to a worktree-specific directory when you use a shared or custom output setup.

## Shared MCP

Run a [shared HTTP MCP endpoint](/mcp/shared-http) if several clients should query one managed graph. Define who refreshes it, which revision it represents, and who is allowed to access it.

## Review related pull requests

[PR context](/guides/pull-requests) helps spot changes that touch the same files or graph communities. Use it to guide review and merge order alongside your tests and normal code review.

span[style*=features-bg]]:!bg-cover [body:has(&)_#content-container>span[style*=features-bg]]:!bg-bottom [body:has(&)_#footer_a[href*='linkedin.com']_svg]:!bg-[#0a66c2] [body:has(&)_#footer_a[href*='discord.gg']_svg]:!bg-[#5865f2] [body:has(&)_#footer_a[href*='github.com']_svg]:!bg-[#181717] [body:has(&)_#footer_a[href*='x.com']_svg]:!bg-[#000000] [body:has(&)_#content-container>span[style*=features-bg]]:!opacity-0 [body:has(&)_button]:!rounded-[2px] [body:has(&)_.rounded-xl]:!rounded-[2px] [body:has(&)_.rounded-2xl]:!rounded-[2px] [body:has(&)_.rounded-lg]:!rounded-[2px]" />


  [<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>PreviousRecord useful findings](/guides/work-memory)
  [Next<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden="true"></svg>Review pull requests with graph context](/guides/pull-requests)