3
0
Fork
You've already forked wind
0
Build-time, Tailwind-compatible CSS compiler. Pure Rust, std, zero external deps.
  • Rust 96.1%
  • JavaScript 2.8%
  • TypeScript 0.9%
  • Nix 0.2%
Vojtěch Fošnár de9aea99d0
docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine
wind is standalone now; the docs still cross-referenced the defunct reperfect.it
monorepo ("reperfectit forbids...", "reperfectit-native") and its server-linked
no-heap doctrine, which don't exist in this repo. State wind's own rules plainly
instead: zero external crates, std + heap fine. Also de-slop the Cargo.toml
description (em-dash + redundant crate-name prefix) and trim the README's
build-time paragraph to the usage fact.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VXbrubavvbTcchW3owvxAV 
2026年07月11日 10:21:58 +02:00
LICENSES initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00
scripts initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00
src docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
tests docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
.gitignore initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00
AGENTS.md docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
API.md docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
Cargo.toml docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
flake.nix initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00
README.md docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
REUSE.toml initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00
SPEC.md docs: drop dead reperfect.it monorepo references + tier/no-heap doctrine 2026年07月11日 10:21:58 +02:00
SYNC.md initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00
TAILWIND_VERSION initial commit: wind, extracted from the reperfect/it monorepo 2026年07月10日 19:05:02 +02:00

wind

Build-time, Tailwind CSS v4.3.0-compatible utility-CSS compiler. Pure Rust, std-only, zero external crates. No Node, no PostCSS at runtime.

A clean-room reimplementation, not a port: the engine is written from observed behaviour plus a golden fixture suite captured from the real Tailwind engine as a conformance oracle, never transcribed from Tailwind's source. Feed it a stylesheet and a set of class-name candidates; it returns the generated CSS.

// one-shot
letcss=reperfect_wind::compile(r#"@import "wind";"#,["flex","bg-red-500"]).unwrap();// two-phase: parse once, generate many (watch mode)
letcompiler=reperfect_wind::Compiler::from_stylesheet(r#"@import "wind";"#).unwrap();letcss=compiler.generate(["flex","md:hover:p-4"]).unwrap();

Typically consumed from a build.rs: generate the CSS during cargo build and embed it with include_str!.

Status

In progress. wind targets byte-exact parity with Tailwind v4.3.0, measured against two oracle-captured corpora (never hand-edited):

  • golden: 188 hand-picked cases, always green, fast smoke set.
  • corpus: the compatibility gate auto-derived from Tailwind's own *.test.ts. Still RED (1512/1875 in-scope pass, 33/43 reject). That red set is the completion backlog.

Still stub (loud todo!(), outside compile()): @import inlining, v3 compat, source-maps, Scanner (candidate extraction from source files).

Build & test

cargo test # golden suite + unit, must be green
cargo clippy --all-targets -- -D warnings # zero warnings
cargo test --test corpus -- --ignored # the RED compatibility gate
node scripts/corpus/cluster.mjs # rank the red set by root cause

Regenerating fixtures/corpus needs a Tailwind v4.3.0 clone at ~/LocalDocuments/tailwind (see SYNC.md, TAILWIND_VERSION).

Docs

  • SPEC.md: the contract. Agreed-spec checklist, threat model, module map, fidelity rule.
  • API.md: the frozen public seam.
  • SYNC.md: how the two corpora are captured, and how to bump the pinned Tailwind version.
  • AGENTS.md: how agents work in this repo.

License

0BSD OR Apache-2.0 WITH LLVM-exception OR CC0-1.0 OR MIT OR Unlicense; pick your poison. Part of reperfect; independent, clean-room.