# AutoFixのカスタムコンテキスト

Aikidoでは、SASTルールに追加のカスタムコンテキストや指示を加え、AutoFixを好みに合わせて強化できます。

一般的なユースケースには次のようなものがあります:

* 特定のエラーハンドリングやロギングロジックを導入する
* カスタムコメントスタイルを追加する
* AutoFixにユニットテストを含める
* コードリポジトリにない追加コンテキストを提供する
* AutoFixの対象範囲を絞り込む

## SASTルールレベルでのカスタムコンテキスト

SASTルール向けのカスタムコードコンテキストの詳細なドキュメントは [こちら](https://help.aikido.dev/code-scanning/scanning-practices/custom-code-context-for-sast-rules)で確認できます。Aikidoでは、カスタムコードコンテキストを問題のスキャン（AutoTriage）と修正（AutoFix）の両方に使用します。

カスタムコードコンテキストは、すべてのコードリポジトリまたは一部のリポジトリに対して設定できます。

## グローバルカスタムコンテキスト

**リポジトリごとのカスタムコンテキスト**

コードリポジトリ内のすべてのAutoFixルールに対してカスタムコンテキストを提供したい場合は、次を `.aikido` コードリポジトリ内のファイルに追加してください（詳細は `.aikido` ファイル [はこちらで確認できます](https://help.aikidogov.us/docs/docs-ja/code-scanning/scanning-practices/ignore-via-code-with-aikido-files))

<pre><code>autofix:
<strong>  fix_context:
</strong><strong>    - path: aikido-autofix-all.md
</strong></code></pre>

この例を機能させるには、 `aikido-autofix-all.md` がリポジトリのルートに存在し、コンテキストを含んでいる必要があります。

**言語ごとのカスタムコンテキスト**

設定を特定の言語に絞り込むには、次を使用します:

```
autofix:
  fix_context:
    - path: aikido-autofix-javascript.md
      language: javascript
```

language に使用できる値は次のとおりです:

* .net
* android
* c
* clojure
* dart
* elixir
* go
* ios
* java
* javascript
* kotlin
* php
* python
* ruby
* rust
* scala
* swift
* terraform
* typescript
* vb
* yaml
