Executando verificação de segurança...
11

Transformei um problema real em um "bot" para GitHub + Discord (mais um MVPzinho 💡)

Mais uma "dor" do dia a dia vencida e transformada em ferramenta real.

Estou tocando um projeto com uma galera que está começando agora a colaborar com código em equipe, e percebi que muitos ainda não dominam Git e GitHub na prática — especialmente no trabalho em equipe. A maioria só conhecia git add, git commit e git push. 😅

Pra evitar dores de cabeça com conflitos, mensagens vermelhas de "Don't merge" e afins, comecei a orientar o básico: sempre dar git pull antes de começar a codar, entender o que está no repositório antes de subir algo, etc. Mas percebi que só explicar não bastava. Muita gente esquecia de verificar se alguém tinha feito um push enquanto eles estavam codando.

Daí surgiu a ideia: criei um "bot" que integra GitHub com Discord.
Funciona assim: sempre que alguém dá um push, o "bot" manda uma notificação automática no canal do Discord da equipe, com um embed customizado e o link do commit.

Com isso:

Todo mundo fica sabendo quem foi o último a subir código.

Se alguém fizer push enquanto você está codando, você já sabe que precisa dar pull antes de subir sua parte.

Evita aquele estresse com stash, rebase, resolve conflicts, etc.

Sei que existem ferramentas robustas para isso (CI/CD, Git hooks, etc.), mas minha ideia aqui foi aprender criando e resolver o problema com algo simples e direto, que já funciona muito bem para times pequenos e iniciantes.

O "bot" está em MVP, mas já está ajudando bastante. A ideia é expandir para outros eventos do GitHub futuramente.

Irei deixar o link da psotagem do Linkedin e do MVP abaixo.

MVP: https://hookify-dev.vercel.app/
POST: https://www.linkedin.com/posts/gabrielcostaluiz_fullstack-github-discord-activity-7323300136128794624-cmmz?utm_source=share&utm_medium=member_desktop&rcm=ACoAACzlvM4BXG6mYPPPcWi8cWBWjikDVhxPBjA

PS: A ideia do Hookify é centralizar tudo em um só lugar, facilitar o gerenciamento dos webhooks e, no futuro, permitir personalização das mensagens e trazer insights com estatísticas e monitoramento da atividade dos colaboradores.

Carregando publicação patrocinada...
1
1

Você acabou de criar o sistema de alarme contra devs esquecidos, o GitPullAviso™. Genial. Porque, sejamos honestos, tem gente que poderia estar trabalhando com CDRom que ainda esqueceria de dar um git pull.

Esse seu bot é basicamente o "cara atento da daily" transformado em software: não faz deploy, não resolve conflito, mas fica te lembrando do óbvio que você ia ignorar. E o melhor: no Discord, onde o pessoal realmente presta atenção, diferente dos e-mails da CI que caem no buraco negro da ignorância.

Você disse que existem ferramentas mais robustas… mas nenhuma delas resolve o maior problema do Git em times pequenos: o ser humano. Especialmente o ser humano que faz git push --force e depois diz “ué, sumiu o código do fulano?”. O seu bot, com toda sua simplicidade, resolve isso com uma notificação elegante. Isso sim é developer experience.

E MVP? Isso aí já tá melhor que muito produto pronto por aí que se diz “AI-powered” mas mal responde um clique.

Parabéns pela solução, pela execução e pela paciência com o caos humano versionado. Só falta agora um bot que impeça o push se o commit for "fix" pela quarta vez seguida.

2

Cara kkkk você é incrível, explicou melhor que eu o meu próprio projeto.

Me deu uma ideia de nome.
Me deu ideia de copy.
Me deu ideias de features.

Tu é o cara kkkk eu vou até voltar nesse projeto para aplicar tudo, fazer algumas alterações e não irei esquecer de mencionar você quando postar algo sobre.

1

KKKK fico feliz de saber que o GitPullAviso™ vai ganhar uma versão 2.0 com menos caos e mais vergonha alheia evitada por notificação.

Se precisar, já tô desenhando aqui o PushBlocker3000™: usa AI pra detectar commits suspeitos tipo "fix final agora vai" e trava o push com um alerta: “Tem certeza que quer repetir o erro de ontem?”

Brincadeiras à parte, teu projeto tem alma, e isso vale mais que mil dependabot. Vai fundo.

1
1

Sim, basicamente funcionaria.

O intuito do projeto no início era focar um pouco na questão da personalização da resposta que o github da para o discord, no momento do projeto não tem como o usuario personalizar da maneira que ele queira ( por enquanto ), deixei uma personalização padrão.

Outro motivo é de centralizar tudo em um lugar só, em vez de você ter que ficar tendo que trocar o webhook no discord e depois trocar no github, aqui você trocaria só na aplicação e já iria funcionar, você faria somente o primeiro setup nos dois lugares e depois se concentra somente na aplicação.

Com isso daria para fazer algumas outras features, como de estatísticas (ver quantos push "fix" o Joãozinho fez em X mês, quantos push a Maria fez no prmeiro semestre), monitoramento e tals...

1
1

É que nem eu disse no post, sei que existe ferramentas mais robustas e melhores no mercado, porém eu quis fazer algo meu e que eu consiga customizar, criar features e tals da minha maneira.

Hoje em dia é difícil você criar algo inovador também, tudo vai ter um produto X que faz melhor que o Y, ou que pelo menos o X seja melhor para um usuário mas para outro o Y é melhor, ou seja, praticamente sempre vai ter inúmeras "actions bem mantidas" em relação a um produto, mas o que eu busquei foi fazer a minha e não utilizar essas existentes ( que para falar a verdade eu nem sabia que existia kkk não sou um fã de discord, comecei a usar recentemente e bem pouco ainda, porém quando utilizei vi uma oportunidade de fazer uma aplicação minha para solucionar um "problema"), mesmo que ninguém se cadastre, está lá, pode ficar a vontade se quiser usar.

1