Einen neuen Harness-Adapter erstellen
Runbook für das Erstellen und Veröffentlichen eines neuen Apothem-Harness-Adapters.
Verwende dieses Runbook, wenn du einen neuen Harness-Adapter zur nativen Aufnahme in Apothem oder als Drittanbieter-Paket erstellst.
Voraussetzungen
- Vertrautheit mit dem HarnessAdapter-Protokoll
- Verständnis des Konfigurationsformats des Ziel-Harness
- Python 3.10+
Schritte
1. Implementiere den Adapter
Folge dem Beispiel Einen Harness-Adapter erstellen,
um HarnessAdapter für den Ziel-Harness zu implementieren.
Schreibt der Adapter ein Klartext-Template (eine Datei, die weder JSON noch YAML
ist) mit mode: write_text und ownership_class: operator-owned, löscht
uninstall die Datei nur, solange sie eine unbearbeitete Kopie eines Templates
ist, das Apothem ausgeliefert hat. Wenn ein späteres Release das Template
ändert, füge in derselben Änderung den SHA-256-Digest des vorherigen Texts zur
Liste earlier_digests dieses Manifest-Eintrags hinzu, sonst lässt uninstall
jede unbearbeitete Kopie liegen, die das frühere Release geschrieben hat.
Ermittle den Digest des Texts beim neuesten Release-Tag mit
git show <tag>:<template path> | sha256sum; das Template darf kein
${...}-Pfad-Token enthalten. tests/unit/test_template_digests.py schlägt
fehl, wenn ein ausgeliefertes Template nicht berücksichtigt ist.
2. Schreibe die Dokumentationsseite
Erstelle site/content/docs/harnesses/<slug>.mdx, die Folgendes abdeckt:
- Installationsablauf
- Abbildung vom Profil auf die native Konfiguration
- Kompatibilitätsvorbehalte
- Verifizierungsrezepte
- Aktualisierungs- und Deinstallationsrezepte
- Oberfläche des Konformitäts-Gates
- Fehlerbehebungstabelle
- Tabelle der Konfigurationsstellschrauben
3. Schreibe Tests
tests/packaging/test_<slug>_adapter.py
tests/unit/test_<slug>_adapter.pyMindest-Testabdeckung:
test_install_creates_expected_filestest_verify_passes_after_installtest_uninstall_removes_files
4. Verifiziere lokal
apothem install --harness <slug>
apothem verify --harness <slug>
python -m apothem.conformity.gate --all .5. Reiche den Pull Request ein
Öffne eine PR mit:
- Adapter-Implementierung
- Dokumentationsseite unter
site/content/docs/harnesses/<slug>.mdx - Tests
- Einstiegspunkt-Registrierung in
pyproject.toml, ein EintragHARNESS_REGISTRYinsrc/apothem/lib/harness_registry_data.py(dortSUPPORTED_HARNESS_COUNTerhöhen) sowie die ID im EnumharnessIdvonsrc/apothem/schemas/profile.schema.json - Changelog-Eintrag
Einrichtung des Publisher-Kontos
Den vertrauenswürdigen npmjs.com-Publisher für @ahmed-g-gad/apothem und die GitHub-seitigen Release-Voraussetzungen konfigurieren.
Prüfliste zur maschinenübergreifenden Synchronisation
Prüfverfahren, um zu bestätigen, dass der Adapter für Claude Code auf einem frischen Host korrekt installiert, validiert und deinstalliert wird, mit vollständigen Portabilitätsprüfungen.