Skip to content
Kimenpre-v1
Color scheme

Guide

Working with AI

Kimen treats agent legibility as a deliverable: an API a capable agent cannot wire correctly from its description alone is treated as a defect. Everything below is generated from the component sources and shipped with the package, so it can never drift from the code.

The library, summarized for language models: every component with its description, when-to-use / when-not-to-use guidance, typed props, events, slots, CSS parts and curated runnable examples.

  • In the repository: llms.txt at the repository root.
  • In the npm package: @kimen/elements/llms.txt ships in the package files.

Point your tool at it — @docs in Cursor or Windsurf, or paste the URL into a ChatGPT/Claude conversation — and the agent gets the whole component contract in one document.

The Custom Elements Manifest is the interchange format the ecosystem reads: Storybook, IDE completions (VS Code custom data, JetBrains web-types) and this site’s own API tables all consume it.

  • In the npm package: the customElements field of @kimen/elements points to generated/custom-elements.json.
  • On this site: served at /assets/elements/custom-elements.json for tools that want to fetch it.

Kimen extends the standard schema with whenToUse / whenNotToUse fields per component — the same guidance rendered on each component page.

The catalog: from description to guardrail

Section titled “The catalog: from description to guardrail”

Reading about components is half the story; emitting UI safely is the other half. @kimen/catalog gives agents a validated output format — the UI spec — and gives hosts a renderer that enforces it fail-closed. For protocol-level integration, Kimen ships adapters for A2UI and MCP Apps, where a Kimen surface reaches an MCP host as a self-contained ui:// resource.

llms.txt tells a model what exists; the catalog constrains what it may build. Shipping both is the point.