This wiki is maintained entirely by Gemini CLI. No API key or Python scripts needed — just open this repo with gemini and talk to it.
Describe what you want in plain English:
- "Ingest this file: raw/papers/my-paper.md"
- "What does the wiki say about transformer models?"
- "Check the wiki for orphan pages and contradictions"
- "Build the knowledge graph"
Or use shorthand triggers:
ingest <file>→ runs the Ingest Workflowquery: <question>→ runs the Query Workflowlint→ runs the Lint Workflowbuild graph→ runs the Graph Workflow
raw/ # Immutable source documents — never modify these
wiki/ # Agent owns this layer entirely
index.md # Catalog of all pages — update on every ingest
log.md # Append-only chronological record
overview.md # Living synthesis across all sources
sources/ # One summary page per source document
entities/ # People, companies, projects, products
concepts/ # Ideas, frameworks, methods, theories
syntheses/ # Saved query answers
graph/ # Auto-generated graph data
tools/ # Optional standalone Python scripts
Every wiki page uses this frontmatter:
---
title: "Page Title"
type: source | entity | concept | synthesis
tags: []
sources: []
last_updated: YYYY-MM-DD
---Use [[PageName]] wikilinks to link to other wiki pages.
Triggered by: "ingest "
- Read the source document fully
- Read
wiki/index.mdandwiki/overview.mdfor current wiki context - Write
wiki/sources/<slug>.md(source page format below) - Update
wiki/index.md— add entry under Sources - Update
wiki/overview.md— revise synthesis if warranted - Update/create entity and concept pages
- Flag contradictions with existing wiki content
- Append to
wiki/log.md:## [YYYY-MM-DD] ingest | <Title> - Post-ingest validation — check for broken
[[wikilinks]], verify all new pages are inindex.md, print a change summary
---
title: "Source Title"
type: source
tags: []
date: YYYY-MM-DD
source_file: raw/...
---
## Summary
2–4 sentence summary.
## Key Claims
- Claim 1
## Key Quotes
> "Quote here"
## Connections
- [[EntityName]] — how they relate
## Contradictions
- Contradicts [[OtherPage]] on: ...If the source falls into a specific domain (e.g., personal diary, meeting notes), the agent should use a specialized template instead of the default generic one above:
---
title: "YYYY-MM-DD Diary"
type: source
tags: [diary]
date: YYYY-MM-DD
---
## Event Summary
...
## Key Decisions
...
## Energy & Mood
...
## Connections
...
## Shifts & Contradictions
...---
title: "Meeting Title"
type: source
tags: [meeting]
date: YYYY-MM-DD
---
## Goal
...
## Key Discussions
...
## Decisions Made
...
## Action Items
...Triggered by: "query: "
- Read
wiki/index.md— identify relevant pages - Read those pages
- Synthesize answer with
[[PageName]]citations - Offer to save as
wiki/syntheses/<slug>.md
Triggered by: "lint"
Check for: orphan pages, broken links, contradictions, stale content, missing entity pages, data gaps.
Triggered by: "build graph"
Try python tools/build_graph.py --open first. If unavailable, build graph.json and graph.html manually from wikilinks.
- Source slugs:
kebab-case - Entity/Concept pages:
TitleCase.md
## [YYYY-MM-DD] <operation> | <title>