Codex: قواعد Codex و Hooks

آخر تحديث: 2026-08-31

AGENTS.md وآلية Hooks تتيح لك التحكم الدقيق في سلوك Codex في مشروعك — ما يمكنه فعله، وما لا يمكنه، وما القواعد التي يجب اتباعها.

📋 المتطلبات المسبقة: فهم إعداد Codex الأساسي

1. ما ستتعلمه


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 القواعد المناسبة بناءً على الملفات التي يتعامل معها.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): أنشئ AGENTS.md لمشروعك، مع تعريف أسلوب الكود والعمليات المحظورة.
  2. متوسط (⭐⭐): إعداد hook بعد المهمة للاختبار والتنسيق التلقائي بعد إكمال المهمة.
  3. متقدم (⭐⭐⭐): تصميم مخطط AGENTS.md متعدد المستويات — قواعد عامة في الجذر + قواعد خاصة بالوحدة في كل دليل.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%