Uso o Visual Studio Code (VS Code) desde 2019, mas sempre na sua forma mais simples, que é a leitura e edição de documentos JSON, arquivos YAML, scripts Bash para EC2 e arquivos plain text, como logs e arquivos .txt. Para facilitar minhas atividades, eu utilizo extensões que adicionam cores ao texto e permitem que o visual fique legível.
Mas, neste ano, instalei a IDE Kiro com dois objetivos em mente:
- Quero sair gradualmente do VS Code.
- E quero aprender a usar o Kiro, principalmente porque agora ele foi adicionado ao escopo do exame AWS Certified AI Practitioner.
Porém, durante essa mudança e migração de ferramentas IDE, encontrei uma dificuldade. A extensão de cores que eu usava no VS Code para ler arquivos plain text não estava disponível no marketplace de extensões que é usado pelo Kiro. E, quando procurava por alguma alternativa, ou ela não atendia ao que eu precisava, ou, pior ainda, ela estava abandonada pelo desenvolvedor.
Então decidi transformar essa minha dor em um desafio pessoal: desenvolver e publicar a minha primeira extensão para o Kiro.
E nesse artigo, vou explicar como foi essa minha jornada de aprendizado.
Índice
Por que decidi criar uma extensão para o Kiro?
Antes de pensar em desenvolver uma solução, fui tentar entender o motivo de não encontrar as extensões no marketplace do Kiro, que estavam disponíveis no marketplace do VS Code.
O que descobri foi que o Kiro utiliza o Open VSX Registry como marketplace de extensões, enquanto o VS Code utiliza o Visual Studio Marketplace como fonte única e principal.
Também encontrei outro ponto crítico. A extensão que eu estava usando no VS Code estava há mais de dois anos sem atualização, com issues abertas no GitHub por outros usuários e não respondidas pelo autor, além de seu código-fonte possuir funções que a deixavam pesada e com características implementadas que não faziam parte da minha necessidade, como a adição de cores nos textos que possuiam ideogramas chineses.
Foi neste momento que enxerguei uma oportunidade. Em vez de esperar alguém atualizar aquela extensão, o que não iria ocorrer, eu poderia criar a minha solução, com foco no meu uso: leitura e edição colorida em arquivos do tipo .txt, .log, .ini, .conf, .cfg, .env e .properties.
E assim nasceu a ideia do TXT Color.
Escolhendo o caminho mais difícil
No início, eu poderia ter feito um fork do repositório original ou clonado o projeto para minha máquina. Porque o projeto original, abandonado há mais de dois anos, usava a licença MIT, que permite a liberdade para usar, modificar e distribuir o código, desde que o aviso de licença fosse preservado.
Mas eu escolhi o caminho mais difícil para seguir.
Em vez de utilizar os recursos do GitHub para cópia do repositório, eu recriei a estrutura manualmente na minha máquina local, criando cada arquivo, copiando e colando cada bloco do código, revisando cada configuração e entendendo cada linha da extensão.
Essa decisão foi muito trabalhosa e, olhando para trás, não sei explicar até agora o motivo de ter seguido por esse caminho. Mas agora que o projeto está completo, vi que, ao fazer essa engenharia reversa, me permitiu entender com mais profundidade o funcionamento da extensão e foi também a virada de chave no desenvolvimento do meu aprendizado.
Porque, ao recriar a estrutura manualmente, consegui entender melhor como o Kiro interpreta um projeto e quais partes do código-fonte precisavam ser descartadas e quais eram realmente necessárias.
Também, durante este processo, removi regras que não atendiam ao meu caso de uso, defini novos padrões de destaque e deixei o projeto mais enxuto.
E, para mim, a extensão não precisava e nem resolverá todas as várias possibilidades de adição de cor. O que ela precisava fazer era resolver uma dor, e esse foi o pontapé inicial do meu desenvolvimento.
Do teste local à publicação no Open VSX
Depois de desenvolver a primeira versão alpha (0.0.1), pedi para o Kiro avaliar o projeto.
O resultado foi que o Kiro encontrou pontos de melhoria, sugeriu correções e ajudou a enxugar algumas linhas que não eram necessárias.
Depois de aplicar as correções sugeridas, gerei um novo pacote da extensão e fiz o teste local no Kiro mais uma vez. E foi quando abri meus arquivos .txt e vi as cores sendo aplicadas que exerguei a primeira prova de conceito funcionando.
Em seguida, organizei o projeto no GitHub, com README, changelog, imagens, arquivo de teste, licença, ícone e informações de suporte.
E só depois desses ajustes iniciais dentro de casa é que segui para a próxima etapa, que era a publicação da extensão no marketplace que o Kiro utiliza.
Assim, criei uma conta no Open VSX Registry e abri um tíquete no repositório dos mantenedores para validarem o namespace da Você Certificado, que sou detentor da marca.
A validação foi feita por meio de um registro DNS do tipo TXT, que criei no gerenciador de DNS da Cloudflare, e demorou algumas horas para ter a sua aprovação, porque todo o processo é feito por humanos. Mas, no final, consegui publicar a minha primeira versão estável da extensão TXT Color.
Linha do tempo do projeto
Abaixo, compilei em uma tabela a linha do tempo do desenvolvimento do meu projeto:
| Data | Marco |
|---|---|
| 10/06/2026 10h | Identificação da dor, definição do nome, requisitos, ícone e testes locais. |
| 11/06/2026 | Correções de símbolos, convenções, títulos e seções. |
| 12/06/2026 | Ajustes de desempenho no package.json, criação do ícone e coleta de screenshots. |
| 13/06/2026 00h | Cadastro e preparação para publicação no Open VSX. |
| 13/06/2026 | Envio da primeira versão estável para o Open VSX. |
| 13/06/2026 21h | Extensão publicada e aprovada no Open VSX. |
| 14/06/2026 | Envio da versão estável para o Visual Studio Marketplace. |
Este projeto envolveu praticamente um ciclo completo de um produto, iniciando por:
ideia
nome
identidade
código
documentação
versionamento
empacotamento
publicação
validação.
O resultado depois da sua publicação é que, em 24 horas, a extensão teve 456 downloads e 2 avaliações de cinco estrelas no marketplace do Open VSX, além de 91 downloads e 1 avaliação de cinco estrelas no Visual Studio Marketplace.
E o mais legal disso tudo é que foi nesse momento que percebi que a minha dor não era única. Outras pessoas também estavam passando pela mesma dificuldade. Elas queriam uma extensão simples, atualizada e funcional para leitura de arquivos de texto, e ela não existia. E, quando entreguei o que elas estavam procurando, a recepção do produto foi excelente.


Experiência usando a IA generativa no Kiro

Um medo inicial que tive era sobre os gastos que poderia ter ao utilizar o Kiro. Porém, logo após a sua instalação, seguido de autenticação e autorização via Amazon Cognito, vi que poderia escolher abrir uma conta gratuita, com um limite de 50 créditos mensais gratuitos. Logo nas minhas primeiras interações com a IA do Kiro, pedindo para fazer correções no código e melhorias de desempenho, utilizei apenas 1,20 créditos.
Mais tarde, após novos commits e novos versionamentos, retornei ao Kiro e pedi sugestões de melhoria no meu código. E ele fez um excelente trabalho analisando o projeto inteiro e não se limitando apenas à leitura e correções de um código específico, mas fez apontamentos de ajustes gramaticais na documentação, na atualização em nomenclaturas e até correções e padronizações de datas na documentação.
Para você ter uma ideia de quão boas foram suas sugestões, eu havia datado no CHANGELOG o mês errado, e ele conseguiu identificar isso, ao cruzar as informações dos meus commits que fiz no Github, sem eu precisar pedir para ele fazer isso, e sugeriu que precisava atualizar esse documento.
Nessa segunda rodada, o Kiro consumiu incrivelmente míseros 1,3 créditos.
No total final do projeto, utilizei 3,1 créditos dos 50 disponíveis.
Outro detalhe que gostei de utilizar no Kiro foram seus seletores de grandes modelos de linguagem (LLMs). Primeiro utilizei o Qwen3 Coder Next, por ter o menor custo no uso dos créditos. Depois, passei a usar o modo automático, para que o próprio Kiro escolhesse o modelo mais adequado para cada tarefa.
Mas eu não usei o Kiro para desenvolver a extensão. Com certeza ele entregaria o projeto inteiro se tivesse descrito um plano de projeto no seu specs. E se fosse por esse caminho, não teria alcançado essa curva de aprendizado no desenvolvimento da minha primeira extensão. Então a minha sacada foi em utilizar o Kiro não para ele programar, porque isso é a minha responsabilidade como desenvolvedor. Eu o utilizei como um desenvolvedor sênior na correção e revisão do meu código, e foi nessa atividade que ele mais brilhou.
E, novamente, eu tiro o chapéu para o Kiro nesse ponto. Ele conseguiu sugerir uma melhoria de desempenho para o caso de alguém utilizar a extensão para tentar abrir e ler um arquivo de texto muito grande. E fazer um teste para essa característica e validação, nem passou pela minha cabeça. Aliás, implementaria essa melhoria, muito tempo depois, e somente se alguém abrisse uma issue reclamando a respeito disso no GitHub.
Além disso, a cada sugestão de melhoria e correção, ele abria o arquivo que estava trabalhando e mostrava para mim o que ele tinha feito, e era muito fácil visualizar quais linhas foram removidas, quais foram adicionadas e a lógica por trás de cada mudança.
Isso reforçou um pensamento que tenho em relação ao uso da IA no desenvolvimento:
"Podemos e até devemos delegar tarefas repetitivas para uma IA, mas isso não elimina a nossa responsabilidade humana de ler, estudar, aprender e raciocinar se aquilo faz sentido." | Eduardo Lara, 2026.
O que eu aprendi?
Esse projeto me ensinou que uma boa ideia não precisa começar grande. Ela pode começar com uma pequena dor.
Por exemplo, no meu caso, eu queria apenas ler melhor meus arquivos de texto no Kiro. E, ao tentar resolver esse meu problema, aprendi sobre como funciona a esteira de desenvolvimento e publicação de extensões no marketplace, sobre empacotamento e envio de novas versões, em usar melhor os recursos no GitHub, sobre a importância de documentar, criar ícones e screenshots, e até a validação do meu perfil com a criação de registros DNS.
Se antes eu utilizava o VS Code apenas para ler textos, com o Kiro eu passei a usá-lo como uma ferramenta completa de desenvolvimento assistido por IA.
E hoje eu o encaro como um ajudante para revisar meus arquivos, sugerir melhorias, corrigir erros no código e tomar decisões mais rápidas, sem, é claro, remover minha responsabilidade em validar o resultado.
A maior lição aprendida foi que não desenvolvi e publiquei uma extensão. O que eu fiz foi um produto completo que resolveu não apenas a minha dor, mas a dificuldade que muitos outros desenvolvedores que também estavam enfrentando a mesma dificuldade de lerem documentos de texto sem formatação.
Por isso, minha conclusão é que, se durante o seu uso com o Kiro, você sentir a falta de alguma característica ou função, isso significa que ali existe uma oportunidade para você desenvolver a sua solução, resolver uma dor e impactar positivamente a vida de muitos desenvolvedores.