109 lines
6.3 KiB
Markdown
109 lines
6.3 KiB
Markdown
# LLM Wiki Schema: Personal Technical Knowledge Base
|
|
|
|
This document defines the structure, conventions, and workflows for maintaining the LLM Wiki in this repository.
|
|
|
|
## Overview
|
|
This wiki is an LLM-maintained knowledge base focused on **AI, Databases, Programming, and Knowledge Management**, integrated with **Feynman's 12 Favorite Problems** framework.
|
|
The LLM writes and maintains all files under `wiki/`. The human curates raw sources and directs queries.
|
|
|
|
**The Core Idea**: Unlike traditional RAG systems that re-derive answers from scratch on every query, this wiki is a **persistent, compounding artifact**. The LLM incrementally builds a structured, interlinked collection of markdown files. When new sources are added, the LLM integrates the knowledge, updates cross-references, and flags contradictions. You (the human) are in charge of exploration; the LLM does the bookkeeping. *Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase.*
|
|
|
|
## Architecture
|
|
There are three distinct layers to this setup:
|
|
1. **Raw sources (`raw/`)** — Your curated collection of source documents. These are immutable.
|
|
2. **The wiki (`wiki/`)** — A directory of LLM-generated markdown files (summaries, concepts, etc.). The LLM owns this layer entirely.
|
|
3. **The schema (this `GEMINI.md` file)** — The configuration file that tells the LLM how the wiki is structured and what workflows to follow.
|
|
|
|
## Directory Layout
|
|
- `raw/` — Immutable source documents (transcripts, articles, notes). Never modify these.
|
|
- `wiki/` — LLM-generated markdown files.
|
|
- `wiki/summaries/` — One summary page per raw source document.
|
|
- `wiki/concepts/` — Concept, strategy, and framework pages.
|
|
- `wiki/entities/` — Entity pages (tools, technologies, organizations, products).
|
|
- `wiki/syntheses/` — Comparison tables, decision frameworks, cross-cutting analyses.
|
|
- `wiki/journal/` — Research or session journal entries.
|
|
- `wiki/presentations/` — Marp slide decks generated from wiki content.
|
|
- `wiki/feynman_problems.md` — Central tracking of long-term problems.
|
|
- `wiki/index.md` — Master catalog and portal to thematic indices.
|
|
- `wiki/indices/` — Thematic and type-based index files.
|
|
- `wiki/log.md` — Append-only activity log.
|
|
|
|
## File Naming & Format
|
|
- **Naming**: All lowercase, hyphens for word separation: `concept-name.md`. No spaces or special characters.
|
|
- **Frontmatter**:
|
|
```yaml
|
|
---
|
|
title: "Page Title"
|
|
type: concept | entity | summary | synthesis
|
|
tags: [tag1, tag2]
|
|
created: YYYY-MM-DD
|
|
updated: YYYY-MM-DD
|
|
sources: ["[[Source Link]]"]
|
|
confidence: high | medium | low
|
|
---
|
|
```
|
|
|
|
## Required Sections by Page Type
|
|
|
|
### Summary pages (`wiki/summaries/`)
|
|
- `## Key Points` — Bulleted list of main claims/ideas.
|
|
- `## Relevant Concepts` — Links to concept pages this source touches.
|
|
- `## Source Metadata` — Type of source, author/speaker, date, URL or identifier.
|
|
|
|
### Concept pages (`wiki/concepts/`)
|
|
- `## Definition` — One-paragraph plain-English definition.
|
|
- `## How It Works` — Mechanics, process, or structure of the concept.
|
|
- `## Key Parameters` — Important variables, dimensions, or factors.
|
|
- `## When To Use` — Situations and contexts where this concept applies.
|
|
- `## Risks & Pitfalls` — Known failure modes, common mistakes, limitations.
|
|
- `## Related Concepts` — Wiki links to related pages.
|
|
- `## Sources` — Which raw sources inform this page.
|
|
|
|
### Entity pages (`wiki/entities/`)
|
|
- `## Overview` — What this entity is.
|
|
- `## Characteristics` — Key properties, attributes, structure.
|
|
- `## Common Strategies` — Links to concept pages for strategies or methods associated with this entity.
|
|
- `## Related Entities` — Links to related entity pages.
|
|
|
|
## Feynman's 12 Problems Framework
|
|
We maintain a list of ~12 "Favorite Problems" in `wiki/feynman_problems.md`. Every new piece of information is checked against this list to see if it offers a new insight or connection.
|
|
|
|
## Workflows
|
|
|
|
### 1. Ingest
|
|
When the user says "ingest [source]" or adds a file to `raw/`:
|
|
1. Read the raw source completely.
|
|
2. Create `wiki/summaries/<source-slug>.md` with full summary.
|
|
3. Identify all concepts, entities, and strategies mentioned.
|
|
4. **Feynman Check**: Compare against `wiki/feynman_problems.md` and update it if connections are found.
|
|
5. Create/Update concept and entity pages using the required sections.
|
|
6. Add cross-links in both directions between all touched pages.
|
|
7. Update `wiki/log.md` and relevant indices in `wiki/indices/` (thematic and type-based).
|
|
8. Update `wiki/index.md` if new categories are needed.
|
|
9. Flag any contradictions with existing content.
|
|
|
|
### 2. Query
|
|
1. Read `wiki/index.md` and relevant thematic indices in `wiki/indices/` to find relevant pages.
|
|
2. Synthesize an answer citing specific pages with wiki links.
|
|
3. If new insight is found, create a synthesis page in `wiki/syntheses/`.
|
|
|
|
### 3. Lint
|
|
1. Check for orphan pages, stale claims, contradictions, and missing cross-links.
|
|
2. Fix automatically where possible; report others.
|
|
3. Suggest new sources or topics.
|
|
|
|
## Rules
|
|
- Never modify files in `raw/`.
|
|
- All dates in ISO 8601 format: YYYY-MM-DD.
|
|
- Use Obsidian-style links: `[[concepts/concept-name]]`.
|
|
- Confidence levels: **high** (multiple sources), **medium** (single source), **low** (speculative).
|
|
- Polish language for content, English/Technical slugs for filenames.
|
|
|
|
## Optional Tools & Tips
|
|
- **Obsidian Web Clipper**: Browser extension for converting web articles to markdown to quickly get sources into your `raw/` collection.
|
|
- **Download Images Locally**: Configure Obsidian to download attachments locally (e.g., to `raw/assets/`). This allows the LLM to view and reference images directly without relying on URLs that may break. (LLMs may need to read text first, then process images separately).
|
|
- **Obsidian Graph View**: The best way to see the shape of the wiki, identify hubs, and spot orphan pages.
|
|
- **Dataview Plugin**: Use this Obsidian plugin to generate dynamic tables and lists by querying the YAML frontmatter the LLM adds to pages.
|
|
- **Marp**: Markdown-based slide format. Used in `wiki/presentations/` to generate decks directly from content.
|
|
- **qmd (Search Tool)**: A local search engine for markdown files (hybrid BM25/vector search + LLM re-ranking). Very useful as the wiki grows beyond what `index.md` can efficiently handle. Can be used as a CLI tool or MCP server.
|