ReadAware

Публикация плагина

Каталог работает как репозиторий расширений 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/ написаны именно так — используйте их как живые примеры.

Отправка

  1. Сделайте форк репозитория.
  2. Скопируйте template/ в plugins/<your-plugin-id>/, минимум с manifest.json и main.js. Имя папки должно совпадать с id манифеста.
  3. Добавьте соответствующую запись в registry.json, сохраняя массив отсортированным по id.
  4. Запустите те же проверки, что будет запускать CI:
    node scripts/validate.mjs
    npx tsc --noEmit
  5. Откройте пулл-реквест с описанием того, что делает плагин и зачем ему каждое объявленное разрешение.

CI проверяет согласованность реестра и манифеста, формат id, белый список разрешений и наличие файлов, а также прогоняет проверку типов для каждого TypeScript-плагина.

Обновления

Тот же процесс: поднимите version в manifest.json и registry.json одним пулл-реквестом. Учтите, что приложение читает реестр через CDN, поэтому слитое обновление может появиться во вкладке каталога с небольшой задержкой.

Требования ревью

  • Объявляйте минимальные разрешения. Пулл-реквесты, запрашивающие больше, чем использует код, будут возвращены — см. таблицу разрешений.
  • main.js должен быть читаемым или сопровождаться исходниками, из которых он собран.
  • Никакого обфусцированного кода, аналитики и трекинга, никакой загрузки кода с удалённых серверов.

Плагины работают внутри приложения с тем же доступом, что и само приложение. Установка — это решение о доверии, которое пользователь принимает отдельно для каждого плагина, и это ревью — первая линия обороны сообщества — пишите плагины, которые вы сами не побоялись бы установить у незнакомца.