mcpField
T
ts-library

ts-library

github.com/onmax開発7232.0k 回インストール今日更新
リポジトリ

ts-library について

TypeScriptライブラリの開発者向けスキルです。プロジェクト構成、ビルド、API設計、テスト、リリースの実践を、作業別のリファレンスで案内します。

主な機能

  1. 01ライブラリの初期設定
  2. 02CJS・ESMのパッケージ公開
  3. 03型安全なAPI設計
  4. 04ビルドとテストの設定
  5. 05リリースとCIワークフロー

活用シーン

  1. 01単一またはmonorepoのライブラリ開始
  2. 02package.jsonの公開設定
  3. 03型推論やプラグインAPIの設計
  4. 04テスト、リリース、CIの設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/onmax/nuxt-skills --skill ts-library

インストール後、Claude Code で/ts-libraryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

patterns/
api.md
types.md
references/
api-design.md
build-tooling.md
ci-workflows.md
eslint-config.md
package-exports.md
project-setup.md
release.md
testing.md
type-patterns.md
typescript-config.md
setup/
exports.md
project.md
tsconfig.md
workflows/
ci.md
release.md
testing.md

詳細

TypeScript ライブラリの開発

unocss、shiki、unplugin、vite、vitest、vueuse、zod、trpc、drizzle-orm などの調査から得られた、高品質な TypeScript ライブラリを作成するためのパターンです。

使用する場面

  • 新しい TypeScript ライブラリ(単一またはモノレポ)を開始するとき
  • デュアル CJS/ESM 向けに package.json の exports を設定するとき
  • ライブラリ開発用に tsconfig を設定するとき
  • ビルドツール(tsdown、unbuild)を選ぶとき
  • 型安全な API(ビルダー、ファクトリー、プラグインのパターン)を設計するとき
  • 高度な TypeScript 型を記述するとき
  • ライブラリのテスト用に vitest を設定するとき
  • リリースワークフローと CI を設定するとき

Nuxt モジュールの開発には: nuxt-modules スキルを使用してください

クイックリファレンス

作業内容ファイルを読み込む
新規プロジェクトのセットアップreferences/project-setup.md
パッケージの exportsreferences/package-exports.md
tsconfig のオプションreferences/typescript-config.md
ビルド設定references/build-tooling.md
ESLint の設定references/eslint-config.md
API 設計パターンreferences/api-design.md
型推論のテクニックreferences/type-patterns.md
テストのセットアップreferences/testing.md
リリースワークフローreferences/release.md
CI/CD のセットアップreferences/ci-workflows.md

ファイルの読み込み

タスクに応じて、以下のリファレンスファイルを読み込んでください:

すべてのファイルを一度に読み込まないでください。 現在のタスクに関連するものだけを読み込んでください。

新規ライブラリのワークフロー

  1. プロジェクト構成を作成する → references/project-setup.md を読み込む
  2. package.json の exports を設定する → references/package-exports.md を読み込む
  3. tsdown でビルドを設定する → references/build-tooling.md を読み込む
  4. ビルドを確認する:pnpm build && pnpm pack --dry-run — 出力に .mjs、.cjs、.d.ts が含まれていることを確認する
  5. テストを追加する → references/testing.md を読み込む
  6. リリースを設定する → references/release.md を読み込む

クイックスタート

// package.json (minimal)
{
  "name": "my-lib",
  "type": "module",
  "exports": {
    ".": {
      "import": "./dist/index.mjs",
      "require": "./dist/index.cjs"
    }
  },
  "main": "./dist/index.cjs",
  "module": "./dist/index.mjs",
  "types": "./dist/index.d.ts",
  "files": ["dist"]
}
// tsdown.config.ts
import { defineConfig } from 'tsdown'

export default defineConfig({
  entry: ['src/index.ts'],
  format: ['esm', 'cjs'],
  dts: true,
})

主な原則

  • ESM ファースト:"type": "module" と .mjs の出力
  • デュアル形式:CJS と ESM の両方のコンシューマーを常にサポート
  • 最新の TypeScript には moduleResolution: "Bundler" を使用
  • ほとんどのビルドには tsdown、複雑なケースには unbuild を使用
  • スマートなデフォルト:環境を検出し、設定を強制しない
  • ツリーシェイキング可能:遅延ゲッターと適切な sideEffects: false

トークン効率:メインスキルは約300トークン、各リファレンスは約800~1200トークン

コメント