CI: rascunho de post por release, co-criado com a comunidade (#27) - #48
CI: rascunho de post por release, co-criado com a comunidade (#27)#48juansilvadesign wants to merge 1 commit into
Conversation
…oaogfc#27) A cada release (ou sob demanda), scripts/social-draft.mjs transforma a seção do CHANGELOG num rascunho de post pt-BR e o workflow abre um PR em social/drafts/ com label social/content — revisão humana obrigatória; o workflow não tem acesso a rede social nenhuma, de propósito. Com o segredo ANTHROPIC_API_KEY opcional o texto sai por IA (limitado ao changelog); sem ele, um template dos bullets (testado nos dados reais da v1.4.0 — o rascunho de exemplo está commitado). social/README.md documenta o fluxo de co-criação com crédito, no espírito do CONTRIBUTORS.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AiLQznJ15KbuK73b9YxAjS
|
Ótima proposta @juansilvadesign, mas não consigo ver o conteúdo em https://claude.ai/code/session_01AiLQznJ15KbuK73b9YxAjS |
O conteúdo ali da sessão é só um resumo geral: ● Todos os seis pull requests estão agora abertos no repositório joaogfc/ZeroDelay:
Alguns detalhes sobre como eles foram preparados, já que isso afeta a forma como o mantenedor os visualizará: Cada PR é independente. Em vez de apontar todos para a branch de suíte, reconstruí cada funcionalidade em sua própria branch a partir da main do upstream, realizando cherry-picks e resolvendo manualmente as sobreposições — assim, o changelog e o README de cada PR contêm apenas a sua própria entrada, e a integração (merge) de qualquer subconjunto funciona corretamente. Há uma exceção intencional: o #47 (canary) está empilhado sobre o #43 (diagnostics), pois a sonda (probe) utiliza a ponte de diagnóstico para verificar se o engine está ativo; a descrição instrui o mantenedor a integrar o #43 primeiro, momento em que o #47 pode ser reduzido a um único commit. Cada branch foi revalidada de forma independente após a resolução de conflitos — ESLint, a suíte de testes (49 a 58 testes, dependendo do conteúdo da branch), verificador de locales, ambas as compilações para lojas (store builds) e o web-ext. O corpo das Pull Requests (PRs) segue o modelo do repositório — o impacto no armazenamento é declarado em cada PR (as #44 e #45 adicionam uma nova chave cada; a #46 marca a caixa de "atenção" com a explicação completa da migração), e a |
|
@ Obrigado pelo trabalho, Juan, o script estava limpo e bem isolado. Só não é um caminho que quero manter agora. |
Descrição da mudança
Materializa a automação proposta na #27: a cada release, a seção daquela versão no
CHANGELOG.mdvira um rascunho de post e um PR emsocial/drafts/— sempre rascunho + revisão humana, nunca publicação direta (o workflow não tem acesso a nenhuma rede social, de propósito).scripts/social-draft.mjs(zero dependências, como os demais scripts do repo;node scripts/social-draft.mjs [versão]): extrai a seção do changelog e escrevesocial/drafts/vX.Y.Z.mdcom frontmatter de status. Com o segredoANTHROPIC_API_KEYconfigurado, o texto é escrito por IA limitada ao que o changelog diz (2 variantes: X/Twitter e Instagram, pt-BR, sem hype); sem o segredo, sai um template honesto montado dos bullets — o fluxo funciona com zero segredos..github/workflows/social-draft.yml: dispara em release publicada (ou manualmente com versão), abre o PR com labelsocial/content.social/README.md: o guia de co-criação da comunidade — como propor posts (issue com label ou PR direto emdrafts/), regras editoriais (changelog é o limite do factual; privacidade como argumento; crédito a quem contribuiu, no espírito doCONTRIBUTORS.md).O rascunho de exemplo
social/drafts/v1.4.0.mdestá commitado — foi gerado pelo caminho template contra o changelog real da 1.4.0 (com o crédito ao @leandroohsr preservado no bullet), para servir de modelo do formato.Tipo de mudança
Impacto em storage
Testes
npm run lintsem errosnpm testsem falhasO script foi executado de ponta a ponta contra o changelog real (caminho template; o rascunho commitado é a saída literal). O caminho IA degrada para o template em qualquer erro de API.
Screenshots
N/A — tooling.
Checklist final
🤖 Generated with Claude Code
https://claude.ai/code/session_01AiLQznJ15KbuK73b9YxAjS