<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Opensource on Rafael Zago</title><link>https://www.rafaelvzago.com/tags/opensource/</link><description>Recent content in Opensource on Rafael Zago</description><generator>Hugo</generator><language>pt-BR</language><copyright>© Rafael Zago</copyright><lastBuildDate>Sun, 26 Jul 2026 11:00:02 -0300</lastBuildDate><atom:link href="https://www.rafaelvzago.com/tags/opensource/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrei de Jekyll para Hugo com desenvolvimento agentic</title><link>https://www.rafaelvzago.com/posts/migrei-o-blog-de-jekyll-para-hugo-com-desenvolvimento-agentic/</link><pubDate>Sun, 26 Jul 2026 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/migrei-o-blog-de-jekyll-para-hugo-com-desenvolvimento-agentic/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/migrei-o-blog-de-jekyll-para-hugo-com-desenvolvimento-agentic.png" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/migrei-o-blog-de-jekyll-para-hugo-com-desenvolvimento-agentic.png" alt="Ilustração da migração de Jekyll para Hugo" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;p>Em 24 de julho de 2026 este blog deixou de ser Jekyll + Chirpy e passou a ser Hugo + Archie. Eu podia ter tratado isso como &amp;ldquo;troca o tema e torce&amp;rdquo;. Não tratei. Foi cutover com PRD, tickets verticais, preview local obrigatório e tag de rollback imutável.&lt;/p>
&lt;p>Já escrevi sobre &lt;a href="https://www.rafaelvzago.com/posts/como-eu-uso-ia-no-desenvolvimento/">como organizo skills e agentes&lt;/a> e sobre o &lt;a href="https://www.rafaelvzago.com/posts/claude-code-automatizando-workflow-prd-pr/">fluxo genérico de PRD a PR&lt;/a>. Este post é o estudo de caso: o mesmo playbook, numa migração real deste repositório. Processo na espinha, passos reproduzíveis no meio. Multilíngue fica para o próximo capítulo. Aqui o assunto é o cutover Jekyll → Hugo.&lt;/p></description></item><item><title>Como eu uso IA no desenvolvimento (Cursor e Claude)</title><link>https://www.rafaelvzago.com/posts/como-eu-uso-ia-no-desenvolvimento/</link><pubDate>Wed, 22 Jul 2026 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/como-eu-uso-ia-no-desenvolvimento/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/como-eu-uso-ia-no-desenvolvimento.png" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/como-eu-uso-ia-no-desenvolvimento.png" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;p>A pergunta que mais ouço sobre IA no dia a dia não é &amp;ldquo;qual modelo você usa?&amp;rdquo;. É &amp;ldquo;como você organiza isso para não virar bagunça?&amp;rdquo;.&lt;/p>
&lt;p>Eu uso IA o tempo todo, no código e neste blog. O que mudou a minha rotina não foi um prompt milagroso. Foi tratar o agente como alguém que entra no projeto sem contexto: se a regra não está em arquivo, ela não existe. Skills, &lt;code>AGENTS.md&lt;/code>, agentes com papéis estreitos e eu revisando o resultado. Sem mágica.&lt;/p></description></item><item><title>Claude Code: do PRD ao pull request com agentes</title><link>https://www.rafaelvzago.com/posts/claude-code-automatizando-workflow-prd-pr/</link><pubDate>Fri, 08 May 2026 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/claude-code-automatizando-workflow-prd-pr/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/claude-code-automatizando-workflow-prd-pr.png" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/claude-code-automatizando-workflow-prd-pr.png" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="introdução">Introdução&lt;/h2>
&lt;p>Descobri o Claude Code há alguns meses quando nosso time estava lutando para manter a consistência em code reviews. Depois de seis semanas usando a ferramenta, conseguimos reduzir o tempo médio de PR de 4 dias para 1 dia — e isso foi só o começo.&lt;/p>
&lt;p>O Claude Code automatiza boa parte do workflow de desenvolvimento. PRDs, TDD, code review, até a configuração de MCP. Não é mágica, mas funciona bem o suficiente para fazer diferença no dia a dia.&lt;/p></description></item><item><title>TemPy: IoT com Raspberry Pi, Skupper e Grafana</title><link>https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/</link><pubDate>Thu, 15 Feb 2024 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/tempy-com-skupper-e-grafana.webp" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/tempy-com-skupper-e-grafana.webp" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="descrição">Descrição&lt;/h2>
&lt;p>Este projeto é uma prova de conceito de uma arquitetura IoT com Raspberry Pi e um sensor de temperatura que expõe os dados por uma API REST. Junto com a API, há integração com qualquer provedor de nuvem usando &lt;a href="https://skupper.io/">Skupper&lt;/a>, para visualizar os dados em um dashboard Grafana.&lt;/p>
&lt;blockquote>
&lt;p>Clone o repositório e siga as instruções para rodar o projeto. &lt;a href="https://github.com/rafaelvzago/skupper-tempy">https://github.com/rafaelvzago/skupper-tempy&lt;/a>&lt;/p>&lt;/blockquote>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/rafaelvzago/skupper-tempy.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="sumário">Sumário&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#hardware">Hardware&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#configura%c3%a7%c3%a3o-do-raspberry">Configuração do Raspberry&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#captura-de-temperatura">Captura de temperatura&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#papel-do-skupper">Papel do Skupper&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#conex%c3%a3o-com-o-cluster-via-skupper-e-armazenamento-no-prometheus">Conexão com o cluster via Skupper e armazenamento no Prometheus&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#prometheus">Prometheus&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#grafana">Grafana&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.rafaelvzago.com/posts/tempi-com-skupper-e-grafana/#reposit%c3%b3rio">Repositório&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="arquitetura">Arquitetura&lt;/h2>
&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/tempy-arch.png" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/tempy-arch.png" alt="arch" loading="lazy" decoding="async">
&lt;/a>&lt;/p></description></item><item><title>Carreira com software livre: o que é e como começar</title><link>https://www.rafaelvzago.com/posts/carreira-com-software-livre/</link><pubDate>Thu, 07 Dec 2023 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/carreira-com-software-livre/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/carreira-com-softeware-livre-hero.webp" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/carreira-com-softeware-livre-hero.webp" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h1 id="carreira-com-software-livre---o-que-é-e-como-começar">Carreira com Software Livre - O que é e como começar?&lt;/h1>
&lt;h2 id="introdução">Introdução&lt;/h2>
&lt;p>Software Livre é um movimento que tem como objetivo promover a liberdade de uso, estudo, modificação e distribuição de software. O movimento do Software Livre é baseado em quatro liberdades essenciais:&lt;/p>
&lt;ol>
&lt;li>A liberdade de executar o programa, para qualquer propósito (liberdade nº 0).&lt;/li>
&lt;li>A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisito para esta liberdade.&lt;/li>
&lt;li>A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2).&lt;/li>
&lt;li>A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). O acesso ao código-fonte é um pré-requisito para esta liberdade.&lt;/li>
&lt;/ol>
&lt;h2 id="tipos-de-licenças-para-software-livre">Tipos de licenças para software livre&lt;/h2>
&lt;p>Existem diversos tipos de licenças para software livre, sendo as mais populares a GPL, LGPL, MIT, Apache, BSD e a Mozilla. Cada uma dessas licenças possui suas próprias características e restrições, porém, todas elas garantem as quatro liberdades essenciais do movimento do Software Livre.&lt;/p></description></item></channel></rss>