Um monitor visual, em tempo real e somente‑leitura das Kiro Specs e suas tarefas — direto na barra lateral do Kiro IDE / VS Code.
Acompanhe o progresso das suas specs sem sair do editor.
⚠️ Extensão comunitária e independente. Não é um produto oficial da Kiro ou da AWS.
O Kiro Spec Monitor adiciona um painel dedicado na Activity Bar do seu editor que detecta automaticamente todas as Kiro Specs do seu workspace (.kiro/specs/*/) e mostra, em uma árvore navegável, cada tarefa e subtarefa com seu estado atual — concluída, em execução ou pendente — além do progresso de cada spec em tempo real.
Tudo isso sem nunca escrever no seu tasks.md nem na metadata interna do Kiro. É um observador puro: sem rede, sem telemetria, sem efeitos colaterais.
Um painel dedicado "Kiro Spec Monitor" fica a um clique de distância, no mesmo lugar de sempre.
A spec exemplo-saudacao recém‑criada, com suas 5 tarefas pendentes e o progresso 0% • 0/5 ao lado do nome.
O painel (à esquerda) reflete o estado de cada tarefa lido direto do tasks.md (à direita): concluída ([x]), em execução ([-]) e na fila ([~]). Clicar numa tarefa abre o arquivo exatamente na linha dela.
| Recurso | |
|---|---|
| 🗂️ | Barra lateral dedicada "Kiro Spec Monitor" na Activity Bar |
| 🔍 | Detecção automática de Specs em .kiro/specs/*/ |
| 🌳 | Árvore de tarefas e subtarefas com estados: ✅ concluída, ⏳ em execução, ⬜ pendente |
| 📊 | Progresso por Spec (contagem X/Y e percentual), contando apenas tarefas‑folha |
| 🎯 | Clique para navegar — abre o tasks.md exatamente na linha da tarefa |
| ⚡ | Atualização automática ao editar/concluir tarefas ou criar/remover Specs |
| ⏱️ | Cronômetro ao vivo da tarefa em execução (quando há fonte confiável na metadata do Kiro) |
| 🌐 | Interface em Português e Inglês, seguindo o idioma do editor |
code --install-extension kiro-spec-monitor/kiro-spec-monitor-0.0.1.vsixNo Kiro IDE, use o mesmo comando substituindo
codepelo binário do Kiro, ou instale pela paleta de comandos → Extensions: Install from VSIX...
cd kiro-spec-monitor
npm install
npm run compile # gera ./out
npm run package # gera o .vsix com @vscode/vsce- Abra um projeto que contenha a pasta
.kiro/specs/. - Clique no ícone Kiro Spec Monitor (checklist) na Activity Bar.
- Expanda uma Spec para ver suas tarefas.
- Clique em uma tarefa para pular direto até ela no
tasks.md.
A árvore se atualiza sozinha conforme você conclui tarefas ou cria novas specs.
Dado um tasks.md como o da spec exemplo-saudacao:
# Plano de implementação
- [x] 1. Criar a estrutura base do GreetingService
- Definir a função `saudar(nome, idioma)` com a assinatura e o idioma padrão
- _Requisitos: 1.1, 2.4_
- [-] 2. Implementar a normalização do nome
- Remover espaços nas extremidades do nome
- Tratar nome vazio devolvendo a saudação genérica
- _Requisitos: 1.2, 1.3_
- [~] 3. Implementar o mapa de idiomas e a resolução do prefixo
- Adicionar os prefixos pt/en/es
- Aplicar o fallback para português em idioma desconhecido
- _Requisitos: 2.1, 2.2, 2.3, 2.4_A extensão interpreta cada marcador e mostra o estado correspondente na árvore:
Marcador no tasks.md |
Estado exibido |
|---|---|
- [x] |
✅ Concluída |
- [-] |
⏳ Em execução |
- [~] |
🕗 Na fila |
- [ ] |
⬜ Pendente |
O progresso ao lado do nome da spec (X/Y e %) conta apenas as tarefas‑folha, então subtarefas detalhadas não inflam o total.
Disponíveis na paleta de comandos (Ctrl/Cmd + Shift + P) e nos botões do título do painel:
| Comando | Descrição |
|---|---|
Kiro Spec Monitor: Refresh Specs |
Recarrega todas as specs manualmente |
Open Tasks File |
Abre o tasks.md da spec selecionada |
Reveal Task |
Revela uma tarefa específica na linha correta |
Collapse All |
Recolhe toda a árvore |
Open Spec Folder |
Abre a pasta da spec no explorador |
A extensão monta um pipeline de dados unidirecional e totalmente somente‑leitura:
resolver → stateProvider → runtime → aggregator → treeProvider → view
▲
watcher (eventos de arquivo / metadata)
| Componente | Responsabilidade |
|---|---|
WorkspaceIdResolver |
Resolve o workspaceId opaco do Kiro (quando existe) para escolher a fonte de estado |
taskStateProvider |
Escolhe entre o provider de metadata do Kiro ou o fallback por checkbox; lê nomes de specs e ~/.kiro/spec-sessions |
TaskRuntimeService |
Núcleo do cronômetro: controla o tempo decorrido por tarefa e um único tick de 1 s |
SpecScanner + TaskParser |
Faz glob das specs e lê o texto do tasks.md |
SpecAggregator |
Compõe scanner + parser + estado + runtime em uma lista ordenada de Spec[] |
SpecTreeProvider |
Renderiza a árvore na view e repinta apenas as linhas em execução a cada tick |
SpecWatcher |
Observa tasks.md e os diretórios de metadata do Kiro, com debounce, disparando o refresh |
A única persistência que a extensão faz é no seu próprio context.workspaceState (o startedAt/executionId do cronômetro). Nenhum caminho de código escreve no tasks.md do workspace ou em qualquer coisa sob ~/.kiro. Esses caminhos são abertos, parseados e observados estritamente em modo leitura.
cd kiro-spec-monitor
npm install
npm run watch # compilação incremental em modo watch
npm test # roda os testes com vitest
npm run lint # checagem de tipos (tsc --noEmit)| Script | O que faz |
|---|---|
npm run compile |
Compila TypeScript para ./out |
npm run watch |
Compilação incremental |
npm test |
Testes com Vitest |
npm run lint |
Checagem de tipos sem emitir arquivos |
npm run package |
Empacota o .vsix |
npm run publish |
Publica no Marketplace via vsce |
kiro-spec-monitor/
├── src/
│ ├── extension.ts # ponto de entrada: monta e descarta o pipeline
│ ├── i18n.ts # strings localizadas (pt/en)
│ ├── commands/ # handlers dos 5 comandos
│ ├── models/ # Spec e Task
│ ├── providers/ # SpecTreeProvider (a view em árvore)
│ └── services/ # scanner, parser, aggregator, watcher, runtime, state
├── l10n/ # bundles de localização
├── media/ # ícones
└── package.json
Sem rede. Sem telemetria. Somente‑leitura fora do próprio workspaceState.
Distribuído sob a licença MIT. Veja LICENSE para mais detalhes.
Feito com ☕ para a comunidade Kiro.