typescript-refactor
TypeScriptのリファクタリングおよびモダン化を、主任スペシャリストの視点からガイドするスキルです。型の安全性・コンパイラパフォーマンス・慣用的なパターンを担保するために、TypeScriptコードのリファクタリング・レビュー・モダン化を行う際に使用してください。型アーキテクチャ、型の絞り込み、ジェネリクス、エラーハンドリング、またはモダンなTypeScript機能へのマイグレーションに関わるタスクで自動的に適用されます。
description の原文を見る
TypeScript refactoring and modernization guidelines from a principal specialist perspective. This skill should be used when refactoring, reviewing, or modernizing TypeScript code to ensure type safety, compiler performance, and idiomatic patterns. Triggers on tasks involving TypeScript type architecture, narrowing, generics, error handling, or migration to modern TypeScript features.
SKILL.md 本文
TypeScript リファクタリング ベストプラクティス
AI エージェントと LLM 向けに設計された包括的な TypeScript リファクタリングと現代化ガイド。8 つのカテゴリにわたる 43 のルールを含み、自動リファクタリング、コードレビュー、コード生成を導くために影響度で優先順位付けされています。
適用するタイミング
以下の場合、これらのガイドラインを参照してください:
- TypeScript コードのタイプセーフティとメンテナンス性のためのリファクタリング
- 型アーキテクチャの設計 (判別可能な Union、ブランド型、ジェネリクス)
- 型の絞り込みによる安全でない
asキャストの排除 - 最新の TypeScript 4.x-5.x 機能への採用 (
satisfies、using、const 型パラメータ) - 大規模コードベースのコンパイラパフォーマンス最適化
- 型安全なエラーハンドリングパターンの実装
- TypeScript の落とし穴とアンチパターンのコードレビュー
ルールカテゴリ (優先度順)
| 優先度 | カテゴリ | 影響 | プレフィックス |
|---|---|---|---|
| 1 | 型アーキテクチャ | CRITICAL | arch- |
| 2 | 型の絞り込みとガード | CRITICAL | narrow- |
| 3 | 最新 TypeScript | HIGH | modern- |
| 4 | ジェネリクスパターン | HIGH | generic- |
| 5 | コンパイラパフォーマンス | MEDIUM-HIGH | compile- |
| 6 | エラー安全性 | MEDIUM | error- |
| 7 | ランタイムパターン | MEDIUM | perf- |
| 8 | 落とし穴とアンチパターン | LOW-MEDIUM | quirk- |
クイックリファレンス
1. 型アーキテクチャ (CRITICAL)
— 文字列列挙型の代わりに判別可能な Union を使用して完全パターンマッチングを実現arch-discriminated-unions— ドメイン識別子にブランド型を使用して値の混同を防止arch-branded-types— 設定オブジェクトにarch-satisfies-over-annotationsatisfiesを使用してリテラル型を保持— 型の交差の代わりにインターフェースを拡張してエラーメッセージを改善arch-interfaces-over-intersections— イミュータブルなリテラル推論にarch-const-assertionas constを使用— 関数のパラメータと戻り値をデフォルトで readonly 型にarch-readonly-by-default— ビルダーパターンのarch-avoid-partial-abusePartial<T>の悪用を回避
2. 型の絞り込みとガード (CRITICAL)
— 型アサーションの代わりにカスタム型ガードを記述narrow-custom-type-guards— 前提条件チェックに assertion 関数を使用narrow-assertion-functions—narrow-exhaustive-switchneverを使用して switch を完全に網羅— インターフェース Union にnarrow-in-operatorin演算子で絞り込み— 適切な絞り込みチェーンでnarrow-eliminate-as-castsasキャストを排除— プロパティアクセス前にnarrow-typeof-chainstypeof絞り込みを使用
3. 最新 TypeScript (HIGH)
— リソースクリーンアップにmodern-using-keywordusingキーワードを使用— リテラル推論に const 型パラメータを使用modern-const-type-parameters— 文字列パターンにテンプレートリテラル型を使用modern-template-literal-types— 型パラメータ推論を制御するためにmodern-noinfer-utilityNoInferを使用— 自動生成される getter と setter にmodern-accessor-keywordaccessorを使用— 明示的な import 型にmodern-verbatim-module-syntaxverbatimModuleSyntaxを有効化
4. ジェネリクスパターン (HIGH)
— 明示的なアノテーションの代わりに TypeScript に推論させるgeneric-infer-over-annotate— ジェネリクスは最小限の制約でgeneric-constrain-dont-overconstrain— 分配条件型の予期しない挙動を制御generic-avoid-distributive-surprises— 繰り返し変換に対してカスタムマップ型を構築generic-mapped-type-utilities— ジェネリック関数の戻り値型推論を保持generic-return-type-inference
5. コンパイラパフォーマンス (MEDIUM-HIGH)
— エクスポートされた関数に明示的な戻り値型を追加compile-explicit-return-types— 深くネストされた型定義を回避compile-avoid-deep-recursion— モノレポビルドにプロジェクト参照を使用compile-project-references— 大規模 Union 型の代わりにベース型を使用compile-base-types-over-unions
6. エラー安全性 (MEDIUM)
— スローされた例外の代わりに Result 型を使用error-result-type— 型付きエラーバリアントに完全なチェックを使用error-exhaustive-error-handling— catch 句の変数をerror-typed-catchunknownとして型付け— 到達不可能なコードパスを示すためにerror-never-for-unreachableneverを使用— ドメインエラーを判別可能な Union としてモデル化error-discriminated-error-unions
7. ランタイムパターン (MEDIUM)
— 列挙型の代わりに Union リテラルを使用perf-union-literals-over-enums— オブジェクト上のperf-avoid-delete-operatordelete演算子を回避— 真のイミュータビリティにperf-object-freeze-constObject.freezeとas constを使用—perf-object-keys-narrowingObject.keysの型拡張を回避— 動的コレクションにはプレーンオブジェクトの代わりにperf-map-set-over-objectMapとSetを使用
8. 落とし穴とアンチパターン (LOW-MEDIUM)
— オブジェクトリテラルの過剰プロパティチェックを理解quirk-excess-property-checks—quirk-empty-object-type{}型を避ける — これは非 null-ish を意味する—quirk-type-widening-letlet宣言での型の拡張を防止— ジェネリックインターフェースに分散アノテーションを使用quirk-variance-annotations— 構造的型付けのエスケープハッチから保護quirk-structural-typing-escapes
使い方
各リファレンスファイルを読んで詳細な説明とコード例を確認してください:
セクション定義— カテゴリ構造と影響レベルルールテンプレート— 新しいルール追加用テンプレート
リファレンスファイル
| ファイル | 説明 |
|---|---|
references/_sections.md | カテゴリ定義と順序付け |
assets/templates/_template.md | 新しいルール用テンプレート |
metadata.json | バージョンとリファレンス情報 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- pproenca
- リポジトリ
- pproenca/dot-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/pproenca/dot-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。