Pular para conteúdo
Logo
Overview
Kiro CV: um currículo que se navega como o Kiro CLI

Kiro CV: um currículo que se navega como o Kiro CLI

October 3, 2026
4 min read

Currículo costuma ser PDF. O kiro-cv troca o PDF por um terminal: um portfólio que roda no navegador com a aparência do Kiro CLI, com logo em matriz de pontos, linha de status, aviso de confiança e as cores da ferramenta. A versão no ar é o telle.sh.

Ele entra na mesma linha de experimentos com o ecossistema do Kiro que já passou por aqui: o relato de 1 ano de Kiro na Dimensa, os KiroCrew Ports e o Kiro Ghost, que anima o mascote em SVG. Desta vez o Kiro virou a interface de um currículo.

O que é

Quem abre o site cai num prompt. Dá para explorar experiência, skills e certificações com slash commands, do mesmo jeito que se usa o Kiro. Se a pessoa digitar texto livre em vez de um comando, a mensagem vai para um chat com IA que conhece o currículo e responde como se fosse eu.

O projeto é um fork do claude-code-resume, criado por Alfonso Baena. A versão com visual do Kiro foi construída usando o próprio Kiro. Código sob licença MIT.

Comandos

São mais de 50 comandos, divididos em três grupos.

Portfólio:

❯ /about → resumo e cargo atual
❯ /experience → linha do tempo profissional
❯ /skills → skills técnicas por categoria
❯ /certs → certificações
❯ /contact → links, redes e e-mail
❯ /download → currículo em PDF

Completam o grupo /help, /education, /languages e /resume.

Comandos simulados do Kiro CLI: /model troca o “modelo” de carreira, e ainda há /clear, /compact, /tools, /config, /status, /version e /todos.

Comandos de brincadeira: /doctor roda um diagnóstico de skills, /cost mostra uma análise de custo bem-humorada, /init gera um KIRO.md falso e /game abre um easter egg com um runner do Kiro Ghost. Tem mais coisa escondida, como a tela de login que aparece no /quit e o sudo hire.

Chat no personagem

Qualquer texto que não começa com barra vira conversa. O chat usa o Vercel AI SDK no edge runtime, com respostas em streaming, e o system prompt carrega o currículo para que o clone responda em primeira pessoa.

O prompt foi ajustado para soar como conversa e não como atendimento automático. Pergunta fora do assunto ganha um desvio bem-humorado em vez de recusa formal, o tom é calibrado com exemplos do que fazer e do que evitar, e as regras de segurança vêm com justificativa.

Note

O idioma do chat é configurável por LLM_CHAT_LANGUAGE (o padrão é inglês; aceita pt-br, es, fr e outros). O modelo também: qualquer endpoint compatível com a API da OpenAI funciona via OPENAI_BASE_URL, o que inclui OpenRouter, Groq e LLMs locais.

Fork e resume.json

O projeto foi feito para ser forkado. Quase tudo sai de um arquivo só, o resume.json, que segue o formato JSON Resume com algumas extensões do Kiro:

{
"splash": "YOUR NAME",
"welcome": "Welcome to my portfolio!",
"whatsNew": "Now with AI chat support.",
"trustNotice": "All tools trusted · /help for commands",
"model": "Senior Engineer 4.0",
"folder": "~/projects/my-portfolio · (main)",
"basics": { ... },
"work": [ ... ],
"skills": [ ... ]
}

splash é o texto do logo em matriz de pontos, model aparece na linha de status e folder imita o caminho e o branch do terminal. As seções padrão do JSON Resume (basics, work, skills, certificates, education, languages, projects, publications) alimentam os comandos e o contexto do chat. Um bloco personal permite sobrescrever as respostas de /status, /doctor, /cost, /init e outros.

Para começar: clonar o repositório, rodar pnpm install, criar o .env.local a partir do .env.example, editar o resume.json e subir com pnpm dev. A única variável obrigatória é a chave da API do modelo. Há ainda RESUME_URL, que busca o resume.json de uma URL no momento do build.

A telemetria é opcional (TELEMETRY_ENABLED): grava prompt, resposta, tokens e latência em arquivos JSONL com rotação por tamanho. Só faz sentido em ambiente com disco persistente, como Coolify, VPS ou Docker. Em Vercel e outros serverless os logs se perdem entre invocações.

Stack

CamadaTecnologia
FrameworkNext.js 16 (App Router, Turbopack)
UIReact 19.3 e Tailwind CSS 4.3
LinguagemTypeScript 7
IAVercel AI SDK 7 (edge runtime, streaming)
RuntimeNode.js 26
FonteJetBrains Mono
DadosJSON Resume com extensões do Kiro

As animações usam ViewTransition do React 19.3 para a entrada e saída dos itens do histórico, @starting-style no CSS e a estilização nativa de scrollbar do Tailwind 4.3. Todas respeitam prefers-reduced-motion. A interface funciona em celular e desktop, e o repositório traz 51 testes end-to-end com Playwright cobrindo a tela inicial, os comandos, o chat com respostas simuladas, os easter eggs e a navegação por teclado com autocomplete e histórico.

O kiro-cv não tem vínculo com a Amazon nem com a AWS. É um projeto de fã da estética do CLI.

Leitura Relacionada