GentleDuck

Production-grade developer tooling. UI components, compiler extensions, CLI automation, and systems utilities — all designed to work together.

GentleDuck is an open source organization building production-grade developer tooling. We reduce friction across the entire development lifecycle — from UI and interaction design to documentation, automation, testing, and systems performance.


Explore the Ecosystem


Packages at a Glance

Core Layer

PackageDescription
@gentleduck/libscn, Slot, Portal, and shared utilities — zero external dependenciesDocs
@gentleduck/variantsType-safe class generation, ~7x faster than CVADocs
@gentleduck/hooksPurpose-built React hooks for real-world UI workflowsDocs

Behavior Layer

PackageDescription
@gentleduck/primitivesHeadless, accessibility-first UI primitivesDocs
@gentleduck/motionEnter/exit animations and mount/unmount transitionsDocs
@gentleduck/vimFramework-agnostic vim-style keyboard navigationDocs

UI Layer

PackageDescription
@gentleduck/ui59+ production components — forms, navigation, overlays, data displayDocs
@gentleduck/cliCLI for installing and scaffolding UI componentsDocs

Tooling Layer

PackageDescription
@gentleduck/genCompiler extension — scans NestJS controllers, emits typed route mapsDocs
@gentleduck/queryType-safe HTTP client powered by generated route typesDocs

Testing & Performance

PackageDescription
@gentleduck/ttestZero-runtime TypeScript type testingnpm
@gentleduck/lazyLazy-loading and performance utilitiesDocs
@gentleduck/templateRust-powered project scaffoldingGitHub

Why GentleDuck

Modern teams ship fast, but tooling often fragments as systems grow. GentleDuck creates tools that work well together, share conventions, and stay reliable in real production environments.

  • Clarity over complexity — Simple, predictable APIs backed by clear documentation and strong conventions.
  • Consistency at scale — Shared UI foundations, registries, templates, and tooling that keep teams aligned.
  • Performance you can trust — Production-ready tooling designed for real workloads.
  • Composable tools — Each library stands on its own, but follows shared patterns that make the ecosystem stronger when used together.

Quick Start

# Install the UI component library
bunx @gentleduck/cli init button dialog input select
 
# Use individual packages
bun add @gentleduck/variants    # Type-safe class generation
bun add @gentleduck/primitives  # Headless UI primitives
bun add @gentleduck/hooks       # React hooks
 
# Type-safe API tooling
bun add -d @gentleduck/gen      # Compiler extension (dev)
bun add @gentleduck/query       # HTTP client (runtime)
# Install the UI component library
bunx @gentleduck/cli init button dialog input select
 
# Use individual packages
bun add @gentleduck/variants    # Type-safe class generation
bun add @gentleduck/primitives  # Headless UI primitives
bun add @gentleduck/hooks       # React hooks
 
# Type-safe API tooling
bun add -d @gentleduck/gen      # Compiler extension (dev)
bun add @gentleduck/query       # HTTP client (runtime)

Stay Updated

Check out What's New for the latest releases, or follow the project on GitHub and X / Twitter.