- vinext é um framework compatível com Next.js criado em uma semana por IA e um único engenheiro, baseado em Vite e com implantação no Cloudflare Workers por meio de um único comando
- A velocidade de build é até 4,4 vezes maior e o tamanho do bundle do cliente é 57% menor, usando a mesma estrutura de diretórios e configuração de projetos Next.js existentes
- Projetado para Cloudflare Workers, oferece cache ISR baseado em KV e Traffic-aware Pre-Rendering, entre outros recursos de pré-renderização orientados por tráfego
- A maior parte de todo o código foi escrita por IA, com qualidade garantida por mais de 1.700 testes e revisão de código automatizada
- O projeto é um caso que mostra que a IA chegou ao ponto de conseguir reimplementar frameworks complexos, apontando para possíveis mudanças futuras na estrutura do desenvolvimento de software
Limitações de implantação do Next.js e reconhecimento do problema
- O Next.js é um framework de destaque baseado em React, mas exige um processo complexo de transformação da saída de build ao implantar em ambientes serverless
- Para implantar em Cloudflare, Netlify, AWS Lambda e outros, é necessário reestruturar o resultado do build do Turbopack do Next.js para cada plataforma
- O OpenNext tentou resolver isso, mas surgiram instabilidades entre versões devido à limitação estrutural de precisar fazer engenharia reversa da saída de build do Next.js
- A API de adaptadores do Next.js está em desenvolvimento, mas há a limitação de que a estrutura do servidor de desenvolvimento, exclusiva para Node.js, dificulta testar APIs específicas de cada plataforma
Estrutura e características do vinext
- O vinext é um framework alternativo que reimplementa diretamente a API do Next.js sobre o Vite
- Após
npm install vinext, basta substituir o comando next por vinext para executar o projeto existente como está
- Os comandos
vinext dev, vinext build e vinext deploy unificam desenvolvimento, build e implantação
- Recursos principais do Next.js, como roteamento, renderização no servidor, React Server Components, server actions, cache e middleware, foram implementados como plugins do Vite
- Usa a Vite Environment API para gerar resultados de build independentes de plataforma
Benchmark de desempenho
- Comparação com o Next.js 16 usando o mesmo app com 33 rotas
- Tempo de build: vinext (Vite 8/Rolldown) 1,67 s → 4,4 vezes mais rápido que o Next.js
- Tamanho do bundle do cliente: 72,9 KB → 57% menor que o Next.js
- Os testes foram executados no GitHub CI e mediram apenas a velocidade de compilação e empacotamento
- O Rolldown, bundler em Rust do Vite 8, contribuiu para a melhoria do desempenho de build
Implantação no Cloudflare Workers
- O comando
vinext deploy executa build e implantação automáticos
- Suporta tanto App Router quanto Pages Router, incluindo hidratação do cliente e gerenciamento de estado
- O manipulador de cache Cloudflare KV fornece ISR (Incremental Static Regeneration) por padrão
- O backend de cache pode ser substituído e expandido para R2 ou Cache API
- Exemplos públicos de funcionamento incluem App Router Playground e um clone do Hacker News
Traffic-aware Pre-Rendering (TPR)
- Melhora a ineficiência da pré-renderização estática baseada em
generateStaticParams() do Next.js
- Usa dados de tráfego da Cloudflare para pré-renderizar apenas as páginas mais visitadas nas últimas 24 horas
- Exemplo: entre 100 mil páginas, apenas 184 (90% do tráfego total) foram renderizadas em 8,3 s
- As demais páginas usam SSR sob demanda seguido de cache ISR, com atualização automática a cada implantação conforme o padrão de tráfego
Processo de desenvolvimento com IA
- A maior parte do código do projeto foi escrita por IA, com custo total de cerca de US$ 1.100
- Passou em 1.700 testes com Vitest e 380 testes com Playwright, alcançando 94% de compatibilidade com a API do Next.js
- Procedimento de desenvolvimento
- A IA implementa recursos e escreve testes → executa os testes → em caso de falha, recebe o feedback de erro e tenta novamente
- O agente de IA também realiza revisão e correção de código automaticamente, enquanto a pessoa cuida apenas da direção e da estrutura
- Foram realizadas mais de 800 sessões no OpenCode, usando modelos Claude
Fatores que tornaram isso possível com IA
- A documentação clara do Next.js e sua vasta suíte de testes permitiram que a IA aprendesse com precisão
- A estrutura de build estável do Vite serviu como base
- Os modelos de IA mais recentes chegaram a um nível em que conseguem manter consistência estrutural em grandes bases de código e inferir interações entre módulos
Implicações para o desenvolvimento de software
- A estrutura tradicional de frameworks em múltiplas camadas era resultado de uma necessidade de compensar os limites cognitivos humanos
- Como a IA consegue entender o sistema inteiro dentro do contexto e escrever código diretamente, a necessidade de camadas intermediárias de abstração diminui
- O vinext é um caso que comprova que a IA pode concluir frameworks complexos apenas com especificações e ferramentas de base
Open source e colaboração
- Cerca de 95% do vinext é composto por código Vite independente da Cloudflare, o que permite aplicá-lo também em outras plataformas de hospedagem
- Um PoC foi implementado com sucesso na Vercel em 30 minutos
- O projeto foi publicado como open source e PRs de outras plataformas e novos alvos de implantação são bem-vindos
Estado experimental e aplicação real
- O vinext ainda está em fase experimental, e a validação em tráfego de larga escala ainda não foi concluída
- O National Design Studio já está aplicando a tecnologia no site governamental CIO.gov, com melhora confirmada no tempo de build e no tamanho do bundle
- O README lista recursos ainda não suportados e limitações conhecidas
Como usar
- O suporte à migração automática em ferramentas de IA (Claude Code, Cursor etc.) é oferecido por meio do Agent Skill
npx skills add cloudflare/vinext → conversão com o comando “migrate this project to vinext”
- Manualmente, é possível usar
npx vinext init, vinext dev e vinext deploy
- O código-fonte está disponível no GitHub em cloudflare/vinext
Agradecimentos e tecnologias de base
- Graças ao suporte da equipe do Vite e ao
@vitejs/plugin-rsc, foi possível implementar recursos de React Server Components
- A documentação e a suíte de testes da equipe do Next.js foram a base essencial para o sucesso do projeto
1 comentários
Comentários do Hacker News
Até um mês atrás eu ouvia “me mostre um único caso de IA criando software de nível comercial”, mas agora a Cloudflare publicou vários exemplos, e ontem o Ladybird foi portado para Rust com IA
O ponto em comum desses casos é que havia uma suíte de testes bem estruturada, o que simplificou o trabalho
Talvez, por causa da IA, o desenvolvimento orientado a testes (TDD) acabe voltando com força
Eu gosto muito de Next, mas também adoro Vite
Só que a equipe do Next parece focar em recursos para 0,1% dos usuários e ignorar os outros 99,9%
Esse fork da Cloudflare parece capaz de aliviar esse tipo de frustração. Melhorias de desempenho eram algo que a comunidade do Next queria havia muito tempo, mas a equipe do Next ignorou, e a Cloudflare está tentando resolver isso
Gosto da ideia de o Vite oferecer uma camada central muito melhor que a do Next, mantendo ao mesmo tempo os recursos do Next
Espero que esse fork dê certo e possa ser usado também na empresa
Este caso mostra bem os incentivos do open source na era da IA
Quanto melhor a documentação e mais claramente os contratos forem definidos, mais fácil fica para outra pessoa replicar aquilo
Se a Cloudflare não tivesse aproveitado os testes do Next, esse resultado não teria sido possível
O Next cresceu aos poucos e ficou complexo, mas um framework novo pode simplificar os componentes de servidor desde o início
É surpreendente que já esteja sendo usado até em sites do governo dos EUA
Foi algo que a própria Vercel acabou provocando, mas esse fluxo pode virar uma ameaça para pequenos projetos open source
Fico em dúvida se dá para dizer que algo foi ‘reimplementado’ quando nem “Hello world” funciona direito
Além disso, se herdou a suíte de testes do original e o original estava incluído nos dados de treinamento, é difícil chamar isso de ‘from scratch’
(Depois foi citado como exemplo um trecho protegido por direitos autorais, mas foi omitido)
O interessante é que a Cloudflare adquiriu a Astro há um mês
Se isso pode ser substituído facilmente com IA, por que pagar caro pela Astro?
Provavelmente, em nível organizacional, eles ainda julgam importante garantir a visão e a liderança de um framework
Como o Next.js é dependente da Vercel, a Cloudflare provavelmente tentará conduzir os clientes a uma migração natural do Next para o Astro
Usamos Astro no nosso sistema interno de documentação, e para esse uso ele é realmente excelente
O Next.js já teve vulnerabilidades de execução remota de código (RCE) no passado
Por isso, por enquanto eu não pretendo usar de jeito nenhum uma versão feita por IA
Quando a IA gera milhares de linhas de código, esse tipo de bug pode se esconder com mais facilidade
Este projeto é o experimento com IA mais interessante que vi até agora
Quando se olha para a base de código do Next.js, ela é enorme, mas esta implementação surpreende por ter 1/100 do volume de código
Fico curioso para saber se ela realmente cobre todos os casos extremos ou se apenas passa nos testes
Por exemplo, se você comparar a implementação de form do Next com a
implementação de form do Vinext, elas são totalmente diferentes
Mesmo assim, é uma tentativa bem impressionante
Ainda está em estágio inicial, então pode haver problemas que não estão incluídos nos testes
O motivo de haver muito menos código é que ele foi construído sobre Vite e o plugin React RSC
Sou cético com esse discurso de “reimplementamos X com IA e foi muito fácil”
É bem possível que estejam faltando os detalhes e o histórico de correções de bugs
Se passar perfeitamente nos testes, eu aceito, mas fora isso é difícil acreditar
Não concordo com a afirmação de que “as abstrações do software foram criadas para os humanos suportarem a complexidade”
Abstrações são um meio de capturar a essência da realidade e aumentar a reutilização
Além disso, ‘abstração’ e ‘camada’ são coisas diferentes. Camadas estão mais próximas da separação de responsabilidades, e podem ser vistas como uma forma de abstração
É interessante que “o custo total foi de cerca de US$ 1.100 em tokens”