# Knowledge-DB (Markdown) > Dauerhaftes Wissen über Umgebung und Projekt – eine Datei pro Eintrag, Metadaten im YAML-Frontmatter, > Übersicht in [`INDEX.md`](INDEX.md) (erzeugt von `bin/kb_index.sh`, nicht von Hand bearbeiten). ## Ablage | Ordner | `type` | Inhalt | Beispiel | |---|---|---|---| | `systems/` | `system` | Hosts, VMs, Geräte (Server, Switch, AP, Firewall) | `systems/host01.md` | | `network/` | `network` | Netze, VLANs, IP-Pläne, DNS-Zonen, VPN, Routing | `network/ip_plan.md` | | `services/` | `service` | Dienste/Anwendungen (DNS, RADIUS, Backup, Mail) | `services/dns_resolver.md` | | `decisions/` | `decision` | ADRs – Entscheidungen mit Begründung | `decisions/adr_0001_secret_store.md` | | `howto/` | `howto` | Anleitungen, Runbooks, wiederkehrende Handgriffe | `howto/restore_backup.md` | | `research/` | `research` | Recherchen mit Quellen und Datum | `research/wifi_controller_vergleich.md` | | `topics/` | `topic` | Lerninhalte je LPIC-Prüfungsthema (Objective-Nummer im `id`) | `topics/lpic1_103_1_command_line.md` | Dateiname = `id` + `.md` (Englisch/ASCII, klein, `_`). ADRs: `adr_NNNN_`. ## Frontmatter (Schlüssel englisch, Werte in Amtssprache) ```yaml --- id: host01 # Pflicht, eindeutig, = Dateiname ohne .md title: Virtualisierungshost 1 # Pflicht type: system # Pflicht: system|network|service|decision|howto|research|topic status: active # Pflicht: draft|active|deprecated|superseded updated: 2026-10-07 # Pflicht, ISO owner: br # Pflicht: Kürzel aus ../responsible.md tags: [proxmox, server] # optional sources: [] # optional: URLs (mit Abrufdatum im Text) related: [dns_resolver] # optional: ids verwandter Einträge supersedes: # optional (v. a. ADRs) classification: intern # optional, Default intern; nie höher (rules/privacy.md) --- ``` Vorlage: [`../../common/templates/markdown/knowledge_entry.md`](../../common/templates/markdown/knowledge_entry.md), ADR: [`adr.md`](../../common/templates/markdown/adr.md). ## Regeln für Agenten - **Lesen:** zuerst `INDEX.md`, dann gezielt Einträge. Suche: `grep -rl "tags:.*dns" ai/context/knowledge/`. - **Schreiben:** bestehenden Eintrag aktualisieren statt neuen anlegen; `updated` setzen; Quellen mit Datum. - **Fakten statt Erzählung:** Tabellen (Adressen, Ports, Versionen), Abschnitt „Stand/Änderungen“ unten mit Datum. - **Nach jeder Änderung:** `bin/kb_index.sh` (prüft Pflichtfelder, doppelte ids, aktualisiert `INDEX.md`). `--check` für reine Prüfung. - Veraltetes nicht löschen: `status: deprecated`/`superseded`, Verweis auf Nachfolger. - Keine Geheimnisse, keine Personennamen außer Kürzeln aus `responsible.md`.