Documentation
¶
Index ¶
- func LoadJSON(path string) (*types.Graph, error)
- func PushNeo4j(g *types.Graph, boltURL, username, password string) error
- func WriteHTML(g *types.Graph, outDir string) error
- func WriteJSON(g *types.Graph, outDir string) error
- func WriteJSONAtomic(g *types.Graph, outDir string) error
- func WriteObsidian(g *types.Graph, outDir string) error
- func WriteObsidianConfig(g *types.Graph, outDir string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadJSON ¶ added in v1.4.0
LoadJSON reads a graph.json file written by WriteJSON/WriteJSONAtomic.
func PushNeo4j ¶
PushNeo4j connects to the Neo4j instance at boltURL and writes all nodes and edges from g. Existing data is NOT cleared — nodes and edges are merged using MERGE to make the operation idempotent.
Returns a clear error if Neo4j is unreachable (not a panic).
func WriteHTML ¶
WriteHTML generates an interactive vis.js Network graph as a self-contained HTML file at outDir/graph.html. Nodes are coloured by community ID; god nodes (high degree) are rendered larger.
func WriteJSONAtomic ¶ added in v1.3.0
WriteJSONAtomic serialises g to <outDir>/graph.json atomically using a temp file + rename so a crash mid-write leaves the previous file intact.
func WriteObsidian ¶
WriteObsidian creates an Obsidian vault at outDir/obsidian/.
Vault layout:
obsidian/
Memories/ ← ancora memory root
_index/ ← workspace + visibility hub notes
workspace-glim.md
visibility-work.md
glim/ ← one folder per workspace
work/ ← one subfolder per visibility
Fixed auth bug.md ← rich frontmatter observation note
personal/
ancora/
work/
Projects/ ← codebase extractions
vela/ ← one folder per project
_index.md ← project root note
internal_auth_middleware.go.md
glim/
_root/ ← memory_source and project root nodes
Edges between memories and code (cross-source references) are written as wikilinks so Obsidian graph view draws connections between the two domains.
func WriteObsidianConfig ¶
WriteObsidianConfig writes .obsidian/graph.json with colorGroups derived from the graph's node types and workspace/project structure.
Group priority (Obsidian first-match wins):
- Memories/_root — amber memory source root
- Memories/_index — gold workspace/visibility index notes
- Memories/*/work — teal (work-scoped observations)
- Memories/*/personal — rose (personal observations)
- Memories/*/ — workspace catch-all
- Projects/<name>/_index — project root (per-project color)
- Projects/<name>/ — code symbols catch-all
Physics settings are preserved from existing graph.json if present.
Types ¶
This section is empty.