# إعداد hooks: اختر ما تفحصه

> اختر ما تستثنيه hooks التي تفحص الملفات، لها جميعًا أو لواحد منها.

Canonical: https://lagune.ai/ar-AE/docs/hooks/configure
اللغة: ar-AE
الأصل: https://lagune.ai/docs/hooks/configure
آخر تحديث: 2026-11-09

تحدد الكتلة `checkers` في `.lagune/configs.json` ما تستثنيه hooks التي تفحص الملفات، لها جميعًا أو لواحد منها.

## طريقة الإعداد

أضف المسارات والأنماط أو أزلها من سطر الأوامر، مع وضع النمط بين علامتي اقتباس لتتركه الصدفة كما كُتب:

```bash
npx lagune write add --ignore test/fixtures
npx lagune write add --ignore 'packages/*/dist' --checker secrets
npx lagune write remove --ignore test/fixtures
```

أو اخترها من إعدادات [لوحة التحكم](https://lagune.ai/ar-AE/docs/get-started/dashboard)، أو حددها في الملف:

```json
{
  "checkers": {
    "ignore": ["test/fixtures"],
    "secrets": { "gitignore": false, "ignore": ["test/fixtures", "temp"] }
  }
}
```

### الإعدادات

| المفتاح     | القيمة                         | الافتراضي | الوصف                                                                          |
| ----------- | ------------------------------ | --------- | ------------------------------------------------------------------------------ |
| `gitignore` | `true` أو `false`              | `true`    | يستثني ما يتجاهله **Git**. أما الملف الذي يتتبعه **Git** فيُفحص في كل الأحوال. |
| `ignore`    | مسارات أو أنماط من جذر المشروع | `[]`      | يستثني ما يطابقه كل منها وكل ما تحته، حتى الملف الذي يتتبعه **Git**.           |

في المستوى الأعلى من `checkers`، ينطبق المفتاح على كل الفاحصات. وتحت اسم فاحص، ينطبق على ذلك الفاحص وحده ويحل محل المفتاح المشترك، ففي المثال يفحص `secrets` ما يتجاهله **Git** ويستثني `test/fixtures` و `temp`. وحين يمنح `write add --ignore` فاحصًا أول قائمة خاصة به، تبدأ تلك القائمة نسخةً من القائمة المشتركة.

### الأنماط

يبدأ النمط من جذر المشروع، لذلك يصل `*.generated.ts` إلى الملفات الموجودة هناك فقط، ويصل `**/*.generated.ts` إليها على أي عمق. وتُطابق الأسماء تمامًا، بما في ذلك حالة الأحرف.

| النمط               | ما يستثنيه                            |
| ------------------- | ------------------------------------- |
| `dist`              | `dist` في جذر المشروع                 |
| `packages/*/dist`   | `dist` في كل مجلد تحت `packages`      |
| `**/dist`           | كل `dist`، على أي عمق                 |
| `**/*.generated.ts` | كل ملف ينتهي اسمه بـ `.generated.ts`  |
| `fixture-?`         | `fixture-a` و `fixture-1` وما شابههما |
| `[ab]-cache`        | `a-cache` و `b-cache`                 |
| `[*]x`              | `*x`، مع `*` حرفية                    |

## كيف تقرأ النتيجة

ينتهي التقرير بعدد المسارات التي استثناها الفحص، حسب ما يتجاهلها:

```text
Skipped 25 paths that Git ignores and 3 paths that .lagune/configs.json ignores. Name one with --dir or --file to scan it.
```

المسار المحدد عبر `--dir` أو `--file` يُفحص أيًا كانت الإعدادات. والإعداد الذي لا يستطيع المحرك قراءته يوقف الفاحص بخطأ يذكره، مثل نمط يبدأ بـ `!` أو بمسافة، أو يخرج من المشروع، أو يترك قوسًا مفتوحًا، أو تستغرق مطابقته وقتًا طويلًا.

## الأسئلة الشائعة

### هل يحدد Lagune هذه الإعدادات نيابة عني؟

لا. يسرد ميثاق الأمان المجلدات المُضافة إلى المستودع التي تُظهر قراءته أنها ليست من الكود الذي يجب الدفاع عنه، مثل بيانات الاختبار المكتوبة لتبدو ضعيفة، ولا يسجّل إلا ما تختاره منها بالرقم.

### متى يجب أن يفحص الفاحص ما يتجاهله Git؟

حين لا يكون المستودع موثوقًا لديك، لأن ملفات ‎.gitignore الخاصة به قد تخفي كودًا، أو حين قد يحمل مجلد build مفتاحًا مُدرجًا وقت البناء. اضبط gitignore على false لكل الفاحصات أو لواحد منها.
