ts-library
TypeScriptライブラリやnpmパッケージを作成する際に使用するスキルで、プロジェクトのセットアップ、package.jsonのexports設定、ビルドツール(tsdown/unbuild)、APIデザインパターン、型推論のテクニック、テスト、npmへの公開までをカバーします。バンドル処理、CJS/ESMデュアル出力の設定、リリースワークフローの構築にも対応しています。
description の原文を見る
Use when authoring TypeScript libraries or npm packages - covers project setup, package.json exports, build tooling (tsdown/unbuild), API design patterns, type inference tricks, testing, and publishing to npm. Use when bundling, configuring dual CJS/ESM output, or setting up release workflows.
SKILL.md 本文
TypeScript ライブラリ開発
unocss、shiki、unplugin、vite、vitest、vueuse、zod、trpc、drizzle-orm などの研究から抽出した、高品質な TypeScript ライブラリ作成のパターン集。
使用場面
- 新しい TypeScript ライブラリの開始(単一またはモノレポ)
- CJS/ESM のデュアル対応用に package.json のエクスポート設定
- ライブラリ開発向けの tsconfig 設定
- ビルドツールの選択(tsdown、unbuild)
- 型安全な API の設計(ビルダー、ファクトリー、プラグインパターン)
- 高度な TypeScript 型の作成
- ライブラリテスト用の vitest セットアップ
- リリースワークフローと CI の設定
Nuxt モジュール開発の場合: nuxt-modules スキルを使用してください
クイックリファレンス
| 作業内容 | ファイルを読み込む |
|---|---|
| 新規プロジェクト設定 | references/project-setup.md |
| パッケージエクスポート | references/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 |
ファイルの読み込み
タスクに応じてこれらの参考ファイルの読み込みを検討してください:
-
references/project-setup.md- 新しい TypeScript ライブラリプロジェクトを開始する場合 -
references/package-exports.md- package.json のエクスポート設定、または CJS/ESM のデュアル対応を設定する場合 -
references/typescript-config.md- tsconfig.json をセットアップまたは変更する場合 -
references/build-tooling.md- tsdown、unbuild、またはビルドスクリプトを設定する場合 -
references/eslint-config.md- ライブラリ開発向けに ESLint をセットアップする場合 -
references/api-design.md- パブリック API、ビルダーパターン、またはプラグインシステムを設計する場合 -
references/type-patterns.md- 高度な TypeScript 型または型推論を使用する場合 -
references/testing.md- vitest をセットアップするか、ライブラリコードのテストを作成する場合 -
references/release.md- リリースワークフローまたはバージョニングを設定する場合 -
references/ci-workflows.md- GitHub Actions または CI/CD パイプラインをセットアップする場合
すべてのファイルを一度に読み込まないでください。 現在のタスクに関連するものだけを読み込んでください。
新規ライブラリワークフロー
- プロジェクト構造を作成 →
references/project-setup.mdを読み込み package.jsonエクスポート設定 →references/package-exports.mdを読み込み- tsdown でビルド設定 →
references/build-tooling.mdを読み込み - ビルドを検証:
pnpm build && pnpm pack --dry-run— 出力に.mjs、.cjs、.d.tsが含まれていることを確認 - テストを追加 →
references/testing.mdを読み込み - リリース設定 →
references/release.mdを読み込み
クイックスタート
// package.json (最小構成)
{
"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 の両方のコンシューマーをサポート
moduleResolution: "Bundler"で最新の TypeScript に対応- ほとんどのビルドには tsdown、複雑なケースには unbuild
- スマートなデフォルト: 環境を検出し、設定を強制しない
- ツリーシェーキング対応: lazy getter、適切な
sideEffects: false
トークン効率: メインスキル ~300 トークン、各参考ファイル ~800-1200 トークン
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- onmax
- リポジトリ
- onmax/nuxt-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/onmax/nuxt-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。