Divisão entre plugin e tema

Estamos desenvolvendo um plugin que serializa um novo atributo (uma imagem) na lista de tópicos (usando TopicListItemSerializer). No entanto, não faz sentido exibir essa imagem no contexto da interface padrão do Discourse. Essa imagem será consumida pelo nosso próprio tema — o que tornará nosso site muito diferente de uma instalação padrão do Discourse.

Minha ideia inicial foi criar um plugin que apenas fornecesse esse atributo no serializador e deixar que o tema o consumisse e exibisse a imagem. Isso faria sentido, ou o plugin também deveria incluir o código para exibir a imagem na interface?

Sua ideia inicial está boa: dividir em um plugin e um tema lhe dará a flexibilidade de fazer atualizações no tema e atualizar seu site sem precisar fazer um novo deploy (a outra opção, ter todo o código de interface no plugin, exigirá um novo deploy quando você fizer alterações).

Obrigado pela resposta, @pmusaraj!