لقد سألت AI عن أساليب تطوير البرمجيات. يبدو أن هناك العديد من المحاولات لوضع مستندات مثل Cloude.md وأماكن العمل لتسهيل عملية الانضمام.

0. موقع هذا الدليل
ما ترغب في القيام به ليس “إدارة العمليات للشركات الكبرى”، بل هو:
- تحسين الأعمال الخاصة بك وأتمتتها (سكريبتات، CLI، دفعات، ETL، بوت الإشعارات، توليد التقارير…)
- أدوات ويب صغيرة للمستهلكين (أدوات ويب صغيرة، أدوات شخصية…)
لذا، الهدف هو إنشاءها بسرعة مع AI.
ومع ذلك، عندما تسرع، قد تحدث الحوادث التالية:
- يقوم AI بالتنفيذ بسرعة، ولا يمكن إصلاحه لاحقًا (عدم وجود قابلية للتكرار، عدم وجود أسباب متبقية)
- إذا قام AI بإنشاء الاختبارات، فإنه قد يعتبر “ناجحًا” مع الأخطاء (مرجع دائري)
- يتم التخلص من أكواد البحث والتحقق، مما يؤدي إلى تكرار نفس البحث (عدم تحويل المعرفة إلى أصول)
- تتضخم القواعد وتضغط على السياق، مما يجعل AI يفقد التعليمات الأساسية
لذا، فإن هذا القالب مصمم لـ “تقليل السرعة مع إدخال الحد الأدنى من وسائل الأمان”.
1. الافتراضات (الشروط التي يفترضها هذا القالب)
1-1. افتراضات الأدوات (غير معتمدة على الأدوات)
- يمكن تشغيله على واجهة ويب / توسيع IDE / CLI
- لا يفترض اسم ملف “يتم قراءته تلقائيًا” → توحيد العملية بحيث يقوم البشر بتسليم “الملفات التي يجب قراءتها” إلى AI
1-2. افتراضات Git (الحد الأدنى)
- يمكن استخدام
git add/commit - يمكن التحقق من الفروقات باستخدام
git diff※ إدارة PR اختيارية (إذا كان تطويرًا فرديًا، يمكن أن يتم محليًا)
1-3. افتراضات الأمان (الحد الأدنى)
- لا يتم الالتزام بـ
.env(فقط.env.exampleيتم الالتزام به) - لا يتم إدخال بيانات حقيقية (مثل CSV العملاء) في المستودع (تشفير، استخدام بيانات وهمية)
- إذا كنت تستخدم أدوات خارجية (مثل: عمليات GitHub)، يجب التعامل مع بيانات الاعتماد كمتغيرات بيئية
2. نظرة عامة: ما الذي يحله هذا القالب
2-1. تقسيم الأدوار (هذا هو الأهم)
في تطوير AI المدفوع، يكون دورك أقرب إلى الموافق / حامل التوقعات بدلاً من “المنفذ”.
ما يمتلكه البشر (أنت)
- تعريف الإنجاز (متى يعتبر العمل منتهيًا)
- التوقعات (زوج المدخلات → المخرجات المتوقعة)
- إذن النطاق الذي يمكن تنفيذه (الموافقة)
ما يمكن تركه لـ AI
- اقتراح تقسيم المهام (مسودة)
- التنفيذ
- إطار الاختبار ومعالجة المقارنات
- اقتراح إنشاء أكواد تجريبية للبحث (Spike)
- ملخص التغييرات، اقتراح رسائل الالتزام
بهذا الفصل، نقضي على “المرجع الدائري” و"الاندفاع" في ملاحظات المراجعة.
2-2. أين نضع “الصحيح”
عندما تزداد الوثائق في مشروع صغير، قد تصبح شكلية. لذا:
- الصحيح في المواصفات:
tests/وtest-data/(التوقعات يتم تأكيدها من قبل البشر) - الصحيح في الاستخدام والإدارة:
README.md(تجميع مشكلات الحل هنا) - الصحيح في حواجز الأمان لـ AI:
docs/rules/(مدخل + تقسيم)
لن نضع مستندات ذات إدارة مزدوجة مثل spec.md كقاعدة.
3. سير العمل (مع وسائل الأمان - للمشاريع الصغيرة)
سنقوم بتثبيت المراحل الخمس التالية. عند الالتزام بـ “نفس الترتيب في كل مرة”، يصبح استخدام AI أكثر استقرارًا.
- التخطيط والموافقة
- يقوم AI بإنشاء
tasks/current.md(مسودة) - يقوم البشر بتأكيد القبول (التوقعات) والنطاق، ويضعون
Approval: APPROVED - ممنوع التنفيذ حتى يصبح APPROVED
- Spike (فقط عند الحاجة)
- إذا كانت الاعتمادات أو السلوك غير واضحة، ضع كود إعادة الإنتاج في
experiments/للمراقبة - اترك نتيجة البحث في
experiments/README.mdفي سطر واحد (تحويل المعرفة إلى أصول)
- التنفيذ والاختبار
- يجب أن يكون التنفيذ صغيرًا (3-5 ملفات كحد أقصى)
- الاختبارات يمكن أن تكون من إعداد AI، ولكن التوقعات يجب أن تستخدم
test-data/goldenالتي أكدها البشر
- المراجعة والالتزام
- يقوم البشر بمراجعة
git diff(وقف التغييرات غير الضرورية) - تحويل السجلات إلى أصول باستخدام Commits التقليدية (تجنب الإفراط في “fix”)
- التفكير في الماضي والتحديث (مضمن في شروط الإنجاز)
اترك “تعلمًا” في مكان ما (على الأقل واحد)
- إضافة حالات ذهبية / إضافة أكواد تجريبية / تحديث القواعد / إضافة إلى README
احفظ
tasks/current.mdكـtasks/YYYYMMDD-*.md
4. كيفية استخدام المخرجات (الدليل)
docs/rules/: حواجز الأمان التي تُعطى لـ AI (الفهرس قصير، التفاصيل مقسمة)prompts/: نماذج قابلة لإعادة الاستخدام (لوحتك “للتحكم”)tasks/: تخطيط المهام والسجل (أصول أنماط النجاح)experiments/: أكواد التحقق وإعادة الإنتاج (مستندات متحركة تساعد نفسك في المستقبل)test-data/: التوقعات التي أكدها البشر (نقطة قطع المرجع الدائري)tests/: التحقق التلقائي (جزء من الحقيقة)
5. خطوات البدء (أقصر طريقة لتطبيق هذا القالب)
ضع “القالب المكتمل” أدناه كما هو
مرره إلى AI (غير معتمد على الأدوات)
docs/rules/index.mdtasks/current.md
اجعل AI ينفذ
prompts/launch.mdلتحديثtasks/current.mdأدخل التوقعات في
Acceptance→ أدخل المخرجات المتوقعة، وأنشئ المتوقعة فيtest-data/golden/ابدأ التنفيذ بعد وضع
Approval: APPROVED
6. القالب المكتمل (النص الكامل - يمكن نسخه كما هو)
فيما يلي “النص الكامل لمحتوى الملفات التي يجب وضعها في جذر المستودع”.
6-1. هيكل الدليل (الإصدار المكتمل)
repo/
README.md
.gitignore
.env.example
docs/
rules/
index.md
workflow.md
testing.md
security.md
coding.md
prompts/
launch.md
onboard.md
think.md
spike.md
implement.md
test.md
review.md
retrospect.md
tasks/
current.md
20251228-example-task.md
experiments/
README.md
20251228-example_spike.md
test-data/
README.md
golden/
README.md
case01_input.json
case01_expected.json
src/
core/
adapters/
app/
tests/
unit/
integration/6-2. .gitignore (الإصدار المكتمل)
# الأسرار
.env
# السجلات والبيانات المؤقتة
*.log
*.tmp
*.bak
*.swp
# نظام التشغيل
.DS_Store
Thumbs.db
# لغة / وقت التشغيل (تعديل حسب الحاجة)
__pycache__/
.pytest_cache/
node_modules/
dist/
build/
coverage/6-3. .env.example (الإصدار المكتمل)
# انسخ إلى .env (لا تلتزم بـ .env)
# مثال:
# API_BASE_URL=https://example.com
# API_TOKEN=replace_me6-4. README.md (الإصدار المكتمل)
# تطوير مدفوع بالذكاء الاصطناعي (تطوير مدفوع بالتحفيز) قالب
تحسين الأعمال، الأتمتة، والمشاريع الصغيرة للمستهلكين، يتم تطويرها بسرعة مع AI،
لضمان "قابلية التكرار"، "تحويل المعرفة إلى أصول"، و"منع الاندفاع" بأقل تكلفة.
---
## الهدف
- صنع بسرعة (استخدام AI)
- جعلها أقل عرضة للكسر (أقل وسائل الأمان)
- القدرة على الإصلاح لاحقًا (تحويل التحفيز / البحث / التوقعات إلى أصول)
- عدم الاعتماد على الأدوات (يمكن استخدام واجهة ويب / IDE / CLI)
---
## المبادئ الأساسية (الأقصر)
- **التوقعات (المدخلات → المخرجات المتوقعة) يتم تأكيدها من قبل البشر** (لمنع المرجع الدائري لـ AI)
- **يجب الالتزام بالتحفيز، تخطيط المهام، وكود التحقق** (شرط لقابلية التكرار)
- النقاط غير الواضحة يجب **أن يتم تحقيقها قبل التنفيذ باستخدام `experiments/`**
- القواعد يجب أن تكون **مدخلاً + مقسمة** (يجب الحفاظ على `docs/rules/index.md` قصيرة)
- يجب أن تتضمن Done **تحديث الأصول** (إضافة حالات ذهبية / إضافة تجارب / تحديث القواعد / إضافة إلى README)
---
## الملفات التي يجب تمريرها إلى AI (غير معتمدة على الأدوات)
عند البدء / إعادة البدء، مرر إلى AI:
1) docs/rules/index.md
2) tasks/current.md
※ لا تعتمد على التحميل التلقائي. إذا كنت تستخدم واجهة ويب، يمكنك اللصق، وإذا كنت تستخدم IDE/CLI، يمكنك إعطاء تعليمات الإشارة.
---
## سير العمل (مع وسائل الأمان)
1) التخطيط والموافقة
- يقوم AI بإنشاء / تحديث tasks/current.md (مسودة)
- يقوم البشر بتأكيد القبول (التوقعات) ويضعون الموافقة على APPROVED
- ممنوع التنفيذ حتى تصبح APPROVED
2) Spike (اختياري)
- إذا كانت النقاط غير واضحة، ضع كود إعادة الإنتاج / البحث في experiments/
- سجل النتائج في experiments/README.md (سطر واحد يكفي)
3) التنفيذ والاختبار
- يجب أن تكون التغييرات صغيرة (3-5 ملفات، فرق معقول)
- أضف / تحديث الاختبارات و / أو test-data
4) المراجعة والالتزام
- يقوم البشر بمراجعة git diff
- الالتزام بالتقنيات التقليدية
5) التفكير في الماضي والتحديث (شرط الإنجاز)
- أضف على الأقل واحدة من:
- حالة بيانات ذهبية جديدة، أو
- تجربة جديدة / إعادة إنتاج، أو
- تحديث القواعد في docs/rules/ أو README
- أرشفة tasks/current.md إلى tasks/YYYYMMDD-*.md6-5. docs/rules/index.md (مدخل قصير)
# اتفاقية العمل مع AI (الفهرس)
## ترتيب القراءة (بدء / استئناف)
1) tasks/current.md
2) docs/rules/workflow.md
3) docs/rules/testing.md
4) docs/rules/security.md (إذا كانت تتعلق بالمصادقة / البيانات / الأسرار)
5) docs/rules/coding.md
## القواعد الصارمة (يجب الالتزام بها)
- لا تقم بالبرمجة حتى يظهر في tasks/current.md `Approval: APPROVED`.
- يمتلك البشر المخرجات المتوقعة (بيانات ذهبية). لا تخترع التوقعات.
- إذا كان السلوك غير واضح، قم بإنشاء Spike تحت experiments/ قبل التنفيذ.
- لا تلتزم بالأسرار (.env ممنوع). استخدم فقط .env.example.
- المس فقط الملفات المتعلقة بالمهمة الحالية.
- استخدم الالتزامات التقليدية. يجب أن يكون كل التزام له معنى.6-6. docs/rules/workflow.md
# قواعد سير العمل (مشروع صغير)
## المراحل
1) التخطيط والموافقة
- إنشاء / تحديث tasks/current.md
- الانتظار لموافقة البشر (APPROVED)
2) Spike (اختياري)
- إضافة كود إعادة الإنتاج أو البحث في experiments/
- سجل النتيجة في experiments/README.md (سطر واحد يكفي)
3) التنفيذ والاختبار
- تغييرات صغيرة في كل خطوة (3-5 ملفات، فرق معقول)
- أضف / تحديث الاختبارات و / أو test-data
4) المراجعة والالتزام
- يقوم البشر بمراجعة git diff
- الالتزام بالتقنيات التقليدية
5) التفكير في الماضي والتحديث (شرط الإنجاز)
- أضف على الأقل واحدة من:
- حالة بيانات ذهبية جديدة، أو
- تجربة جديدة / إعادة إنتاج، أو
- تحديث القواعد في docs/rules/ أو README
- أرشفة tasks/current.md إلى tasks/YYYYMMDD-*.md6-7. docs/rules/testing.md (نقطة قطع المرجع الدائري)
# قواعد الاختبار
## مصدر الحقيقة
- الحقيقة = tests/ + test-data/
- المخرجات المتوقعة (الذهبية) مملوكة للبشر.
## العناصر المملوكة للبشر
- test-data/golden/*_expected.* (أو لقطات)
- قسم القبول في tasks/current.md
## مسؤوليات AI
- إنشاء إطار اختبار وبيانات مقارنة بين الفعلي والمتوقع المقدم من البشر.
- لا تعدل المخرجات المتوقعة ما لم يُطلب ذلك صراحة من قبل البشر.
## عند إضافة ميزة / إصلاح
- أضف / تحديث على الأقل حالة بيانات ذهبية واحدة.
- تغطية الحدود وحالات الخطأ (فارغ، null، غير صحيح، إدخال كبير).
## قواعد مكافحة الغش
- تجنب كتابة اختبارات تعكس التنفيذ الحالي فقط.
- تفضل الاختبارات ذات الصندوق الأسود باستخدام المدخلات / المخرجات الذهبية.6-8. docs/rules/security.md
# قواعد الأمان والخصوصية (الحد الأدنى للمشاريع الصغيرة)
## الأسرار
- لا تلتزم بـ .env. فقط التزم بـ .env.example.
- لا أسرار في الكود، التعليقات، الاختبارات، أو السجلات.
- إذا تم العثور على سر، توقف وحذر المستخدم.
## معالجة البيانات
- لا تضف بيانات حقيقية للعملاء / المستخدمين إلى المستودع.
- استخدم مجموعات بيانات مشفرة أو صناعية في test-data/ إذا لزم الأمر.
## استخدام الرموز (أدوات اختيارية)
- إذا كنت تستخدم gh CLI، فإن المصادقة مطلوبة:
- محلي: `gh auth login`
- CI / حاوية: قم بتعيين `GH_TOKEN` وتحقق من `gh auth status`
- احتفظ بالنطاقات في الحد الأدنى. تفضل النطاقات للقراءة فقط ما لم يكن ذلك ضروريًا.
## الأدوات / التكاملات الخارجية
- تجنب إدخال وكلاء / أدوات خارجية جديدة دون الإشارة إلى المخاطر في tasks/current.md.6-9. docs/rules/coding.md
# قواعد البرمجة
## الهيكل
- src/core: المنطق النقي (بدون إدخال / إخراج)
- src/adapters: الإدخال / الإخراج الخارجي (API / DB / ملفات)
- src/app: نقاط الدخول (CLI / HTTP / وظيفة)
## نطاق التغيير
- عدل فقط الملفات اللازمة للمهمة الحالية.
- إذا كان هناك حاجة إلى إعادة هيكلة أوسع، اقترح ذلك في tasks/current.md وانتظر الموافقة.
## الأسلوب
- حافظ على الوظائف صغيرة وذات مسؤولية واحدة.
- تفضل معالجة الأخطاء بشكل صريح للمكالمات الخارجية.
## رسائل الالتزام (التزامات تقليدية)
- feat: ...
- fix: ...
- refactor: ...
- test: ...
- docs: ...
- chore: ...6-10. prompts/launch.md
أنت مساعد في إنشاء خطة تطوير.
يرجى قراءة ما يلي وإنشاء أو تحديث tasks/current.md.
ترتيب القراءة:
1) docs/rules/index.md
2) README.md
3) tasks/current.md الحالية (إذا كانت موجودة)
متطلبات الإخراج:
- يجب أن يكون tasks/current.md "وثيقة خطة يتم الموافقة عليها من قبل البشر".
- ضع Goal / Non-goals / Acceptance (مملوكة للبشر) في البداية.
- يجب تقسيم الخطة إلى "حجم يمكن لـ AI التعامل معه في سياق واحد":
- 3-5 ملفات مستهدفة للتغيير
- إذا كانت الفروقات كبيرة، يجب تقسيمها
- إذا كانت هناك نقاط غير واضحة، يجب إدخال Spike في الخطة، مع افتراض وضعها في experiments/ لاحقًا.
- يجب أن تكون الموافقة دائمًا `WAITING` (ممنوع التنفيذ حتى يغيرها البشر إلى APPROVED).
- التوقعات (expected) يتم تأكيدها من قبل البشر، لذا لا تقم بإنشائها بشكل عشوائي، اترك "مساحة لتعبئة البشر".6-11. prompts/onboard.md
سنستأنف العمل. يرجى تنفيذ ما يلي.
1) اقرأ docs/rules/index.md و tasks/current.md، وقدم ملخصًا عن الوضع الحالي
2) اختر عنصر تحقق واحد من tasks/current.md (يجب أن تكون الموافقة APPROVED)
3) قدم باختصار "ملفات التأثير المحتملة"، "استراتيجية التنفيذ"، و"طرق التحقق" لذلك العنصر
4) لا تكتب أي كود بعد (فقط خطط هنا)6-12. prompts/think.md
يرجى تلخيص السياسة قبل التنفيذ حول المهمة الفرعية التالية.
- المسؤولية التي سيتم تغييرها (في core/adapters/app)
- الاستثناءات / شروط الحدود
- إذا كانت الاعتمادات غير واضحة، هل هناك حاجة إلى Spike؟
- ماذا يجب أن تضيفه في بيانات الاختبار (الذهبية) (التوقعات يتم كتابتها من قبل البشر)6-13. prompts/spike.md
سنقوم بإجراء Spike (بحث).
- قم بتنظيم خطوات البحث والنتائج المتوقعة مع افتراض إنشاء experiments/YYYYMMDD-<topic>.*.
- اكتب ما الذي يجب أن نعرفه للانتقال إلى التنفيذ الفعلي (شروط Go/No-Go).
- قدم مسودة لتدوين النتائج في experiments/README.md.6-14. prompts/implement.md
سنبدأ التنفيذ. القواعد:
- نفذ فقط النطاق المعتمد في tasks/current.md
- يجب أن تكون الملفات المتغيرة في الحد الأدنى (3-5 ملفات كحد أقصى)
- لا تقم بتغيير التوقعات (expected) حتى يتم تأكيدها من قبل البشر
- يجب احتواء الإدخال / الإخراج الخارجي في adapters
- بعد التنفيذ، قدم "كيف سيتم التحقق من ذلك (الأمر / نقاط المراقبة)"6-15. prompts/test.md
سنقوم بإعداد الاختبارات.
- قم بإنشاء كود الاختبار في tests/ (إطار المقارنة)
- اجعل test-data/golden تعتمد على المدخلات / المخرجات
- يجب أن يتم إعداد محتوى expected من قبل البشر، لذا اعتبره كعنصر نائب
- اقترح إضافة حالات الحدود / الحالات الشاذة (لكن لا تنشئ التوقعات)6-16. prompts/review.md
سنقوم بإعداد المراجعة.
- قدم قائمة الملفات التي تم تغييرها
- تحقق ذاتيًا من عدم وجود تغييرات غير متوقعة
- قدم جدولًا يوضح ما إذا كانت تلبي المواصفات (القبول) أم لا
- اقترح رسائل الالتزام باستخدام Commits التقليدية6-17. prompts/retrospect.md
قم بالتفكير في الماضي وحول ذلك إلى أصول.
- ما الذي نجح / لم ينجح
- القواعد التي يجب اتباعها في المهام المماثلة القادمة (أين يجب أن تضيف إلى docs/rules)
- حالات بيانات ذهبية إضافية يجب إضافتها، أو اقتراحات لإعادة إنتاج الأكواد في التجارب
- اقتراح إعادة تسمية tasks/current.md إلى tasks/YYYYMMDD-<short>.md6-18. tasks/current.md (نموذج)
# الهدف
(يجب أن يكتبها البشر) ما الذي يجب تحقيقه في هذه المهمة في 1-3 أسطر.
# غير الأهداف
(يجب أن يكتبها البشر) ما الذي لن يتم القيام به هذه المرة. لمنع الانحراف عن النطاق.
# القبول (مملوك للبشر)
※ التوقعات يتم تأكيدها من قبل البشر. AI لا ينشئها.
- الحالة 01: المدخلات = test-data/golden/case01_input.json -> المتوقعة = test-data/golden/case01_expected.json
- الحالة 02: المدخلات = ... -> المتوقعة = ...
# الخطة (مسودات AI، يوافق عليها البشر)
- [ ] Spike: (إذا لزم الأمر) إضافة تحقق من الاعتمادات / سلوك الكود الموجود إلى experiments/
- [ ] التنفيذ: تعديل src/... (الملفات المستهدفة:)
- [ ] الاختبار: إضافة tests/... (مقارنة ذهبية)
- [ ] المراجعة: إعداد ملخص التغييرات واقتراح رسائل الالتزام
- [ ] التفكير في الماضي: إضافة حالة ذهبية أو تحديث القواعد أو إضافة تجربة (شرط الإنجاز)
# الملاحظات
- القيود، الفخاخ، الملاحظات
# الموافقة
الحالة: WAITING
الموافقة من:
الموافقة في:6-19. experiments/README.md
# التجارب/
سنضع هنا تحقق من سلوك المكتبات المعتمدة، إعادة إنتاج الأخطاء، والتحقق من شروط الحدود.
هذا هو "مستند متحرك". لا نستخدمه لمرة واحدة (يجب الالتزام به).
## الفهرس
- 20251228-example_spike.md: مثال6-20. experiments/20251228-example_spike.md
# Spike: مثال
الهدف:
- التحقق من تنسيق الإدخال للمكتبة X
Go/No-Go:
- لا توجد استثناءات مع الإدخال A
- الناتج بهذا التنسيق مع الإدخال B (المراقبة)
النتائج:
- (سيتم إضافته بعد التنفيذ)6-21. test-data/README.md
# test-data/
سنضع "التوقعات" التي يتم تأكيدها من قبل البشر هنا.
لمنع المرجع الدائري لـ AI، يجب أن يتم مراجعة expected من قبل البشر وتأكيدها.
- الذهبية/: أزواج الإدخال / المخرجات المتوقعة ذات الصندوق الأسود6-22. test-data/golden/README.md
# بيانات الاختبار الذهبية
التسمية:
- caseNN_input.*
- caseNN_expected.*
التشغيل:
- يجب أن يتم تأكيد expected من قبل البشر (لا ينشئها AI بشكل عشوائي)
- إضافة حالات الحدود / الحالات الشاذة6-23. مثال test-data/golden/case01_input.json
{
"example": "input"
}6-24. مثال test-data/golden/case01_expected.json
{
"example": "expected"
}