Installation

Install Kiwa UI and initialize your project.

Prerequisites

  • A Hono project. Run bun create hono@latest to scaffold one.
  • Tailwind v4. Imported via @import "tailwindcss" in your stylesheet.
  • TypeScript. The CLI wires up @/ path aliases and jsxImportSource for you.

Install

The kiwa-ui.json config

kiwa-ui.json lives in your project root. The CLI reads it before every add to know where to write files and which components you already have.

{
  "$schema": "https://registry.kiwaui.com/schema.json",
  "tsconfig": "tsconfig.json",
  "tailwind": {
    "config": "tailwind.config.js",
    "css": "styles/globals.css"
  },
  "aliases": {
    "components": "@/components",
    "utils": "@/lib/utils"
  },
  "components": []
}
FieldDescription
tailwind.cssPath to the CSS entry point; the CLI won't rewrite it, but it verifies the file exists.
aliasesPath aliases used when generating import statements in copied components.
componentsTracks what you've installed so npx @kiwa-ui/cli diff can detect drift against the registry.

CLI commands

CommandDescription
npx @kiwa-ui/cli initScaffold the project. Pass --force to overwrite an existing config.
npx @kiwa-ui/cli add <names…>Install one or more components or blocks. Registry dependencies are resolved recursively.
npx @kiwa-ui/cli diffCheck installed components against the registry. Pass --apply to pull updates.

Licenses (pro blocks)

Pro blocks are gated behind a license token. Set KIWA_UI_TOKEN in your environment and the CLI will send it as a Bearer header.

# .env.local (never commit this)
KIWA_UI_TOKEN=your_license_key_here