日本語

追加のコードコンテキストを追加する

Code Contextは、チーム独自のコーディング慣行や例外をAikidoが理解するのに役立ちます。コードベースに関するコンテキストを提供することで、Code Qualityによるプルリクエストの分析方法を微調整でき、ノイズを減らし、チームの基準に沿った、より的確なレビューを実現できます。

同じガイダンスをリポジトリ内に置くこともできます。すべてのレビューに適用したい場合は、ルートにAGENTS.mdをコミットしてください。リポジトリファイルでエージェントをガイドするを参照してください。

Code Contextとは?

Code Contextを使うと、チーム固有のコーディング規約、アーキテクチャ上の決定、一般的なベストプラクティスに対する許容される例外をAikidoに教えることができます。これにより、Code Qualityのコメントが汎用的なものではなく、的確で実行可能なものになります。

Code Contextは、チームの「暗黙知」、つまりチームメンバー全員が知っているものの従来のリンティングルールでは捉えられない、明文化されていないルールや例外を文書化する手段と考えてください。

Code Contextの一般的な例

パフォーマンスとアーキテクチャに関する決定

Our data-export-service repository is our nightly batch processor for archived data. We intentionally avoid database indexes here because the tables are append-only and indexes would slow down our bulk insert operations.

ツール固有の例外

Debug logging and console.log statements are acceptable in our troubleshooting-utils repository as these are CLI tools designed for debugging production issues.

社内ツール向けの緩和された基準

For data migration scripts in the migrations/ folder, we exceed line count limits multiple times. This is acceptable as these are one-time scripts. We also don't enforce strict error handling in internal-facing scripts because our team knows how to use them.

インポートの規約

Wildcard imports (import * as) are acceptable when importing from our @company/ui-components library as we intentionally export all components as a single namespace.

ドキュメントの要件

Relaxed JSDoc requirements apply to internal helper functions in the utils/ folder. Full documentation is only required for exported public APIs.

パフォーマンスの最適化

Performance-critical functions in our real-time-processing module can skip certain TypeScript strict checks when properly commented with @performance-critical.

追加のCode Contextを追加する方法

ステップ1. Code Quality Checksページに移動し、Code Contextをクリックします

ステップ2. Add Code Contextをクリックして、新しいコードコンテキストを追加します。

ステップ3. Code Contextを定義します

  • チームの慣行や例外を説明する明確な説明を記述します
  • スコープを選択します:
    • All repositories - 組織全体に適用されます
    • Selected repositories - 特定のリポジトリにのみ適用されます

効果的なコンテキストを書くためのヒント

推奨:

  • 例外がいつ、なぜ適用されるのかを具体的に記述する
  • 特定のフォルダ、ファイルパターン、またはリポジトリを参照する
  • アーキテクチャ上の決定の背景にある理由を説明する
  • 明確で簡潔な言葉を使う

非推奨:

  • 品質チェックの目的を損なうような、広すぎる例外を作成する
  • チェックのオン/オフ切り替えですでに対応できる内容を重複して記述する
  • スコープが明確でない曖昧な記述をする

Code ContextとCustom Code Rulesの比較

どちらの機能をいつ使うべきかを理解するための簡単なガイドラインを以下に示します

Code Contextを使用する場合:

  • 特定の領域でベストプラクティスに対する許容される例外がある場合
  • 特定の状況に合わせて既存のルールを調整する必要がある場合
  • アーキテクチャ上の決定について説明を提供したい場合

Custom Code Rulesを使用する場合:

  • デフォルトのチェックでカバーされていない新しい基準を適用する必要がある場合
  • コードベース固有の特定のパターンを検出したい場合
  • 一貫した検出による厳格な適用が必要な場合
  • 特定の違反に対してPRをブロックしたい場合

フィードバックを使ってCode Contextを生成する

プルリクエストから直接、追加のコードコンテキストを追加できます。フィードバックや説明を添えて@AikidoSec宛てにコメントを投稿するだけで、Aikidoが自動的にそれを処理し、今後のレビューのインサイトを改善します。