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.
llms.txt
Section titled “llms.txt”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.txtat the repository root. - In the npm package:
@kimen/elements/llms.txtships 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.
custom-elements.json
Section titled “custom-elements.json”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
customElementsfield of@kimen/elementspoints togenerated/custom-elements.json. - On this site: served at
/assets/elements/custom-elements.jsonfor 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.