Automattic / Automattic/cortext
Add a graph view for connected documents
- 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
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