Complete collection of AI agent skills including: - Frontend Development (Vue, React, Next.js, Three.js) - Backend Development (NestJS, FastAPI, Node.js) - Mobile Development (React Native, Expo) - Testing (E2E, frontend, webapp) - DevOps (GitHub Actions, CI/CD) - Marketing (SEO, copywriting, analytics) - Security (binary analysis, vulnerability scanning) - And many more... Synchronized from: https://skills.sh/ Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
---
|
|
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.
|
|
license: MIT
|
|
---
|
|
|
|
# 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](references/project-setup.md) |
|
|
| Package exports | [references/package-exports.md](references/package-exports.md) |
|
|
| tsconfig options | [references/typescript-config.md](references/typescript-config.md) |
|
|
| Build configuration | [references/build-tooling.md](references/build-tooling.md) |
|
|
| API design patterns | [references/api-design.md](references/api-design.md) |
|
|
| Type inference tricks | [references/type-patterns.md](references/type-patterns.md) |
|
|
| Testing setup | [references/testing.md](references/testing.md) |
|
|
| Release workflow | [references/release.md](references/release.md) |
|
|
| CI/CD setup | [references/ci-workflows.md](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_
|