Fred Schott lançou o Flue 2.0 em 31 de julho, marcando o primeiro lançamento estável do framework e uma pivô arquitetônica completa. A base é Agent Hooks, uma API TypeScript que espelha o modelo de composição do React e substitui as definições estáticas de agentes do Flue 1.0 Beta. A versão beta registrou mais de 700.000 downloads em aproximadamente um mês, sinal suficiente para reconstruir em torno da composição em vez do roteamento de arquivos.

Um agente no Flue 2 é uma função JavaScript que se re-renderiza a cada turno antes de cada chamada de modelo. Hooks se anexam a esse ciclo. Os 16 hooks built-in cobrem vinculação de ferramentas (useTool(), useSkill()), delegação de subagentes (useSubagent()), estado persistente entre turnos (usePersistentState()), acesso a sandbox (useSandbox()) e conexões MCP (useMcpConnection()). Hooks customizados compilam para pacotes npm. O comando `flue add` gera um blueprint em Markdown que seu agente de codificação lê diretamente—"shadcn para seus agentes", na expressão de Schott.

Configurações estáticas não conseguem fazer o que hooks desbloqueiam: agentes que mudam seu próprio conjunto de capacidades em runtime. Um bot de suporte pode adiar a anexação de ferramentas de gerenciamento de conta até que um usuário seja verificado. Um agente enfrentando um problema difícil pode trocar por um modelo mais pesado no meio de uma conversa. No Flue 1.0 e em arneses concorrentes, atualizar dinamicamente um modelo ou sandbox no meio da sessão requer encanamento significativo. Flue 2 precisa de algumas linhas de TypeScript.

O runtime subjacente é Pi, um arnês mínimo de código aberto. Schott o posiciona como Astro posiciona Vite—uma fundação estável, de baixa abstração, com um framework opinado em cima. Agentes hospedados compilam com Vite diretamente. O novo CLI adiciona `flue run` para execução local e ambientes de CI. O Stateless MCP built-in monta o conjunto completo de ferramentas de um servidor MCP em qualquer agente sem código de adaptador. Os alvos de deployment incluem Node.js, Cloudflare Workers (como Durable Objects), GitHub Actions, GitLab CI e Daytona.

Flue não tem oferta de nuvem gerenciada, sem interface de agendamento, sem observabilidade hospedada e sem deploys de um clique. A posição declarada de Schott é "o framework é o produto". Para evals e replay, a documentação aponta para Braintrust ou um observer customizado—uma lacuna deliberada que Mastra e LangGraph preenchem nativamente. O atributo de importação skills (`with { type: 'skill' }`) requer Node 22+ e bundlers modernos; monorepos com configurações TypeScript mais antigas enfrentarão rough edges de tooling.

O concorrente direto é Eve da Vercel, que lançou em 17 de junho com posicionamento "como Next.js, para agentes". Ambos são código aberto. Ambos tratam o arnês como fundacional. Eve é baseado em diretório: instruções em Markdown e ferramentas TypeScript no sistema de arquivos. Flue é baseado em função: uma função JS mais hooks. A escolha prática depende se sua equipe prefere convenções de sistema de arquivos ou composição programática em escala. Schott credita Eve como um verdadeiro par—dois times convergindo para o mesmo design porque a ideia estava pronta.

O padrão de hooks do Flue 2 se encaixa em agentes que precisam mudar de forma no meio de uma conversa. Fluxos de trabalho estáticos com conjuntos de ferramentas fixos não precisam disso. Bots de suporte, agentes de triagem e qualquer coisa que ganhe capacidades condicionalmente sim—e os 16 hooks built-in mais composição de hooks customizados lidam com isso sem uma máquina de estado customizada.