Automattic / Automattic/cortext

Add a graph view for connected documents

Open
#438 0 comments 0 reactions 0 assignees View on GitHub
area: collections area: shell priority: medium type: enhancement
Dominant language
JavaScript
Stars
51
Forks
2
Avg merge
3h 12m
Merged PRs (30d)
8

Description

## Goal

Cortext already records connections through mentions, backlinks, and relation fields. Today, you can only inspect those connections one document at a time.

Add a graph for exploring those relationships across the workspace. It should make related documents easier to discover without replacing their normal views.

## Tasks

- [ ] Add a graph surface to the main navigation, plus a focused graph for the document currently open.
- [ ] Represent Cortext documents as nodes and use different edge styles for mentions, backlinks, and relation values.
- [ ] Add search, focus, and filters for assigned collections and connection type so a large workspace does not turn into an unreadable web.
- [ ] Show the title, icon, and collection context for the selected node, and open it through its normal workspace route.
- [ ] Load a small neighborhood first and let the user expand it, with useful empty, loading, and error states.

## Acceptance criteria

- Mentions and relations between documents appear as connections in the graph.
- A user can find a document, focus on its immediate connections, and expand from there.
- Selecting a node shows its title and collection context, with an action to open it in the workspace.
- Filters can narrow the graph by assigned collection or connection type.
- Trashed, archived, or otherwise inaccessible content is not exposed through the graph.

Contributor guide

Open the contributing guide

Research direction

Start by locating the main navigation, the current document workspace route, and the existing handling for mentions, backlinks, and relation fields. Define how the graph surface and focused document graph fit those entry points, then verify that search, filters, expansion, node details, navigation, and empty, loading, and error states meet the acceptance criteria without exposing inaccessible content.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.