1 · Copy the prompt
Grab the ~600-token system prompt from For LLMs with one click.
Canon is a pure-CSS framework with a closed vocabulary,
designed so humans and LLMs produce the same markup.
<link rel="stylesheet" href="canon.css">That's the whole install - 19kb raw, 3.8kb gzipped, zero JavaScript, zero build step. In Next.js it's one import in your root layout:
import 'canoncss'<div data-layout="grid" data-cols="3" data-gap="lg">
<article data-component="card">
<div data-slot="header">Title</div>
<div data-slot="body">Content</div>
</article>
</div>Elements declare what they are via data-layout and data-component. There are no utility classes to compose and no alternatives to choose between. The attributes work identically in HTML and JSX.
1 - Only defined tokens. If a value has no token, it does not exist.
2 - No inline styles, no extra CSS.
3 - An element gets data-layout or data-component, never both.
4 - data-slot only as a direct child of its parent.
5 - Dark mode is data-theme="dark" on <html>.