DiscourseSkill.md

Movendo o trabalho de Require LLM-generated themes & plugins to be tagged as such

Fizemos um primeiro rascunho para a criação de um DiscourseSkill.md

ler: DiscourseSkill.md

usar: DiscourseSkill.json

Qual foi a base para a criação disso? Logo no início, diz que é para plugins, temas e componentes de tema.

Mas minha impressão é que o escopo da revisão não corresponde à estrutura dos temas. Por que javascripts/ só é incluído se estiver em uma pasta assets? Por que você está restringindo settings.yml à pasta config? Temas geralmente não têm essas pastas.

É irônico como discutimos que o conteúdo gerado por IA pode não atender aos requisitos de qualidade, e a solução sugerida não parece ser mais confiável em si.

Sobre esse tópico altamente controverso — e considerando que é razoável assumir que a IA representa riscos significativos para nossas capacidades cognitivas, privacidade e segurança…

Quero apenas dizer que agradeço por essa ferramenta, pois ela apontou erros em plugins que criei com a ajuda de LLMs, os quais eu não teria conseguido encontrar sozinho.

É exatamente o que comentei no tópico que deu origem a este. Eu não tinha o conhecimento técnico para questionar os resultados em si, mas sim sua aplicação prática.

Infelizmente, a humanidade como um todo não utiliza atualmente, de forma consistente, suas habilidades de pensamento crítico ao analisar ações ou respostas, e age por emoção — sem perceber, de maneira completamente inconsciente.

Isso nos leva a preconceitos imprecisos sobre a validade ou o valor de algo que, visto de forma neutra, na verdade está melhorando uma situação dada. Entendo que isso é um fenômeno natural que está em mudança, e não algo pessoal.

Apenas para mostrar meu humilde apoio ao OP por essa ferramenta.

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.rb
    • db/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
  • Novo inventário de tema/componente de tema:

    • about.json na 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.yml na raiz
    • locales/ na raiz
    • common/, desktop/ e mobile/
    • Arquivos SCSS e arquivos de injeção de HTML suportados
    • javascripts/ na raiz
    • api-initializers/
    • Todos os arquivos .js, .gjs e .hbs
    • stylesheets/ na raiz e folhas de estilo importadas
    • assets/ 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.json e ao comportamento de instalação.
    • component: true significa componente de tema.
    • component: false ou 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.
  • 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