elements-new-package について
Elements リポジトリで `@editframe/*` ワークスペースパッケージを作成するスキルです。必要なファイルと TypeScript のパスエイリアスを自動設定し、公開や依存関係の管理方法も案内します。
主な機能
- 01ワークスペースパッケージのファイル生成
- 02TypeScript パスエイリアスの登録
- 03パッケージ公開設定とビルド設定
- 04npm 公開手順の案内
活用シーン
- 01Elements パッケージの新規作成
- 02パッケージのインポートパス登録
- 03npm 公開の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ editframe/ skills --skill elements-new-packageインストール後、Claude Code で/elements-new-packageを入力して読み込まれたか確認します。
詳細
新しい Elements パッケージの作成
scripts/new-package を使用して、新しい @editframe/* ワークスペースパッケージをひな形から作成します。必要なファイルをすべて作成し、パスエイリアスの唯一の信頼できる情報源である tsconfig.json にパッケージを登録します。
クイックスタート
# From the elements/ directory (or via the runner)
./scripts/new-package <name>
# e.g. ./scripts/new-package captions
# Then install to symlink the workspace package
./scripts/npm install
スクリプトの処理内容
packages/<name>/ を作成します。
src/index.ts— 空のエクスポート用スタブpackage.json— 正しいバージョン、ESM エクスポート、publishConfig.access: "public"tsconfig.json— ルート設定を継承tsdown.config.ts— 最小限のビルド設定
elements/tsconfig.json にパスエントリーを追加します。
"@editframe/<name>": ["./packages/<name>/src/index.ts"]
両方の vitest 設定(vitest.config.ts、vitest.config.browser.ts)は、vitest.aliases.ts を介して tsconfig.json からエイリアスを自動的に取得するため、手動で更新する必要はありません。
npm への新しいパッケージの公開
CI は OIDC の信頼済み公開(保存されたトークンは不要)を使用して公開します。OIDC の信頼済み公開を設定するには、事前にパッケージが npm に存在している必要があるため、最初の公開は手動で行います。
# One-time, run locally while logged in to npm
npm publish --access public --workspace @editframe/<name>
最初の公開後:
- npmjs.com →
@editframe/<name>→ Settings → Trusted Publisher に移動します - GitHub Actions を追加します。リポジトリは
editframe/elements、ワークフローはrelease.yaml、環境はnpm-publishです
以降のリリースはすべて、CI を介して自動的に公開されます。
パスエイリアスの登録
新しいエントリーが必要なのは tsconfig.json のみです。スクリプトが自動的に追加します。サブパスのエクスポート(例:@editframe/foo/node)が必要な場合は、tsconfig.json に手動で追加してください。基本のエイリアスは Vite のプレフィックス置換を通じてサブパスのインポートを自然に処理するため、明示的なエントリーが必要なのは src/<name>.ts のパターンに従わないファイルだけです。
他のワークスペースパッケージへの依存関係の追加
新しいパッケージの package.json の dependencies に、現在のワークスペースバージョンを使用して兄弟パッケージを追加します(ルートの package.json を確認してください)。再度シンボリックリンクを作成するには、./scripts/npm install を実行します。バージョンを更新した後、パッケージ間のすべてのバージョン指定を同期した状態に保つには、./scripts/node scripts/deps.js update-dependencies を実行します。