Desarrollo remoto
Puedes desarrollar plugins desde cualquier ordenador y subirlos a un servidor Keirost remoto sin SSH.
Si es tu primer plugin, empieza por el tutorial paso a paso — esta guía cubre en detalle la conexión con el servidor y el hot reload.
Requisitos
Sección titulada «Requisitos»npm i -g @openfactu/clinpm i @openfactu/plugin-sdk1. Generar API Key
Sección titulada «1. Generar API Key»Desde la UI del ERP como admin: Plugins > Desarrollo > Generar API Key
Obtienes:
- Client ID (
ofk_...) — identificador publico - Client Secret (
ofs_...) — clave privada, solo se muestra una vez
Las keys se pueden desactivar o revocar en cualquier momento.
2. Auto-sync al guardar
Sección titulada «2. Auto-sync al guardar»# Desde la carpeta de tu pluginopenfactu plugin watch \ --server http://192.168.1.100:3000 \ --client-id ofk_abc123... \ --client-secret ofs_xyz789...Cada vez que guardes un archivo, se sube al servidor y se recarga automáticamente. El browser se actualiza sin refrescar.
3. Push manual
Sección titulada «3. Push manual»openfactu plugin push \ --server http://192.168.1.100:3000 \ --client-id ofk_abc123... \ --client-secret ofs_xyz789...4. Desarrollo local
Sección titulada «4. Desarrollo local»Si tienes Keirost instalado en tu maquina:
# Enlazar tu plugin (symlink)openfactu plugin link ~/mi-plugin
# Arrancar con hot reloadopenfactu plugin dev mi-pluginHot reload
Sección titulada «Hot reload»Al guardar un archivo del plugin:
- El watcher detecta el cambio
- Se limpian los hooks anteriores (sin duplicados)
- Se recarga
init()del plugin - Se actualiza el manifest en memoria
- WebSocket notifica al frontend
- Los componentes UI se recargan sin refrescar la página
npm install --save-dev @openfactu/plugin-sdkEl SDK es type-only: proporciona los tipos completos para IntelliSense (PluginContext, HookContext, HookEvent…). La referencia está en PluginContext y el Catálogo de hooks.
Template
Sección titulada «Template»Usa el template oficial para empezar:
- Click en “Use this template” en GitHub
- Clona tu repo
npm install- Edita
index.tsymanifest.json openfactu plugin pushoopenfactu plugin watch
API endpoints
Sección titulada «API endpoints»| Endpoint | Descripción |
|---|---|
POST /api/plugins/upload |
Sube plugin como ZIP (requiere admin/dev key) |
POST /api/plugins/:id/push |
Sync incremental de archivos |
POST /api/plugins/:id/reload |
Recarga manual |
GET /api/dev-keys |
Lista API keys |
POST /api/dev-keys |
Genera nueva key |
DELETE /api/dev-keys/:id |
Revoca key |
PATCH /api/dev-keys/:id/toggle |
Activa/desactiva key |