ts-library

onmax's avatarfrom onmax

Use when authoring TypeScript libraries - covers project setup, package exports, build tooling (tsdown/unbuild), API design patterns, type inference tricks, testing, and release workflows. Patterns extracted from 20+ high-quality ecosystem libraries.

0stars🔀0forks📁View on GitHub🕐Updated Jan 2, 2026

When & Why to Use This Skill

This Claude skill serves as a comprehensive blueprint for authoring professional-grade TypeScript libraries. It integrates industry-leading patterns extracted from top-tier projects like Vite, Zod, and Vitest to guide developers through the entire lifecycle—from initial project scaffolding and dual CJS/ESM export configuration to advanced type inference and automated release workflows. By leveraging modern build tools and ESM-first principles, it ensures libraries are high-performance, tree-shakeable, and developer-friendly.

Use Cases

  • Case 1: Bootstrapping a new TypeScript project (single or monorepo) with optimized tsconfig and ESM-first configurations.
  • Case 2: Configuring complex package.json exports to ensure seamless compatibility for both Legacy CommonJS and modern ESM environments.
  • Case 3: Designing type-safe and intuitive APIs using advanced patterns such as builders, factories, and plugin architectures.
  • Case 4: Setting up a robust testing suite with Vitest and automating the CI/CD pipeline for streamlined versioning and releases.
  • Case 5: Optimizing library build processes using modern tools like tsdown or unbuild for better tree-shaking and smaller bundle sizes.
namets-library
descriptionUse when authoring TypeScript libraries - covers project setup, package exports, build tooling (tsdown/unbuild), API design patterns, type inference tricks, testing, and release workflows. Patterns extracted from 20+ high-quality ecosystem libraries.
licenseMIT

TypeScript Library Development

Patterns for authoring high-quality TypeScript libraries, extracted from studying unocss, shiki, unplugin, vite, vitest, vueuse, zod, trpc, drizzle-orm, and more.

When to Use

  • Starting a new TypeScript library (single or monorepo)
  • Setting up package.json exports for dual CJS/ESM
  • Configuring tsconfig for library development
  • Choosing build tools (tsdown, unbuild)
  • Designing type-safe APIs (builder, factory, plugin patterns)
  • Writing advanced TypeScript types
  • Setting up vitest for library testing
  • Configuring release workflow and CI

For Nuxt module development: use nuxt-modules skill

Quick Reference

Working on... Load file
New project setup references/project-setup.md
Package exports references/package-exports.md
tsconfig options references/typescript-config.md
Build configuration references/build-tooling.md
API design patterns references/api-design.md
Type inference tricks references/type-patterns.md
Testing setup references/testing.md
Release workflow references/release.md
CI/CD setup references/ci-workflows.md

Key Principles

  • ESM-first: "type": "module" with .mjs outputs
  • Dual format: always support both CJS and ESM consumers
  • moduleResolution: "Bundler" for modern TypeScript
  • tsdown for most builds, unbuild for complex cases
  • Smart defaults: detect environment, don't force config
  • Tree-shakeable: lazy getters, proper sideEffects: false

Token efficiency: Main skill ~300 tokens, each reference ~800-1200 tokens

ts-library – AI Agent Skills | Claude Skills