Skip to content
Apothem
Verwendung

Regeln schreiben

Apothem-Verhaltensregeln verfassen, deren Geltungsbereich festlegen und pflegen.

Regeln sind Markdown-Dateien in src/apothem/rules/ mit der Endung .md.

Regel-Frontmatter

---
name: "..."
description: "..."
pathFilter: ""            # empty string for always-on; a glob for path-filtered
alwaysApply: true         # true for always-on; false for path-filtered
---

Regel-Geltungsbereiche

Der Geltungsbereich einer Regel wird durch zwei Frontmatter-Felder gesetzt, alwaysApply und pathFilter:

alwaysApplypathFilterWann angewendet
true"" (leer)Immer aktiv: jede Sitzung, jede Datei
falseein Glob wie "**/*.py"Pfadgefiltert: nur wenn die aktive Datei dem Glob entspricht

Fünf mitgelieferte Regeln sind immer aktiv: agnostic-posture, authority-inquiry, session-closure, context-management und der Regelindex. Eine immer aktive Regel kostet in jeder Sitzung Kontext, daher SOLLTE eine neue Regel pfadgefiltert sein, mit Globs, die die Dateien benennen, die sie regelt; ein Filter aus ** allein schränkt nichts ein, und Claude Code lädt eine solche Regel beim Start wie eine immer aktive. Der mitgelieferte Korpus begrenzt die immer aktive Menge auf diese Liste und auf eine Byte-Obergrenze; eine Regel, die zu „immer aktiv“ hochgestuft wird, ändert beides in derselben Änderung. Nenne jede Regel, die du hinzufügst, im Regelindex (apothem-rule-index), damit eine Sitzung auf einem Harness, der Regeln nicht nach Pfad eingrenzt, sie trotzdem findet. Eine Begleitregel (<parent>-<aspect>) übernimmt den pathFilter ihrer übergeordneten Regel oder einen engeren, sodass sie nie ohne ihre übergeordnete Regel geladen wird. Gib einer eigenen Regel nicht den Namen apothem-rule-index: Eine Installation sichert eine Regeldatei mit diesem Namen und überschreibt sie.

Beispielregel

---
name: "python-conventions"
description: "Python style conventions for this project"
pathFilter: "**/*.py"
alwaysApply: false
---

# Python conventions

- Use type annotations on all public functions.
- Maximum line length: 88 characters.
- Prefer explicit over implicit.

Regeln auf Harnesses anwenden

Nachdem du eine Regel geschrieben hast, aktualisiere jeden installierten Harness-Adapter. Führe apothem harnesses list aus, um den installierten Satz zu sehen, und rufe dann update einmal pro Harness auf:

apothem update --harness claude-code
apothem update --harness cursor --project /path/to/project

Ein projektbezogener Harness braucht beim Update --project, wie in der zweiten Zeile; ein benutzerbezogener Harness nicht.

Regelvalidierung

Führe den Frontmatter-Validator gegen die Regeldatei aus, die du geschrieben hast. Aus einem Apothem-Checkout macht PYTHONPATH=src das Paket importierbar; nach einer Skript-Installation verwende stattdessen PYTHONPATH="$HOME/.apothem/src".

PYTHONPATH=src python -m apothem.conformity.gate --check frontmatter-grep src/apothem/rules/<rule>.md

Eine Prüfung pro Schreibvorgang wie frontmatter-grep nimmt die zu prüfende Datei entgegen oder --stdin, um den Inhalt von der Standardeingabe zu lesen; ohne beides wartet sie auf Eingaben über die Standardeingabe. Eine eigenständige Prüfung nimmt stattdessen ein Stammverzeichnis entgegen, wie in --check naming-grep ..

On this page