63 lines
4.5 KiB
Markdown
63 lines
4.5 KiB
Markdown
# AGENTS.md – Einstieg für KI-Agenten
|
||
|
||
> **Maßgebliche Datei** für alle Agenten (Claude Code, Codex, Gemini CLI, VSCodium/Continue, Copilot, Chat-Dialoge).
|
||
> `CLAUDE.md`, `GEMINI.md`, `.github/copilot-instructions.md` verweisen nur hierher – Änderungen **nur hier**.
|
||
|
||
## Metadaten
|
||
- **Projekt:** LPIC-Prüfungsvorbereitung (`lpic`) – Arbeitsgedächtnis: [`context.md`](context.md)
|
||
- **Betreiber:** `br` (siehe [`ai/context/responsible.md`](ai/context/responsible.md))
|
||
- **Amtssprache:** `de`
|
||
- **Basis:** skel-ai, reduziert auf ein einzelnes Projekt (kein Mandant, keine Teilprojekte)
|
||
- **Stand:** 29.10.2026
|
||
|
||
## Amtssprache
|
||
Alle Antworten, Dokumente, Kommentare, Log-Meldungen, Ansible-Task-Namen und Commit-Texte in der **Amtssprache** (oben).
|
||
Fachbegriffe und Code-Bezeichner im Original. Bei `de`: korrekte Umlaute (ä ö ü ß), nie ae/oe/ue.
|
||
Details und Ausnahmen: [`ai/rules/language.md`](ai/rules/language.md).
|
||
|
||
## Sitzungsstart (Pflicht, in dieser Reihenfolge)
|
||
1. **Regeln lesen:** alle `ai/rules/*.md`. Sie haben **Vorrang vor allem anderen** (außer Sicherheits-/Datenschutzgrenzen des Agenten).
|
||
2. **Verabredungen lesen:** `ai/common/agents.md`, dann aufgabenbezogen die passende Datei (`bash.md`, `ansible.md`, `docker.md`, `coding.md`, `markdown.md`, `architecture.md`).
|
||
3. **Kontext lesen:** `ai/context/*.md`; Wissen aus `ai/context/knowledge/INDEX.md` gezielt nachladen.
|
||
4. **Arbeitsgedächtnis lesen:** [`context.md`](context.md) im Root.
|
||
5. Kurz bestätigen: gelesene Dateien, nächster Schritt laut `context.md`.
|
||
|
||
## Verzeichnisstruktur
|
||
| Pfad | Inhalt | Wer pflegt |
|
||
|---|---|---|
|
||
| `AGENTS.md` | diese Datei – Einstieg, Metadaten, Sitzungsablauf | Bediener + Agent |
|
||
| `context.md` | **Arbeitsgedächtnis** des Projekts: Ziel, Stand, Entscheidungen, offene Fragen, nächster Schritt | Agent |
|
||
| `ai/rules/` | **verbindliche** Erlaubnisse/Verbote, eine Regel pro Datei | Bediener (Agent nur auf Anweisung) |
|
||
| `ai/common/` | Verabredungen & Standards (Bash, Ansible, Docker, Coding, Doku, Architektur) + `templates/` | Bediener + Agent |
|
||
| `ai/context/` | Kontext (Verantwortliche, Stil, Umgebung) | Bediener + Agent |
|
||
| `ai/context/knowledge/` | Knowledge-DB (Markdown + Frontmatter, Index per Script) | Agent + Bediener |
|
||
| `ai/inbox/` | Eingang: vom Bediener abgelegte `.md`-Dateien, Agent ordnet ein und verschiebt nach `done/` | Bediener → Agent |
|
||
| `simulator/` | Prüfungssimulator (statisch, reveal.js); Fragen unter `simulator/data/`, Build mit `simulator/tools/build_bank.py` ([README](simulator/README.md)) | Agent + Bediener |
|
||
| `bash/` | Shell-Scripts, Übungsscripts (`ai/common/bash.md`) – bei Bedarf anlegen | Agent + Bediener |
|
||
| `ansible/` | Plays, Rollen, Inventar für Lab-VMs (`ai/common/ansible.md`) – bei Bedarf anlegen | Agent + Bediener |
|
||
| `stacks/` | Compose-Stacks, je Stack ein Ordner (`ai/common/docker.md`) – bei Bedarf anlegen | Agent + Bediener |
|
||
| `bin/` | Werkzeuge der Basis (nach `ai/common/bash.md` gebaut) | Bediener + Agent |
|
||
|
||
Jeder Ordner hat eine `README.md`, die Zweck, Inhalt und Pflege beschreibt.
|
||
|
||
## Werkzeuge
|
||
```bash
|
||
bin/kb_index.sh [--check] # Knowledge-INDEX.md erzeugen / prüfen
|
||
bin/bashdoc.sh <script.sh> [-o doku.md] # Doku aus '##'-Kommentaren
|
||
```
|
||
Alle Scripts: `-h` zeigt die Hilfe, `-n` Trockenlauf, `-d` Debug.
|
||
|
||
## Feste Grundsätze (Kurzfassung – Details in `ai/rules/`)
|
||
- **Datenschutz zuerst** – keine personenbezogenen/identifizierenden Daten an externe Dienste, auch nicht in Suchanfragen ([privacy.md](ai/rules/privacy.md)).
|
||
- **Geheimnisse** nie in Dateien/Git/Chat; Secret-Store zuerst ([secrets.md](ai/rules/secrets.md)).
|
||
- **Verantwortliche im Header** jeder Code-Datei, namentlich aus `ai/context/responsible.md` ([headers.md](ai/rules/headers.md)).
|
||
- **Kein Code in Cloud-VMs oder gegen Produktion** testen ohne ausdrückliche Freigabe ([testing.md](ai/rules/testing.md)).
|
||
- **Vor Löschen/Überschreiben** Ziel ansehen; `*.orig` statt Löschen ([file_safety.md](ai/rules/file_safety.md)).
|
||
- **Keine Erfindungen** – Unsicheres kennzeichnen, Quellen mit Datum nennen.
|
||
|
||
## Ergebnisse ablegen
|
||
- Projektstand → `context.md` (Sitzungsprotokoll, Entscheidungen, offene Fragen, nächster Schritt).
|
||
- Dauerhaftes Wissen (Prüfungsthemen, Systeme, Dienste, Entscheidungen, Anleitungen) → Knowledge-DB, danach `bin/kb_index.sh`.
|
||
- Verbesserungen an der Basis → siehe „AI-Basis verbessern“ in [`ai/common/agents.md`](ai/common/agents.md).
|
||
- Datumsangaben im Text absolut (TT.MM.JJJJ), in Frontmatter/Dateinamen ISO (JJJJ-MM-TT).
|