js-google について
AI エージェントと LLM 向けの JavaScript スタイル・ベストプラクティススキルです。モジュール、言語機能、型注釈、コードスタイルの指針を優先度別にまとめています。
主な機能
- 01優先順位別のルール
- 02モジュールと import・export の規約
- 03JavaScript 言語機能の指針
- 04JSDoc による型安全性の指針
- 05命名と制御フローの規約
- 06関数、データ、書式のルール
活用シーン
- 01新しい JavaScript または ES6+ コードの作成
- 02スタイルと命名の一貫性のレビュー
- 03既存 JavaScript コードのリファクタリング
- 04export 関数への JSDoc 追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill js-googleインストール後、Claude Code で/js-googleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdcontrol-comment-empty-catch.mdcontrol-for-of-over-for-in.mdcontrol-strict-equality.mdcontrol-switch-default-last.mdcontrol-throw-error-objects.mddata-array-literals-over-constructor.mddata-destructuring-for-multiple-values.mddata-no-mixing-quoted-unquoted-keys.mddata-object-literals-over-constructor.mddata-spread-over-concat-slice.mddata-trailing-commas.mdformat-braces-required.mdformat-column-limit.mdformat-one-statement-per-line.mdformat-single-quotes.mdformat-two-space-indent.mdfunc-arrow-functions-for-nested.mdfunc-arrow-parentheses.mdfunc-default-parameters.mdfunc-rest-parameters-over-arguments.mdfunc-spread-over-apply.mdlang-const-over-let-over-var.mdlang-es6-classes-over-prototypes.mdlang-explicit-semicolons.mdlang-no-eval.md詳細
Google JavaScript ベストプラクティス
Google の公式 JavaScript スタイルガイドに基づく、包括的な JavaScript のスタイルとベストプラクティスのガイドです。AI エージェントと LLM 向けに設計されています。8 つのカテゴリにわたる 47 のルールを含み、自動リファクタリングやコード生成の指針となるよう、影響度に応じて優先順位を付けています。
適用するタイミング
次の場合にこれらのガイドラインを参照してください。
- 新しい JavaScript または ES6 以降のコードを記述するとき
- モジュールの構成やインポート/エクスポートを管理するとき
- JSDoc の型注釈やドキュメントを追加するとき
- 命名やスタイルの一貫性についてコードをレビューするとき
- 既存の JavaScript コードをリファクタリングするとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | モジュールシステムとインポート | CRITICAL | module- |
| 2 | 言語機能 | CRITICAL | lang- |
| 3 | 型安全性と JSDoc | HIGH | type- |
| 4 | 命名規則 | HIGH | naming- |
| 5 | 制御フローとエラー処理 | MEDIUM-HIGH | control- |
| 6 | 関数とパラメーター | MEDIUM | func- |
| 7 | オブジェクトと配列 | MEDIUM | data- |
| 8 | 書式とスタイル | LOW | format- |
クイックリファレンス
1. モジュールシステムとインポート(CRITICAL)
module-avoid-circular-dependencies- 循環インポートによる読み込みの失敗を防ぎますmodule-file-extension-in-imports- インポートパスに .js 拡張子を含めますmodule-named-exports-over-default- 一貫性を保つため、名前付きエクスポートを優先しますmodule-no-duplicate-imports- 同じファイルからインポートするのは 1 回だけにしますmodule-no-import-aliasing- 元のエクスポート名を維持しますmodule-source-file-structure- 標準的なファイル構成の順序に従います
2. 言語機能(CRITICAL)
lang-const-over-let-over-var- 既定では const を使い、var は使いませんlang-es6-classes-over-prototypes- プロトタイプの操作ではなく、class 構文を使いますlang-explicit-semicolons- 常にセミコロンを明示しますlang-no-eval- eval や Function コンストラクターは使いませんlang-no-modify-builtins- 組み込みプロトタイプは変更しませんlang-no-non-standard-features- 標準の ECMAScript 機能のみを使いますlang-no-primitive-wrappers- プリミティブのラッパーオブジェクトは使いませんlang-no-with-statement- with 文は使いません
3. 型安全性と JSDoc(HIGH)
type-cast-with-parentheses- 型キャストには括弧を使いますtype-enum-annotations- 列挙型には静的なリテラル値で注釈を付けますtype-explicit-nullability- null 許容性修飾子を明示的に使いますtype-jsdoc-required-for-exports- エクスポートする関数には JSDoc を必須としますtype-template-parameters- テンプレートパラメーターを常に指定しますtype-typedef-for-complex-types- 複雑なオブジェクト型には typedef を使います
4. 命名規則(高)
naming-constant-case-for-constants- 不変値にはCONSTANT_CASEを使用しますnaming-descriptive-over-brief- 簡潔さよりも分かりやすい名前を優先しますnaming-file-naming-conventions- 小文字とハイフンまたはアンダースコアを使用しますnaming-lowercamelcase-for-methods- メソッドと変数にはlowerCamelCaseを使用しますnaming-no-dollar-prefix- 識別子の先頭にドル記号を付けないでくださいnaming-uppercamelcase-for-classes- クラスにはUpperCamelCaseを使用します
5. 制御フローとエラー処理(中〜高)
control-comment-empty-catch- 空のcatchブロックには説明を記述しますcontrol-for-of-over-for-in- for-inよりもfor-ofを優先しますcontrol-strict-equality- nullのチェックを除き、厳密等価演算子を使用しますcontrol-switch-default-last- switchには必ずdefaultケースを含めますcontrol-throw-error-objects- 必ずErrorオブジェクトをスローします
6. 関数とパラメーター(中)
func-arrow-functions-for-nested- ネストされた関数にはアロー関数を優先しますfunc-arrow-parentheses- アロー関数のパラメーターは必ず括弧で囲みますfunc-default-parameters- 条件分岐の代わりにデフォルトパラメーターを使用しますfunc-rest-parameters-over-arguments- argumentsよりもレストパラメーターを使用しますfunc-spread-over-apply- applyの代わりにスプレッド演算子を使用します
7. オブジェクトと配列(中)
data-array-literals-over-constructor- Arrayコンストラクターよりも配列リテラルを使用しますdata-destructuring-for-multiple-values- 複数のプロパティには分割代入を使用しますdata-no-mixing-quoted-unquoted-keys- 引用符付きキーと引用符なしキーを混在させないでくださいdata-object-literals-over-constructor- コンストラクターよりもオブジェクトリテラルを使用しますdata-spread-over-concat-slice- concatやsliceよりもスプレッド演算子を使用しますdata-trailing-commas- 複数行のリテラルでは末尾にカンマを付けます
8. 書式とスタイル(低)
format-braces-required- 制御構文では必ず波括弧を使用しますformat-column-limit- 1行を80文字以内にしますformat-one-statement-per-line- 1行に1つの文を記述しますformat-single-quotes- 文字列リテラルにはシングルクォートを使用しますformat-two-space-indent- 2スペースでインデントします
使用方法
詳しい説明とコード例については、個別のリファレンスファイルを参照してください。
- セクションの定義 - カテゴリーの構成と影響度
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
完全版のコンパイル済みドキュメント
すべてのルールをまとめた完全版ガイドについては、AGENTS.mdを参照してください。
参考ファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全なガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンと参照情報 |
コメント
Markdown 対応