Concordo, como mencionei, essa foi uma primeira versão e agora foi aprimorada como resultado do seu feedback. Damos outra olhada e você estava certo.
Adicionado ao método de revisão
-
Classificação do candidato antes da inspeção de arquivos:
- Plugin
- Tema
- Componente de tema
- Extensão híbrida
- Repositório de integração
- Artefato de lançamento
-
Inventário separado de repositório/lançamento compartilhado:
- README, licença, changelog
- Arquivos de pacote e lockfiles
- Workflows de CI
- Scripts de instalação/Docker
- Integrações com serviços externos
- Assets de lançamento gerados
- Lançamento com tag/arquivo
- Arquivos não rastreados e ignorados relevantes
-
Inventário expandido de plugins:
- Todo arquivo carregado, registrado ou exposto por
plugin.rb config/routes.rbdb/post_migrate/- Views, engines, validadores e middleware
- Código de frontend de administração e público
- Conectores, componentes, rotas, serviços, templates e testes de frontend
- Estilos comuns, desktop, mobile, administração e incorporados
- Fixtures, arquivos de suporte e testes de navegador/sistema
- Dependências de Ruby, JavaScript, sistema e serviços externos
.discourse-compatibility- Ramificações e workflows
d-compat/* - Limites de versão do Discourse declarados
- Todo arquivo carregado, registrado ou exposto por
-
Novo inventário de tema/componente de tema:
about.jsonna raiz- Classificação de
component - Metadados de licença, autor, versão e compatibilidade
- Assets, esquemas de cores, capturas de tela e configurações tematizáveis declarados
settings.ymlna raizlocales/na raizcommon/,desktop/emobile/- Arquivos SCSS e arquivos de injeção de HTML suportados
javascripts/na raizapi-initializers/- Todos os arquivos
.js,.gjse.hbs stylesheets/na raiz e folhas de estilo importadasassets/na raiz e todas as referências a eles- Pré-visualizações/capturas de tela
- Testes e configuração de lint/build
- Metadados e ramificações de compatibilidade
- Bytes do tema empacotado/exportado
-
Novas verificações estruturais:
- O tipo de extensão declarado deve corresponder ao
about.jsone ao comportamento de instalação. component: truesignifica componente de tema.component: falseou omitido significa tema completo.- Repositórios híbridos recebem todos os inventários aplicáveis.
- Arquivos mal posicionados ou inesperados são investigados, em vez de serem ignorados silenciosamente.
- Diretórios opcionais ausentes não são automaticamente defeitos.
- Árvore de trabalho, arquivo de lançamento, extensão instalada, assets gerados e candidato público são superfícies de evidência separadas.
- O tipo de extensão declarado deve corresponder ao
-
Nova lista de verificação de tema completo:
- Identidade dos metadados
- Renderização do tema completo
- Cobertura das páginas principais
- Configurações, locales e assets
- Inicializadores JavaScript/API suportados
- Comportamento responsivo, acessibilidade e RTL
- Comportamento de Foundation, Horizon e incorporação
- Interações com componentes de tema
- Verificações de instalação, atualização, rollback e compatibilidade
Minha esperança é que a contribuição da comunidade aprimore a Skill e que a Skill ajude outros a avaliar seu próprio trabalho ou, francamente, o trabalho de outros antes de instalar, caso haja dúvidas quanto à qualidade.
Até agora temos 2 para 2. Seu feedback impulsionou melhorias na Skill e @satonotdead achou útil. Obrigado pelas palavras gentis e pelo apoio @satonotdead