Overview
hermes kanban é um quadro de tarefas persistente baseado em SQLite, compartilhado entre perfis do Hermes. Tarefas podem depender umas das outras, ser reivindicadas atomicamente e executadas por um perfil nomeado em um workspace isolado.
hermes kanban [--board <slug>] <subcomando>
Opção global
--board <slug>— Operar em um quadro específico. O padrão é o quadro atual (definido viahermes kanban boards switch <slug>ou variável de ambienteHERMES_KANBAN_BOARD).
Subcomandos
Gerenciamento de quadros
init
Criar kanban.db se estiver ausente (idempotente).
hermes kanban init
boards
Gerenciar quadros. Um quadro por projeto/fluxo de trabalho.
hermes kanban boards list [--json] [--all]
hermes kanban boards create <slug> [--name NAME] [--description DESCRIPTION] [--icon ICON] [--color COLOR] [--switch] [--default-workdir PATH]
hermes kanban boards rm <slug> [--delete]
hermes kanban boards switch <slug>
hermes kanban boards show
hermes kanban boards rename <slug> <name>
hermes kanban boards set-default-workdir <slug> [path]
list/ls— Listar todos os quadros com contagens de tarefas.create/new— Criar um novo quadro.rm/remove/delete— Arquivar um quadro (padrão) ou excluí-lo permanentemente com--delete.switch/use— Definir o quadro ativo.show/current— Imprimir o slug do quadro atualmente ativo.rename— Alterar o nome de exibição de um quadro (o slug é imutável).set-default-workdir— Definir ou limpar o caminho padrão de workspace de um quadro.
Ciclo de vida da tarefa
create <title>
Criar uma nova tarefa.
hermes kanban create "Implement auth" --body "Add OAuth login" --assignee work --workspace worktree --priority 1
list / ls
Listar tarefas.
hermes kanban list [--mine] [--assignee ASSIGNEE] [--status STATUS] [--tenant TENANT] [--session SESSION] [--archived] [--json] [--sort SORT]
show <task_id>
Mostrar uma tarefa com comentários e eventos.
hermes kanban show <task_id> [--json] [--state-type {status,outcome}] [--state-name VALUE]
assign <task_id> <profile>
Atribuir ou reatribuir uma tarefa. Use none para remover atribuição.
hermes kanban assign <task_id> work
set-model <task_id> [model]
Definir ou limpar a sobreposição de modelo/provedor de uma tarefa.
hermes kanban set-model <task_id> claude-sonnet --provider anthropic
hermes kanban set-model <task_id> none
reclaim <task_id>
Liberar o claim de um worker ativo em uma tarefa em execução.
hermes kanban reclaim <task_id> [--yes]
reassign <task_id> <profile>
Reatribuir uma tarefa para outro perfil, liberando o claim primeiro se desejado.
hermes kanban reassign <task_id> <profile> [--reclaim] [--yes]
claim <task_id>
Reivindicar atomicamente uma tarefa pronta.
hermes kanban claim <task_id> [--ttl 900]
complete <task_id>...
Marcar uma ou mais tarefas como concluídas.
hermes kanban complete <task_id> --result "Done" --summary "Implemented" --metadata '{"files": ["auth.py"]}'
edit <task_id>
Editar campos de recuperação em uma tarefa já concluída.
hermes kanban edit <task_id> --result "Updated" --summary "..."
block <task_id> [reason...]
Marcar uma ou mais tarefas como bloqueadas.
hermes kanban block <task_id> "waiting for API" --kind dependency
unblock <task_id>...
Retornar tarefas bloqueadas/agendadas para ready ou todo.
hermes kanban unblock <task_id> --reason "API ready"
schedule <task_id> [reason...]
Colocar uma ou mais tarefas em Scheduled.
hermes kanban schedule <task_id> "deploy window" --ids t2 t3
promote <task_id> [reason...]
Mover manualmente tarefas todo/blocked para ready.
hermes kanban promote <task_id> "ready to start" [--force] [--dry-run] [--json]
archive <task_id>...
Arquivar uma ou mais tarefas. Use --rm para excluir permanentemente IDs já arquivados.
hermes kanban archive <task_id>... [--rm PURGE_IDS...]
Decomposição de tarefas
specify [task_id]
Detalhar uma tarefa da coluna triage em uma especificação concreta e promovê-la para todo.
hermes kanban specify <task_id> [--all] [--tenant TENANT] [--author AUTHOR] [--json]
decompose [task_id]
Decompor uma tarefa de triage em subtarefas roteadas para perfis especialistas.
hermes kanban decompose <task_id> [--all] [--tenant TENANT] [--author AUTHOR] [--json]
swarm <goal>
Criar um grafo Kanban Swarm v1: workers paralelos → verificador → sintetizador.
hermes kanban swarm "Refactor auth" --worker backend:Backend --worker frontend:Frontend --verifier reviewer --synthesizer writer
Dependências
link <parent_id> <child_id>
Adicionar uma dependência pai→filho.
hermes kanban link parent-task child-task
unlink <parent_id> <child_id>
Remover uma dependência pai→filho.
hermes kanban unlink parent-task child-task
Execução e monitoramento
dispatch
Uma passada do dispatcher: recuperar claims expiradas, promover tarefas prontas, iniciar workers.
hermes kanban dispatch [--dry-run] [--max N] [--failure-limit N] [--json]
daemon
Obsoleto — o dispatcher agora roda no gateway. Use hermes gateway start.
watch
Transmitir eventos de tarefas ao vivo para o terminal.
hermes kanban watch [--assignee ASSIGNEE] [--tenant TENANT] [--kinds KINDS] [--interval 0.5]
tail <task_id>
Acompanhar o fluxo de eventos de uma tarefa.
hermes kanban tail <task_id> [--interval SECONDS]
log <task_id>
Imprimir o log do worker de uma tarefa.
hermes kanban log <task_id> [--tail N]
runs <task_id>
Mostrar histórico de tentativas de uma tarefa.
hermes kanban runs <task_id> [--json] [--state-type {status,outcome}] [--state-name VALUE]
heartbeat <task_id>
Emitir um evento de heartbeat para uma tarefa em execução.
hermes kanban heartbeat <task_id> --note "still running"
Contexto e anexos
context <task_id>
Imprimir o contexto completo que o worker vê para uma tarefa.
comment <task_id> <text...>
Adicionar um comentário a uma tarefa.
hermes kanban comment <task_id> "Waiting on review" --author user
attach <task_id> <path>
Anexar um arquivo local a uma tarefa.
hermes kanban attach <task_id> ./log.txt --name deploy.log
attachments <task_id>
Listar anexos de uma tarefa.
hermes kanban attachments <task_id> [--json]
attach-rm <attachment_id>
Excluir um anexo por ID.
Notificações
notify-subscribe <task_id>
Inscrever uma fonte gateway nos eventos terminais de uma tarefa.
hermes kanban notify-subscribe <task_id> --platform telegram --chat-id 123456
notify-list [task_id]
Listar inscrições de notificação.
hermes kanban notify-list [<task_id>] [--json]
notify-unsubscribe <task_id>
Remover uma inscrição gateway de uma tarefa.
hermes kanban notify-unsubscribe <task_id> --platform telegram --chat-id 123456
Diagnóstico e manutenção
diagnostics / diag
Listar diagnósticos ativos no quadro atual.
hermes kanban diagnostics [--severity {warning,error,critical}] [--task TASK] [--json]
assignees
Listar perfis conhecidos e contagens de tarefas por perfil.
hermes kanban assignees [--json]
stats
Mostrar contagens por status e responsável, além da idade da tarefa ready mais antiga.
hermes kanban stats [--json]
gc
Coletar eventos antigos, logs de workers e workspaces arquivados.
hermes kanban gc [--event-retention-days N] [--log-retention-days N]
repair
Verificar integridade do DB e reparar automaticamente corrupções apenas de índice.
hermes kanban repair [--json]
Exemplos
# Criar e alternar para um novo quadro
hermes kanban init
hermes kanban boards create sprint-42 --switch
# Adicionar uma tarefa de alta prioridade
hermes kanban create "Refactor auth module" --assignee backend --workspace worktree --priority 1
# Listar tarefas prontas atribuídas ao perfil atual
hermes kanban list --mine --status ready
# Executar uma passada do dispatcher
hermes kanban dispatch --max 3
Dicas
- Execute
hermes kanban inituma vez antes dos outros comandos para criar o banco de dados. - Use
--board <slug>para comandos pontuais, ouhermes kanban boards switch <slug>para alterar o padrão. - Os status de tarefa incluem: triage, todo, ready, running, review, blocked, scheduled, done, archived.
- Use
claimpara reivindicar atomicamente trabalho pronto;dispatché o loop principal de execução. daemonestá obsoleto. Execute dispatch viahermes gateway startou agendandohermes kanban dispatch.