mrkeyoor.com_
Sun 04 Oct 07:41 UTC
Webevaluationupdated 04 Oct 2026

yeti review

Yeti is Foundation's CSS-first successor to Foundation for Sites 6. It gives web designers named layouts, themed components, and optional browser modules without requiring Sass, utility classes, or a build step in the consuming site.

Verdict

Our Yeti run installed 14 packages and built in 6 seconds, but its tests failed on a missing guide file, so the code is ready for a pinned trial rather than a production default. Try it for a greenfield site where Baseline 2025 and named layouts match your constraints. Wait for a consistent beta package and a green suite before standardizing a team on it.

We ran it

Lab card: what happened when we ran yetiScreenshot of yeti (foundationcss.com)
Install✓ · 7s14 packages · 44 MB
Build✓ · 6s
Tests✗ · 9sran, no count parsed
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo640 files~14,219 lines of source · 8.4 MB · 1 CI workflows · tests dir

Answers from our run

Does yeti build from source?

Dependencies installed in 7 seconds (14 packages), and the build succeeded in 6 seconds. We cloned commit 4577f24 into a clean Debian container with 3 CPUs and no project-specific setup.

Do yeti's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does yeti have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use yeti?

Production teams that require a released npm package today: the installation guide says there is no package or download yet, while the repository still has pre-release status.

What are the alternatives to yeti?

Pico CSS, Bootstrap, Tailwind CSS. Our Yeti run installed 14 packages and built in 6 seconds, but its tests failed on a missing guide file, so the code is ready for a pinned trial rather than a production default.

Setup3/57-second install and easy CSS use, but no released package yet
Docs4/5Detailed guides, weakened by status conflicts and a missing guide file
Community4/529,800 inherited stars, 81 issues and PRs, and an October 3 push
Maturity2/5Pre-release labels disagree, and our supplied test command failed

Who it’s for

Designers starting a greenfield site for Baseline 2025 browsers who prefer readable classes and data attributes.
Frontend teams that want one stylesheet, optional modules, and no required Sass or bundler in the consuming project.
Tool builders that can use Yeti's generated manifest, editor data, type files, and assistant-facing documentation.
Foundation users willing to treat Yeti 7 as a new framework rather than a drop-in version 6 upgrade.

Who it’s NOT for

Production teams that require a released npm package today: the installation guide says there is no package or download yet, while the repository still has pre-release status.
Sites that must support browsers older than Baseline 2025: Yeti deliberately uses modern CSS without polyfills.
Commercial framework vendors that need immediate MIT terms: FSL-1.1-MIT forbids a competing use until each release converts to MIT two years later.
Foundation for Sites 6 applications seeking a painless major-version bump: the project announcement calls Yeti a reimagining rather than a port and keeps version 6 on its own branch.
Teams with a green-tests-only adoption rule: our 9-second test run failed when it could not open docs/guides/markup.md.

Setup reality

Our sandbox installed commit 4577f24 in 7 seconds, adding 14 packages and using 44 MB. The build passed in 6 seconds. Tests failed after 9 seconds because a test tried to open /work/repo/docs/guides/markup.md and received ENOENT. The npm audit found 0 known vulnerabilities.

Using Yeti in a page is meant to require one stylesheet and no credential or hosted service. Trying this snapshot from source is different: the guide says to clone and build it, the package manifest requires Node 24 or newer, and the fixture route also installs Playwright.

The browser floor is Baseline 2025, with no polyfills for older browsers. Release plumbing is still unsettled: the README says 7.0.0-beta, package.json says 7.0.0-alpha.0, and the installation guide says Yeti has not been released and has no npm package yet.

Yeti 7 replaces Foundation 6 rather than upgrading it

Yeti 7 is a new framework, while Foundation for Sites 6 remains on its own branch. The maintainers describe Yeti as a reimagining rather than a port. The old Sass and JavaScript architecture stays on the v6 branch, with the foundation-sites npm package continuing there. Yeti starts over around current browser features: container queries, cascade layers, native nesting, dialog, popover, light-dark(), and scroll snap. That split matters because an existing Foundation site cannot treat version 7 as a routine dependency update.

The new surface is smaller and more opinionated. The README lists 17 layout primitives, 3 composed recipes, 22 components, 7 utilities, and 2 example themes. Most of it arrives as one stylesheet. Optional JavaScript modules add behavior such as dialog focus return, tab keyboard movement, carousel dots, validation messages, and table-of-contents tracking. A site may load individual modules or the combined file, which the installation guide describes as about 9 KB compressed.

Seventeen layouts respond to their containers

Yeti's 17 layouts respond to their own boxes instead of treating viewport width as available space. A sidebar, grid, or columns block can therefore adapt inside different page regions. The layouts guide puts intrinsic layout first, container queries second, and media queries last. That choice suits cards and sidebars that move around a page, where a conventional viewport breakpoint can fire while the component itself still has too little room.

The markup uses named classes plus a limited vocabulary of data-* values. Tokens control type, spacing, color, corners, and widths, while cascade layers let a site's unlayered CSS win without specificity tricks. Yeti also generates editor completion data, TypeScript declarations, llms.txt, and a machine-readable manifest from the same source. The stability guide says 49 manifest names, public token names, module filenames, event names, and package exports are frozen from 7.0.0-beta.0.

Three files give Yeti three different release states

Three files disagree about the snapshot's release state. The README calls Yeti 7.0.0-beta, the package manifest at commit 4577f24 says 7.0.0-alpha.0, and the installation guide says Yeti is not released, has no npm package, and offers nothing to download. The guide tells early testers to clone the repository and build dist/ themselves. That is enough for an experiment, but a production team should not have to decide which of 3 status descriptions governs support.

The public surface may be frozen, yet defaults, generated files, fixtures, browser minimums, and private tokens may still move before 7.0.0. The package manifest also requires Node 24 or newer for repository work. None of that affects a finished stylesheet loaded by a browser. It does affect anyone pinning a commit, contributing a fix, or building an internal package before the official artifact exists.

What happened when we ran it

Our measurement setup used a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. It cloned commit 4577f24 with 640 files, about 14,219 lines of source, and an 8.4 MB checkout. npm installed 14 packages in 7 seconds and occupied 44 MB on disk. The build then succeeded in 6 seconds. The npm audit reported 0 known vulnerabilities. These results cover repository setup and compilation, not rendering speed or behavior in production browsers.

The supplied tests failed with exit code 1 after 9 seconds. The final error was ENOENT: a test attempted to open /work/repo/docs/guides/markup.md, but that path was absent. The log tail then reported failing tests without giving a different root error. We cannot tell from that output whether the missing file should have been generated, committed, or referenced elsewhere. The useful finding is narrower: this exact commit built, while its test command did not finish green in our fresh Debian container.

Baseline 2025 and FSL exclude two common buyers

Baseline 2025 is Yeti's browser floor, and features available by the end of 2025 may be used without guards. Newer features get @supports fallbacks, but older browser support and polyfills are outside the job. That is a clean rule for a new internal tool or publication. It is a poor fit for a customer product carrying older managed browsers, since the framework intentionally declines that compatibility work.

The other boundary is commercial reuse. Yeti uses FSL-1.1-MIT, which permits normal site and product use but forbids offering the software as a competing product or service. Each release changes to MIT on its second anniversary. Foundation for Sites 6 stays MIT. Most teams building websites will never approach the restriction; a theme platform, framework vendor, or hosted page-builder company should have counsel map its product against the license before adoption.

An October 3 push matters more than the 2024 release page

The repository was pushed on October 3, 2026, the date of the commit we measured, and recent commits include documentation, token, navigation, and browser-test work. GitHub reported 29,800 stars and 81 combined issues and pull requests. Those stars and much of the issue history came with the renamed Foundation repository, so they show the project's lineage rather than 29,800 Yeti adopters.

GitHub's latest release endpoint still returns Foundation v6.9.0 from September 27, 2024. That stale tag does not mean current development stopped: the October 3 push and September Yeti announcement show the opposite. It does mean Yeti lacks a release artifact that matches the new default branch. Run a pinned evaluation if its layout model appeals to you, but keep the trial separate from a production design-system commitment until the package status, documentation, and test result agree.

Alternatives

ProjectWhat it isPick it when
Pico CSSA class-light CSS framework that styles semantic HTML with a small surface.pick this instead when you want a released, minimal CSS layer and need fewer named layout primitives.
Bootstrap gh↗A mature component and grid framework with broad browser and ecosystem support.pick this instead when production maturity, familiar components, and existing integrations matter more than native-CSS purity.
Tailwind CSS gh↗A utility-first styling system built around generated classes and a compilation workflow.pick this instead when your team already prefers utilities and accepts a build tool in exchange for its larger ecosystem.

What people are saying

  1. [velocity-scout] foundation/yeti
  2. [theverge] Logitech’s new Blue Yeti 2 mic adjusts itself to where you are

Sources

  1. Yeti repository and README
  2. Installing Yeti
  3. Yeti stability guide
  4. Yeti license
  5. Foundation for Sites is becoming Yeti
  6. Foundation v6.9.0 release

More web reviews

one-ip · page-mascot · table · react-starter-kit · leptos · Vela · the whole board →