Skip to content
Vitops
GuidesComponentsPackagesThemeReferenceChangelog

Start here

VitopsInstallationYour design systemYour config

Live preview

Theme previewAnimation libraryIconsPatterns

Components

OverviewCSS classesWeb componentsAstro componentsBricks elements

Packages

@getvitops/cli@getvitops/astro@getvitops/vite@getvitops/generator@getvitops/core@getvitops/utils@getvitops/emdash@getvitops/create

Reference

Config referenceOutput formatsColour systemType & space scalesComponent patternsIconsConsent gateConversion trackingSearchLegal documentsCSS class vocabularyBricks elements

Releases

Changelog

@getvitops/vite

Vite plugin that regenerates design-system output on build and dev.

npm i -D @getvitops/vite

A Vite plugin that generates Vitops design-system output from a design-system.json during a Vite/Astro (EmDash) build — and hot-regenerates when the config changes in dev.

// astro.config.mjs / vite.config.ts
import vitops from '@getvitops/vite';

export default {
  plugins: [
    vitops({
      input: 'design-system.json', // default
      format: 'tailwind', // 'bricks' | 'css' | 'tailwind' (default: 'tailwind')
      out: 'src/styles', // default
    }),
  ],
};

input takes a design-system.json or the larger site config that embeds one (company.json) — told apart by shape. A site config also supplies the site-level facts generation reads, so legal: {} needs no input of its own. theme picks a designSystem.themes entry other than the default.

Then import the generated stylesheet (Tailwind v4):

@import './styles/tailwind.css';

Video (media)

The plugin also encodes raw video, in the same run that generates your CSS:

vitops({
  input: 'design-system.json',
  media: { raw: 'raw', out: 'src/assets/processed' },
});

Each source becomes a VP9/WebM, an H.264/MP4 fallback and a JPG poster. Runs are cached on source content plus encode settings (.vitops/media-manifest.json), so a rebuild that changes nothing re-encodes nothing. ffmpeg must be installed — it’s an external tool, not an npm dependency, and a missing one fails the build rather than silently skipping.

Full behaviour and flags: vitops media.

Powered by @getvitops/generator.

Built with the design system it documents.

@getvitops on npm