Тем временем я нашёл несколько полезных ресурсов. Очень хотелось бы, чтобы они были более заметны в руководстве «Как написать плагин». Для новичков не очевидно, что они вообще существуют.
- Собственное API Discourse (не поможет в написании плагинов, но всё же актуально для новичков): https://docs.discourse.org/
- API клиентских плагинов (не поможет в написании бэкенда плагина, но определённо упрощает работу с фронтендом):
A versioned API for client side plugins
https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/lib/plugin-api.gjs
Также я понял, что API бэкенд-плагинов по сути представляет собой Rails или Ruby, но неясно, как именно фронтенд и бэкенд взаимодействуют друг с другом и где находится начальный «хук» для бэкенда. Конечно, есть файл plugin.rb, который нужно разместить, но остаётся вопрос: есть ли документация о том, какая точка входа используется в этом файле. Возможно, для программистов Ruby on Rails это очевидно, но я не из их числа, поэтому порог входа здесь довольно высок.