
ATHF هو إطار عمل للصيد الاستباقي للتهديدات المعتمدة على الوكلاء - بناء أنظمة يمكنها التذكر والتعلم والتصرف باستقلالية متزايدة.
# إطار عمل الصيد الاستباقي للتهديدات (ATHF)

[](https://pypi.org/project/agentic-threat-hunting-framework/)
[](https://pypi.org/project/agentic-threat-hunting-framework/)
[](https://www.python.org/downloads/)
[](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/LICENSE)
[](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/stargazers)
**[البدء السريع](#-quick-start)** • **[التثبيت](#installation)** • **[التوثيق](#documentation)** • **[أمثلة](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)**
*امنح برنامج الصيد الاستباقي للتهديدات ذاكرةً وفاعلية.*
**إطار عمل الصيد الاستباقي للتهديدات (ATHF)** هو طبقة الذاكرة والأتمتة لبرنامج الصيد الاستباقي للتهديدات الخاص بك. يمنح عمليات الصيد الخاصة بك بنيةً واستمراريةً وسياقاً - مما يجعل كل تحقيق سابق متاحاً لكلٍّ من البشر والذكاء الاصطناعي.
يعمل ATHF مع أي منهجية صيد (PEAK أو TaHiTI أو عمليتك الخاصة). إنه ليس بديلاً؛ بل هو الطبقة التي تجعل عمليتك الحالية جاهزة للذكاء الاصطناعي.
## ما هو ATHF؟
يوفر ATHF البنية والاستمرارية لبرامج الصيد الاستباقي للتهديدات. إنه إطار عمل قائم على Markdown يقوم بما يلي:
- توثيق عمليات الصيد باستخدام نمط LOCK (تعلّم ← راقب ← تحقق ← احتفظ)
- الحفاظ على مستودع قابل للبحث للتحقيقات السابقة
- تمكين مساعدي الذكاء الاصطناعي من الرجوع إلى بيئتك وعملك السابق
- العمل مع أي منصة SIEM/EDR
- **جديد:** يتضمن وكلاء بحث وتوليد فرضيات مدعومين بالذكاء الاصطناعي (v0.3.0+)
## المشكلة
تفقد معظم برامج الصيد الاستباقي للتهديدات سياقاً قيّماً بمجرد انتهاء عملية الصيد. تعيش الملاحظات في Slack أو التذاكر، وتُكتب الاستعلامات مرة واحدة ثم تُنسى، ولا توجد الدروس المستفادة إلا في عقول المحللين.
حتى أدوات الذكاء الاصطناعي تبدأ من الصفر في كل مرة دون الوصول إلى بيئتك أو بياناتك أو عمليات الصيد السابقة.
يغيّر ATHF ذلك بمنح عمليات الصيد الخاصة بك بنيةً واستمراريةً وسياقاً.
**اقرأ المزيد:** [docs/why-athf.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/why-athf.md)
## نمط LOCK
تتبع كل عملية صيد استباقي للتهديدات نفس الحلقة الأساسية: **تعلّم ← راقب ← تحقق ← احتفظ**.

- **تعلّم:** اجمع السياق من استخبارات التهديدات أو التنبيهات أو الحالات الشاذة
- **راقب:** صِغ فرضية حول سلوك الخصم
- **تحقق:** اختبر الفرضيات باستعلامات موجّهة
- **احتفظ:** سجّل النتائج والدروس المستفادة
**لماذا LOCK؟** إنه صغير بما يكفي للاستخدام وصارم بما يكفي ليتمكن الوكلاء من تفسيره. من خلال توثيق كل عملية صيد بهذا التنسيق، يمكّن ATHF مساعدي الذكاء الاصطناعي من استرجاع العمل السابق واقتراح استعلامات محسّنة بناءً على النتائج السابقة.
**اقرأ المزيد:** [docs/lock-pattern.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/lock-pattern.md)
## منهجية GATES: التحقق من ترقية الصيد إلى كشف
بعد إكمال مرحلة **KEEP** في عملية الصيد، تتحقق **منهجية GATES** مما إذا كان ينبغي ترقية نتائجك إلى عمليات كشف إنتاجية أو عمليات صيد متكررة أو تنبيهات.
**G**eneralizable (قابل للتعميم)، **A**dditive (إضافي)، **T**unable (قابل للضبط)، **E**xposure-tested (مُختبر ضد التعرض)، **S**ustainable (مستدام)
> **ملاحظة:** صُممت GATES للعمل مع إطار عمل ATHF وقد اختُبرت على نطاق واسع في هذا السياق. في حين أن المنهجية (5 معايير BASE، أنواع الأحكام) قابلة للنقل من الناحية المفاهيمية، فإننا نوصي باستخدامها كجزء من سير عمل ATHF الكامل للحصول على أفضل النتائج. راجع `.claude/skills/gates/` للتكامل الكامل.
> **التثبيت:** GATES متاحة حالياً عبر `git clone` فقط. يجب على المستخدمين الذين ثبّتوا عبر `pip install` استنساخ المستودع للوصول إلى GATES. نعمل على تضمين GATES في توزيع pip (مُتتبَّع كـ Issue #21).
تقيّم GATES عمليات الكشف المستمدة من الصيد باستخدام إطار عمل من مستويين: 5 معايير BASE (تُقيَّم من بيانات الصيد) تحدد المرشحين للنشر، بينما تضمن 5 معايير ADVANCED (تُتحقق في الإنتاج) **عمليات كشف مرنة بمعدلات منخفضة من الإيجابيات الكاذبة والسلبيات الكاذبة**:
| البوابة | السؤال | ما تكشفه |
|------|----------|---------|
| **G** - قابل للتعميم | هل هذا قابل للتكرار؟ | القواعد القائمة على IOC التي تنتهي صلاحيتها بسرعة |
| **A** - إضافي | هل يسد فجوة في التغطية؟ | عمليات الكشف المكررة أو الزائدة |
| **T** - قابل للضبط | هل يمكننا التمييز بين الهجوم والسلوك الطبيعي؟ | عدم تطابق ضوضاء الأساس (السبب الرئيسي للإيجابيات الكاذبة) |
| **E** - مُختبر ضد التعرض | هل غطّينا أساليب التهرب؟ | عمليات الكشف أحادية البعد |
| **S** - مستدام | هل يمكننا الحفاظ على هذا؟ | القواعد عالية الحجم ومنخفضة الإيجابيات الحقيقية |
تستند الأحكام إلى درجات BASE (/5). راجع `.claude/skills/gates/` لطرق التحقق ADVANCED.
**البدء السريع** — اكتب هذا لمساعدك؛ `/gates` هي مهارة، وليست أمر shell:
```text
/gates --hunt H-0001
```
**أنواع الأحكام:**
- ✅ **PROMOTE** (4.0-5.0) - انشره ككشف دائم
- ⚠️ **CONDITIONAL** (3.0-3.9) - انشره بعد استيفاء المتطلبات المسبقة
- ❌ **HOLD** (0.0-2.9) - احتفظ بالمنطق، لا تنشره
- ⏱️ **TIME_BOX** - خاص بحملة معينة، تحديث كل 90 يومًا
- 🔄 **RECURRING_HUNT** - تنفيذ ربع سنوي، وليس على مدار الساعة
- 🚫 **DROP** - لا يستحق الكشف؛ يُسجَّل حتى لا يُعاد اقتراحه
**فشل أي gate يتجاوز نطاق النقاط**، وعند فشل بوابتين، تفوز أول مطابقة بهذا
الترتيب: A→DROP، G→TIME_BOX، E→HOLD، S→RECURRING_HUNT، T→CONDITIONAL. تنطبق
النطاقات أعلاه فقط عندما لا تفشل أي بوابة. القاعدة الكاملة:
`.claude/skills/gates/SKILL.md` الخطوة 4.
**ملاحظة:** حكم "PROMOTE" في GATES يعني نشر قاعدة كشف. وهذا يختلف عن `athf hunt promote`، الذي ينقل ملفات الصيد بين المجلدات.
**التكامل مع ADEF (إطار هندسة الكشف):**
بعد التحقق من GATES، انتقل إلى ADEF لهندسة الكشف الإنتاجي:
```
ATHF Workspace ADEF Workspace
────────────── ──────────────
Hunt (LOCK)
↓
GATES Validate
↓
H-XXXX_GATES.yaml ────────────→ FORGE (F-O-R-G-E)
↓
Production Rule
```
**سير العمل الكامل:**
1. في مساحة عمل ATHF، تحقق من عملية الصيد — إدخال مساعد، وليس أمر shell:
```text
/gates --hunt H-0903
```
→ يكتب `hunt-promotion-analysis/H-0903_GATES.yaml` (ملف واحد لكل hunt، بداخله N
من المرشحين). الـ hunt الذي يكون حكمه أرشيفيًا (`HOLD`، `DROP`، `TIME_BOX`،
`RECURRING_HUNT`) يُصدر بدلاً من ذلك سردًا بصيغة `.md` — لا توجد قاعدة لبنائها، لذا
تنطبق الخطوة 2 على مخرجات `.yaml` فقط.
2. استورد ذلك المستند إلى ADEF:
```bash
adef hunt-promote --gates ~/athf-workspace/hunt-promotion-analysis/H-0903_GATES.yaml
# --dry-run first to preview what it would mint
```
المرشحون القابلون للنشر يصل كل منهم إلى مرحلة Find مع `D-XXXX`، وسجل كتالوجي، ودفتر يومية؛ ويُبلَّغ عن المؤرشفة كمتخطاة. لا حاجة إلى `cd` — إذ يحل ADEF مساحة عمله من `ADEF_WORKSPACE` (الافتراضي `~/work/adef-workspace/`). تأكد من أن ADEF لديك يدعم هذا الوضع عبر `adef hunt-promote --help`.
**مستودع ADEF:** https://github.com/Nebulock-Inc/agentic-detection-engineering-framework
تضمن GATES نشر الكشوفات الصحيحة بالطريقة الصحيحة، وتجنّب إجهاد التنبيهات والاحتكاك التشغيلي.
**اقرأ المزيد:** [.claude/skills/gates/README.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/.claude/skills/gates/README.md)
## المستويات الخمسة للاصطياد الوكيلي
يعرّف ATHF نموذج نضج بسيطًا. كل مستوى يُبنى على المستوى السابق له.
**معظم الفرق ستبقى عند المستويين 1–2. وكل ما يتجاوز ذلك نضج اختياري.**

| المستوى | القدرة | ما تحصل عليه |
|-------|-----------|--------------|
| **0** | عشوائي | توجد عمليات الاصطياد في Slack أو التذاكر أو ملاحظات المحللين |
| **1** | موثّق | سجلات اصطياد دائمة باستخدام LOCK |
| **2** | قابل للبحث | يقرأ الذكاء الاصطناعي عمليات الاصطياد الخاصة بك ويتذكرها |
| **3** | توليدي | ينفّذ الذكاء الاصطناعي الاستعلامات عبر أدوات MCP، ويجري الأبحاث |
| **4** | وكيلي | تراقب الوكلاء المستقلون وتتخذون إجراءات، وتولّدون الفرضيات |
**المستوى 1:** جاهز للتشغيل خلال يوم
**المستوى 2:** جاهز للتشغيل خلال أسبوع
**المستوى 3:** 2-4 أسابيع (اختياري)
**المستوى 4:** 1-3 أشهر (اختياري)
**اقرأ المزيد:** [docs/maturity-model.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md)
## 🚀 البدء السريع
### الخيار 1: التثبيت من PyPI (موصى به)
```bash
# Install ATHF
pip install agentic-threat-hunting-framework
# Initialize your hunt program
athf init
# NEW: Conduct research before hunting (5-skill methodology)
athf research new --topic "LSASS dumping" --technique T1003.001
# Create your first hunt (link to research)
athf hunt new --technique T1003.001 --title "LSASS Credential Dumping" --research R-0001
```
### الخيار 2: التثبيت من المصدر (التطوير)
```bash
# Clone and install from source
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
cd agentic-threat-hunting-framework
pip install -e .
# Initialize and start hunting
athf init
athf hunt new --technique T1003.001
```
### الخيار 3: Markdown خالص (بدون تثبيت)
```bash
# Clone the repository
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
cd agentic-threat-hunting-framework
# Copy a template and start documenting
mkdir -p hunts
cp athf/data/templates/HUNT_LOCK.md hunts/H-0001.md
# Customize AGENTS.md with your environment
# Add your SIEM, EDR, and data sources
```
**اختر مساعد الذكاء الاصطناعي الخاص بك:** Claude Code أو GitHub Copilot أو Cursor - أي أداة يمكنها قراءة ملفات المستودع الخاص بك.
**الدليل الكامل:** [docs/getting-started.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/getting-started.md)
## 🔧 أوامر CLI
يتضمن ATHF واجهة سطر أوامر كاملة الميزات لإدارة عمليات البحث الخاصة بك. إليك مرجعًا سريعًا:
### تهيئة مساحة العمل
```bash
athf init # Interactive setup
athf init --non-interactive # Use defaults
```
### البحث وتوليد الفرضيات (جديد في v0.3.0)
```bash
# Conduct thorough pre-hunt research (15-20 min)
athf research new --topic "LSASS dumping" --technique T1003.001
# Quick research for urgent hunts (5 min)
athf research new --topic "Pass-the-Hash" --depth basic
# Generate AI-powered hypothesis from threat intel
athf agent run hypothesis-generator --threat-intel "APT29 targeting SaaS"
# List research and agents
athf research list
athf agent list
```
### إنشاء عمليات Hunt
```bash
athf hunt new # Interactive mode
athf hunt new \
--technique T1003.001 \
--title "LSASS Dumping Detection" \
--platform windows \
--hunt-type baseline \
--research R-0001 # Link to research document
# --hunt-type: hypothesis (default) | baseline | model-assisted
```
### عرض و بحث
```bash
athf hunt list # Show all hunts
athf hunt list --status completed # Filter by status
athf hunt list --directory test # Filter by environment (test/production)
athf hunt list --hunt-type baseline # Filter by hunt category
athf hunt list --output json # JSON output
athf hunt search "kerberoasting" # Full-text search
athf hunt search "credential" --directory production # Search with directory filter
athf research search "credential" # Search research docs
```
### التحقق والإحصاءات
```bash
athf hunt validate # Validate all hunts
athf hunt validate H-0001 # Validate specific hunt
athf hunt stats # Show statistics (incl. hunts by type)
athf hunt stats --by hunt_type --status completed --output json # Category breakdown
athf hunt coverage # MITRE ATT&CK coverage
athf research stats # Research metrics
```
يتم تقييم جودة الكشف بواسطة **مهارة** GATES، التي يستدعيها مساعدك —
فهي ليست جزءًا من واجهة `athf` سطر الأوامر، لذا لا تنتمي إلى كتلة shell أعلاه:
```text
/gates --hunt H-0001
```
### إدارة بيانات ATT&CK (جديد في v0.11.0)
```bash
# Install STIX support (optional)
pip install 'agentic-threat-hunting-framework[attack]'
# Download live ATT&CK data (835+ techniques with full metadata)
athf attack update
# Check provider status
athf attack status
# Look up technique metadata
athf attack lookup T1003.001
# List techniques for a tactic
athf attack techniques credential-access
```
بدون `mitreattack-python`، يستخدم ATHF احتياطيًا ثابتًا للإصدار v14 (14 تكتيكًا، أعداد تقريبية). معه، تحصل على بيانات وصفية كاملة للتقنيات: المنصات، ومصادر البيانات، والتقنيات الفرعية، وأعداد دقيقة.
### خادم MCP (جديد في v0.11.0)
```bash
# Install MCP dependencies
pip install 'agentic-threat-hunting-framework[mcp]'
# Start MCP server (for Claude Code, Copilot, Cursor, etc.)
athf mcp serve --workspace /path/to/hunts
```
قم بالتهيئة في `~/.claude/mcp-servers.json`:
```json
{
"athf": {
"command": "athf-mcp",
"env": { "ATHF_WORKSPACE": "/path/to/your/hunts" }
}
}
```
نقطة الدخول المستقلة `athf-mcp` تكتشف مساحة العمل تلقائيًا من cwd أو من متغير البيئة `ATHF_WORKSPACE`. استخدم `athf mcp serve --workspace /path` للمسارات الصريحة.
> **ملاحظة أمنية:** ناقلا `sse` و`streamable-http` يرتبطان بـ `127.0.0.1` و**غير مُصادَّقين**. كل أداة تقرأ مساحة عملك بالكامل وبعضها يستدعي وكلاء LLM على نفقتك. مرِّر `--host` فقط لربط واجهة قابلة للتوجيه، وضع وكيلًا مُصادِقًا في المقدمة عند القيام بذلك. ناقل `stdio` الافتراضي لا يفتح أي مقبس على الإطلاق.
يكشف 17 أداة: إدارة عمليات الصيد، البحث الدلالي، تغطية ATT&CK، البحث، التحقيقات، وتوليد الفرضيات المدعوم بالذكاء الاصطناعي — كلها متاحة مباشرة من مساعد البرمجة بالذكاء الاصطناعي الخاص بك.
**التوثيق الكامل:** [مرجع CLI](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/CLI_REFERENCE.md)
## 📺 شاهدها أثناء العمل

شاهد ATHF أثناء العمل: تهيئة مساحة عمل، إنشاء عمليات صيد، واستكشاف كتالوج صيد التهديدات الخاص بك في أقل من 60 ثانية.
**[عرض أمثلة عمليات الصيد ←](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)**
## التثبيت
راجع قسم [البدء السريع](#-quick-start) أعلاه لخيارات التثبيت (PyPI، المصدر، أو markdown خالص).
**المتطلبات الأساسية:**
- Python 3.11 أو أعلى (لخيار CLI)
- مساعد البرمجة بالذكاء الاصطناعي المفضل لديك
## التوثيق
### المفاهيم الأساسية
- [لماذا وُجد ATHF](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/why-athf.md) - المشكلة والحل
- [نمط LOCK](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/lock-pattern.md) - البنية لجميع عمليات الصيد
- [نموذج النضج](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md) - المستويات الخمسة مشروحة
- [البدء](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/getting-started.md) - تأهيل خطوة بخطوة
### أدلة خاصة بكل مستوى
- [المستوى 1: عمليات صيد موثقة](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md#level-1-documented-hunts)
- [المستوى 2: ذاكرة قابلة للبحث](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md#level-2-searchable-memory)
- [المستوى 3: قدرات توليدية](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/level4-agentic-workflows.md)
- [المستوى 4: سير عمل وكيلي](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/level4-agentic-workflows.md)
### التكامل والتخصيص
- [التثبيت والتطوير](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/INSTALL.md) - الإعداد، تخصيص النسخة المتفرعة، الاختبار
- [طريقة GATES](https://github.com/nebulock-inc/agentic-threat-hunting-framework/blob/main/.claude/skills/gates/README.md) - مهارة التحقق من الكشف (تربط LOCK ← ADEF)
- [كتالوج MCP](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/integrations/MCP_CATALOG.md) - تكاملات الأدوات المتاحة
- [أدلة البدء السريع](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/tree/main/integrations/quickstart/) - الإعداد لأدوات محددة
- [استخدام ATHF](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/USING_ATHF.md) - التبني والتخصيص
## 🎖️ عمليات صيد مميزة
### H-0001: كشف سارق المعلومات على macOS
كشف Atomic Stealer وهو يجمع ملفات تعريف ارتباط Safari عبر AppleScript.
**النتيجة:** إيجابية حقيقية واحدة، وعُزل المضيف قبل التسريب.
**الرؤية الأساسية:** تفوّق الكشف القائم على السلوك على الأساليب القائمة على التوقيعات. حدد التحقق من توقيع العملية برمجية خبيثة غير موقّعة تحاول جمع البيانات.
[عرض عملية الصيد كاملة ←](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/hunts/H-0001.md) | [مشاهدة المزيد من الأمثلة ←](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)
## لماذا هذا مهم
قد تتساءل كيف يتفاعل هذا مع أطر مثل [PEAK](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html). يمنحك PEAK طريقة متينة لكيفية الصيد. يبني ATHF على هذا الأساس بمنحك البنية والذاكرة والاستمرارية. يوجّه PEAK العمل. يضمن ATHF أنك تلتقط العمل وتنظمه وتعيد استخدامه في عمليات الصيد المستقبلية.
صيد التهديدات الوكيلي لا يتعلق باستبدال المحللين. بل يتعلق ببناء أنظمة قادرة على:
- تذكّر ما تم فعله سابقًا
- التعلم من النجاحات والأخطاء السابقة
- دعم الحكم البشري بالاستدعاء السياقي
عندما يمتلك إطارك ذاكرة، تتوقف عن فقدان المعرفة بسبب تغيّر الموظفين أو الملاحظات المنسية. وعندما يستطيع مساعدك بالذكاء الاصطناعي الرجوع إلى تلك الذاكرة، يصبح مضاعفًا للقوة.
## 💬 المجتمع والتبني
- **مناقشات GitHub:** [اطرح الأسئلة، شارك عمليات الصيد](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
- **المشكلات:** [أبلغ عن الأخطاء أو اطلب ميزات](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues)
- **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - تابعنا للتحديثات
**استخدام ATHF في مؤسستك:** ATHF إطار للاستيعاب، وليس منصة للتوسيع. انسخه، خصّصه، واجعله ملكك. راجع [USING_ATHF.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/USING_ATHF.md) لإرشادات التبني. تبقى عمليات صيدك ملكك — المشاركة اختيارية لكنها محل تقدير.
**المستودع:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
الهدف هو مساعدة كل فريق لصيد التهديدات على الانتقال من الذاكرة العشوائية إلى قدرة وكيلية منظمة.
---
## 🛠️ التطوير والتخصيص
صُمم ATHF ليُنسخ ويُخصّص لمؤسستك.
**راجع [docs/INSTALL.md#development--customization](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/INSTALL.md#development--customization) من أجل:**
- إعداد نسختك المتفرعة للتطوير
- خطافات pre-commit لجودة الكود
- الاختبار والتحقق من الأنواع
- أمثلة التخصيص
- تكامل CI/CD
البدء السريع:
```bash
pip install -e ".[dev]" # Install dev dependencies
pre-commit install # Set up quality checks
pytest tests/ -v # Run tests
```
---
## 👤 المؤلف
أنشأه **Sydney Marrone** © 2025
---
**ابدأ صغيرًا. وثّق مطاردة واحدة. أضف البنية. ابنِ الذاكرة.**
الذاكرة هي المضاعف. الفاعلية هي القوة.
بمجرد أن يتمكن برنامجك من التذكر، يصبح كل شيء آخر ممكنًا.
مطاردة سعيدة!