mcpField
F
fusion-code-conventions

fusion-code-conventions

github.com/equinor開発2.2k 回インストール
リポジトリ

fusion-code-conventions について

fusion-code-conventionsは、複数の言語とMarkdownでプロジェクト規約に沿った記述、説明、レビューを支援するスキルです。言語別ルールに加えて意図や意思決定記録を確認し、リポジトリ固有の方針を優先します。

主な機能

  1. 01TypeScript、React、C#、Markdownに対応
  2. 02命名、型、文書、エラー処理を確認
  3. 03コメントの意図と意思決定記録を並行して確認
  4. 04リポジトリ方針とツール設定を優先
  5. 05指摘を必須、推奨、参考に分類

活用シーン

  1. 01プロジェクト規約への適合性をコードレビュー
  2. 02命名、文書、コメントのルールを確認
  3. 03ADRやコントリビューションガイドとの整合性を確認
  4. 04承認後に提案されたコード修正を適用

インストール

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

$npx skills add https://github.com/equinor/fusion-skills --skill fusion-code-conventions

インストール後、Claude Code で/fusion-code-conventionsを入力して読み込まれたか確認します。

同梱ファイル

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

CHANGELOG.md
agents/
constitution.agent.md
csharp.agent.md
intent.agent.md
markdown.agent.md
react.agent.md
typescript.agent.md
assets/
core-service.follow-up.md
framework-core-developer.follow-up.md
react-app.follow-up.md
references/
csharp.conventions.md
markdown.conventions.md
react.conventions.md
typescript.conventions.md

詳細

コード規約

使用する場面

プロジェクトの規約に照らして、コードのレビュー、作成、説明を行う場合に使用します。次の2つのレイヤーに適用されます。

  • 言語規約 — 命名、ファイル名、型システム、TSDoc/XML ドキュメントの規約、コード構成、エラー処理、非同期処理のパターン、デッドコードの方針。各言語には専用のエージェントと正式な参照ドキュメントがあります。
  • 横断的な規約 — すべてのレビューに適用されます。意図の記録(明白でない判断はすべて、コメントだけからコードを再生成できるほど十分に文書化する必要があります)と、憲章の遵守(ADR とコントリビューター向けドキュメントを規範とし、逸脱には新たな意思決定記録が必要です。古くなった判断にはフラグを立てます)。

典型的な使用例:

  • 「このプロジェクトの命名規約は何ですか?」
  • 「この関数の TSDoc はどのように書けばよいですか?」
  • 「このファイルはコードスタイルに従っていますか?」
  • 「規約違反がないかレビューしてください」
  • 「ここではどのようなコメントスタイルを使うべきですか?」
  • 「これは慣用的な TypeScript/React/C#/Markdown ですか?」
  • 「このファイルにコード規約を適用してください」
  • 「このインラインコメントで十分ですか?」
  • 「これは ADR に違反していますか?」
  • 「この ADR はまだ有効ですか?」
  • 「CONTRIBUTING.md があります。この変更がそれに従っているか確認してください」

使用しない場面

  • セキュリティ脆弱性のスキャン(専用のセキュリティレビュースキルを使用してください)
  • パフォーマンスのプロファイリングやベンチマーク
  • 高水準のアーキテクチャやシステム設計に関する判断
  • レビュー対象なしで新しいコードを生成する場合
  • ユーザーの明示的な確認なしにファイルを変更する場合

優先順位と適用範囲

このスキルは組織全体の基本規約を定めます。独自の規約があるリポジトリにインストールされている場合、優先順位は次のとおりです(上ほど優先されます)。

  1. リポジトリレベルのポリシー — CONTRIBUTING.md、コントリビューターガイド(contribute/)、ADR、.github/copilot-instructions.md、AGENTS.md、または同等のもの
  2. ツール設定 — biome.json、tsconfig.json、.editorconfig、リンター設定
  3. このスキル — references/*.conventions.md のすべてのルールとエージェントモード

リポジトリで、このスキルのルールを明示的に限定、緩和、または矛盾させている場合は、リポジトリのポリシーが優先されます。スキルの基本規約と異なっていても、リポジトリに文書化された規約に準拠するコードを指摘しないでください。

競合が文書化されていない場合(ADR、コントリビューター向けの注記、設定がない場合)は、スキルのルールをデフォルトとして扱い、チームが意図を記録するよう提案してください。

メンテナー向け: 規約の上書き設定は、CONTRIBUTING.md、コントリビューターガイド、または ADR に記録してください。そうすることで、人間とエージェントの双方が一貫して確認できます。

エージェントモード

エージェント適用対象
agents/typescript.agent.mdTypeScript の命名、TSDoc、型システム、コードスタイル、エラー処理
agents/react.agent.mdReact コンポーネントの構成、フックのルール、アクセシビリティ、キー
agents/csharp.agent.mdC# の命名、CQRS パターン、async/await、null 安全性、テスト
agents/markdown.agent.mdMarkdown の構成、フロントマター、リンク、コールアウト、GitHub 固有の構文
agents/intent.agent.md意図の記録 — すべてのコードレビューで並行して適用
agents/constitution.agent.mdADR とコントリビューター向けドキュメントの遵守 — プロジェクトに意思決定記録がある場合に並行して適用

規約の参照資料(言語ごとの正式なルール):

  • references/typescript.conventions.md
  • references/react.conventions.md
  • references/csharp.conventions.md
  • references/markdown.conventions.md

必須入力

必須入力が欠けている、または曖昧な場合は、作業を進める前に質問してください。

  • 対象コード(インラインスニペットまたはファイルパス)、または具体的な規約に関する質問
  • 言語またはファイル形式(指定がない場合は内容から推測)
  • 憲章チェックの場合:ADR ディレクトリおよび/またはコントリビューター向けドキュメントのパス(指定がない場合は、一般的な場所である docs/adr/、CONTRIBUTING.md、contribute/ から推測)

開発者のコンテキストやペルソナがわかっている場合は、assets/ 内の該当するフォローアップファイルを参照し、的を絞った確認質問をしてください。未回答の質問だけを尋ねてください。

  • assets/framework-core-developer.follow-up.md — Fusion Framework の内部実装、共有ライブラリ、フレームワーク API
  • assets/react-app.follow-up.md — Fusion React アプリの開発
  • assets/core-service.follow-up.md — Fusion Core バックエンドサービス(C# / .NET)

手順

ステップ 1 — 分類と振り分け

主要な言語を特定し、該当する言語エージェントを有効にします。

  • TypeScript(.ts、コンポーネントではない .tsx)→ agents/typescript.agent.md
  • React(JSX またはフックを含む .tsx、コンポーネントファイル)→ agents/react.agent.md
  • 混在する .tsx(TypeScript の型に関する懸念と React コンポーネントに関する懸念)→ 両方のエージェントを並行して実行
  • C#(.cs、.csproj)→ agents/csharp.agent.md
  • Markdown(.md、.mdx)→ agents/markdown.agent.md

コードレビューでは、必ず以下を並行して有効にします。

  • agents/intent.agent.md — 言語を問わず、すべてのレビューで実行
  • agents/constitution.agent.md — プロジェクトに ADR(docs/adr/、adr/)またはコントリビューター向けドキュメント(CONTRIBUTING.md、contribute/、.github/copilot-instructions.md)がある場合に実行

言語を特定できない場合は、作業を進める前に質問してください。

ステップ 2 — 規約の適用または説明

各言語エージェントは、まず権威ある参照ファイルを読み、その後、以下のように対応します。

  • 規約に関する質問には、ルールの説明と修正済みコード例を提示
  • コードレビューでは、規約からの逸脱を特定し、ルールを示して、修正版を提示
  • プロジェクトが biome.json または .editorconfig で明示的に設定しているパターンは指摘しない

意図エージェントと憲章エージェントは並行して実行され、統合レポートに調査結果を反映します。

ステップ 3 — 調査結果の提示

すべてのエージェントの調査結果を、次のように統合して提示します。

  • 必須 — 修正が必要:命名規則違反、エクスポートへの TSDoc の欠如、any 型、憲章違反
  • 推奨 — 修正すべき:意図を伝えるコメントの不足、説明のないマジック値、正当化されていない抑制
  • 参考 — 検討事項:意思決定記録の欠如、古くなった ADR、明文化すべき暗黙の例外

各指摘では、ルール、該当するコード、修正版または推奨される対応を示します。

ステップ 4 — 修正の適用

ユーザーが明示的に承認した修正のみを適用します。ワークスペースツールを使ってファイルを編集します。50 行未満の場合を除き、ファイル全体を書き換えないでください。

出力形式

  • 規約に関する質問の場合:修正済みコードまたはマークアップ例を添えたルールの説明
  • コードレビューの場合:言語規約、意図の明確さ、憲章への準拠を網羅した統合指摘レポート(必須/推奨/参考)
  • 修正の提案は、ファイルを変更する前にユーザーの明示的な承認を得る

安全性と制約

  • ユーザーの明示的な確認なしに、ファイルを変更してはいけません。
  • プロジェクトが biome.json または .editorconfig で採用しているスタイル上の選択を指摘してはいけません。
  • ADR の内容を作り上げてはいけません。実際に文書化されている内容のみを適用し、問題点を指摘してください。

コメント