npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

aioli-design

v0.6.0

Published

Free, open-source AI design system engine. Natural language to React, Vue, Svelte, or HTML components with WCAG AA accessibility, 1,561 design tokens, and MCP server integration.

Readme


30-Second Quick Start

Option A: Plug into Your AI Assistant (MCP)

npm install aioli-design

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "aioli": {
      "command": "node",
      "args": ["/path/to/node_modules/aioli-design/mcp-server/index.js"]
    }
  }
}

Then ask: "Use Aioli to generate a glassmorphic pricing page with 3 tiers"

Option B: Use the SDK

import { createAioli } from 'aioli-design/sdk';

const aioli = await createAioli({ mode: 'direct', tokensPath: './tokens' });

// Generate a React component from natural language
const card = await aioli.generateComponent('glassmorphic card with title', { format: 'react' });
console.log(card.code); // Ready-to-use React JSX

Option C: Use the CLI

npx aioli-design generate "primary button with icon"

What You Get

| Capability | Details | |---|---| | 43 Components | Atoms, Molecules, Organisms, Templates, Pages -- all from natural language | | 4 Output Formats | HTML, React (JSX), Vue (SFC), Svelte -- one prompt, any framework | | 1,543 Design Tokens | W3C DTCG format, 3-tier hierarchy (primitives, semantic, component) | | 6 Theme Presets | Default, Glass, Neumorphic, Brutalist, Gradient, Dark Luxury | | 120/120 WCAG AA | Every contrast pair passes across every theme | | 12 MCP Tools | Plug into Claude, Cursor, Copilot, or any AI assistant | | 13 REST Endpoints | Full HTTP API, self-hostable, no API keys | | 12 SDK Methods | JavaScript SDK with HTTP or direct (no-server) mode | | Community Registry | Install, publish, and share custom component packages | | Brand Palette | One hex color -> full accessible palette with WCAG verification | | 435 Tests | Comprehensive test coverage, zero validation errors |


Why Aioli Exists

The best AI app builders -- v0, Bolt, Lovable -- generate beautiful UIs. But they charge a premium, lock you into their ecosystem, and treat accessibility as an afterthought.

Aioli is the open-source answer: the same design intelligence, completely free. WCAG accessibility enforced from the first line. Real design system principles, not just pretty screenshots. No API keys. No subscription. No vendor lock-in.


Framework Output

Generate components in your framework of choice:

# CLI
aioli generate "glassmorphic card" --format react

# SDK
const result = await aioli.generateComponent('pricing table', { format: 'vue' });

# REST API
curl -X POST localhost:3456/api/v1/generate/component \
  -H "Content-Type: application/json" \
  -d '{"description": "button with icon", "format": "svelte"}'

Supported formats: html (default), react, vue, svelte


MCP Server -- 12 Tools for AI Assistants

Aioli exposes its full design intelligence via Model Context Protocol, so any compatible AI assistant can generate accessible, themed, production-quality UI.

| Tool | Description | |---|---| | generate_component | Natural language -> accessible component (HTML/React/Vue/Svelte) | | generate_page | Full multi-section page from a description | | list_components | Discover all 43+ available component templates | | list_style_modifiers | 8 visual modifiers + 4 page composition types | | list_themes | 6 theme presets with descriptions | | get_theme_css | CSS custom properties for any theme preset | | derive_palette | Brand color -> full accessible palette (WCAG verified) | | get_tokens | Query tokens by path, prefix, or export format | | resolve_token | Trace a token reference to its final value | | check_contrast | WCAG contrast ratio between any two colors | | validate_accessibility | Full accessibility audit on HTML | | review_code | Code quality score, grade, and detailed feedback |

Run with: npm run mcp or node mcp-server/index.js


REST API

Self-hostable HTTP API -- no API keys, no auth wall. Start with npm run api.

| Method | Endpoint | Purpose | |--------|----------|---------| | GET | /api/v1/health | Health check | | POST | /api/v1/generate/component | NL -> component (with format option) | | POST | /api/v1/generate/page | NL -> full page layout | | GET | /api/v1/components | List all available templates | | GET | /api/v1/modifiers | Style modifiers + page compositions | | GET | /api/v1/themes | List 6 theme presets | | GET | /api/v1/themes/:name/css | CSS custom properties for a theme | | POST | /api/v1/palette | Derive palette from brand color | | GET | /api/v1/tokens | Query design tokens | | POST | /api/v1/tokens/resolve | Resolve token reference | | POST | /api/v1/validate/contrast | WCAG contrast check | | POST | /api/v1/validate/accessibility | Full a11y audit | | POST | /api/v1/validate/code | Code quality review |

Default: http://localhost:3456


JavaScript SDK

import { createAioli } from 'aioli-design/sdk';

// HTTP mode (connects to REST API)
const aioli = await createAioli({ baseUrl: 'http://localhost:3456' });

// Direct mode (no server needed)
const aioli = await createAioli({ mode: 'direct', tokensPath: './tokens' });

// Generate
const button = await aioli.generateComponent('large primary button', { format: 'react' });
const page = await aioli.generatePage('marketing landing page', { format: 'vue' });

// Query
const components = await aioli.listComponents();
const themes = await aioli.listThemes();
const tokens = await aioli.getTokens({ prefix: 'semantic.color' });

// Validate
const contrast = await aioli.checkContrast('#000000', '#ffffff');
const review = await aioli.reviewCode('<button class="btn">Click</button>');

Community Registry

Create, share, and install custom component packages:

# Scaffold a new component package
aioli registry init my-widget

# Publish/install from a local path
aioli registry publish ./my-widget/
aioli registry install ./path/to/package

# Manage installed packages
aioli registry list
aioli registry search "timeline"
aioli registry info my-widget
aioli registry remove my-widget

Community components work with NL generation, all framework adapters, and all entry points (API, SDK, MCP, CLI).


Architecture

Tokens (W3C DTCG)     Agents (6)           Interfaces          Output
+----------------+    +-----------------+  +--------------+    +----------+
| primitives/    |--->| design-token    |->| MCP (12)     |--->| HTML     |
| semantic/      |    | accessibility   |  | REST API (13)|    | React    |
| components/    |    | motion          |  | JS SDK (12)  |    | Vue      |
+----------------+    | component (43)  |  | CLI (7)      |    | Svelte   |
                      | code-review     |  +--------------+    | CSS vars |
                      | orchestrator    |                      | JSON     |
                      +-----------------+                      +----------+

Token Hierarchy -- 3 tiers, never skip:

  1. Primitives -- Raw values: color.blue.600 = #2563eb
  2. Semantic -- Intent: semantic.color.primary.default -> {color.blue.600}
  3. Component -- Scoped: component.button.primary.bg -> {semantic.color.primary.default}

Agent System -- 6 specialized agents:

  • Design Token -- CRUD, resolution, validation across 1,543 tokens
  • Accessibility Validator -- WCAG AA/AAA contrast, semantic HTML, ARIA, theme validation
  • Motion -- Duration/easing presets, GPU-safe property enforcement, prefers-reduced-motion
  • Component Generator -- 43 templates, 8 style modifiers, 4 page compositions, NL parsing
  • Code Review -- Quality scoring across 6 categories
  • Orchestrator -- Multi-agent coordination, validation-fix cycles

Theme Presets

Six built-in themes, all WCAG AA verified (120/120 contrast pairs pass):

| Theme | Style | |---|---| | default | Clean, professional -- the foundation | | glass | Glassmorphism with frosted surfaces and backdrop blur | | neumorphic | Soft shadows, inset/outset depth | | brutalist | Thick borders, raw typography, bold contrast | | gradient | Vibrant gradient surfaces and buttons | | darkLuxury | Dark backgrounds with warm gold accents |

Generate a custom palette from any brand color:

import { derivePalette } from 'aioli-design/theme';

// One color -> full accessible palette
const palette = derivePalette('#8b5cf6');
// Returns: primary, hover, active, subtle, muted, dark mode, gradients, shadows
// All WCAG AA verified automatically

CLI Commands

| Command | Description | |---|---| | aioli init | Initialize a project (--template minimal\|starter\|full) | | aioli build | Build tokens -> CSS + JSON via Style Dictionary | | aioli validate | Validate DTCG token structure | | aioli generate <desc> | Generate component from natural language | | aioli audit | Run accessibility audit on tokens | | aioli export | Export tokens as CSS, JSON, or SCSS | | aioli registry <cmd> | Community packages (publish, install, remove, list, search, info, init) |


Standards We Enforce

Every piece of output follows these rules -- no exceptions:

  • WCAG 2.1 AA minimum -- 4.5:1 contrast for text, 3:1 for UI, verified at generation time
  • Semantic HTML -- proper heading hierarchy, landmark regions, form labels
  • ARIA when needed -- roles, states, live regions, but never as a substitute for semantic elements
  • Keyboard navigation -- all interactive elements focusable and operable
  • prefers-reduced-motion -- every animation has a reduced-motion fallback
  • GPU-safe animations -- only transform and opacity, never width/height/margin
  • Token discipline -- components use semantic tokens, never raw primitives

Roadmap

  • [x] Design System Engine -- 1,543 tokens, 43 components, 6 agents
  • [x] Visual Enhancements -- Glassmorphism, gradients, neumorphism, animations, themes
  • [x] MCP Server -- 12 tools for AI assistant integration
  • [x] REST API + JS SDK -- 13 HTTP endpoints, 12 SDK methods
  • [x] Framework Adapters -- React, Vue, Svelte output (HTML-first pipeline)
  • [x] Community Registry -- Custom component packages with CLI management
  • [ ] TypeScript Adapter -- .tsx output with full type annotations
  • [ ] Figma Plugin -- Bi-directional sync with Figma
  • [ ] VS Code Extension -- In-editor component generation
  • [ ] Remote Registry -- npm-like package publishing and discovery

Contributing

Contributions are welcome! Whether it's new component templates, theme presets, accessibility improvements, or framework adapters -- we'd love your help making design accessible to everyone.

See CONTRIBUTING.md for development setup, coding standards, and workflow.

Requirements

  • Node.js >= 18.0.0

License

MIT -- free forever. That's the point.