Публикация плагина
Каталог работает как репозиторий расширений Raycast: ваш плагин живёт в публичном readaware-plugins и попадает туда через пулл-реквест. После слияния он появляется в приложении в разделе Настройки → Плагины → Каталог и устанавливается одним кликом.
Разработка на TypeScript
TypeScript — рекомендуемый путь. Репозиторий содержит template/ с уже подключённым типизированным API (types/plugin-api.d.ts) — скопируйте его, напишите src/main.ts и соберите единый самодостаточный модуль:
bun build src/main.ts --outfile main.js --format esmВ поставку всегда идёт собранный main.js; храните src/ в репозитории, чтобы ревьюеры могли прочитать настоящий код. Обычный JavaScript также принимается. Официальные плагины в plugins/ написаны именно так — используйте их как живые примеры.
Отправка
- Сделайте форк репозитория.
- Скопируйте
template/вplugins/<your-plugin-id>/, минимум сmanifest.jsonиmain.js. Имя папки должно совпадать сidманифеста. - Добавьте соответствующую запись в
registry.json, сохраняя массив отсортированным по id. - Запустите те же проверки, что будет запускать CI:
node scripts/validate.mjs npx tsc --noEmit - Откройте пулл-реквест с описанием того, что делает плагин и зачем ему каждое объявленное разрешение.
CI проверяет согласованность реестра и манифеста, формат id, белый список разрешений и наличие файлов, а также прогоняет проверку типов для каждого TypeScript-плагина.
Обновления
Тот же процесс: поднимите version в manifest.json и registry.json одним пулл-реквестом. Учтите, что приложение читает реестр через CDN, поэтому слитое обновление может появиться во вкладке каталога с небольшой задержкой.
Требования ревью
- Объявляйте минимальные разрешения. Пулл-реквесты, запрашивающие больше, чем использует код, будут возвращены — см. таблицу разрешений.
main.jsдолжен быть читаемым или сопровождаться исходниками, из которых он собран.- Никакого обфусцированного кода, аналитики и трекинга, никакой загрузки кода с удалённых серверов.
Плагины работают внутри приложения с тем же доступом, что и само приложение. Установка — это решение о доверии, которое пользователь принимает отдельно для каждого плагина, и это ревью — первая линия обороны сообщества — пишите плагины, которые вы сами не побоялись бы установить у незнакомца.