5

Pitch: Criei QA Gates pra rodar no seu rep vibecodado

Passando aqui pra compartilhar um repositório que particularmente eu acredito, fiz um teste de um framework que criei e funcionou muito bem, e achei tão bom e tão chato que estou aqui passando pra compartilhar com vocês e coletar feedback também.

Basicamente o que eu fiz é o dever de casa que todo dev deveria fazer, mas na prática não é o que fazemos, muitas vezes não temos paciência em aplicar git hooks e técnicas de CI e CD, então basicamente fiz um rep onde você pode instalar gates de QA (Quality Assurance) na seu projeto e pronto.

Esse trabalho resolve isso de algumas maneiras:

  1. System prompts, o mínimo.
  2. Git hooks: executa scripts de validação localmente, pra verificar segredos e complexidade de código.
  3. Github Actions:
    1. QA structural gates: duplicação de código, complexidade assintótica limitada, hardcoded secrets.
    1. Megalinter.
    1. Testes de unidade automatizados.

A grande ideia é não confiar na IA pra garantir qualidade, e sim usar indicadores estáticos de qualidade, assim o commit só sobe se seguir um padrão semantico de nome e passar nos testes locais, a PR só aprova se a complexidade ciclomática estiver abaixo de 10, se o arquivo tiver menos de 300 linhas, e se não tiverem mais de 6 funções em um mesmo arquivo.

É claro que todos esses indicadores são adaptáveis a cada projeto, mas essa é uma maneira aceitável de garantir o mínimo. Isso torna o trabalho revisável e melhora muito a manutenção do código. Você basicamente força a IA a não ser relaxada (e ela tenta).

Por fim, esse rep não resolve qualidade sozinho, mas te ajuda com o mínimo, ter prompts forçando a tua IA a não escrever código que não responde as tuas regras de negócio e forçando a ter o mínimo de padrões código limpo.

Obs: como disse, precisa ainda garantir que o código atende as regras de negócio que você tem, e isso é trabalho só seu. E lançar esse rep em um projeto já em andandamento pode te levar a um ciclo de refatoração infindável, por isso veja quais gates fazem sentido serem ativados no seu projeto.

Aqui o link: https://github.com/PedroOSilv/qagates

Quero ouvir de vocês o que pensam disso.

Salve Lucas Montano, seu vídeo me inspirou a fazer esse projeto ...

Se você leu até aqui, obrigado pela atenção!

Carregando publicação patrocinada...