Sobre o projeto
Genie é uma camada de linha de comando de planejamento e execução para agentes de codificação com IA. A proposta é "wishes in, PRs out": você descreve o que quer em uma frase, e o Genie entrevista você até formar um plano, despacha agentes para construí-lo em paralelo, revisa o resultado em relação aos critérios de aceitação e devolve algo pronto para merge.
A arquitetura é deliberadamente mínima. Não há daemons nem Postgres: o corpo é um conjunto de skills, documentos em markdown simples armazenados no git, e um único arquivo SQLite por repositório (`.genie/genie.db`) no motor embutido do Bun. Um comando abre o banco de dados, executa uma transação e sai. O bundle é descrito como tendo aproximadamente 0,9 MB com quatro dependências de runtime, e `nats` só inicializa quando o runner Omni inicia.
A instalação é um script de shell canalizado via curl. As releases são assinadas com cosign com proveniência SLSA, e o instalador verifica o binário via `gh attestation verify` com fallback para `cosign verify-blob`. Três superfícies são distribuídas: o binário assinado, as skills (entregues pelo canal skills.sh, ou via `npx skills add automagik-dev/genie`), e um plugin Orca opcional registrado no lado do Orca.
O fluxo de trabalho é orientado por skills: `brainstorm` (ideia para DESIGN.md mais revisão de design), `wish` (design para WISH.md com escopo e grupos de execução), `review` (revisão obrigatória do plano), `work` (subagentes de papel nativos constroem cada grupo aprovado), e uma revisão final independente da implementação retornando SHIP, FIX-FIRST ou BLOCKED. As skills são escritas de forma neutra em relação ao runtime e instaladas em cada home de skills de agente detectado (Claude Code, o home compartilhado `~/.agents/skills` usado por Codex e outros, Goose, Windsurf).
Estado e documentos são separados: wishes, designs e brainstorms são markdown sob `.genie/`, enquanto tarefas, boards, arestas de dependência e estado de execução ficam no SQLite. Worktrees vinculados de um repositório compartilham um único banco de dados resolvido a partir do diretório comum do git, então as tarefas são visíveis entre worktrees sem uma etapa de sincronização. Um comando `genie context` emite JSON versionado descrevendo o contexto de spawn (branch, SHA base, tarefas prontas).
O Genie tem dois modos de ciclo de vida. `standalone` é o padrão; `genie setup --orchestration-mode orca` torna o Orca a única autoridade de ciclo de vida após verificar um runtime compatível, e nesse modo o Genie recusa leituras/escritas locais de ciclo de vida em vez de fazer fallback silencioso. O servidor MCP legado e a ponte de UI foram aposentados, com `genie mcp` e `genie ui-bridge` saindo com código não zero e diagnósticos estáveis. Uma ponte opcional `genie omni` conecta um agente em execução ao WhatsApp através de um hub Omni sobre NATS para aprovações remotas e one-shots de entrada.
Detalhes operacionais notáveis: `genie doctor` reporta a saúde da instalação e a presença de skills por agente; `genie update` lida com a aposentadoria de sobras da era de plugins com backup primeiro, preservando ativos modificados ou ambíguos; `genie uninstall` exclui apenas artefatos que pode provar serem de propriedade do Genie. O README é explícito que o round-trip ao vivo do WhatsApp é uma etapa documentada de QA manual, enquanto o comportamento do Omni é verificado contra um transporte falso na suíte de testes.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.