Suche

Kavel durchsuchen...

Dokumentationsmenü

Philosophie

Kavel ist mit Absicht meinungsstark. Es wählt einen Stack und einen Weg, Dinge zu tun, damit du deine Zeit mit dem Bauen von Features verbringst statt mit dem Auswählen und Verdrahten von Werkzeugen.

Ein Weg, Dinge zu tun

Die meisten Starter-Kits geben dir einen Haufen Optionen und lassen dich alles zusammensetzen. Kavel macht das Gegenteil. Es trifft die architektonischen Entscheidungen vorab und hält sich daran, sodass die Module zusammenpassen und es einen einzigen, offensichtlichen Weg zum Bauen gibt. Weniger Entscheidungen und weniger Klebecode bedeuten, dass du früher lieferst.

Die Entscheidungen, die wir trafen

  • Ein Host. Alles zielt auf Cloudflare Workers und D1. Keine Adapterschicht und kein kleinster gemeinsamer Nenner über Clouds hinweg.
  • Typsichere RPC. Die Web-App ruft die API über oRPC auf, sodass Typen von Anfang bis Ende durchlaufen. Keine REST-Endpunkte von Hand und kein Schema-Drift.
  • Serverstatus, kein Store. TanStack Query verwaltet die Serverdaten, während React-State und die URL den Rest verwalten. Es gibt keinen globalen Client-Store zu pflegen.
  • Utility-CSS. Tailwind plus Base-UI-Primitive, die dir gehören und die du umgestaltest. Keine CSS-in-JS-Runtime und keine undurchsichtige Komponentenbibliothek.
  • Eine Toolchain. Bun, Turbo und Biome übernehmen Installieren, Bauen sowie Linten und Formatieren. Ein schnelles Setup statt eines Stapels von Configs.
  • SQL an der Edge. Drizzle über D1, also SQLite. Du schreibst ein Schema und generierst Migrationen und bearbeitest SQL nie von Hand.

Was wir bewusst weggelassen haben

  • Keine REST- oder GraphQL-Schicht. oRPC liefert bereits Typen von Anfang bis Ende. Ein zweiter API-Stil wäre nur ein weiterer Vertrag, den man von Hand pflegt.
  • Keine globale State-Bibliothek. Redux, Zustand und Co. lösen ein Problem, das Server-State-Caching und die URL größtenteils beseitigen. Füge eine erst hinzu, wenn ein echter Bedarf auftaucht.
  • Kein CSS-in-JS. Es bringt eine Runtime mit und erschwert das Server-Rendering. Tailwind deckt dasselbe ab, ohne all das.
  • Keine Multi-Cloud-Abstraktion. Portabilitätsschichten kosten Tempo und Einfachheit. Die Festlegung auf eine Plattform hält den Code direkt und Cold Starts nahe null.

Meinungsstark, nicht eingesperrt

Dir gehört der vollständige Quellcode, also kannst du jede dieser Entscheidungen selbst ändern. Der Punkt ist, dass die Voreinstellungen gut genug sind, dass du es selten musst.

Für wen es ist

Kavel passt zu Teams und Einzelentwicklern, die ein Produkt liefern und nicht Werkzeuge bewerten wollen. Willst du eine leere Leinwand mit allen Optionen offen, passt ein neutralerer Starter besser. Willst du starke Voreinstellungen und einen klaren Weg von null bis live, ist es genau dafür gebaut.