# kitr > The React framework where everything is an add-on: a thin layer over TanStack, React Hook Form, Zustand, ky, h3 and Tailwind, with one import surface, one data contract and one CLI. ## Docs - [Getting started](https://kitr.dev/docs/getting-started.md): Install kitr, create your first app and add a package, in about five minutes. - [Project structure](https://kitr.dev/docs/project-structure.md): What each file and folder in a kitr app is for. - [Configuration](https://kitr.dev/docs/configuration.md): How kitrrc.ts, config files, providers and environment variables fit together. - [Loading and saving data](https://kitr.dev/docs/data.md): The one idea that ties kitr together, a single contract for every data source. - [A dashboard on an existing API](https://kitr.dev/docs/dashboard.md): Build a logged-in app with tables and forms against a backend you already have. - [A full-stack app](https://kitr.dev/docs/fullstack.md): An app with its own API, server actions and live updates, in one codebase. - [A backend without React](https://kitr.dev/docs/pure-backend.md): Build an API server with controllers, a typed client and realtime channels, and no React anywhere. - [Working with coding agents](https://kitr.dev/docs/agents.md): Why kitr suits AI coding assistants, and how to get the best from them. - [Building a package](https://kitr.dev/docs/building-packages.md): Write a kitr package that the CLI can install and this site can list, with docs and a live example. - [CLI](https://kitr.dev/docs/cli.md): Every kitr command and flag. - [Platforms](https://kitr.dev/docs/platforms.md): Web, server, desktop and mobile platforms: options, commands and layout. - [Packages](https://kitr.dev/docs/packages.md): What each package provides, which kit includes it, and the roadmap. - [Entry points](https://kitr.dev/docs/entry-points.md): How kitr/* imports map to packages, and the rules behind them. - [Design decisions](https://kitr.dev/docs/departures.md): Where kitr deliberately differs from the obvious approach, and why. ## Packages - [Server actions](https://kitr.dev/packages/actions.md): Call server code straight from a component, like a form submit, without writing an API route. - [Analytics](https://kitr.dev/packages/analytics.md): Count page views and button clicks, and send them to the analytics service you choose. - [API routes API](https://kitr.dev/packages/api/api.md): Every export of kitr/api and kitr/api/client. - [API routes](https://kitr.dev/packages/api.md): Build JSON API routes with validation, and call them from the browser fully typed. - [Auth API](https://kitr.dev/packages/auth/api.md): Every export of kitr/auth and kitr/auth/server. - [Auth](https://kitr.dev/packages/auth.md): Sign users in and out, protect pages, and check who can do what. - [Cache](https://kitr.dev/packages/cache.md): Remember slow results on the server and clear them by tag when the data changes. - [Consent](https://kitr.dev/packages/consent.md): Ask for cookie and tracking consent once, and hold analytics and error reports until people agree. - [Database](https://kitr.dev/packages/db.md): Connect your database so every request can use it. - [Desktop](https://kitr.dev/packages/desktop.md): Ship the same app to Windows, macOS and Linux, choosing a small Tauri or a familiar Electron shell. - [Devtools](https://kitr.dev/packages/devtools.md): Open a panel in development that shows what every package is doing. It is removed from production builds. - [Files](https://kitr.dev/packages/files.md): Let people open, save and pick files on any platform, with a download fallback in older browsers. - [Feature flags](https://kitr.dev/packages/flags.md): Turn features on for some users and off for others, with the same answer on the server and in the browser. - [Forms API](https://kitr.dev/packages/forms/api.md): Every export of kitr/forms. - [Forms](https://kitr.dev/packages/forms.md): Build forms with validation, and show server errors next to the right field. - [HTTP client API](https://kitr.dev/packages/http/api.md): Every export of kitr/http. - [HTTP client](https://kitr.dev/packages/http.md): Call a REST API with login tokens added for you and errors in one shape. - [Translations](https://kitr.dev/packages/i18n.md): Translate your app into several languages with typed keys. - [Jobs](https://kitr.dev/packages/jobs.md): Run work in the background or on a schedule, with retries when it fails. - [Logger](https://kitr.dev/packages/logger.md): Write readable logs in development and structured logs in production. - [Mail](https://kitr.dev/packages/mail.md): Write emails as React components, send them through your provider, and preview them in development. - [Mobile](https://kitr.dev/packages/mobile.md): Ship the same app to iPhone and Android, with every kitr package switched to its native version. - [Mocks](https://kitr.dev/packages/mocks.md): Fake your API while you build the frontend or run tests. - [Monitoring](https://kitr.dev/packages/monitoring.md): Catch errors in the browser and on the server, and see which user hit them and what they did first. - [Native](https://kitr.dev/packages/native.md): Clipboard, share sheet, haptics, location, camera and fingerprint unlock, each with a web fallback. - [Notifications](https://kitr.dev/packages/notifications.md): Ask for permission and show local or scheduled notifications that open the right page when tapped. - [Offline](https://kitr.dev/packages/offline.md): Keep showing loaded data with no connection, and send queued changes when the network comes back. - [Platform](https://kitr.dev/packages/platform.md): Know where your app is running, whether it is online or in the background, and handle the back button and deep links. - [Query API](https://kitr.dev/packages/query/api.md): Every export of kitr/query. - [Query](https://kitr.dev/packages/query.md): Load data from your API, keep it cached, and refresh it when something changes. - [React](https://kitr.dev/packages/react.md): React with the kitr app in context, so every component can reach services and config. - [Realtime](https://kitr.dev/packages/realtime.md): Define a live channel once and push updates to every open screen, over WebSockets, Socket.IO or server events. - [Router](https://kitr.dev/packages/router.md): Turn files in app/routes into pages, with links, loaders and guards. Web, desktop and mobile apps get it automatically. - [Secure storage](https://kitr.dev/packages/secure-storage.md): Keep login tokens and secrets in the phone or computer's secure vault instead of plain storage. - [SEO](https://kitr.dev/packages/seo.md): Give every page a title, a share preview and a sitemap entry so search engines and chat apps show it well. - [Server API](https://kitr.dev/packages/server/api.md): Every export of kitr/server. - [Server](https://kitr.dev/packages/server.md): Run a Node server that starts, logs and shuts down cleanly. - [Shield](https://kitr.dev/packages/shield.md): Turn on the security basics every API needs: CORS, CSRF protection, safe headers and rate limits. - [State API](https://kitr.dev/packages/state/api.md): Every export of kitr/state. - [State](https://kitr.dev/packages/state.md): Keep app-wide values like a cart or settings, and optionally save them in the browser. - [Storage](https://kitr.dev/packages/storage.md): Save small values in the browser or in cookies with types, and read the same cookies on the server. - [Tables API](https://kitr.dev/packages/table/api.md): Every export of kitr/table. - [Tables](https://kitr.dev/packages/table.md): Show rows of data with sorting, paging and filters that stay in the URL. - [Tailwind](https://kitr.dev/packages/tailwind.md): Style with Tailwind CSS classes, already set up with kitr's colours. - [Testing](https://kitr.dev/packages/testing.md): Test components and API routes with everything already wired up. - [Theme](https://kitr.dev/packages/theme.md): Light, dark and system themes with no flash on load, design tokens, toasts, and the components you copy into your app. - [Updater](https://kitr.dev/packages/updater.md): Tell people a new version is ready and update the app in place, on the web, desktop and mobile. - [Uploads](https://kitr.dev/packages/uploads.md): Accept file uploads with size limits, store them on disk or in the cloud, and show progress in the browser. - [Web](https://kitr.dev/packages/web.md): Ship to the browser as a static site, a single-page app or a server-rendered app, installable if you want.