mcpField
M
migrate-js-to-modern-typescript

migrate-js-to-modern-typescript

github.com/pproenca開発218136 回インストール11 週間前に更新
リポジトリ

migrate-js-to-modern-typescript について

JavaScript のコードベースを厳格なモダン TypeScript へ段階的に移行するための、42 のルールを収録したリファレンススキルです。設定、型付け、実行時検証、慣用表現の変換、ビルドツールを扱い、移行中もコンパイルを維持する方針を示します。

主な機能

  1. 017 分野にわたる 42 のルール
  2. 02優先順位付きの段階的な移行指針
  3. 03厳格さと tsconfig の方針
  4. 04型付けと実行時検証の指針
  5. 05ビルド、ツール、CI の推奨事項

活用シーン

  1. 01JavaScript から TypeScript への段階的な移行計画
  2. 02混在コードベースで厳格なチェックを導入
  3. 03安全でない any、型アサーション、非 null アサーションの置換
  4. 04外部データや環境変数の型検証

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill migrate-js-to-modern-typescript

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

同梱ファイル

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

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
idiom-default-export-to-named.md
idiom-enum-to-union-or-const.md
idiom-optional-chaining-over-guards.md
idiom-prototype-to-class.md
idiom-replace-arguments-object.md
idiom-require-to-import.md
idiom-type-only-imports.md
runtime-derive-types-from-schemas.md
runtime-type-environment-variables.md
runtime-type-guards-at-boundaries.md
runtime-type-json-parse.md
runtime-validate-external-data.md
setup-allowjs-checkjs-bridge.md
setup-jsdoc-before-rename.md
setup-migrate-leaves-first.md
setup-modern-module-resolution.md
setup-noemitonerror-isolatedmodules.md
setup-prefer-ts-expect-error.md
setup-skiplibcheck-during-migration.md
strict-enable-flags-incrementally.md
strict-exact-optional-property-types.md
strict-no-implicit-any.md
strict-no-unchecked-indexed-access.md
strict-prioritize-null-checks.md
strict-use-unknown-in-catch.md
surface-annotate-exported-signatures.md

詳細

JavaScript から TypeScript への移行におけるベストプラクティス

大規模な一括書き換えを行わずに、JavaScript のコードベースを厳格でモダンな TypeScript に移行するためのガイドです。影響度に基づいて優先順位を付けた 7 カテゴリ・42 のルールを収録しており、ビルドを常に通る状態に保ちながら、ファイル単位で段階的に移行できます。

適用する場面

次のような場合に、これらのガイドラインを参照してください。

  • .js のコードベースを .ts に変換するとき(プロジェクト全体、または一度に 1 モジュールずつ)
  • JSDoc やアノテーションを使って、既存の JavaScript に型を追加するとき
  • JavaScript と TypeScript が混在するリポジトリで、tsconfig と allowJs の方針を決めるとき
  • 大規模なコードベースで strict モードや個別の strict フラグを有効にするとき
  • 手早い変換で残った any、as キャスト、! アサーションを置き換えるとき
  • 外部データ(JSON、環境変数、API レスポンス)を検証して、記述した型が実行時にも正しいことを確かめるとき
  • CommonJS を ESM に、プロトタイプをクラスに変換するなど、ほかの JavaScript のイディオムを TypeScript に変換するとき
  • TypeScript の型チェックと公開に向けて、ビルド、ランナー、CI を更新するとき

移行の流れ

tsconfig & strategy → strictness ratchet → type the surfaces → kill any/casts
   → validate runtime boundaries → convert JS idioms → tooling/build/CI

前半の判断は後続の工程に連鎖します。tsconfig を誤って設定したり、上位から順に変換したりすると、モジュールに二度型を付け直すことになります。また、早い段階で any が大量に発生すると、後続のすべてに悪影響が及びます。このパイプラインの前半から始め、依存グラフの末端から内側へと進めてください。

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1移行のセットアップと tsconfigCRITICALsetup-
2厳格性の段階的な引き上げCRITICALstrict-
3公開インターフェースの型付けHIGHsurface-
4any と安全でないキャストの置き換えHIGHunsafe-
5実行時データの検証MEDIUM-HIGHruntime-
6JavaScript から TypeScript へのイディオム変換MEDIUMidiom-
7ツールとビルドの移行LOW-MEDIUMtooling-

クイックリファレンス

1. 移行のセットアップと tsconfig(CRITICAL)
2. 厳格性の段階的な引き上げ(CRITICAL)
3. 公開 API の型付け(HIGH)
4. any と安全でない型アサーションの置き換え(HIGH)
5. 実行時のデータ検証(MEDIUM-HIGH)
6. JS から TS のイディオムへの変換(MEDIUM)
7. ツールとビルドの移行(低〜中)

使用方法

詳細な説明とコード例については、個別のリファレンスファイルをお読みください。

関連スキル

  • typescript-refactor — すでに TypeScript で書かれたコードのリファクタリングとモダナイズ
  • typescript-advanced-patterns — 移行完了後に使う高度な型レベルのパターン

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート
metadata.jsonバージョンとリファレンス情報

コメント