Agent Skills: TypeScript Library Development

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.

UncategorizedID: onmax/nuxt-skills/ts-library

Skill Files

Browse the full folder contents for ts-library.

Download Skill

Loading file tree…

skills/ts-library/SKILL.md

Skill Metadata

Name
ts-library
Description
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.

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