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.
@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.
@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
@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.
@gentleduck/primitives
Headless primitives
Unstyled WAI-ARIA components — bring your own styles, own everything. Dialog, Popover, Select, Tooltip with full keyboard navigation.
@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.
@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.