omena-css
omena-css is a CSS-family semantic engine with CLI, LSP, SDK, build, and editor surfaces.
Browse the documentation for guided
setup, generated reference, release notes, and an in-browser WASM playground.
Install
VS Code:
Install Omena CSS Modules from the Marketplace.
CLI:
cargo install omena-cli --locked
Node and browser bindings:
npm install @omena/napi
npm install @omena/wasm
60-Second Check
Create path/to/file.module.css with no local @keyframes pulse declaration:
.button {
animation: pulse 1s ease;
}
Run the zero-config single-file lint path:
omena lint path/to/file.module.css
The report includes this finding:
2:14 missing-keyframes @keyframes 'pulse' not found in this file.
The documentation gate executes this fixture with the Rust CLI and compares the
captured finding, so the example changes when product behavior changes.
What You Get
- CSS, SCSS, Sass, Less, CSS Modules, and source-language fact production.
- Shared diagnostics, navigation, references, rename, explain, and code actions.
- Cascade-, value-, provenance-, and target-aware transform decisions.
- Lint, format, minify, bundle, module, Sass, intelligence, and migration commands.
- NAPI, WASM, CLI, and LSP workflows over snapshot-bound contracts.
- Vite, PostCSS, ESLint, Stylelint, and VS Code integration surfaces.
For CSS Modules, the emitted token is not a contract; classMap, namedExports,
and the generated .d.ts are. Hand-writing an emitted token into markup, tests,
or CSS is unsupported.
Product Guides
| Area |
Guide |
| Start here |
Getting started |
| CLI |
Command guide |
| SDK |
NAPI, WASM, CLI, and LSP workflows |
| Playground |
Run the Rust engine in your browser |
| LSP |
Rust API docs, Zed, Neovim |
| Bundler |
Rust bundler, Vite host |
| Lint plugins |
ESLint, Stylelint |
| Sass and SIF |
Compatibility and provenance |
| Codemods |
Using omena migrate |
| VS Code |
Extension behavior and settings |
| Positioning |
Scope, comparisons, and non-goals |
| Architecture |
Current codemap |
| Performance |
Reproduction and evidence |
| Releases |
Changelog |
| Contributing |
Contributor guide |
| Reference |
Generated CLI, config, persona, and LSP tables |
Runtime Shape
The packaged VS Code extension starts the Rust omena-lsp-server; the extension
host handles process supervision, UI, configuration, and file events. NAPI,
WASM, CLI, and LSP expose the same snapshot-bound query and typed-outcome
contracts. TypeScript adapters and shadow checks protect compatibility without
becoming a second CSS semantic authority.
The architecture, product-path matrix, generated IDL, and public reference
surfaces are checked in CI. Unknown, unresolved, and unsupported cases remain
typed outcomes rather than guessed successes.
Development
pnpm install
pnpm check
pnpm test
pnpm build
Contributor recipes and the complete generated command inventory live in
CONTRIBUTING.md and docs/reference/.
License
MIT