Rechercher

Rechercher dans Kavel...

Menu de documentation

Philosophie

Kavel est volontairement tranché. Il choisit une seule stack et une seule façon de faire, pour que vous passiez votre temps à construire des fonctionnalités plutôt qu'à choisir et brancher des outils.

Une seule façon de faire

La plupart des starter kits vous donnent un tas d'options et vous laissent tout assembler. Kavel fait l'inverse. Il tranche les choix d'architecture d'emblée et s'y tient, si bien que les modules s'emboîtent et qu'il existe une seule façon évidente de construire. Moins de décisions et moins de code de liaison, donc vous livrez plus tôt.

Les choix que nous avons faits

  • Un seul hébergeur. Tout vise Cloudflare Workers et D1. Pas de couche d'adaptation ni de plus petit dénominateur commun entre clouds.
  • RPC typé. L'application web appelle l'API via oRPC, donc les types circulent de bout en bout. Aucun endpoint REST à écrire à la main et aucune dérive de schéma.
  • État serveur, pas un store. TanStack Query gère les données serveur, tandis que l'état React et l'URL gèrent le reste. Il n'y a pas de store client global à maintenir.
  • CSS utilitaire. Tailwind plus les primitives Base UI que vous possédez et restylisez. Pas de runtime CSS-in-JS ni de bibliothèque de composants opaque.
  • Une seule chaîne d'outils. Bun, Turbo et Biome gèrent l'installation, le build, le lint et le format. Une configuration rapide au lieu d'une pile de fichiers de config.
  • SQL à la périphérie. Drizzle sur D1, c'est-à-dire SQLite. Vous écrivez un schéma et générez les migrations, sans jamais modifier le SQL à la main.

Ce que nous avons écarté, à dessein

  • Pas de couche REST ou GraphQL. oRPC fournit déjà des types de bout en bout. Un second style d'API ne serait qu'un contrat de plus à maintenir à la main.
  • Pas de bibliothèque d'état global. Redux, Zustand et consorts résolvent un problème que le cache d'état serveur et l'URL font largement disparaître. N'en ajoutez une que si un vrai besoin apparaît.
  • Pas de CSS-in-JS. Il embarque un runtime et complique le rendu serveur. Tailwind couvre le même terrain sans rien de tout cela.
  • Pas d'abstraction multi-cloud. Les couches de portabilité coûtent en vitesse et en simplicité. S'engager sur une plateforme garde le code direct et les cold starts proches de zéro.

Tranché, mais pas verrouillé

Vous possédez tout le code source, donc chacun de ces choix vous appartient. L'idée, c'est que les valeurs par défaut sont assez bonnes pour que vous ayez rarement à le faire.

À qui il s'adresse

Kavel convient aux équipes et aux développeurs solo qui veulent livrer un produit, pas évaluer des outils. Si vous voulez une page blanche avec toutes les options ouvertes, un starter plus neutre vous conviendra mieux. Si vous voulez des valeurs par défaut solides et un chemin clair de zéro à la mise en production, c'est fait pour vous.