-
Há muitos plugins e componentes oficiais e não oficiais que você pode usar.
Eu tendo a confiar nos oficiais, ou desenvolvidos por pessoas/empresas envolvidas e confiáveis como a Pavilion para evitar ao máximo quaisquer problemas potenciais ou software descontinuado no futuro.
Quanto às diferenças entre um plugin e um componente, veja Theme-Component v Plugin: What's the difference - #2 by EricGT -
Adicionar ou remover um plugin é apenas uma linha de código para adicionar ou remover em um campo de configuração, e então reconstruir a aplicação (o que geralmente leva alguns minutos): Install plugins on a self-hosted site
-
Existem muitos guias e how-to sobre como desenvolver plugins e componentes, mas acho que a melhor resposta seria “peça à sua equipe de desenvolvimento para dar uma olhada em alguns dos mais populares”, pois eles são em sua maioria de código aberto :). E também dê uma olhada em Developing Discourse Themes & Theme Components e Developing Discourse Plugins - Part 1 - Create a basic plugin