Theme-Component v Plugin: Qual a diferença

Para complementar a resposta de @EricGT, que já faz um ótimo trabalho explicando:

  • Um tema ou componente de tema é essencialmente uma maneira de modificar qualquer parte do aplicativo front-end EmberJS do Discourse. Isso pode ser tão simples quanto personalizar HTML ou CSS, ou tão complexo quanto adicionar novas funcionalidades. Temas são muito mais elegantes em caso de falha, o que significa que todo o seu site não necessariamente ficará fora do ar se algo não funcionar.
  • Um plugin afeta principalmente o aplicativo Rails no lado do servidor, mas também inclui todo o poder de um tema e a capacidade de modificar o aplicativo EmberJS, embora seja muito mais complexo. Falhas em plugins tendem a ser menos elegantes, então, se você puder construir algo em um tema, comece por aí. No entanto, um plugin é necessário se você precisar de uma rota personalizada ou de armazenar dados.
  • A pluginAPI é uma API no lado do cliente que temas ou componentes de tema podem usar para modificar mais facilmente partes específicas do cliente do Discourse.

O melhor lugar para começar a personalizar seu site é com um tema. Aqui estão alguns recursos:

Guia do Designer para Temas do Discourse
Guia do Desenvolvedor para Temas do Discourse
Guia para Iniciantes sobre o uso do Theme Creator e Theme CLI para começar a criar um tema do Discourse