{ mode: 'landing', currentPath: 'README.md', currentTitle: 'Documentation Overview', searchQuery: '', darkMode: true, sidebarOpen: false, loading: false, renderedHtml: '', headings: [], prevDoc: null, nextDoc: null, bundleSizeMin: '86.7 KB min', bundleSizeGzip: '~26.1 KB gzip', bundleSizeBytes: 88761 }
Kite

HTML is enough for small things.

A teaching toolkit for small, self-contained web apps. Declarative components, reactive state, and MVCR architecture directly in standard HTML — with zero build step and zero user JavaScript.

$ npm i @kitelet/core
Live Examples
counter.component.html
Live Reactive
<script src="https://esm.sh/@kitelet/core"></script>

<div kite-scope="{ count: 0 }">
  <button kite-on-click="count--">−</button>
  <span kite-text="count"></span>
  <button kite-on-click="count++">+</button>
</div>
Interactive Component
0
Zero JS required. Reactive DOM updates via native Proxies.

Engineered with Purpose

Kite is not another bloated framework. It is a focused teaching toolkit built on six inviolable foundations.

⚡

Zero Boilerplate

Drop one <script> tag into any HTML page. No build pipeline, no bundlers, no npm install required to begin.

🧩

Local-First Components

Declare templates with <kite-component> and instantiate them with <kite-use>. Isolated props and slot content projection.

🏛️

Visible MVCR in HTML

Models, Views, Controllers, and Routes are expressed as native HTML tags, not hidden behind opaque JavaScript runtime abstractions.

🔒

100% CSP Compliant

Zero eval() and zero new Function(). Custom recursive-descent expression parser operates safely under strict enterprise Content Security Policies.

🤖

Agentic-Ready Toolkit

Complete machine-readable layer (.kite/*.json, Draft-07 schemas, AGENTS.md) that lets AI agents write verified code on first contact.

⚖️

Honest Scale Limits

Explicitly documented sweet spots (<500 interactive nodes). When you outgrow Kite, dedicated graduation guides help you migrate cleanly.