Skip to main content
Glama
README.md
<p align="center"><img src="bilder/banner.svg" alt="AKA Recht: Deine Aktenmappe für Rechtssachen" width="100%"></p>

<p align="center">
<img src="bilder/abzeichen-preis.svg" alt="kostenlos">
<img src="bilder/abzeichen-lizenz.svg" alt="Lizenz AGPL-3.0">
<img src="bilder/abzeichen-python.svg" alt="Python 3, keine Fremdpakete">
<img src="bilder/abzeichen-lokal.svg" alt="läuft lokal, ohne Netz">
<img src="bilder/abzeichen-recht.svg" alt="Recht: Deutschland">
</p>

<a name="reiter"></a>

<p align="center">
<a href="#aka-recht"><img src="bilder/reiter-start.svg" alt="Start"></a>
<a href="#einrichten"><img src="bilder/reiter-einrichten.svg" alt="Einrichten"></a>
<a href="#ki"><img src="bilder/reiter-ki.svg" alt="Mit der KI arbeiten"></a>
<a href="#inhalt"><img src="bilder/reiter-inhalt.svg" alt="Inhalt der Mappe"></a>
<a href="#sicherheit"><img src="bilder/reiter-sicherheit.svg" alt="Sicherheit und Grenzen"></a>
<a href="#mitmachen"><img src="bilder/reiter-mitmachen.svg" alt="Mitmachen und Lizenz"></a>
</p>

<p align="center"><b>Deutsch</b> · <a href="README.en.md">English</a> · <a href="CONTRIBUTING.md">Mitmachen</a> · <a href="https://github.com/sponsors/Cehha79">Unterstützen</a></p>

# AKA Recht

Ein Strafzettel, eine Kündigung, eine Nebenkostenabrechnung, ein Bescheid
vom Amt, Strafanzeige, Widerspruch: Irgendwann hat jeder eine Rechtssache, und
dann liegen Briefe, Fotos, Mails und Fristen überall. **AKA Recht** ist der
Ordner, in dem das alles seinen Platz findet, und die Anleitung, mit der deine
KI dir hilft, es zu ordnen, zu prüfen und zu formulieren.

AKA Recht hilft dir, Rechtssachen wie Kündigungen, Bußgelder, Strafanzeige,
Widerspruch oder Mietstreitigkeiten selbst zu ordnen. Deine Akten liegen lokal
auf deinem Rechner, ohne Cloud-Speicher. Jeder Fall hat eine eindeutige Kennung
und eine feste Struktur für Dokumente, Beteiligte, Fristen und Verlauf.
Digitale Fingerabdrücke (Prüfsummen) machen Dateiveränderungen erkennbar.

Das Fristende wird nach §§ 187, 188 und 193 BGB berechnet, unter
Berücksichtigung von Wochenenden und den landesweiten Feiertagen des
maßgeblichen Bundeslands (nach § 193 BGB das des Erklärungs- oder
Leistungsorts). Welche Frist gilt und wann sie beginnt, musst du selbst klären.

Über die KI-Schnittstelle MCP lassen sich Akten durchsuchen, Dokumente
auswerten und Schreiben entwerfen. Dabei wird alles, was der KI-Assistent aus
der Akte liest, an den jeweiligen KI-Anbieter übermittelt. Änderungen an der
Akte erfolgen nur nach deiner ausdrücklichen Bestätigung.

AKA Recht ersetzt keine Rechtsberatung.

- **Jede Sache ist ein Fall** mit fester Kennung, festen Ordnern, Ordnungsdaten
  in `akte.json` und einem Journal. Originale werden nie verändert.
- **Fristen mit Rechnung:** Jede Frist zeigt Auslöser, Rechtsgrundlage und den
  Rechenweg nach §§ 187, 188, 193 BGB, mit den Feiertagen deines Bundeslands.
- **Chronologie, der auch andere folgen können:** ein Zeitpfad mit der Zeit in
  der Mitte, links die anderen Stellen, rechts deine eigenen Schritte.
  Kernereignisse auf einen Klick, Farbe je Gruppe, Anlass und Reaktion mit
  Abstand („7 Tage später“), und jede Fundstelle öffnet das Dokument.
- **Deine KI arbeitet mit:** Claude Code, Claude Desktop, Codex oder jede andere,
  die MCP (Model Context Protocol) oder Befehle ausführen kann. 7 Anleitungen
  führen sie von der Fallaufnahme bis zum geprüften Entwurf, 36 Werkzeuge
  lassen sie in der Akte lesen und, nach deiner Bestätigung, schreiben.
- **Alles bleibt bei dir:** keine KI in der App, kein Konto, kein Schlüssel,
  kein Netz. Der Dienst läuft nur auf deinem Rechner.

> [!TIP]
> Zum Ausprobieren gibt es einen erfundenen Beispielfall (Kündigung durch den
> Arbeitgeber). In der Oberfläche auf **„Beispielfall laden“** klicken, dann
> durch Akte, Dokumente, Chronologie, Fristen und Entwurf klicken. Jederzeit löschbar.

Produkt Version 0.4 vom 18.09.2026, neuester Stand vom 02.10.2026 · Datenformat `akte.json` Schema 1 · MCP-Protokoll 2026-07-28 und 2025-11-25 · geprüft mit Python 3.14.7 auf macOS 26.7.1, Ubuntu 24.04 (Python 3.12) und Windows 11 (Python 3.14) · Autor: Hasan Tepegöz

## Neu seit Version 0.4

Diese Punkte stehen im neuesten Stand vom 02.10.2026, noch nicht in der festen Version 0.4. Wer die feste Version von der Release-Seite lädt, bekommt sie mit der nächsten Version. Geprüft sind sie bisher nur auf macOS.

- **Chronologie als Zeitpfad:** links die anderen Stellen, rechts die eigenen Schritte, die Zeit in der Mitte; Kernereignisse, Farbe je Gruppe, Bezug „Antwort auf“ mit Abstand, eigene Art eines Ereignisses neben der Liste der üblichen.
- **Beteiligte mit Rolle und Funktion:** Die Rolle ordnet der Gruppe zu und bestimmt Seite und Farbe in der Chronologie; die Funktion sagt in freien Worten, wer jemand ist, etwa „Rechtsanwalt der Gegenseite“.
- **Entwürfe:** Die Fassungsnummer folgt dem Text: Unveränderter Text behält die Nummer, wenn sein Status wechselt, geänderter bekommt eine neue. Ein Entwurf lässt sich umbenennen (`entwurf_setzen`).
- **Bestand:** Werkzeuge, die selbst eine Datei anlegen, geben nur dieser eine Kennung; andere neue Dateien bleiben unerfasst, bis du `bestand_abgleichen` aufrufst.
- **Sicherung:** Die Wiederherstellungsprobe meldet getrennt, ob das Archiv vollständig ist und ob jede Akte alle Regeln des Datenmodells erfüllt.
- **Sitzungsstart:** Die Meldung des Hooks nennt ihre Uhrzeit; Verknüpfungen im Eingang zählen nicht als Post.
- **Rechtsinhalte:** Ein Prüflauf stellt sicher, dass alle Verweise der Merkblätter, des Quellenkatalogs und der Vorlagen auf amtliche Stellen zeigen.

## Herunterladen

| Weg | So geht es |
|---|---|
| Feste Version | Auf der [Release-Seite](https://github.com/Cehha79/aka-recht/releases/latest) das Archiv „Source code (zip)“ laden und entpacken. |
| Neuester Stand | `git clone https://github.com/Cehha79/aka-recht` oder oben auf GitHub „Code“, „Download ZIP“. |

Danach weiter mit **[Einrichten](#einrichten)**: Voraussetzungen, erster
Start je System, KI anbinden. Zum Weitergeben den GitHub-Link teilen und den
Ordner nicht selbst neu packen (warum, steht unter Einrichten).

## So sieht es aus

Zum Vergrößern anklicken. Alle Bilder zeigen den erfundenen Beispielfall
(„Max Muster“ gegen „Muster Logistik GmbH“), keine echten Personen.

<table>
<tr>
<td width="50%"><a href="bilder/01-zentrale.jpg"><img src="bilder/01-zentrale.jpg" alt="Zentrale: alle Fälle, Fristen, Eingang"></a><br><sub><b>Zentrale:</b> alle Fälle, nächste Fristen, Posteingang</sub></td>
<td width="50%"><a href="bilder/02-fallakte.jpg"><img src="bilder/02-fallakte.jpg" alt="Fallakte: Rolle, Ziel, Verfahren, nächste Fristen und Aufgaben"></a><br><sub><b>Fallakte:</b> Rolle, Ziel, Verfahren, Fristen, Aufgaben</sub></td>
</tr>
<tr>
<td width="50%"><a href="bilder/03-dokumente.jpg"><img src="bilder/03-dokumente.jpg" alt="Dokumente mit Vorschau, Kennung und Anlagennummer"></a><br><sub><b>Dokumente:</b> Vorschau, Kennung, Anlagennummer, Einsortieren</sub></td>
<td width="50%"><a href="bilder/04-fristen.jpg"><img src="bilder/04-fristen.jpg" alt="Fristen mit Rechtsgrundlage, Rechnung und Prüfstatus"></a><br><sub><b>Fristen:</b> Rechtsgrundlage, Rechenweg, Prüfstatus</sub></td>
</tr>
</table>

Die Oberfläche hat eine **Zentrale** (Übersicht, alle Fälle, Posteingang,
Fristen aller Fälle, Rechtsquellen, Bestand und Sicherung, Einstellungen,
Anleitung) und je Fall eine **Fallakte** (Übersicht, Dokumente mit Vorschau,
Beteiligte, Verfahren, Chronologie, Fristen mit Rechner, Aufgaben, Entwürfe,
Beweise und Anlagen, Journal). Sie ist reines HTML, CSS und JavaScript ohne
Framework und braucht keinen Zugang nach außen.

> [!WARNING]
> **Kein Rechtsanwalt, keine Rechtsberatung.** Was die Mappe kann und was
> nicht, steht unter [Sicherheit und Grenzen](#grenzen).


<p align="right"><sub><a href="#reiter">↑ nach oben zu den Reitern</a></sub></p>

<a name="einrichten"></a>

<img src="bilder/seite-einrichten.svg" width="100%" alt="2 · Einrichten: Voraussetzungen · Erster Start · KI anbinden · Aktualisieren · Fragen">

## Voraussetzungen

- Python 3.12 oder neuer (`python3 --version`). Geprüft mit 3.12.3 unter
  Ubuntu und 3.14.7 unter macOS und Windows; ältere Fassungen sind
  ungeprüft. Keine weiteren Pakete.
- Geprüft am 18.09.2026 auf macOS 26.7, auf Ubuntu 24.04 (Python 3.12) und
  auf Windows 11 (Python 3.14.7): jeweils Funktionstest mit 61 Prüfpunkten
  (seither sind weitere Prüfpunkte dazugekommen; die sind bisher nur auf
  macOS gelaufen),
  Dienst über das Startskript, MCP-Server, Beispielfall in einem Ordner mit
  Leerzeichen und Umlauten, Texterkennung mit Foto und zweiseitigem Scan.
- Für Textauszüge aus PDF optional das Programm `pdftotext` (Paket poppler).
- Für Fotos und Scans ohne Textschicht optional die Texterkennung (OCR)
  `tesseract` mit deutscher Sprache; PDF-Scans brauchen dazu `pdftoppm` (auch
  Paket poppler). Ohne diese Programme bleibt alles wie bisher, die Mappe
  meldet nur, dass kein Text gelesen wurde.

<details>
<summary><b>macOS — Schritt für Schritt</b></summary>

**1. Mappe starten**

Doppelklick auf `Start.command`. Beim ersten Mal fragt macOS nach, ob du das
Programm wirklich öffnen willst — das ist normal, die Datei kommt aus dem
Internet. Wenn der Doppelklick nichts tut: Rechtsklick auf die Datei,
**Öffnen**, dann im Fenster noch einmal **Öffnen**.

*Geklappt, wenn:* Ein schwarzes Fenster erscheint und der Browser die Mappe
zeigt. Das Fenster kannst du danach schließen — der Dienst läuft in einer
eigenen Sitzung weiter. Beenden kannst du ihn über „Bestand und Sicherung“
oder indem du den Rechner neu startest.

**2. Texterkennung einrichten — freiwillig**

Nur nötig, wenn du Fotos oder eingescannte Briefe ohne Textschicht einlesen
willst. Ohne diesen Schritt läuft alles andere.

Dafür brauchst du **Homebrew**, eine Paketverwaltung für macOS — ein Programm,
das andere Programme installiert. Prüfen, ob du es schon hast:

```
brew --version
```

Kommt eine Fehlermeldung, zuerst Homebrew installieren (siehe
[brew.sh](https://brew.sh)). Danach:

```
brew install poppler tesseract tesseract-lang
```

*Geklappt, wenn:* Der folgende Befehl `deu` in der Liste zeigt.

```
tesseract --list-langs
```

> [!NOTE]
> Auf Intel-Macs mit neuem macOS gibt es teils keine fertigen Pakete. Homebrew
> baut dann aus dem Quelltext, und das kann eine Stunde oder länger dauern
> (am 17.09.2026 auf macOS 26.7 so erlebt). Das Fenster einfach laufen lassen.

**3. Wichtig: den Ordner nicht selbst neu packen**

Weder mit `zip` oder `ditto` noch mit dem Finder („Komprimieren"). Keiner
dieser Wege schreibt eine UTF-8-Kennung ins Archiv. Wer es dann auf einem
anderen Rechner entpackt, bekommt aus `06 Entwürfe` einen kaputten Namen wie
`06 Entwu╠êrfe` (am 18.09.2026 für Finder und `zip` geprüft).

Am Mac merkt man davon nichts, weil der Finder seine eigenen Archive wieder
richtig öffnet. Kaputt geht es erst beim Wechsel auf Windows oder Linux.

*Zum Weitergeben:* den GitHub-Link teilen. *Zum Sichern:* den Knopf in der
Mappe benutzen — der packt mit Pythons `zipfile` und damit sauber.

</details>

<details>
<summary><b>Linux — Schritt für Schritt</b></summary>

**1. Mappe starten**

```
./Start.sh
```

Fehlt das Ausführungsrecht, einmalig:

```
chmod +x Start.sh
```

*Geklappt, wenn:* Der Browser zeigt die Mappe. Als Dateimanager dient
`xdg-open`.

**2. Texterkennung einrichten — freiwillig**

Nur nötig für Fotos und eingescannte Briefe ohne Textschicht. Unter Ubuntu und
Debian genügt ein Befehl:

```
sudo apt install poppler-utils tesseract-ocr tesseract-ocr-deu
```

Er fragt nach deinem Passwort; beim Tippen ist nichts zu sehen, das ist so
gewollt. Andere Distributionen haben eigene Paketnamen (Fedora: `dnf install
poppler-utils tesseract tesseract-langpack-deu`).

*Geklappt, wenn:* `deu` in der Liste steht.

```
tesseract --list-langs
```

**3. Geprüft am 18.09.2026**

Ubuntu 24.04 mit Python 3.12: Funktionstest mit 61 Prüfpunkten, Dienst über
`Start.sh`, MCP-Server, Beispielfall in einem Ordner mit Leerzeichen und
Umlauten. Die Texterkennung hat Foto und zweiseitigen Scan ohne Textschicht
erkannt (tesseract 5.3.4).

</details>

<details>
<summary><b>Windows — Schritt für Schritt</b></summary>

**1. Mappe starten — und zwar zuerst**

Doppelklick auf `Start.bat`.

> [!IMPORTANT]
> Das muss **vor** dem ersten Start von Claude Code oder Codex passieren.
> Grund: Unter Windows heißt der Befehl `python`, nicht `python3` — `python3.exe`
> ist dort nur ein Verweis auf den Microsoft Store. `Start.bat` stellt deshalb
> `.mcp.json`, `.claude/settings.json` und `.codex/config.toml` auf `python`
> um. Wer die KI vorher startet, bekommt die Meldung „Python wurde nicht
> gefunden" und die Hooks laufen nicht.

*Geklappt, wenn:* Der Browser zeigt die Mappe. Wer mit git arbeitet, sieht die
drei Dateien danach als geändert — das ist richtig so.

**2. Texterkennung einrichten — freiwillig**

Nur nötig für Fotos und eingescannte Briefe ohne Textschicht, und für Text aus
PDF. Windows bringt weder `tesseract` noch `pdftotext` mit. Beide gibt es über
`winget`, die Paketverwaltung von Windows. Eingabeaufforderung öffnen
(Startmenü, `cmd` tippen) und nacheinander:

```
winget install --id UB-Mannheim.TesseractOCR
```

```
winget install --id oschwartz10612.Poppler
```

**3. Deutsche Sprache nachlegen**

Der tesseract-Installer bringt **nur Englisch** mit. Im Installationsfenster
unter „Additional language data" **German** mitwählen.

Läuft er ohne Fenster durch, fehlt Deutsch. Dann `deu.traineddata` von
[tessdata](https://github.com/tesseract-ocr/tessdata) laden und nach
`C:\Program Files\Tesseract-OCR\tessdata` legen — dafür braucht der Explorer
Administratorrechte.

**4. Prüfen**

Ein **neues** Fenster öffnen (das alte kennt die neuen Programme noch nicht):

```
tesseract --list-langs
```

*Geklappt, wenn:* `deu`, `eng` und `osd` in der Liste stehen.

Findet Windows den Befehl nicht, liegt das am tesseract-Installer: Er trägt das
Programm **nicht** in den Suchpfad ein. Für die Mappe ist das kein Problem —
sie sucht zusätzlich an den üblichen Orten. Zum Prüfen von Hand hilft der volle
Pfad:

```
"C:\Program Files\Tesseract-OCR\tesseract.exe" --list-langs
```

**5. Geprüft am 18.09.2026**

Windows 11 mit Python 3.14.7: Funktionstest mit 61 Prüfpunkten, Texterkennung
an Foto und zweiseitigem Scan, Claude Code mit MCP-Server (32 Werkzeuge) und
greifendem Originalschutz.

</details>


## Erster Start

1. Holen: `git clone https://github.com/Cehha79/aka-recht` oder auf GitHub „Code“, „Download ZIP“ und
   entpacken; den Ordner an einen Ort deiner Wahl legen. Zum Weitergeben den
   GitHub-Link teilen, den Ordner nicht selbst neu packen (siehe macOS oben).
2. Starten: macOS `Start.command`, Linux `Start.sh`, Windows `Start.bat`. Der
   Dienst läuft nur auf 127.0.0.1, der Standardbrowser öffnet die Oberfläche.
   Beim ersten Start entsteht `zentrale.json`.
3. Unter „Einstellungen“ deinen Absender eintragen (Name, Anschrift,
   Kontakt); er landet in `zentrale.json` auf deinem Rechner und füllt später
   „Von:“ und Unterschrift in Entwürfen aus den Vorlagen.
4. In der Oberfläche „Neuer Fall“ anlegen, Post nach `01 Eingang` legen oder
   in „Dokumente“ hinzufügen, ordnen, Fristen rechnen, Journal führen.
5. Seite „Anleitung“ in der Oberfläche lesen, dort steht auch, wie du eine KI
   anbindest.

## KI anbinden

<details open>
<summary><b>Claude Code</b></summary>

Sitzung im Ordner starten; `.mcp.json` liegt bei; Dialog bestätigen; mit
`/mcp` prüfen. Skills unter `.claude/skills/` (`/fallaufnahme`,
`/fristencheck`, `/entwurf` …), Hooks aus `.claude/settings.json`.

</details>

<details>
<summary><b>Codex</b></summary>

- Weg A: einmalig `codex mcp add aka-recht -- python3 "<voller Pfad>/06 Werkzeuge/dienst/mcp_server.py"`.
- Weg B ohne diesen Eintrag: den Projektordner in `~/.codex/config.toml` als
  vertraut eintragen (`[projects."<voller Pfad zum Projektordner>"]` mit
  `trust_level = "trusted"`), dann lädt Codex die mitgelieferte
  `.codex/config.toml`; ein Eintrag für einen übergeordneten Ordner genügt nicht.
- Prüfen im Projektordner mit `codex mcp list`. Unter Windows `python` statt
  `python3`. Skills unter `.agents/skills/` (`$fristencheck` …).

</details>

<details>
<summary><b>Claude Desktop</b></summary>

Einstellungen, Entwickler, Konfiguration bearbeiten: Eintrag `aka-recht` mit
`command` `python3` (unter Windows `python`) und `args`
`["<voller Pfad>/06 Werkzeuge/dienst/mcp_server.py"]`; Claude Desktop neu starten.

</details>

<details>
<summary><b>Andere Assistenten</b></summary>

- Mit MCP: gleicher Aufruf in der Konfigurationsdatei des Assistenten;
  Arbeitsprofil in `AGENTS.md`.
- Ohne MCP, mit Befehlen: `python3 "06 Werkzeuge/dienst/cli.py" liste`.
- ChatGPT im Browser oder in der App startet keinen lokalen Server; es
  verlangt eine öffentliche HTTPS-Adresse oder einen Tunnel über OpenAI. Das
  ist für AKA Recht nicht vorgesehen.

</details>

Schreibende Werkzeuge laufen nur, wenn du den Aufruf bestätigst. Werkzeuge
für Versand, Löschen oder Ändern von Originalen gibt es nicht.

### Was in welchem Assistenten wirklich läuft

Drei Dinge sind zu unterscheiden: **vorbereitet** heißt, die Mappe bringt die
Konfiguration mit; **hier geprüft** heißt, wir haben es am eigenen Rechner
durchgespielt; **offen** heißt, wir wissen es nicht.

| | Claude Code | Codex | Claude Desktop | Andere (Cursor, Gemini CLI …) |
|---|---|---|---|---|
| Werkzeuge über MCP | vorbereitet (`.mcp.json`), hier geprüft | vorbereitet (`.codex/config.toml`), hier geprüft | vorbereitet (Eintrag von Hand), hier geprüft | Weg beschrieben, nicht geprüft |
| Werkzeuge über die Befehlszeile | ja | ja | nein (kein Befehlszugriff) | wenn der Assistent Befehle ausführen darf |
| Arbeitsprofil wird geladen | `CLAUDE.md`, hier geprüft | `AGENTS.md`, hier geprüft | nein — ein reiner MCP-Client liest keine Projektdateien | nur, wenn der Assistent `AGENTS.md` liest (siehe unten) |
| Prüfabläufe (Skills) | `.claude/skills/`, hier geprüft | `.agents/skills/`, gelistet | nein | offen |
| Originalschutz durch einen Hook | ja (`.claude/settings.json`, für Write, Edit, MultiEdit, NotebookEdit) | nicht eingerichtet | entfällt | nein |
| Word-Datei und Übergabepaket | ja (eigene Skripte) | ja | nein | nur mit Befehlszugriff |

**Wichtig für reine MCP-Clients** (Claude Desktop und ähnliche): Sie bekommen
die Werkzeuge, aber weder das Arbeitsprofil noch die Prüfabläufe. Die Regeln
dieser Mappe gelten dort nur, soweit die Werkzeuge selbst sie durchsetzen —
und das tun sie: Originalbereiche bleiben gesperrt, Fristen ohne Nachweis
lassen sich nicht bestätigen, Entwürfe ohne eingefrorene Fassung nicht als
geprüft speichern.

**Gemini CLI:** Die Mappe bringt `AGENTS.md` mit, Gemini sucht aber
standardmäßig `GEMINI.md`. Damit es das Profil lädt, braucht es in
`.gemini/settings.json` einen Eintrag `contextFileName` mit `AGENTS.md`
(Gemini-CLI-Dokumentation „Provide context with GEMINI.md files“, abgerufen
18.09.2026). Diesen Weg haben wir **nicht** geprüft; wir liefern deshalb keine
fertige Gemini-Konfiguration mit. Prüfe im Client selbst nach, welche Regeln
geladen wurden, bevor du eine Akte bearbeiten lässt.

## Aktualisieren

Deine eigenen Daten liegen in `01 Eingang`, `02 Fälle`,
`03 Verträge und Vorsorge` und `zentrale.json`. Vor jeder Aktualisierung
eine Sicherung anlegen („Geprüfte Sicherung erstellen“ in der Oberfläche).

<details open>
<summary><b>Mit git</b></summary>

Im Ordner der Mappe `git pull`. Die vier Orte mit deinen Daten stehen in der
mitgelieferten `.gitignore`; git lässt sie unberührt. Unter Windows hat
`Start.bat` drei Konfigurationsdateien geändert; bricht `git pull` deshalb ab,
vorher `git checkout -- .mcp.json .claude/settings.json .codex/config.toml`
ausführen (verwirft nur diese Umstellung, `Start.bat` setzt sie beim nächsten
Start wieder).

</details>

<details>
<summary><b>Mit einem neuen ZIP</b></summary>

1. Neue Version in einen neuen Ordner entpacken.
2. Den laufenden Dienst beenden. Einen Knopf dafür gibt es nicht: den Rechner
   neu starten, oder unter macOS und Linux im Terminal
   `pkill -f "06 Werkzeuge/dienst/server.py"` (beendet jeden laufenden Dienst
   einer Mappe auf diesem Rechner).
3. Aus dem alten Ordner `01 Eingang`, `02 Fälle`, `03 Verträge und Vorsorge`
   und `zentrale.json` in den neuen Ordner verschieben; die leeren Ordner des
   neuen Ordners vorher entfernen.
4. Im neuen Ordner starten. Fälle und Einstellungen sind wieder da; die Pfade
   in `zentrale.json` sind relativ zum Ordner.
5. Hast du Codex oder Claude Desktop mit dem vollen Pfad zu
   `mcp_server.py` eingerichtet, den Pfad auf den neuen Ordner ändern.
6. Was du außerhalb dieser vier Orte selbst in der Mappe abgelegt oder
   geändert hast (eigene Dateien, eine angepasste `CLAUDE.md`), kommt nicht von
   selbst mit: von Hand in den neuen Ordner übernehmen. Den alten Ordner erst
   entfernen, wenn im neuen alles da ist.

</details>

> [!NOTE]
> Eine neue Version kann strenger prüfen als die alte. Erfüllt eine bestehende
> Akte eine neue Regel noch nicht, zeigt die Mappe sie weiter an, speichert sie
> aber erst wieder, wenn der Punkt behoben ist; auch die Wiederherstellungsprobe
> meldet ihn dann. `python3 "06 Werkzeuge/akte_schema.py" "02 Fälle/<Fall>/akte.json"`
> nennt, was fehlt. Die Sicherung selbst ist davon nicht betroffen.

## Häufige Fragen

<details>
<summary><b>Brauche ich ein Konto oder Internet?</b></summary>

Für die Mappe nicht: Der Dienst läuft nur auf 127.0.0.1 und ruft keine fremden
Adressen auf. Deine KI (Claude, Codex oder eine andere) braucht ihr eigenes
Konto und ihren eigenen Zugang; was sie liest, verarbeitet ihr Anbieter.

</details>

<details>
<summary><b>Welche KI kann ich benutzen?</b></summary>

Geprüft sind Claude Code, Claude Desktop und Codex (siehe „KI anbinden“).
Jede andere KI, die MCP spricht oder Befehle ausführen darf, sollte gehen,
ist aber nicht geprüft. ChatGPT im Browser oder in der App ist nicht
vorgesehen, weil es keinen lokalen Server startet.

</details>

<details>
<summary><b>Landen meine Fälle auf GitHub?</b></summary>

Nein. Die Mappe lädt nichts hoch. Wer selbst mit git arbeitet: `01 Eingang`,
`02 Fälle`, `03 Verträge und Vorsorge` und `zentrale.json` stehen in der
`.gitignore` und werden nicht erfasst. Liegt ein Sicherungsziel in einem
Cloud-Ordner, lädt dein System die Sicherung dorthin hoch.

</details>

<details>
<summary><b>Kann die Mappe eingescannte Briefe lesen?</b></summary>

Hat das PDF eine Textschicht, liest `pdftotext` den Text direkt. Für Fotos und
Scans ohne Textschicht gibt es die Texterkennung: in der Oberfläche beim
Dokument „Texterkennung starten“ oder das Werkzeug `texterkennung`, sofern
`tesseract` installiert ist. Das Ergebnis landet als eigene Textdatei unter
`07 Recherche/Texterkennung/`, das Original bleibt unverändert. Erkannter Text
kann Zeichen verwechseln und Zeilen auslassen; Daten, Beträge und Namen immer
am Original prüfen.

</details>

<details>
<summary><b>Gilt das auch für andere Länder?</b></summary>

Nein. Fristenrechner, Merkblätter und Vorlagen gelten nur für deutsches
Recht, siehe [Geltungsbereich](#geltungsbereich).

</details>

<details>
<summary><b>Beantwortet hier jemand Fragen zu meinem Fall?</b></summary>

Nein. Issues und Diskussionen sind nur für die Software. Für deinen Fall eine
Fachanwältin, einen Fachanwalt oder eine Beratungsstelle fragen.

</details>

<p align="right"><sub><a href="#reiter">↑ nach oben zu den Reitern</a></sub></p>

<a name="ki"></a>

<img src="bilder/seite-ki.svg" width="100%" alt="3 · Mit der KI arbeiten: Ablauf · Skills · Hooks">

## So arbeitet deine KI mit der Mappe

Die Mappe enthält keine KI. Sie bringt Anleitungen (Skills) mit, die deiner
eigenen KI sagen, wie sie einen Fall bearbeitet, und Werkzeuge, mit denen sie
die Akte liest und, nach deiner Bestätigung, in sie schreibt. Blau ist die
KI, grün bist du:

<picture>
<source media="(prefers-color-scheme: dark)" srcset="bilder/ablauf-dunkel.svg">
<img src="bilder/ablauf-hell.svg" width="100%" alt="Ablauf: Post, Bescheid oder Vertrag geht in /fallaufnahme; danach /sachverhalt und /fristencheck; beide führen zu /recherche-de; dann /entwurf und /gegenpruefung; am Ende prüfst und versendest du, oder /uebergabe an Anwalt oder Behörde">
</picture>

## Skills

<img src="bilder/kapitel-skills.svg" alt="Skills: Anleitungen für deine KI">

Aufruf in Claude Code mit `/name`, in Codex mit `$name`; das erste Argument
ist immer die Fallkennung:

| Aufruf | Was passiert |
|---|---|
| `/fallaufnahme R-0001` | Rolle, Ziel, Rechtsgebiet, Beteiligte, Zugang, fehlende Angaben; trägt in die Akte ein und nennt den Rechtsbehelf aus dem Merkblatt |
| `/sachverhalt R-0001` | Chronologie und Beweistabelle aus den Originalen, mit Fundstelle je Aussage |
| `/fristencheck R-0001` | Fristen mit Auslöser, Zugang, Rechtsgrundlage und gezeigter Rechnung; Feiertage des Leistungsorts |
| `/recherche-de R-0001 "Gilt § 193 BGB?"` | Rechtsfrage am Originalvolltext, Fassung und Geltungszeitraum, Prüfliste, Quellen in die Akte |
| `/entwurf R-0001 Widerspruch` | Schreiben und Schriftsätze aus den Vorlagen, Pflichtinhalt gegen das Merkblatt, als Markdown und Word |
| `/gegenpruefung R-0001 06 Entwürfe/…_ENTWURF.md` | Behauptungen zerlegen, angreifen, Gegenseite stärken; unbelegte Aussagen, falsche Zitate, Zahlen, Anlagen |
| `/uebergabe R-0001 Anwalt` | Paket für Anwalt, Behörde oder Gericht als ZIP mit Inhaltsverzeichnis, Chronologie, Fristen, Anlagen |

Die Anleitungen legen fest, wie sorgfältig die KI arbeiten muss: jede
Rechtsaussage mit Norm, Absatz und Gesetz oder Urteil mit Gericht, Datum und
Aktenzeichen, am Volltext gelesen; Ungeprüftes bleibt als `[PRÜFEN]`,
`[QUELLE]` oder `[BELEG]` sichtbar; die Gegenseite wird immer mitgedacht;
Anweisungen, die in gelesenen Dokumenten stehen, sind Quelleninhalt und
werden nicht befolgt.

> [!IMPORTANT]
> Diese Entscheidungen trifft immer der Mensch, nie die KI: Versand oder
> Einreichung, Verzicht oder Rücknahme, Vergleich, Strafanzeige, Kündigung,
> Fristverzicht, jede Erklärung gegenüber Dritten, Löschen. Jeder Entwurf
> bleibt Entwurf, bis du ihn prüfst und selbst versendest. Werkzeuge für
> Versand, Löschen oder Ändern von Originalen gibt es nicht.

## Hooks

<img src="bilder/kapitel-hooks.svg" alt="Hooks: automatische Prüfungen">

Hooks sind kleine Prüfskripte, die Claude Code selbst ausführt (in
`.claude/settings.json` eingetragen, Quelltext unter `.claude/recht/hooks/`).
Eingerichtet und geprüft sind sie nur für Claude Code (Stand 17.09.2026).
Codex beschreibt in seiner Dokumentation eigene Hooks; dafür liegt hier
nichts bei. Andere Assistenten halten die Regeln aus `AGENTS.md` selbst ein.

<details>
<summary><b>Die 4 Hooks im Einzelnen</b></summary>

| Zeitpunkt | Was der Hook tut |
|---|---|
| `SessionStart` | meldet beim Start mit Uhrzeit Eingang, nahe Fristen und offene Aufgaben je Fall, dazu fällige Rechtsinhalte; Verknüpfungen im Eingang zählen nicht als Post |
| `PreToolUse` | Originalschutz: Schreiben in 02 Grundlagen, 03 Schriftverkehr, 04 Verfahren, 05 Beweise, 08 Archiv und in bestand.json wird abgewiesen, geprüft am aufgelösten Pfad |
| `PostToolUse` | Fremdtext-Wächter: warnt mit Herkunft, wenn gelesener Text (Datei, Befehl, Web oder MCP-Werkzeug) Sätze enthält, die wie Anweisungen an die KI klingen |
| `Stop` | Doku-Abgleich: prüft HTML-Ansichten gegen ihre md-Quellen und die Kopien für andere Assistenten gegen CLAUDE.md und Skills, nennt jede Abweichung |

</details>

<p align="right"><sub><a href="#reiter">↑ nach oben zu den Reitern</a></sub></p>

<a name="inhalt"></a>

<img src="bilder/seite-inhalt.svg" width="100%" alt="4 · Inhalt der Mappe: Fallordner · Werkzeuge · Vorlagen · Merkblätter · Befehle">

## Ordner eines Falls

Jeder Fall bekommt dieselben Ordner, damit Verweise stabil bleiben:

```text
02 Fälle/R-0001 Beispiel/
├─ akte.json          Ordnungsdaten: Beteiligte, Dokumente, Fristen, Aufgaben, Entwürfe
├─ bestand.json       Prüfsummen jeder Datei (schreibt nur der Dienst)
├─ JOURNAL.md         Verlauf, nur anhängen
├─ 01 Eingang/        neue Post
├─ 02 Grundlagen/     Verträge, Bescheide, Vollmachten
├─ 03 Schriftverkehr/ je Beteiligter ein Ordner, dazu Versandnachweise/
├─ 04 Verfahren/      je Verfahren ein Ordner (Klage, Bußgeld, Widerspruch …)
├─ 05 Beweise/        Fotos, Listen, Quittungen
├─ 06 Entwürfe/       noch nicht versandte Texte, Name endet auf _ENTWURF
├─ 07 Recherche/      Prüfvermerke, fallbezogene Rechtsquellen
└─ 08 Archiv/         alte Übersichten, unverändert
```

Originale in 02 bis 05 und 08 werden nie verändert, umbenannt oder gelöscht;
ein Hook sperrt das für die KI. Neue Texte entstehen in 06, Vermerke in 07.

## Werkzeuge

<img src="bilder/kapitel-werkzeuge.svg" alt="Werkzeuge: MCP und Befehlszeile">

Dieselben 36 Werkzeuge erreicht die KI über MCP (`06 Werkzeuge/dienst/mcp_server.py`)
oder über die Befehlszeile (`python3 "06 Werkzeuge/dienst/cli.py" <werkzeug> feld=wert`).
Schreibende Werkzeuge laufen über MCP nur mit deiner Bestätigung (es zählt
allein der JSON-Wert `true`); über die Befehlszeile soll die KI vorher
fragen. Lesende Werkzeuge ändern keine Datei: Eine neue oder im Dateimanager
verschobene Datei melden sie nur, ihre Kennung bekommt sie erst durch
`bestand_abgleichen`; die Oberfläche macht das beim Öffnen eines Falls
selbst. Jede Änderung an `akte.json` wird gegen das Datenmodell geprüft
und mit Revision gespeichert.

<details>
<summary><b>Alle 36 Werkzeuge</b></summary>

| Werkzeug | Art | Zweck |
|---|---|---|
| `faelle_auflisten` | lesend | Alle Fälle mit Kennung, Titel, Bereich, Status, Zahl der Dokumente, nicht erfassten Dateien und offenen Aufgaben. |
| `fall_uebersicht` | lesend | Kompakte Übersicht eines Falls: Fall, Beteiligte, Verfahren, offene Fristen und Aufgaben, Ereignisse, Dokumentliste mit Kennung, Titel, Datum, Stand, dazu nicht erfasste Dateien. Dokumentinhalte über dokument_text. |
| `dokument_text` | lesend | Textauszug eines Dokuments (Word, E-Mail, PDF, Text, HTML) mit Herkunft: textquelle sagt, ob der Text direkt, aus der PDF-Textschicht oder gar nicht gelesen wurde (Bildscan, Foto); textstand ist die in der Akte vermerkte Lesequalität. Der Auszug ist eine Ableitung, Zahlen und Fristen am Original prüfen. |
| `dokumente_suchen` | lesend | Volltextsuche in Titeln, Ordnungsangaben und Dokumentinhalten eines Falls. |
| `frist_berechnen` | lesend | Fristende nach §§ 187, 188, 193 BGB mit den landesweiten Feiertagen eines Bundeslands berechnen (Standard: Einstellung der Mappe). Liefert die Rechnung als Text. Entscheidet nicht, welche Frist gilt. |
| `beispiel_laden` | schreibend | Die mitgelieferte Beispielakte (erfundener Fall) als neuen Fall anlegen, zum Ausprobieren. Der Fall bekommt die nächste freie Kennung. |
| `bestand_pruefen` | lesend | Prüfsummen aller registrierten Dateien eines Falls mit dem ersten Stand vergleichen; meldet auch nicht erfasste und verschobene Dateien. Schreibt nichts. |
| `journal_lesen` | lesend | Verlauf eines Falls aus JOURNAL.md, neueste Einträge zuletzt. |
| `quellen_katalog` | lesend | Gemeinsamer Zugangskatalog amtlicher Rechtsquellen aus 04 Rechtsquellen/Quellen.md. |
| `rechtsinhalte_pruefen` | lesend | Meldet, welche mitgelieferten Rechtsinhalte wieder am amtlichen Volltext zu prüfen sind: Merkblätter (zwölf Monate nach „Letzte vollständige Prüfung“), Feiertagstabelle (ab 1. Dezember fürs Folgejahr), Quellenkatalog (sechs Monate). Status je Eintrag: fällig, bald fällig (30 Tage), unbekannt, in Ordnung. Schreibt nichts, ohne Netz. |
| `fall_anlegen` | schreibend | Neuen Fall mit fester Kennung und Ordnerstruktur anlegen. |
| `fall_status_setzen` | schreibend | Fallstatus auf offen, ruhend oder abgeschlossen setzen. Der Fall bleibt am gleichen Ort. |
| `beteiligter_anlegen` | schreibend | Beteiligten in einem Fall anlegen (Person, Gericht, Behörde, Anwalt, Zeuge, Stelle), mit Rolle und wahlweise Funktion. Gibt die neue P-Kennung zurück; Verweise aus Dokumenten, Verfahren und Fristen gehen auf diese Kennung. |
| `verfahren_anlegen` | schreibend | Verfahren in einem Fall anlegen (Klage, Bußgeldverfahren, Widerspruch, Mahnverfahren, Strafanzeige). Ein Verfahren ist alles, was eine eigene Stelle und ein eigenes Aktenzeichen hat. |
| `beteiligter_setzen` | schreibend | Vorhandenen Beteiligten ändern (Name, Rolle, Funktion, Anschrift, Kontakt, Aktenzeichen). Nur die übergebenen Felder werden geändert; die P-Kennung bleibt, damit Verweise gültig bleiben. |
| `verfahren_setzen` | schreibend | Vorhandenes Verfahren ändern (Art, Stelle, Aktenzeichen, Stand, Ordner). Nur die übergebenen Felder werden geändert; die V-Kennung bleibt, damit Fristen ihren Bezug behalten. |
| `quelle_eintragen` | schreibend | Fallbezogene Rechtsquelle in der Akte vermerken: Norm, Entscheidung oder amtliche Seite mit Abrufdatum und wofür sie gebraucht wird. Gehört zu diesem Fall; der gemeinsame Zugangskatalog steht in 04 Rechtsquellen/Quellen.md (Werkzeug quellen_katalog). Gleicher Titel überschreibt den vorhandenen Eintrag. |
| `aufgabe_anlegen` | schreibend | Aufgabe in einem Fall anlegen. |
| `aufgabe_setzen` | schreibend | Aufgabe als erledigt oder wieder offen setzen, optional Fälligkeit oder Detail ändern. |
| `frist_eintragen` | schreibend | Frist oder Termin in einem Fall eintragen. Bestätigt nur, wenn die Rechnung das Fristende nennt, Auslöser, Rechtsgrundlage und Quelle da sind und kein Marker [PRÜFEN], [QUELLE], [BELEG] offen ist; die Bestätigung bekommt Prüfdatum und Prüfer. |
| `vorlagen_auflisten` | lesend | Schreibvorlagen unter 05 Vorlagen/Schreiben mit erster Zeile (interne Hinweise, Merkblatt). |
| `vorlage_fuellen` | schreibend | Entwurf aus einer Schreibvorlage anlegen: kopiert die Vorlage nach 06 Entwürfe des Falls und setzt Absender (Einstellungen oder Beteiligter mit Rolle Ich), Unterschrift, Datum und Fallkennung ein (Platzhalter 【ABSENDER】, 【ABSENDER_NAME】, 【DATUM】, 【R-0000】). Überschreibt nie. Alle anderen Platzhalter bleiben zum Ausfüllen. |
| `ereignis_eintragen` | schreibend | Ereignis in die Chronologie eines Falls eintragen: Zeitpunkt, Überschrift, Art und sachliche Darstellung, dazu wahlweise Kernereignis, Personen, Belege, Bezug auf ein früheres Ereignis, Anmerkung, Betrag, Belegstand und Terminstatus. |
| `frist_setzen` | schreibend | Vorhandene Frist oder vorhandenen Termin ändern. Nur die übergebenen Felder werden geändert. Eine Bestätigung bekommt Prüfdatum und Prüfer; das Schema prüft weiter Rechnung, Beleg und offene Marker. |
| `ereignis_setzen` | schreibend | Vorhandenes Ereignis ändern. Nur die übergebenen Felder werden geändert; „zeitpunkt“ genau entfernt die Angaben zur Unsicherheit. Bei den Feldern der Chronologie (Kernereignis, Personen, Belege, Bezug, Anmerkung, Betrag, Belegstand, Terminstatus) entfernt ein leerer Wert das Feld. |
| `notiz_anlegen` | schreibend | Ordnungsnotiz in einem Fall anlegen. |
| `entwurf_erfassen` | schreibend | Entwurf in der Akte erfassen oder fortschreiben (Titel, Datei, Fassung, Status). Gleicher Titel = neue Fassung; mit fassung_behalten bleibt die Nummer, wenn sich der Text seit dieser Fassung nicht geändert hat, mit fassung_nach_text entscheidet das Werkzeug das selbst an der Prüfsumme. Bei Status „geprüft“ oder „versandt“ wird die Datei (und eine gleichnamige .docx) als unveränderliche Kopie unter 06 Entwürfe/Fassungen eingefroren, mit Prüfsumme in der Akte; die Kopie bekommt eine eigene D-Kennung. |
| `entwurf_setzen` | schreibend | Titel eines vorhandenen Entwurfs ändern. Die W-Kennung, Fassungen und eingefrorenen Kopien bleiben; die Kopien bekommen den neuen Titel. Status und Datei ändert weiter nur entwurf_erfassen. |
| `texterkennung` | schreibend | Texterkennung (OCR) für ein Foto oder eine PDF ohne Textschicht, über das freiwillige Zusatzprogramm tesseract auf diesem Rechner. Legt den erkannten Text als neue Textdatei unter 07 Recherche/Texterkennung an (eigene D-Kennung, Verweis auf das Original, Kopf mit Quelle, Prüfsumme, Programm, Sprache, Datum und Warnhinweis) und vermerkt beim Original den Textstand „OCR-erkannt“, wenn dort noch keiner steht. Das Original bleibt unverändert, nichts wird überschrieben. Erkannter Text ist eine Ableitung: Zahlen, Daten, Fristen, Beträge und Namen am Original prüfen. |
| `bestand_abgleichen` | schreibend | Bestand eines Falls mit den Dateien abgleichen: neue Dateien in 01 bis 08 bekommen eine Kennung, im Finder verschobene werden über die Prüfsumme wiedergefunden, fehlende Ordnungsangaben werden in der Akte ergänzt. Der einzige Weg, auf dem neue Dateien registriert werden. |
| `dokument_ordnen` | schreibend | Ordnungsangaben eines Dokuments ändern (Titel, Datum, Art, Stand, Themen, Anlage, Personen, Verweise, Notiz, Textstand: direkt ausgelesen, OCR-erkannt, visuell geprüft, teilweise lesbar, nicht lesbar). Die Datei selbst bleibt unverändert. |
| `dokument_verschieben` | schreibend | Datei in einen anderen Aktenbereich einsortieren. Kennung und Inhalt bleiben, nichts wird überschrieben. |
| `datei_ablegen` | schreibend | Textdatei in einem Fall anlegen: Notiz, Vermerk oder Entwurf. Erlaubt sind nur 01 Eingang, 06 Entwürfe und 07 Recherche; die Originalbereiche 02 bis 05 und 08 bleiben gesperrt. Überschreibt nie eine vorhandene Datei und registriert die neue Datei anschließend im Bestand, sodass sie eine D-Kennung bekommt. |
| `journal_schreiben` | schreibend | Eintrag an das Journal eines Falls anhängen. |
| `sicherung_erstellen` | schreibend | Geprüfte ZIP-Sicherung des ganzen Projekts erstellen, mit Kopie an das zweite Ziel. |
| `sicherung_probe` | schreibend | Wiederherstellungsprobe: die letzte Sicherung in einem Zwischenordner entpacken, Akten gegen das Schema und alle Dateien gegen die Prüfsummen prüfen, Zwischenordner wieder entfernen. „bestanden“ sagt, ob das Archiv vollständig und unverändert ist; erfüllt eine Akte eine Regel des Datenmodells nicht, steht das getrennt unter „aktenfehler“. Die Mappe bleibt unberührt. |

</details>

## Vorlagen

<img src="bilder/kapitel-vorlagen.svg" alt="Vorlagen: Schreiben mit Platzhaltern">

Vorlagen unter `05 Vorlagen/Schreiben/`: oben interne Hinweise (Frist,
Form, Adressat), unter der Trennlinie der Sendetext mit Platzhaltern 【 】.
Der Word-Erzeuger `.claude/recht/werkzeuge/docx_erzeugen.py` macht daraus
eine `.docx` und warnt vor offenen Platzhaltern und Markern.

<details>
<summary><b>Alle 10 Vorlagen</b></summary>

| Vorlage | Zweck |
|---|---|
| `Akteneinsicht.md` | Antrag auf Akteneinsicht bei Behörde, Gericht oder Arbeitgeber mit wählbarer Rechtsgrundlage |
| `Auskunft_DSGVO.md` | Auskunftsantrag nach Art. 15 DSGVO |
| `Briefkopf.md` | Grundgerüst für jedes Schreiben: Absender, Empfänger, Datum, Betreff |
| `Einspruch_Bussgeldbescheid.md` | Einspruch gegen einen Bußgeldbescheid, mit Akteneinsicht |
| `Einspruch_Steuerbescheid.md` | Einspruch gegen einen Steuerbescheid, mit Aussetzung der Vollziehung als Option |
| `Fristsetzung.md` | Aufforderung mit Frist (Nacherfüllung, Zahlung, Antwort) |
| `Klage_Arbeitsgericht.md` | Klage zum Arbeitsgericht, Grundgerüst mit Anträgen und Anlagen |
| `Klage_Zivilgericht.md` | Zivilklage zum Amts- oder Landgericht, Zahlungsantrag mit Zinsen, Versäumnisurteil, Zuständigkeit |
| `Strafanzeige.md` | Strafanzeige mit oder ohne Strafantrag, Sachverhalt, Beweismittel, Bitte um Bestätigung |
| `Widerspruch_Bescheid.md` | Widerspruch gegen einen Bescheid einer Behörde |

</details>

## Merkblätter

<img src="bilder/kapitel-merkblaetter.svg" alt="Merkblätter: Verfahren am Volltext">

Merkblätter unter `04 Rechtsquellen/Verfahren/` beschreiben je Rechtsbehelf
Frist, Form, Pflichtinhalt, Adressat und Wirkung, jede Angabe mit Norm und
Prüfdatum. `/fallaufnahme` nennt daraus den Rechtsbehelf, `/entwurf` prüft
den Pflichtinhalt dagegen.

<details>
<summary><b>Alle 10 Merkblätter mit Prüfdatum</b></summary>

| Merkblatt | Inhalt | Letzte vollständige Prüfung |
|---|---|---|
| `04 Rechtsquellen/Verfahren/Akteneinsicht.md` | Akteneinsicht und Auskunft | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Dienstaufsichtsbeschwerde.md` | Dienstaufsichtsbeschwerde, Fachaufsichtsbeschwerde, Petition | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Einspruch_Bussgeldbescheid.md` | Einspruch gegen einen Bußgeldbescheid | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Einspruch_Steuerbescheid.md` | Einspruch gegen einen Steuerbescheid | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Klage_Arbeitsgericht.md` | Klage zum Arbeitsgericht | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Mahnverfahren.md` | Mahnverfahren (Mahnbescheid und Vollstreckungsbescheid) | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Strafanzeige.md` | Strafanzeige und Strafantrag | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Widerspruch_Verwaltungsakt.md` | Widerspruch gegen einen Verwaltungsakt (Bescheid einer Behörde) | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Zivilklage.md` | Zivilklage vor dem Amtsgericht oder Landgericht | 17.09.2026 |
| `04 Rechtsquellen/Verfahren/Zustaendigkeit_finden.md` | Zuständige Stelle finden | 17.09.2026 |

</details>

> [!NOTE]
> Rechtsinhalte altern. Welche Feiertage, Merkblätter und Vorlagen mit
> welchem Stand mitgeliefert sind, wann sie zu prüfen sind und wie, steht in
> [`DOKU/md/Rechtsinhalte.md`](DOKU/md/Rechtsinhalte.md). Vor der
> Verwendung in einem Fall gilt immer die Norm am amtlichen Volltext, nicht
> das Merkblatt.

## Befehle

<img src="bilder/kapitel-befehle.svg" alt="Befehle: ohne Oberfläche">

<details>
<summary><b>Befehle ohne Oberfläche</b></summary>

| Befehl (im Ordner der Mappe) | Zweck |
|---|---|
| `Start.command`, `Start.sh`, `Start.bat` | Dienst starten und Oberfläche öffnen (macOS, Linux, Windows) |
| `python "06 Werkzeuge/einrichten_windows.py"` | nur Windows: `python3` in `.mcp.json`, `.claude/settings.json`, `.codex/config.toml` durch `python` ersetzen (macht `Start.bat` selbst); `--pruefen` nur melden |
| `python3 "06 Werkzeuge/dienst/server.py" --no-open` | Dienst ohne Browser starten; `--check` Bestand aller Fälle prüfen; `--backup` geprüfte Sicherung; `--probe` Wiederherstellungsprobe der letzten Sicherung; `--restore <ZIP> <neuer Ordner>` Sicherung in einen neuen Ordner entpacken und prüfen |
| `python3 "06 Werkzeuge/dienst/cli.py" liste` | alle Werkzeuge mit Parametern; danach `cli.py <werkzeug> feld=wert` |
| `python3 "06 Werkzeuge/dienst/cli.py" frist_berechnen start=2026-09-11 menge=1 einheit=monate land=BW` | Frist rechnen, mit Rechenweg |
| `python3 "06 Werkzeuge/dienst/cli.py" rechtsinhalte_pruefen` | welche Merkblätter, Feiertage und Quellen wieder am Volltext zu prüfen sind |
| `python3 "06 Werkzeuge/dienst/cli.py" texterkennung fall=R-0001 dokument=D0005` | Texterkennung für ein Foto oder einen Scan, Ergebnis unter 07 Recherche/Texterkennung; `python3 "06 Werkzeuge/dienst/texterkennung.py"` zeigt, ob tesseract und welche Sprachen vorhanden sind |
| `python3 "06 Werkzeuge/akte_schema.py" "02 Fälle/<Fall>/akte.json"` | Akte gegen das Datenmodell prüfen |
| `python3 "06 Werkzeuge/dienst/cli.py" vorlage_fuellen fall=R-0001 vorlage=Widerspruch_Bescheid` | Entwurf aus einer Vorlage unter 06 Entwürfe anlegen, mit Absender (Einstellungen oder Beteiligter „Ich“), Unterschrift, Datum; `vorlagen_auflisten` zeigt die Namen |
| `python3 ".claude/recht/werkzeuge/docx_erzeugen.py" <Entwurf.md>` | Word-Datei aus einem Entwurf, mit Vorabbericht (offene Marker, Platzhalter, Kopfzeilen, Anlagen); `--pruefen` nur der Bericht |
| `python3 ".claude/recht/werkzeuge/uebergabe_paket.py" R-0001 --empfaenger anwalt --vorschau` | Übergabepaket je Empfänger (anwalt: alles; gericht, behoerde, gegenseite, beratung: nur `--nur D0001,D0002`), erst Vorschau, dann ohne `--vorschau` als geprüfte ZIP mit Manifest außerhalb der Mappe |
| `python3 "06 Werkzeuge/verteilen.py"` | `AGENTS.md` und `.agents/skills/` aus `CLAUDE.md` und `.claude/skills/` erzeugen; `--pruefen` nur vergleichen |
| `python3 "06 Werkzeuge/dienst/pruefen.py"` | Funktionstest mit künstlichen Akten in einem Temp-Ordner, der nach einem bestandenen Lauf wieder entfernt wird; `--behalten` lässt ihn liegen |

</details>

<p align="right"><sub><a href="#reiter">↑ nach oben zu den Reitern</a></sub></p>

<a name="sicherheit"></a>

<img src="bilder/seite-sicherheit.svg" width="100%" alt="5 · Sicherheit und Grenzen: Zusagen · Sicherung · Geltungsbereich · Grenzen">

## Worauf du dich verlassen kannst

Eine Rechtsakte braucht mehr als Ordner. Diese Regeln setzt die Mappe
technisch durch und prüft sie im Funktionstest:

- **Originale bleiben Originale.** Schreiben in `02 Grundlagen`,
  `03 Schriftverkehr`, `04 Verfahren`, `05 Beweise` und `08 Archiv` weist ein
  Hook ab, bevor die KI die Datei anfasst — geprüft am aufgelösten Pfad, also
  auch über Umwege wie `..` oder Verknüpfungen, und unabhängig davon, wie
  Umlaute im Pfad geschrieben sind. **Der Hook gilt für Claude Code** und dort
  für dessen Dateiwerkzeuge (Write, Edit, MultiEdit, NotebookEdit). Neue
  Fassungen gehören nach `06 Entwürfe`, Vermerke nach `07 Recherche`.
  **Grenzen:** Beliebige Befehle einer Shell deckt er nicht ab — wer der KI
  erlaubt, Befehle auszuführen, umgeht ihn. Für Codex und andere Assistenten
  ist kein solcher Hook eingerichtet; dort schützen die Werkzeuge der Mappe
  selbst, die in die Originalbereiche nicht schreiben.
- **Lesen bleibt Lesen.** Kein lesendes Werkzeug fasst `akte.json`,
  `bestand.json` oder `zentrale.json` an. Neue Dateien registriert nur der
  Abgleich.
- **Kennungen kommen nie wieder.** Ein Zähler je Kennungsart merkt sich die
  höchste je vergebene Nummer; ein entfernter Eintrag wird nie durch einen
  neuen mit derselben Kennung ersetzt, Journalverweise bleiben eindeutig.
- **Geprüfte und versandte Fassungen sind eingefroren.** Beim Status
  „geprüft“ oder „versandt“ legt die Mappe eine nur lesbare Kopie unter
  `06 Entwürfe/Fassungen/` ab, mit Prüfsumme und eigener Kennung. Die
  Arbeitsdatei darf sich ändern, die Kopie nie.
- **Fristen werden nachgerechnet.** §§ 187, 188, 193 BGB mit sichtbarer
  Rechnung; Monatsende, Schaltjahr und Jahresfristen sind mit 20
  Grenzfällen geprüft. Ob eine Frist gilt, entscheidet der Rechner nicht.
- **Bestätigt heißt geprüft.** Eine Frist wird nur „bestätigt“, wenn die
  Rechnung das Fristende nennt, Beleg und Auslöser da sind und kein Marker
  `[PRÜFEN]`, `[QUELLE]` oder `[BELEG]` offen ist; die Bestätigung trägt
  Prüfdatum und Prüfer, ein Termin braucht die Ladung als Quelle.
- **Fremde Anlagen starten nichts.** „Öffnen“ ruft das Systemprogramm nur
  für bekannte Dokumentformate (PDF, Text, Office, Bilder, E-Mail, Ton,
  Video); Skripte, Programme, Webseiten, Archive und Unbekanntes werden nur
  im Dateimanager gezeigt, mit Hinweis.
- **Unsicheres bleibt sichtbar.** Ein Ereignis kann „ungefähr“, „Zeitraum“
  oder „unbekannt“ sein, statt einen erfundenen Tag zu tragen; eine Frist
  nennt ihr Verfahren und ihr Auslöser-Ereignis, und auf einem unsicheren
  Ereignis wird sie nicht bestätigt.
- **Übergaben enthalten nur, was hin soll.** Das Paket wird für einen
  benannten Empfänger gebaut, zeigt vorher jede Datei, bricht bei
  unbekannten Kennungen ab und wird gegen sein Manifest zurückgelesen.
- **Sicherungen sind nachweislich brauchbar.** Jede ZIP wird nach dem
  Schreiben zurückgelesen; „Wiederherstellung prüfen“ entpackt sie in
  einen Zwischenordner und prüft Akten und Prüfsummen.
- **Daten bleiben da, wo du sie legst.** Keine KI in der Mappe, kein Netz
  im Dienst. Was in einen Cloud-Ordner gesichert wird, lädt dein System
  hoch; was deine KI liest, verarbeitet ihr Anbieter.

## Sicherung

„Geprüfte Sicherung erstellen“ in der Oberfläche schreibt eine ZIP außerhalb
des Ordners und liest sie zurück. Ziel und zweites Ziel stehen in den
Einstellungen und werden vor der ersten Sicherung angezeigt.
„Wiederherstellung prüfen“ entpackt die letzte Sicherung in einen
Zwischenordner, prüft Akten und Prüfsummen und räumt ihn wieder ab. Echte
Wiederherstellung immer in einen neuen Ordner, nie über die laufende Mappe:
`python3 "06 Werkzeuge/dienst/server.py" --restore <ZIP> <neuer Ordner>`.
Ohne Oberfläche: `--check` prüft den Bestand, `--backup` sichert, `--probe`
prüft die letzte Sicherung.

Drei Ebenen, die nicht dasselbe sind: Die Mappe liegt auf deinem Rechner.
Liegt ein Sicherungsziel in iCloud Drive oder einem anderen Cloud-Ordner,
lädt das Betriebssystem die unverschlüsselte ZIP dorthin hoch. Und was deine
KI liest, verarbeitet deren Anbieter nach seinen Bedingungen; ein lokaler
MCP-Server ändert daran nichts.

## Geltungsbereich

Diese Fassung ist für deutsches Recht gebaut: Fristenrechner nach §§ 187,
188, 193 BGB mit den landesweiten Feiertagen aller 16 Bundesländer (Bundesland
in den Einstellungen wählen; regionale Feiertage einzelner Gemeinden zählen
nicht, einmalige Feiertage wie in Berlin 2025 und 2028 sind eingetragen),
Quellenkatalog mit deutschen amtlichen Angeboten, Schreibvorlagen und
Merkblätter für deutsche Verfahren.

Andere Rechtsordnungen sind nicht vorgesehen. Außerhalb Deutschlands lässt
sich die Mappe zum Ordnen von Unterlagen nutzen, Fristen und Vorlagen gelten
aber nur für Deutschland.

Die Oberfläche und ihre Anleitung gibt es auf Deutsch und Englisch
(Einstellungen › Sprache). Vorlagen, Merkblätter, Skills und dieses README
sind nur auf Deutsch; die Werte in den Akten bleiben ebenfalls deutsch.

## Grenzen

> [!WARNING]
> Die Mappe ist kein Rechtsanwalt und gibt keine Rechtsberatung. Sie hilft
> beim Ordnen, Prüfen und Formulieren: Sie ordnet Unterlagen, rechnet Fristen
> nach §§ 187, 188, 193 BGB mit sichtbarer Rechnung, hält fest, was belegt ist
> und was nicht, und gibt deiner KI Anleitungen für Sachverhalt, Recherche,
> Entwürfe und Gegenprüfung. Ob eine Frist gilt, ob ein Schreiben so
> hinausgehen kann und was zu tun ist, prüfst du oder eine Fachanwältin, ein
> Fachanwalt. Der Autor kennt und prüft keine Angelegenheit eines Nutzers;
> alles läuft auf deinem Rechner, und was deine KI aus den Anleitungen macht,
> geschieht in deiner eigenen Sache und Verantwortung.

<p align="right"><sub><a href="#reiter">↑ nach oben zu den Reitern</a></sub></p>

<a name="mitmachen"></a>

<img src="bilder/seite-mitmachen.svg" width="100%" alt="6 · Mitmachen und Lizenz: Beiträge · Unterstützung · Lizenz">

## Mitmachen und Unterstützen

Die Mappe ist kostenlos und wird offen entwickelt. Fehler, Vorschläge,
Übersetzungen, Vorlagen, Merkblätter und später ganze Länderpakete sind
willkommen. Bitte keine echten Akten, Namen oder Aktenzeichen einreichen.
Beiträge stehen unter derselben Lizenz (AGPL-3.0). Wie ein Beitrag abläuft,
steht in [`CONTRIBUTING.md`](CONTRIBUTING.md).

Issues und Diskussionen sind nur für die Software und erfundene Beispiele
da. Fragen zu einem echten Fall („Gilt bei mir die Frist?“) werden dort
nicht beantwortet: Fallberatung ist nicht Gegenstand dieses Projekts, und
niemand hier kennt deine Angelegenheit. Wende dich dafür an eine
Fachanwältin, einen Fachanwalt oder eine Beratungsstelle.

Wenn dir die Mappe geholfen hat und du etwas zurückgeben willst, freut sich
der Autor über freiwillige Unterstützung unter https://github.com/sponsors/Cehha79. Kontakt: info@mika-tec.com.

## Lizenz

Copyright 2026 Hasan Tepegöz. Freie Software unter der GNU Affero
General Public License, Version 3 (AGPL-3.0), Wortlaut in [`LICENSE`](LICENSE).
In Klartext:

- Du darfst die Mappe kostenlos nutzen, kopieren, ändern und weitergeben,
  privat wie beruflich.
- Wer sie verändert weitergibt oder als Dienst über ein Netz anbietet, muss
  den vollständigen Quelltext unter derselben Lizenz mitliefern.
- Lizenztext und Urheberhinweise bleiben bei jeder Weitergabe dabei.
- Keine Gewährleistung, keine Haftung, soweit das Gesetz das zulässt.

Maßgeblich ist allein der englische Text in `LICENSE`; dieser Abschnitt
erklärt ihn nur.

<p align="right"><sub><a href="#reiter">↑ nach oben zu den Reitern</a></sub></p>

## Impressum

Angaben gemäß § 5 DDG und § 18 MStV

Hasan Tepegöz, Einzelunternehmen MikaTec<br>
Pontoiser Straße 54<br>
71034 Böblingen<br>
Deutschland

Telefon: 0173 5904496<br>
E-Mail: info@mika-tec.com<br>
Web: https://www.mika-tec.com

Kleinunternehmer gemäß § 19 UStG; es wird keine Umsatzsteuer ausgewiesen.<br>
Verantwortlich im Sinne des § 18 Abs. 2 MStV: Hasan Tepegöz, Anschrift wie oben.

### Hinweis zu Künstlicher Intelligenz

AKA Recht enthält selbst keine KI. Dienst, Oberfläche, Fristenrechner und Werkzeuge führen ausschließlich fest programmierte Regeln aus; es wird nichts gelernt und nichts abgeleitet. Die Mappe ist damit kein KI-System im Sinne von Art. 3 Nr. 1 der Verordnung (EU) 2024/1689 (KI-Verordnung).

Wer die Mappe mit einem eigenen KI-Assistenten nutzt, arbeitet mit einem fremden KI-System. Dessen Ausgaben sind Entwürfe, keine geprüften Rechtsaussagen: Sie können falsch, veraltet oder erfunden sein. Sie tragen deshalb die Marker `[PRÜFEN]`, `[QUELLE]` und `[BELEG]` und sind vor jeder Verwendung am Originalvolltext zu prüfen. Fristen, Schreiben und Erklärungen verantwortet allein die Nutzerin oder der Nutzer.

AKA Recht leistet keine Rechtsberatung und keine Rechtsdienstleistung im Sinne des § 2 RDG. Bei Weichenstellungen: Fachanwältin, Fachanwalt oder eine anerkannte Beratungsstelle.

TDQS

A3.6/5.0

Scored across 36 tools

Disambiguation4/5

Most tools map cleanly to distinct entity+action pairs (e.g. *_anlegen vs *_setzen vs *_eintragen are consistently create/update/append). However the document-handling cluster (bestand_pruefen vs bestand_abgleichen, dokument_ordnen vs dokument_verschieben vs datei_ablegen) and frist_berechnen/eintragen/setzen require careful reading to distinguish, since several touch the same file/inventory concepts.

Naming Consistency4/5

Dominant, predictable German entity_verb pattern (fall_anlegen, verfahren_setzen, aufgabe_setzen, frist_eintragen, ereignis_setzen), which is easy to scan. Minor deviations (texterkennung, fall_uebersicht, dokument_text, quellen_katalog, sicherung_probe) use noun_noun instead, but not enough to break predictability.

Tool Count3/5

At 36 tools the set is heavy and on the borderline-to-excessive side by count. The domain (case management with cases, participants, proceedings, deadlines, events, drafts, documents, backups, OCR) is genuinely broad, so most tools earn their place, but the surface is large and would benefit from consolidation.

Completeness4/5

Coverage is deep across the case lifecycle: create/list/overview for cases, plus participants, proceedings, tasks, deadlines, events, notes, drafts, documents, sources, journal, OCR, and backup/restore. The main gap is the absence of delete/remove operations anywhere (likely intentional for an archival legal record), but otherwise there are no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues