# Entwicklerhandbuch — Dorfteich erweitern _Englisches Original: [docs/developer/extending.md](../../developer/extending.md)_ Zwei Wege, Dorfteich mehr beizubringen: ein **Plugin** schreiben (kein Fork, kein Redeploy, konstruktionsbedingt sicher) oder am **Kern** mitarbeiten. Beginne mit einem Plugin, außer du musst ändern, wie das Produkt selbst funktioniert. ## Ein Plugin schreiben Lies einmal [`docs/architecture/plugin-architecture.md`](../../architecture/plugin-architecture.md) (englisch) — das ist der Vertrag. Die Kurzfassung: Ein Plugin ist ein ZIP mit einer `manifest.json`, einem einzelnen ES-Modul-Bundle `plugin.js`, optional `styles.css`, `i18n/*.json` und `assets/…`. Es steuert einen oder mehrere **Erweiterungspunkte** bei: | Typ | Du baust | Beispiel | | -------------- | -------------------------------------------------------------- | ---------------------- | | `sectionStyle` | benannte CSS-Stile für Inhaltsabschnitte (ganz ohne Code) | `section-styles-basic` | | `pageTool` | ein Nur-Lese-Widget im Seiten-Werkzeuge-Panel | `toc`, `page-index` | | `block` | ein eigener Editor-Block mit eigenen Daten und Bearbeitungs-UI | `mermaid`, `drawio` | ### Die Sandbox — was dein Code kann und was nicht Dein `plugin.js` läuft in einem `