@andabove/gum-nuxt

Nuxt module for GUM — CSS injection, Gum component auto-import, optional Google Fonts
2,585
Install
npm install @andabove/gum-nuxt
Latest Version:0.2.9
Vue:3
License:Proprietary
Last Updated:Sep 22, 2026
Links: npm
Maintainer: kn0wn

@andabove/gum-nuxt

Zero-config Nuxt module for the GUM design system. Configured for public publication on the npm registry (registry.npmjs.org, @andabove scope). The first publish is still user-gated by the Release workflow.

Install

pnpm add @andabove/gum-nuxt

Once published, consumers need no registry mapping and no token, because the package is public. This module has no 0.0.x releases, so the transitional GitHub Packages note in the root README does not apply to it.

In a monorepo workspace (this repo's apps/realworld):

pnpm add @andabove/gum-nuxt@workspace:*

Usage

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ["@andabove/gum-nuxt"],
});

The module:

  • Injects @andabove/gum-foundation/style.css (tokens + Tailwind v4 theme)
  • Registers the Tailwind v4 Vite plugin so utility classes resolve
  • Auto-imports every Gum component exported by @andabove/gum-foundation (GumButton, GumMenu, …)
  • Loads Google Sans Flex and Google Sans Code from Google Fonts by default

Options

export default defineNuxtConfig({
  modules: ["@andabove/gum-nuxt"],
  gum: {
    // Set false to skip the Google Fonts CDN links (self-host instead)
    googleFonts: true,
  },
});

Theme

Toggle light/dark with data-theme on <html>:

document.documentElement.setAttribute("data-theme", "dark");

Auto-imported components

The component list is not hand-maintained. src/component-names.ts is generated from packages/ui/src/components by pnpm run generate:components-json (the same run that writes the repo-root components.json), and pnpm run check:component-sync fails CI when it drifts from the @andabove/gum-foundation exports.

Build and publish

  • pnpm --filter @andabove/gum-nuxt run build runs nuxt-module-build build (@nuxt/module-builder) and emits dist/module.mjs + dist/types.d.mts.
  • Inside the workspace, exports resolves to src/module.ts (Nuxt loads TS directly), so apps/realworld and local dev need no build step.
  • On pnpm pack / pnpm publish, publishConfig.exports swaps the entry to dist/, prepack rebuilds, and pnpm rewrites the workspace:* dependencies to concrete versions.
  • The Release workflow (.github/workflows/release.yml) publishes this package in lockstep with @andabove/gum-tokens and @andabove/gum-foundation.

Notes

  • Components ship from @andabove/gum-foundation (build that package, or rely on workspace dist).
  • Iconify is not wired here; Gum icons are SVG assets inside @andabove/gum-foundation.

License / usage

UNLICENSED. Public publication is user-gated and still waits on the license decision (ABO-302). No rights are granted by default; usage terms are at &above's discretion. Contact &above before using it outside &above projects.

Related Packages

@andabove/gum-foundation

GUM design system components for Vue 3 / Nuxt

2,729

Version History

Version Released License
0.2.9 Proprietary
0.2.8 Proprietary
0.2.7 Proprietary
0.2.6 Proprietary
0.2.5 Proprietary