ts-google について
Google の社内標準を基にした、AI エージェントと LLM 向けの TypeScript スタイルガイドです。優先度付きのルールで、モジュール、型、クラス、関数、制御フローなどを扱います。
主な機能
- 018 カテゴリーにわたる 45 のルール
- 02モジュール構成と型安全性の指針
- 03クラスと関数の設計指針
- 04制御フロー、エラー、命名の規則
活用シーン
- 01新しい TypeScript コードの作成
- 02モジュールとインポートの整理
- 03コードスタイルの一貫性の確認
- 04既存の TypeScript コードのリファクタリング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill ts-googleインストール後、Claude Code で/ts-googleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonassets/templates/_template.mdreferences/_sections.mdclass-constructor-parens.mdclass-no-private-fields.mdclass-no-prototype-manipulation.mdclass-no-static-containers.mdclass-parameter-properties.mdclass-readonly-properties.mdcontrol-always-use-braces.mdcontrol-for-of-iteration.mdcontrol-no-assignment-in-condition.mdcontrol-switch-default.mdcontrol-triple-equals.mderror-avoid-assertions.mderror-catch-unknown.mderror-empty-catch-comments.mderror-throw-errors.mdfunc-arrow-concise-bodies.mdfunc-avoid-this-rebinding.mdfunc-declarations-over-expressions.mdfunc-default-parameters.mdfunc-generator-syntax.mdfunc-rest-parameters.mdliteral-array-constructor.mdliteral-explicit-coercion.mdliteral-number-formats.mdliteral-single-quotes.mdmodule-es6-modules.md詳細
Google TypeScript のベストプラクティス
Google の社内標準に基づく包括的な TypeScript スタイルガイドです。AI エージェントと LLM 向けに設計されています。8 つのカテゴリにわたる 45 のルールが含まれており、影響度の高い順に優先順位を付けて、自動リファクタリングとコード生成を支援します。
適用するタイミング
以下の場合に、これらのガイドラインを参照してください。
- 新しい TypeScript コードを記述するとき
- モジュールとインポートを整理するとき
- 型注釈とインターフェースを設計するとき
- クラスと関数を作成するとき
- スタイルの一貫性を確認するためにコードをレビューするとき
- 既存の TypeScript コードをリファクタリングするとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | モジュール構成 | CRITICAL | module- |
| 2 | 型安全性 | CRITICAL | types- |
| 3 | クラス設計 | HIGH | class- |
| 4 | 関数のパターン | HIGH | func- |
| 5 | 制御フロー | MEDIUM-HIGH | control- |
| 6 | エラー処理 | MEDIUM | error- |
| 7 | 命名とスタイル | MEDIUM | naming- |
| 8 | リテラルと型変換 | LOW-MEDIUM | literal- |
クイックリファレンス
1. モジュール構成(CRITICAL)
module-named-exports- デフォルトエクスポートではなく、名前付きエクスポートを使用しますmodule-no-mutable-exports- 可変なエクスポートを避けますmodule-es6-modules- ES6 モジュールのみを使用しますmodule-no-namespaces- TypeScript の名前空間を避けますmodule-import-paths- プロジェクト内のインポートには相対パスを使用しますmodule-import-type- 型のみのインポートには import type を使用しますmodule-export-api-surface- エクスポートする API の範囲を最小限に抑えます
2. 型安全性(CRITICAL)
types-no-any- any 型は決して使用しませんtypes-prefer-interfaces- オブジェクトには型エイリアスよりインターフェースを優先しますtypes-explicit-structural- 構造型には明示的に注釈を付けますtypes-nullable-patterns- null 許容型を適切に扱いますtypes-array-syntax- 一貫した配列型の構文を使用しますtypes-no-wrapper-types- ラッパーオブジェクト型は決して使用しませんtypes-prefer-map-set- インデックスシグネチャより Map と Set を優先しますtypes-no-empty-object- 空のオブジェクト型を避けます
3. クラス設計(HIGH)
class-parameter-properties- コンストラクターでの代入にはパラメータプロパティを使用しますclass-readonly-properties- 再代入されないプロパティには readonly を付けますclass-no-private-fields- private フィールドではなく、TypeScript の private を使用しますclass-no-static-containers- 静的メンバーのみを持つコンテナークラスを避けますclass-constructor-parens- コンストラクターの呼び出しでは必ず括弧を使用しますclass-no-prototype-manipulation- プロトタイプを直接操作してはいけません
4. 関数パターン(高)
func-declarations-over-expressions- 関数式より関数宣言を優先するfunc-arrow-concise-bodies- 適切な場合は簡潔なアロー関数の本体を使用するfunc-avoid-this-rebinding-thisの再バインドを避けるfunc-rest-parameters-argumentsよりレストパラメーターを使用するfunc-generator-syntax- 正しいジェネレーター関数の構文を使用するfunc-default-parameters- デフォルトパラメーターは控えめに使用する
5. 制御フロー(中~高)
control-always-use-braces- 制御構文では常に波括弧を使用するcontrol-triple-equals- 常に厳密等価演算子を使用するcontrol-for-of-iteration- 配列にはfor-inよりfor-ofを優先するcontrol-switch-default-switchには常にdefaultケースを含めるcontrol-no-assignment-in-condition- 条件式での代入を避ける
6. エラー処理(中)
error-throw-errors- 常にErrorインスタンスをスローするerror-catch-unknown-catch節の変数の型をunknownにするerror-empty-catch-comments- 空のcatchブロックには説明を記載するerror-avoid-assertions- 型アサーションと非 null アサーションを避ける
7. 命名とスタイル(中)
naming-identifier-styles- 正しい識別子の命名スタイルを使用するnaming-descriptive-names- 内容がわかる名前を使用するnaming-no-decorative-underscores- 装飾目的のアンダースコアを避けるnaming-no-interface-prefix- インターフェース名に I 接頭辞を付けないnaming-constants- 真の定数には CONSTANT_CASE を使用する
8. リテラルと型変換(低~中)
literal-single-quotes- 文字列にはシングルクォートを使用するliteral-number-formats- 正しい数値リテラル形式を使用するliteral-explicit-coercion- 明示的な型変換を使用するliteral-array-constructor-Arrayコンストラクターを避ける
使用方法
詳しい説明とコード例については、各リファレンスファイルをお読みください。
リファレンスファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全なガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンとリファレンス情報 |
コメント
Markdown 対応