Skip to main content
NewCharts & Sidebar blocks

The Open-Source Stack for Teams That Ship

From headless UI and state atoms to auth, uploads, keyboard bindings, and structured logging — gentleduck covers every layer. Type-safe, composable, framework-agnostic.

Everything your stack needs

Composable packages that work together or standalone. Each ships with full source — no black boxes.

Ctrl+K
gg
dd
yy
Ctrl+D
:w

@gentleduck/vim

Keyboard-first editing

Bind any key sequence to any action. Vim-style modes, chord bindings, and command palette support — with custom keymap layers.

Button
Controlsvariant
default
destructive
outline
secondary
ghost
link

@gentleduck/variants

Type-safe variants

CVA-powered variant system with full TypeScript inference. Compound variants, default variants, and VariantProps — zero runtime overhead.

Drop files to upload

figdesign.figma4.2 MB
zipassets.zip12.8 MB

@gentleduck/upload

Smart file uploads

Drag-and-drop, multipart, and presigned URL uploads with progress tracking. File validation, size limits, and custom storage adapters included.

Dialog
Primitives
DialogWAI-ARIA
PopoverWAI-ARIA
Selectkeyboard
Tooltipa11y

@gentleduck/primitives

Headless primitives

Unstyled WAI-ARIA components — bring your own styles, own everything. Dialog, Popover, Select, Tooltip with full keyboard navigation.

Sun
Mon
Tue
Wed
Thu
Fri
Sat

@gentleduck/calendar

Headless date engine

Single, range, multi, and multi-range selection modes out of the box. Locale support, disabled dates, custom renderers, and pluggable adapters.

bunx@gentleduck/cli addbutton dialog sheet
src
components
ui
button.tsxNEW
dialog.tsxNEW
sheet.tsxNEW
input.tsx
app.tsx
main.tsx
package.json
3 components added381ms

@gentleduck/cli

CLI scaffolding

Add, update, diff, and merge components straight into your codebase. Framework detection, config generation, full source ownership — no lock-in.

Free & open source

gentleduck is MIT licensed and will always be free and open source. Every package ships with full source access — fork it, modify it, own it.

Become a Sponsor