BoldKit

BoldKit Banner

Bold. Raw. Beautiful.

A neubrutalism component library for React and Vue 3, built on shadcn/ui.

MIT License
[blocked]

· · · ·


What's New in v3.3.0

🧱 15 Full-Page Blocks — Production-ready page sections for React & Vue 3

10 Marketing Blocks:

  • Hero Section — Bold headline, subtext, CTA button, and optional image/shapes
  • Feature Grid — 3- and 4-column grids with icons and descriptions
  • Testimonials — Cards, carousel, and single-quote layouts with avatars
  • Logo Cloud — Client/partner logo strip with optional marquee scroll
  • CTA Section — Newsletter signup, trial signup, and contact variants
  • Stats Section — Big number KPIs with labels and neubrutalism accents
  • Team Section — Member cards with role, bio, and social links
  • FAQ Section — Accordion-based Q&A with expand/collapse animation
  • Footer Section — Multi-column layout with newsletter and social links
  • Contact Section — Contact form with info cards and map placeholder

5 Application Blocks:

  • Auth Forms — Login, Signup, Forgot Password, OTP verification
  • Error Pages — 404, 500, and maintenance pages in neubrutalism style
  • Settings Page — Tabbed settings with Profile, Notifications, and Billing panels
  • Onboarding Flow — Multi-step setup wizard with progress tracking
  • Invoice — Printable invoice / receipt layout with line items and totals

All blocks are installable via the shadcn CLI for both React and Vue 3/Nuxt.


🧩 11 New UI Components

ComponentDescription
CarouselImage and content slider with prev/next navigation
ComboboxSearchable select with keyboard navigation
Data TableSortable, filterable table with column visibility and row selection
Date Range PickerCalendar-based date range selection
RatingStar rating input with half-star support
SidebarCollapsible navigation sidebar with section groups
Tag InputMulti-value input with removable tag chips
Time PickerHour/minute/second time selection with AM/PM toggle
TimelineVertical activity feed and process flow component
TourStep-by-step product tour with highlight and popover
Tree ViewNested expandable tree for file explorers and hierarchies

Preview

BoldKit Components

55+ beautifully crafted neubrutalism components, 10 chart types, 64 SVG shapes, 17 animated ASCII shapes, 19 canvas effects, and 15 math curve animations for React and Vue 3

What is Neubrutalism?

Neubrutalism (or neo-brutalism) is a bold design aesthetic characterized by:

  • Thick Borders - 3px solid borders that define elements
  • Hard Shadows - Offset shadows with no blur (4px 4px 0px)
  • Bold Colors - High-contrast, vibrant color palettes
  • Raw Typography - Bold, uppercase text for emphasis
  • Zero Radius - Square corners for that raw, unpolished look
Neubrutalism Style

Features

FeatureDescription
55+ ComponentsButtons, Cards, Dialogs, Forms, Spinners, Steppers, and more
10 Chart TypesBar, Line, Area, Pie, Donut, Radar, Radial, Gauge, Sparkline
64 SVG ShapesDecorative shapes (geometric, organic, mathematical, mechanical) with interactive Shape Builder
17 ASCII ShapesAnimated 3D ASCII art — Torus, Donut, Sphere, Cube, Helix, Trefoil Knot, Saturn, DNA, and more
Dot Matrix StudioIn-browser pixel art & animation editor with 10 presets, WebM/PNG/SVG/JSON export
19 Canvas EffectsAnimated canvas components — Dither, Halftone, CRT, Truchet, Aurora, Flow Field, Plasma, Metaballs, Matrix Rain and more. Zero deps.
Math Curve ComponentsAnimated loaders, progress bars, and backgrounds powered by 15 mathematical curves
React & Vue 3Full support for both frameworks
Nuxt ReadySSR-compatible with shadcn-nuxt module
shadcn CLIInstall via shadcn (React) or shadcn-vue (Vue/Nuxt)
AccessibleBuilt on Radix UI (React) & Reka UI (Vue)
Dark ModeFull light/dark theme support
TypeScriptComplete type safety
Tailwind v4Modern CSS with latest Tailwind

MCP Server & CLI

Install components from an AI agent or the terminal — both auto-detect React vs Vue:

bash
# MCP (Claude Code, Cursor, VS Code, Windsurf, Codex, Gemini CLI, ...)claude mcp add boldkit -- npx -y @boldkit/mcp
# CLInpx boldkit add button card dialognpx boldkit search "toast"

Full per-client setup:

Quick Start

Required first step: register the @boldkit alias in your components.json. BoldKit components reference each other via scoped names like @boldkit/utils, and without the alias the CLI resolves these against shadcn's default registry (which doesn't ship them) and installs fail.

Configure the registry alias

React — add to components.json:

json
{  "registries": {    "@boldkit": "https://boldkit.dev/r/{name}.json"  }}

Vue — add to components.json:

json
{  "registries": {    "@boldkit": "https://boldkit.dev/r/vue/{name}.json"  }}

React (shadcn CLI)

bash
# Install a componentnpx shadcn@latest add @boldkit/button
# Install multiple componentsnpx shadcn@latest add @boldkit/button @boldkit/card @boldkit/input
# Install shapesnpx shadcn@latest add @boldkit/shapes
# Install the BoldKit theme (CSS variables)npx shadcn@latest add @boldkit/styles

Vue 3 (shadcn-vue CLI)

bash
# Install a componentnpx shadcn-vue@latest add @boldkit/button
# Install multiple componentsnpx shadcn-vue@latest add @boldkit/button @boldkit/card @boldkit/input
# Install shapesnpx shadcn-vue@latest add @boldkit/shapes
# Install the BoldKit theme (CSS variables)npx shadcn-vue@latest add @boldkit/styles

Alternative: direct URLs

For one-off installs without configuring the alias, you can pass the registry URL directly. Note: components with cross-references won't auto-install their BoldKit dependencies this way — you'll need to add each dependency manually.

bash
# Reactnpx shadcn@latest add https://boldkit.dev/r/button.json
# Vuenpx shadcn-vue@latest add https://boldkit.dev/r/vue/button.json

Install directly from GitHub (zero config, React)

BoldKit's repository is also a shadcn GitHub registry — install any React component straight from the repo with no components.json alias and no setup. Scoped cross-references like @boldkit/utils resolve automatically (the CLI maps them to this same registry).

bash
# Install a component — owner/repo/itemnpx shadcn@latest add ANIBIT14/boldkit/button
# Install multiplenpx shadcn@latest add ANIBIT14/boldkit/button ANIBIT14/boldkit/card
# Pin to a tag, branch, or commit SHA for reproducible installsnpx shadcn@latest add ANIBIT14/boldkit/button#main
# Browse / preview before installingnpx shadcn@latest list ANIBIT14/boldkitnpx shadcn@latest view ANIBIT14/boldkit/buttonnpx shadcn@latest add ANIBIT14/boldkit/button --dry-run

GitHub install covers the React registry (components, blocks, theme, utils, shapes). Vue 3 / Nuxt and canvas effects install via the hosted URLs above.

Nuxt

bash
# 1. Add shadcn-nuxt modulenpx nuxi@latest module add shadcn-nuxt
# 2. Initialize shadcn-vue (select Nuxt when prompted)npx shadcn-vue@latest init
# 3. Install BoldKit componentsnpx shadcn-vue@latest add https://boldkit.dev/r/vue/button.json

nuxt.config.ts:

typescript
export default defineNuxtConfig({  modules: ['shadcn-nuxt'],  shadcn: {    prefix: '',    componentDir: './components/ui'  }})

Note: Some components (Drawer, Sonner, Command, Calendar, Chart) require <ClientOnly> wrapper for SSR. See the for details.

Usage

React

tsx
import { Button } from '@/components/ui/button'import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'import { Badge } from '@/components/ui/badge'
export function Example() {  return (    <Card>      <CardHeader className="bg-primary">        <CardTitle className="flex items-center gap-2">          Welcome to BoldKit          <Badge variant="secondary">New</Badge>        </CardTitle>      </CardHeader>      <CardContent className="space-y-4">        <p>Build bold, beautiful interfaces with ease.</p>        <div className="flex gap-2">          <Button>Primary</Button>          <Button variant="secondary">Secondary</Button>          <Button variant="accent">Accent</Button>        </div>      </CardContent>    </Card>  )}

Vue 3

vue
<script setup lang="ts">import { Button } from '@/components/ui/button'import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'import { Badge } from '@/components/ui/badge'</script>
<template>  <Card>    <CardHeader class="bg-primary">      <CardTitle class="flex items-center gap-2">        Welcome to BoldKit        <Badge variant="secondary">New</Badge>      </CardTitle>    </CardHeader>    <CardContent class="space-y-4">      <p>Build bold, beautiful interfaces with ease.</p>      <div class="flex gap-2">        <Button>Primary</Button>        <Button variant="secondary">Secondary</Button>        <Button variant="accent">Accent</Button>      </div>    </CardContent>  </Card></template>
Code Example Output

Components

Form Components
  • Button (7 variants, 5 sizes)
  • Input
  • Textarea
  • Checkbox
  • Radio Group
  • Select
  • Switch
  • Slider
  • Label
  • Input OTP
  • Dropzone (drag-and-drop file upload) ✨ NEW
Layout & Containers
  • Card
  • Layered Card (stacked paper effect)
  • Stat Card (statistics display) ✨ NEW
  • Dialog
  • Drawer
  • Sheet
  • Accordion
  • Collapsible
  • Tabs
  • Stepper (multi-step forms/wizards) ✨ NEW
  • Scroll Area
  • Aspect Ratio
  • Separator
Feedback & Status
  • Alert
  • Alert Dialog
  • Badge
  • Progress
  • Skeleton
  • Spinner (5 animation variants) ✨ NEW
  • Sonner (Toast)
  • Math Curve Loader (animated loading spinners driven by mathematical curves) ✨ NEW
  • Math Curve Progress (progress bars rendered as animated mathematical curves) ✨ NEW
  • Math Curve Background (full-bleed animated curve backgrounds) ✨ NEW
Navigation
  • Breadcrumb
  • Dropdown Menu
  • Command Palette
  • Pagination
  • Popover
  • Tooltip
  • Hover Card
Data Display
  • Avatar
  • Table
  • Calendar
  • Kbd (keyboard shortcut hints) ✨ NEW
Charts (10 Types)
  • Area Chart
  • Bar Chart
  • Line Chart
  • Pie Chart
  • Donut Chart (pie with center content) ✨ NEW
  • Radar Chart (multi-variable comparison) ✨ NEW
  • Radial Bar Chart (circular progress) ✨ NEW
  • Gauge Chart (speedometer KPI) ✨ NEW
  • Sparkline (inline trend charts) ✨ NEW
Decorative (Neubrutalism Special)
  • Sticker (rotated labels)
  • Marquee (scrolling ticker)
  • 64 SVG Shapes (Geometric, Organic, Celestial, Mathematical, Mechanical, and more) ✨ EXPANDED
  • 17 ASCII Shapes (Torus, Donut, Sphere, Cube, Helix, Trefoil Knot, Geodesic Dome, Saturn, Hyperboloid, DNA, Spiral, Rose, Wave, Vortex…) ✨ NEW
  • Shape Builder (interactive tool to customize shapes, export SVG/JSX) ✨ NEW

Math Curve Components

15 animated mathematical curves (Lissajous, Hypotrochoid, Epitrochoid, Rose, Spirograph, and more) rendered as interactive UI elements — no external animation library required.

Math Curve Components

MathCurveLoader

tsx
import { MathCurveLoader } from '@/components/ui/math-curve-loader'
<MathCurveLoader curve="lissajous" size="md" speed="normal" /><MathCurveLoader curve="rose" size="lg" speed="slow" /><MathCurveLoader curve="spiral" size="xl" speed="fast" />

MathCurveProgress

tsx
import { MathCurveProgress } from '@/components/ui/math-curve-progress'
<MathCurveProgress value={65} curve="lissajous" /><MathCurveProgress value={40} curve="rose" showLabel />

MathCurveBackground

tsx
import { MathCurveBackground } from '@/components/ui/math-curve-background'
<MathCurveBackground curve="lissajous" opacity={0.15}>  <YourPageContent /></MathCurveBackground>

Shapes

64 decorative SVG shapes across 8 categories for unique neubrutalism layouts:

React

tsx
import { BurstShape, HeartShape, LightningShape } from '@/components/ui/shapes'
<BurstShape size={100} className="text-primary" /><HeartShape size={80} filled={false} strokeWidth={4} /><LightningShape size={60} className="text-accent" />

Vue 3

vue
<script setup lang="ts">import { BurstShape, HeartShape, LightningShape } from '@/components/ui/shapes'</script>
<template>  <BurstShape :size="100" class="text-primary" />  <HeartShape :size="80" :filled="false" :stroke-width="4" />  <LightningShape :size="60" class="text-accent" /></template>
SVG Shapes

Shape Builder

The interactive lets you customize any shape's size, color, stroke width, and fill, then export it as SVG or copy it as JSX/Vue template code ready to paste into your project.

ASCII Shapes

17 animated ASCII art components rendered with perspective projection, z-buffering, and Lambertian shading — no canvas, no WebGL, just text characters:

ASCII Shapes
ShapeDescription
AsciiTorus3D rotating torus with z-buffering and Lambertian shading
AsciiDonutClassic donut.c doughnut — faithful a1k0n algorithm, hole always visible
AsciiSphereRotating globe with lat/lon grid texture and Lambertian shading
AsciiCubeSolid shaded cube rotating on two axes with back-face culling
AsciiHelixDouble helix with two strands and connecting rungs
AsciiTrefoilKnotTrefoil knot tube with Frenet frames, z-buffer, and Lambertian shading
AsciiGeodesicDomeFrequency-3 icosahedron wireframe projected onto a sphere
AsciiSaturnPlanet with tilted solid ring system and Cassini division gap
AsciiHyperboloidTwo families of straight-line rulings on a ruled surface tower
AsciiDNAB-form DNA double helix: 150° strand offset, 4 turns, tube backbone + rungs
AsciiSpiralArchimedean spiral arms rotating continuously
AsciiRoseRose curve r=cos(5θ) blooming and phase-shifting
AsciiWaveMulti-frequency sine interference pattern
AsciiVortexRotating density field collapsing toward center
AsciiPulseConcentric rings expanding outward and fading
AsciiMatrixCharacters raining downward per column
AsciiGridGrid intersections pulsing with traveling waves

React

tsx
import { AsciiTorus, AsciiDonut, AsciiSphere } from '@/components/ui/ascii-shapes'
// Basic usage<AsciiTorus />
// With options<AsciiDonut  size="md"          // 'sm' | 'md' | 'lg' | 'hero'  charset="classic"  // 'blocks' | 'braille' | 'classic' | 'line' | 'dots'  speed="normal"     // 'slow' | 'normal' | 'fast'  color="#e74c3c"    // any CSS color string  animated={true}    // false = static snapshot, SSR-safe/>
// Multicolor — cycles primary/secondary/accent/warning/info/success per row<AsciiSphere size="lg" charset="classic" multicolor />

Vue 3 / Nuxt

vue
<script setup lang="ts">import { AsciiTorus, AsciiDonut } from '@/components/ui/ascii-shapes'</script>
<template>  <AsciiDonut size="md" charset="classic" />
  <!-- In Nuxt, wrap animated variants in <ClientOnly> -->  <ClientOnly>    <AsciiTorus size="lg" multicolor />  </ClientOnly></template>

Install

bash
# Reactnpx shadcn@latest add "https://boldkit.dev/r/ascii-shapes.json"
# Vue 3 / Nuxtnpx shadcn-vue@latest add "https://boldkit.dev/r/vue/ascii-shapes.json"

Theming

Customize with CSS variables (works for both React and Vue):

css
:root {  --primary: 0 84% 71%;       /* Coral */  --secondary: 174 62% 56%;   /* Teal */  --accent: 49 100% 71%;      /* Yellow */  --destructive: 0 84% 60%;   /* Red */  --shadow-color: 240 10% 10%;  --radius: 0rem;             /* Keep it square! */}

Visit the to create custom themes.

Tech Stack

React

  • React 19 - Latest React with concurrent features
  • Radix UI - Accessible primitives
  • Recharts - Data visualization

Vue 3

  • Vue 3 - Composition API with <script setup>
  • Reka UI - Accessible primitives (Radix port for Vue)
  • vue-echarts - Data visualization

Nuxt

  • Nuxt - Vue meta-framework with SSR support
  • shadcn-nuxt - Official Nuxt module for shadcn-vue
  • Auto-imports - Components auto-imported from components/ui
  • VueUse - SSR-safe composables

Shared

  • Tailwind CSS v4 - Modern utility-first CSS
  • TypeScript - Full type safety
  • Class Variance Authority - Variant management
  • Vite - Fast development and builds

Project Structure

boldkit/├── src/                    # React documentation site├── packages/│   └── vue/               # Vue 3 components│       └── src/│           └── components/│               └── ui/    # Vue SFC components├── public/│   └── r/                 # Component registry│       ├── *.json         # React registry│       └── vue/│           └── *.json     # Vue registry

Development

bash
# Clonegit clone https://github.com/ANIBIT14/boldkit.gitcd boldkit
# Installnpm install
# Dev server (React docs site)npm run dev
# Buildnpm run build
# Build registrynpm run registry:build

Contributing

We welcome contributions! Please see our Contributing Guide [blocked] and Code of Conduct [blocked].

License

MIT License - free for personal and commercial use.


Built by

·