Codex: قواعد Codex و Hooks
آخر تحديث: 2026-08-31
AGENTS.md وآلية Hooks تتيح لك التحكم الدقيق في سلوك Codex في مشروعك — ما يمكنه فعله، وما لا يمكنه، وما القواعد التي يجب اتباعها.
📋 المتطلبات المسبقة: فهم إعداد Codex الأساسي
1. ما ستتعلمه
- ملف قواعد AGENTS.md بالتفصيل
- آلية Hooks
- أولوية القواعد
- إعداد عملي
2. AGENTS.md بالتفصيل
AGENTS.md هو ملف قواعد في جذر المشروع يقرأه Codex تلقائيًا عند البدء كسياق دائم.
(1) الهيكل الأساسي
MARKDOWN
# AGENTS.md
## Project Overview
Project Name: E-Commerce API
Tech Stack: FastAPI + PostgreSQL + Redis
Code Standards: PEP 8 + Black formatter
## Code Rules
- All functions must have type annotations
- All API endpoints must have input validation
- Use dependency injection
- Use custom exception classes for error handling
## File Structure
- src/api/ - API routes
- src/models/ - Data models
- src/services/ - Business logic
- src/tests/ - Test files
## Prohibited Operations
- Do not modify .env files
- Do not delete existing tests
- Do not install new dependencies (requires human confirmation)
- Do not modify existing migrations in database/migrations/
(2) أنواع القواعد
| النوع | الوصف | المثال |
|---|---|---|
| أسلوب الكود | اتفاقيات البرمجة | "استخدم TypeScript strict mode" |
| قيود البنية | قيود التصميم | "جميع APIs يجب تمر عبر طبقة الخدمة" |
| عمليات محظورة | أشياء لا تفعل | "لا تعدّل ملفات .env" |
| متطلبات التحقق | معايير الإكمال | "تأكد من نجاح pytest" |
| سياق المشروع | معلومات خلفية | "المشروع يستخدم بنية الخدمات المصغرة" |
▶ مثال 1: AGENTS.md لأليس
MARKDOWN
# AGENTS.md
## Project Overview
Next.js 14 e-commerce site, using App Router + TypeScript + Prisma
## Code Rules
- Components use functional components + TypeScript
- Use server actions instead of API routes
- Data fetching uses RSC (React Server Components)
- Styling uses Tailwind CSS
- Forms use React Hook Form + Zod validation
## Directory Conventions
- app/ - Pages and routes
- components/ - Reusable components
- lib/ - Utility functions and configuration
- types/ - TypeScript type definitions
## Prohibited Operations
- Do not use 'use client' unless necessary
- Do not install new UI libraries (use existing shadcn/ui)
- Do not modify existing models in prisma/schema.prisma (only add new ones)
- Do not modify middleware.ts
3. آلية Hooks
Hooks هي برامج نصية تنفذ تلقائيًا عند تشغيل أحداث محددة.
(1) أنواع Hooks
| Hook | المشغل | الغرض |
|---|---|---|
| pre-task | قبل تنفيذ المهمة | إعداد البيئة، تحميل السياق |
| post-task | بعد إكمال المهمة | تشغيل الاختبارات، تنسيق الكود |
| pre-commit | قبل الالتزام | فحص lint، مراجعة كود |
| on-error | عند الخطأ | تقرير خطأ، تراجع |
(2) إعداد Hooks
TOML
# .codex/config.toml
[hooks]
# Auto-run tests after task completion
post-task = "npm test"
# Auto-format before commit
pre-commit = "npm run format && npm run lint"
# Send notification on error
on-error = "curl -X POST https://hooks.slack.com/xxx -d 'Codex error'"
(3) برامج Hooks النصية
BASH
# .codex/hooks/post-task.sh
#!/bin/bash
# Run tests
npm test
if [ $? -ne 0 ]; then
echo "Tests failed! Fixing..."
codex --full-auto "Fix all failing tests"
fi
# Format code
npm run format
# Check lint
npm run lint
▶ مثال 2: Hooks الأتمتة لبوب
TOML
# Bob's hook configuration
[hooks]
post-task = "bash .codex/hooks/post-task.sh"
# .codex/hooks/post-task.sh
#!/bin/bash
npm test # Run tests
npm run lint -- --fix # Fix lint
npm run format # Format
echo "Hook: post-task completed"
4. AGENTS.md متعدد المستويات
يدعم Codex AGENTS.md متعدد المستويات، فعال من الجذر إلى الأدلة الفرعية:
TEXT
📖 للعرض فقط
project/
├── AGENTS.md # Global rules
├── src/
│ ├── AGENTS.md # src directory rules
│ ├── api/
│ │ └── AGENTS.md # API module rules
│ └── auth/
│ └── AGENTS.md # Auth module rules
(1) الأولوية
TEXT
📖 للعرض فقط
Subdirectory AGENTS.md > Parent directory AGENTS.md > Root AGENTS.md
(2) الاستخدام العملي
MARKDOWN
<!-- src/api/AGENTS.md -->
# API Module Rules
- All endpoints must have Swagger documentation
- Use Pydantic for request/response validation
- Return standard response format: { data: ..., error: ... }
5. أولوية القواعد
TEXT
📖 للعرض فقط
AGENTS.md subdirectory > AGENTS.md root > Skills > Config files > Default behavior
❓ أسئلة شائعة
س هل يجب أن يكون AGENTS.md في جذر المشروع؟
ج AGENTS.md في الجذر مطلوب؛ AGENTS.md في الأدلة الفرعية اختياري. يقرأ Codex تلقائيًا جميع ملفات AGENTS.md من دليل العمل الحالي وأصوله.
س هل يمكن تخطي Hooks؟
ج نعم. شغّل Codex بـ
--no-hooks لتخطي جميع Hooks.س هل يستهلك AGENTS.md نافذة السياق؟
ج نعم، لكن قليلًا جدًا. يضغط Codex محتوى AGENTS.md لتقليل استهلاك tokens.
س ماذا لو أخطأ برنامج Hook نصي؟
ج أخطاء Hook لا تؤثر على المهمة الرئيسية لـ Codex. يسجل Codex الخطأ ويستمر التنفيذ.
س هل يمكن تعيين قواعد مختلفة لأنواع ملفات مختلفة؟
ج نعم. عرّف قواعد حسب نوع الملف أو الدليل في AGENTS.md. يطابق Codex القواعد المناسبة بناءً على الملفات التي يتعامل معها.
📖 ملخص
- AGENTS.md هو ملف قواعد على مستوى المشروع، يقرأه Codex تلقائيًا
- أنواع القواعد: أسلوب كود، قيود بنية، عمليات محظورة، متطلبات تحقق
- Hooks: pre-task / post-task / pre-commit / on-error
- AGENTS.md متعدد المستويات: دليل فرعي > أب > جذر
- أولوية القواعد: AGENTS.md > Skills > Config > الافتراضي
📝 تمارين
- أساسي (⭐): أنشئ AGENTS.md لمشروعك، مع تعريف أسلوب الكود والعمليات المحظورة.
- متوسط (⭐⭐): إعداد hook بعد المهمة للاختبار والتنسيق التلقائي بعد إكمال المهمة.
- متقدم (⭐⭐⭐): تصميم مخطط AGENTS.md متعدد المستويات — قواعد عامة في الجذر + قواعد خاصة بالوحدة في كل دليل.