2.7 KiB
2.7 KiB
name: lampa-plugin-builder
description: Создание и доработка плагинов для приложения Lampa (JS plugin URL). Использовать, когда нужно: (1) создать новый плагин Lampa с нуля, (2) добавить/исправить хуки Lampa.Listener или расширения Lampa.* прототипов, (3) подготовить плагин к публикации по прямому URL .js, (4) проверить безопасную инициализацию (app ready + защита от двойного старта).
Lampa Plugin Builder
- Уточнить цель плагина и критерий готовности:
- что именно должен менять плагин в Lampa;
- где это должно срабатывать (карточки, меню, источники, фильтры и т.д.);
- как пользователь проверит результат.
- Создать каркас плагина по шаблону из
references/plugin-template.js:
- IIFE +
use strict; window.<flag>защита от повторной инициализации;- запуск через
window.appreadyилиLampa.Listener.follow('app', ...).
- Реализовать логику через API Lampa:
- подписки на события через
Lampa.Listener.follow(...); - отправка событий через
Lampa.Listener.send(...)(если нужно); - точечные патчи прототипов только при необходимости и с guard-проверками.
- Добавить безопасные ограничения:
- не ломать стандартный UX;
- не вызывать бесконечные циклы/повторные хуки;
- не переопределять методы без сохранения оригинального поведения.
- Проверить готовность плагина:
- файл один, самодостаточный
.js; - нет синтаксических ошибок;
- повторное подключение не дублирует эффекты;
- есть короткая инструкция установки (URL файла плагина).
- Выдать результат в формате:
plugin-name.js;- кратко: что делает;
- как подключить в Lampa (URL плагина);
- быстрый чек-лист тестирования.
Если нужна генерация с нуля — брать шаблон references/plugin-template.js и адаптировать его под задачу.