https://github.com/essensys-hub/essensys-plugin-framework
SDK et contrat du framework de plugins Essensys (manifest, registre Go, renderer TS server-driven) — ajoute des options aux 4 apps modernes sans les forker.
https://github.com/essensys-hub/essensys-plugin-framework
essensys framework plugin
Last synced: 1 day ago
JSON representation
SDK et contrat du framework de plugins Essensys (manifest, registre Go, renderer TS server-driven) — ajoute des options aux 4 apps modernes sans les forker.
- Host: GitHub
- URL: https://github.com/essensys-hub/essensys-plugin-framework
- Owner: essensys-hub
- Created: 2026-07-06T14:58:37.000Z (11 days ago)
- Default Branch: main
- Last Pushed: 2026-07-06T16:59:31.000Z (11 days ago)
- Last Synced: 2026-07-06T17:12:10.318Z (11 days ago)
- Topics: essensys, framework, plugin
- Language: Go
- Size: 20.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# essensys-plugin-framework
Framework de plugins Essensys — ajoute des **options/intégrations** aux quatre applications modernes jumelles (`essensys-server-backend`, `essensys-user-portal-backend`, `essensys-server-frontend`, `essensys-user-portal-frontend`) **sans forker chaque app**.
## Principes
- **Manifest déclaratif** (`plugin.manifest.json`), extension de `features/schema/feature.schema.json`.
- **Aucun chargement dynamique de code** : registre Go compilé.
- **Server-driven UI** : un renderer TS générique partagé, rendu identique LAN et cloud (jumeaux).
- Réutilise l'infra existante : **Mosquitto** (transport), **Redis** (last-value), **Prometheus** (séries), **SOPS** (secrets).
- Frontière **dual-protocol** garantie en CI : le protocole legacy IoT n'est jamais touché.
## Contenu
- `go/` — SDK Go (interface `PluginAdapter`, registre compilé, routes `/api/plugins//*`).
- `ts/` — package du renderer générique (tuile, page détail, panneau réglages).
- `schema/` — schéma du manifest de plugin.
## Références
- Spécification OpenSpec : `essensys-memory/openspec/changes/essensys-plugin-framework-2026-07-035`.
- Plugins : [`essensys-plugin-example`](https://github.com/essensys-hub/essensys-plugin-example) (template), [`essensys-plugin-sungrow`](https://github.com/essensys-hub/essensys-plugin-sungrow) (premier plugin).