Skip to content

Idea Relations

Relations let you express how ideas connect to each other. Every relation has a source, a target, a type, and an optional note. Together, they form a directed graph that you can explore in the mind map or via the CLI.

NeuralRepo supports six relation types. Each serves a distinct purpose.

TypeDirectionMeaning
relatedA → BGeneral connection. A and B are conceptually related.
parentA → BHierarchical. A is the parent of B. Use this to break large ideas into sub-ideas.
blocksA → BA blocks progress on B. B cannot move forward until A is resolved.
inspiresA → BA inspired the creation of B. A seed that grew into something new.
duplicateA → BA is a duplicate of B. Automatically created by the duplicate detection system.
supersedesA → BA replaces B. The newer idea makes the older one obsolete.

Open an idea and click + Add Relation in the relations panel. Select the target idea, choose a relation type, and optionally add a note explaining the connection.

Certain relation types enforce acyclicity to maintain a coherent graph.

BehaviorRelation TypesWhat happens
Hard-blockedblocks, supersedes, parentCycles are rejected outright. You cannot create a relation that would form a loop.
Soft-blockedrelated, inspiresCycles trigger a warning but can be overridden.

To override a soft-blocked cycle in the CLI:

Terminal window
nrepo link 3 7 --type inspires --force
Terminal window
# List all relations for an idea
nrepo links <id>
# Explore the graph from a starting idea
nrepo graph <id>
# Limit depth and filter by type
nrepo graph <id> --depth 3 --type blocks,inspires

NeuralRepo creates some relations automatically:

  • Duplicate detection: When a new idea scores above the dedup threshold (default 0.75) against an existing idea, a duplicate relation is created along with a pending detection record.
  • Related suggestions: When a new idea scores above the related threshold (default 0.5) but below the dedup threshold, a related relation is created automatically.

These thresholds are configurable in your user settings. See Duplicate Detection for details.

Terminal window
nrepo unlink <source> <target>