- vinext est un framework compatible Next.js créé en une semaine par une IA et un seul ingénieur, basé sur Vite et déployable sur Cloudflare Workers avec une simple commande
- La vitesse de build est jusqu’à 4,4 fois plus rapide, et la taille du bundle client est réduite de 57 %, tout en réutilisant à l’identique la structure de répertoires et la configuration des projets Next.js existants
- Conçu pour Cloudflare Workers, il prend en charge des fonctionnalités de pré-rendu basé sur le trafic comme le cache ISR basé sur KV et le Traffic-aware Pre-Rendering
- La majeure partie du code a été écrite par l’IA, avec plus de 1 700 tests et des revues de code automatisées pour garantir la qualité
- Ce projet est un exemple montrant que l’IA a atteint un niveau où elle peut réimplémenter des frameworks complexes, et il suggère de possibles évolutions futures dans la structure du développement logiciel
Limites de déploiement de Next.js et constat du problème
- Next.js est l’un des principaux frameworks basés sur React, mais le déploiement en environnement serverless nécessite un processus complexe de transformation de la sortie de build
- Pour déployer sur Cloudflare, Netlify, AWS Lambda, etc., il faut restructurer le résultat de build Turbopack de Next.js selon chaque plateforme
- OpenNext a tenté de résoudre ce problème, mais la nécessité d’effectuer de la rétro-ingénierie sur la sortie de build de Next.js a entraîné une instabilité structurelle selon les versions
- Une API d’adaptateur pour Next.js est en cours de développement, mais la structure du serveur de développement, dédiée à Node.js, rend les tests d’API spécifiques à chaque plateforme difficiles
Architecture et caractéristiques de vinext
- vinext est un framework alternatif qui réimplémente directement l’API de Next.js au-dessus de Vite
- Après
npm install vinext, il suffit de remplacer la commande next par vinext pour exécuter le projet existant tel quel
- Les commandes
vinext dev, vinext build et vinext deploy unifient développement, build et déploiement
- Les principales fonctionnalités de Next.js, comme le routage, le rendu côté serveur, les React Server Components, les Server Actions, le cache et les middlewares, sont implémentées sous forme de plugins Vite
- Il génère des sorties de build indépendantes de la plateforme grâce à la Vite Environment API
Benchmarks de performance
- Comparaison avec Next.js 16 sur la même application comportant 33 routes
- Temps de build : vinext (Vite 8/Rolldown) 1,67 s → 4,4 fois plus rapide que Next.js
- Taille du bundle client : 72,9 KB → 57 % plus petite que Next.js
- Les tests ont été effectués sur GitHub CI et mesurent uniquement la vitesse de compilation et de bundling
- Rolldown, le bundler basé sur Rust de Vite 8, contribue à l’amélioration des performances de build
Déploiement sur Cloudflare Workers
- La commande
vinext deploy exécute automatiquement le build et le déploiement
- Prise en charge de l’App Router comme du Pages Router, avec l’hydratation côté client et la gestion d’état
- Un gestionnaire de cache Cloudflare KV fournit nativement l’ISR (Incremental Static Regeneration)
- Le backend de cache peut être remplacé et étendu à R2 ou à la Cache API
- Des exemples fonctionnels réels sont publiés, dont un App Router Playground et un clone de Hacker News
Traffic-aware Pre-Rendering (TPR)
- Cette approche améliore l’inefficacité du pré-rendu statique basé sur
generateStaticParams() dans Next.js
- En s’appuyant sur les données de trafic de Cloudflare, elle pré-rend uniquement les pages les plus visitées au cours des dernières 24 heures
- Exemple : sur 100 000 pages, seules 184 pages (90 % du trafic total) sont rendues en 8,3 secondes
- Les autres pages utilisent du SSR à la demande, puis une mise en cache ISR, avec une mise à jour automatique à chaque déploiement selon les schémas de trafic
Processus de développement piloté par l’IA
- La majeure partie du code du projet a été écrite par l’IA, pour un coût total d’environ 1 100 $
- Le projet atteint 94 % de compatibilité avec l’API Next.js en validant 1 700 tests Vitest et 380 tests Playwright
- Processus de développement
- L’IA implémente les fonctionnalités et rédige les tests → exécute les tests → en cas d’échec, elle réessaie après retour sur les erreurs
- L’agent IA effectue aussi automatiquement la revue et la correction du code, tandis que l’humain se limite à piloter l’orientation et la structure
- Plus de 800 sessions ont été réalisées dans OpenCode, avec utilisation des modèles Claude
Ce qui a rendu cela possible pour l’IA
- Grâce à la documentation claire de Next.js et à son vaste jeu de tests, l’IA a pu apprendre avec précision
- L’architecture de build stable de Vite a servi de fondation
- Les modèles d’IA récents ont atteint un niveau leur permettant de maintenir une cohérence structurelle sur de vastes bases de code et de raisonner sur les interactions entre modules
Ce que cela implique pour le développement logiciel
- Les architectures de frameworks en couches existaient en grande partie pour compenser les limites cognitives humaines
- Comme l’IA peut comprendre l’ensemble du système dans son contexte et écrire directement le code, le besoin de couches d’abstraction intermédiaires diminue
- vinext est un cas concret montrant que l’IA peut finaliser un framework complexe à partir de simples spécifications et d’outils de base
Open source et collaboration
- Environ 95 % de vinext est constitué de code Vite indépendant de Cloudflare, ce qui permet aussi son usage sur d’autres plateformes d’hébergement
- Un PoC a été réalisé avec succès sur Vercel en 30 minutes
- Le projet est open source, et les PR d’autres plateformes ainsi que l’ajout de nouvelles cibles de déploiement sont bienvenus
État expérimental et usage réel
- vinext est encore à un stade expérimental, et il n’a pas encore été validé sur un trafic à grande échelle
- National Design Studio l’utilise déjà en production sur le site gouvernemental CIO.gov, avec des améliorations constatées sur le temps de build et la taille des bundles
- Le README précise les fonctionnalités non prises en charge et les limitations connues
Comment l’utiliser
- Grâce à Agent Skill, les outils d’IA comme Claude Code ou Cursor prennent en charge une migration automatique
npx skills add cloudflare/vinext → conversion via la commande “migrate this project to vinext”
- En manuel, on peut utiliser
npx vinext init, vinext dev et vinext deploy
- Le code source est disponible sur GitHub dans cloudflare/vinext
Remerciements et technologies de base
- Le support de l’équipe Vite et
@vitejs/plugin-rsc ont permis d’implémenter les React Server Components
- La documentation et la suite de tests de l’équipe Next.js ont constitué une base essentielle au succès du projet
1 commentaires
Réactions sur Hacker News
Il y a encore un mois, on entendait « montrez-moi ne serait-ce qu’un seul exemple où l’IA a produit un logiciel de niveau commercial », mais maintenant Cloudflare a publié plusieurs exemples, et hier Ladybird a même été porté en Rust avec l’IA
Le point commun entre tous ces cas, c’est qu’ils disposent d’une suite de tests solide, ce qui simplifie le travail
L’IA finira peut-être par faire renaître le développement piloté par les tests (TDD)
J’aime vraiment Next, mais j’adore aussi Vite
Cela dit, l’équipe de Next donne l’impression de se concentrer sur des fonctionnalités destinées à 0,1 % des utilisateurs, tout en ignorant les 99,9 % restants
Ce fork de Cloudflare pourrait bien répondre à ce mécontentement. Les améliorations de performances sont quelque chose que la communauté Next réclame depuis longtemps, mais que l’équipe Next a ignoré, tandis que Cloudflare essaie d’y remédier
J’aime l’idée que Vite fournisse une couche cœur bien meilleure que Next, tout en conservant les fonctionnalités de Next
J’espère que ce fork réussira et qu’on pourra aussi l’utiliser en entreprise
Cet exemple illustre bien les incitations de l’open source à l’ère de l’IA
Plus la documentation est bonne et les contrats clairement définis, plus il est facile pour d’autres de reproduire le système
Sans les tests de Next, Cloudflare n’aurait probablement pas pu obtenir un tel résultat
Next a grandi progressivement et s’est complexifié, alors qu’un nouveau framework peut simplifier les Server Components dès le départ
Il est déjà utilisé sur le site du gouvernement américain, ce qui est assez surprenant
Vercel l’a un peu cherché, mais ce genre de dynamique peut représenter une menace pour les petits projets open source
Je me demande si on peut vraiment parler de « réimplémentation » à ce niveau, alors que ça ne fait même pas tourner « Hello world »
En plus, si la suite de tests de l’original est reprise telle quelle, et que l’original fait partie des données d’entraînement, j’ai du mal à appeler ça du from scratch
(un exemple citant une phrase protégée par le droit d’auteur suivait, mais il est omis ici)
Ce qui est intéressant, c’est que Cloudflare a racheté Astro il y a un mois
Si on peut le remplacer facilement avec l’IA, pourquoi payer aussi cher pour Astro ?
Ils ont sans doute jugé qu’au niveau de l’organisation, il restait essentiel de sécuriser la vision et le leadership d’un framework
Next.js dépend de Vercel, donc Cloudflare a de fortes chances d’encourager naturellement ses clients à migrer de Next vers Astro
Nous utilisons Astro pour notre système de documentation interne, et pour cet usage c’est vraiment excellent
Next.js a déjà eu des vulnérabilités de type exécution de code à distance (RCE)
Donc je ne compte absolument pas utiliser une version produite par l’IA avant un bon moment
Quand l’IA génère des milliers de lignes de code, ce genre de bug peut s’y cacher encore plus facilement
C’est l’expérience IA la plus intéressante que j’aie vue jusqu’ici
Quand on regarde la base de code de Next.js, elle est énorme, mais cette implémentation n’en représente qu’un centième, ce qui est étonnant
Je me demande si elle gère vraiment tous les cas limites, ou si elle se contente de faire passer les tests
Par exemple, si l’on compare l’implémentation des formulaires de Next et
celle de Vinext, elles sont complètement différentes
Cela reste malgré tout une tentative assez impressionnante
C’en est encore au tout début, donc il peut subsister des problèmes non couverts par les tests
S’il y a beaucoup moins de code, c’est parce que tout repose sur Vite et le plugin React RSC
Je reste sceptique quand j’entends « on a réimplémenté X avec l’IA et c’était super facile »
Il manque souvent tous les détails et l’historique des corrections de bugs
Si tout passe parfaitement dans les tests, je veux bien l’admettre, mais sinon j’ai du mal à y croire
Je ne suis pas d’accord avec l’idée que « les abstractions en logiciel ont été créées par les humains pour gérer la complexité »
Les abstractions servent à capturer l’essence du réel et à améliorer la réutilisabilité
Et puis « abstraction » et « couche » ne sont pas la même chose. Une couche relève davantage de la séparation des préoccupations, et peut être vue comme une forme d’abstraction
Le fait que « le coût total ait été d’environ 1 100 $ de tokens » est intéressant