cbc1cb739f516ffa74031c43a84adb7f0d9695c9
Plugin.define({id: "az.explain-permissions", setup}) als Default-Export;
Hooks via ctx.permission.hook("evaluate"), ctx.session.hook("context"),
ctx.tool.hook("execute.before"); Event-Stream permission.v2.asked/replied;
Config-Lesung per fs mit V1+V2-Parser (JSONC-tolerant) statt hooks.config;
Action-Renames bash→shell/task→subagent, lsp/doom_loop verworfen.
KEIN V1-Export mehr (V2-only-Cut) — V1-Fleet bleibt gepinnt auf v1.3.0.
Verifikation: Mock-ctx-Tests 21/21 grün (Config-Parsing beider Formen,
System-Regel, evaluate/ask-Pfad, Hook↔Event-Dedup, replied, ENFORCE);
E2E vm-test folgt laut Issue.
opencode-plugins — kanonische Plugin-Sammlung für opencode
Dieses Repo ist die eine Wahrheitsquelle für opencode-Plugins der AZ-Gruppe.
Es ist ein reines Content-Repo: hier leben nur die Plugin-Dateien plus ihre
Doku — die Technik, die sie ausliefert, gehört in das Fleet-Repo az-fleet.
Das Repos ist anonym lesbar (kein Token für Pulls nötig), Schreiben läuft über die Organisation AZ-Intec-GmbH.
Enthaltene Plugins
| Plugin | Zweck | Version |
|---|---|---|
explain-permissions/ |
Erklärt jeden freigabepflichtigen Tool-Call laienverständlich (Was/Folgen/Risiko) als hervorgehobener Zitat-Block, Desktop-Notification + Audit-Log | v1.3.0 |
Struktur & Konventionen
opencode-plugins/
└── <plugin-name>/
├── <plugin-name>.js # die Plugin-Datei (genau eine pro Plugin)
└── README.md # Doku: Zweck, Env-Variablen, Logs, Neustart-Hinweis
- Ein Ordner pro Plugin, Name = Plugin-Name (kebab-case, keine Umlaute).
- Version steht in
PLUGIN_VERSIONim Dateikopf des Plugins. - Tags sind pro Plugin benamst:
<plugin-name>/v<version>— z. B.explain-permissions/v1.1.0. So kollidieren Versionen verschiedener Plugins nie. Ein Tag markiert immer exakt den Plugin-Stand bei Freigabe. - Neue Plugins: Ordner anlegen, in der Tabelle oben eintragen, Commit + Tag.
Bezug
Lokale Workstation (Checkout + Symlink)
git clone https://git.az-gruppe.com/AZ-Intec-GmbH/opencode-plugins.git ~/p/AZ/opencode-plugins
ln -sf ~/p/AZ/opencode-plugins/<plugin-name>/<plugin-name>.js ~/.config/opencode/plugins/<plugin-name>.js
Danach opencode neu starten. Wichtig: nur EINE Datei dieses Namens im Plugin-Ordner — sonst lädt opencode das Plugin doppelt.
Fleet (az-fleet)
Pin auf einen Tag (<plugin-name>/v<version>) oder main; anonymes
git clone über HTTPS reicht.
Languages
JavaScript
100%