One flat TOML file in. One optimized CSS file out.
No JavaScript. No plugins. No extend merge confusion.
Both snippets produce bg-primary, text-primary, border-primary.
✗ tailwind.config.js
✓ preset.toml
Built around one promise: what you write is exactly what gets generated.
[colors] replaces the default palette.
[extend.colors] adds to it.
Two spellings, two meanings, zero ambiguity.
A single static binary - no Node, no npm install.
Drop it in any project: Rust, Go, Python, PHP. Works offline.
Set content = ["src/**/*.html"]
and only used classes are emitted - with near-miss warnings instead of silent drops.
explain command
presetcss explain bg-primary
shows the exact CSS rule and which line in preset.toml produced it.
hover:, focus:,
and breakpoints are declared per group.
Nothing is generated unless you asked for it.
presetcss export --format json|js|css-vars
- one source of truth for design and code.
Install the binary, init a preset, build CSS. That's it.
Other useful commands
| presetcss validate | Check the preset for typos and collisions - no output written |
| presetcss explain bg-primary | Show the CSS rule + preset line for any class |
| presetcss export --format json | Export design tokens (also: js, css-vars) |
| presetcss help theme | List all token keys generated by the current preset |