Skip to content
Apothem
المرجع

اتفاقيات الالتزام (Commit)

تُرسي تنسيق رسائل الالتزام، ووسم الإصدارات، وانضباط التأليف البشري حصرًا، والإيقاع لكل مهمة لمصنوعات git والتحكم في الإصدارات.

المرجع المعياري لرسائل التزام git ووسوم الإصدار وانضباط التأليف. المُلخّص في CLAUDE.md §4 الاتفاقيات هو الإعلان السطري؛ وهذه الصفحة هي المرجع المستقلّ الذي يستشهد به المساهمون اللاحقون.


1. Conventional Commits

تتبع مواضيع الالتزام شكل Conventional Commits: <type>(<scope>): <subject>. مجموعة <type> المغلقة هي {feat, fix, chore, docs, refactor, test, perf, ci, build, style, revert, release}. و<scope> هو السطح الذي يمسّه الالتزام (مثل feat(conformity)، وdocs(adr)، وfix(ci))؛ ويُحذف النطاق فقط للتغييرات الشاملة التي لا تتموضع في مكان محدّد.

الموضوع بصيغة الأمر، بأحرف صغيرة بعد نقطتي type/scope، دون نقطة في النهاية، وبأقل من 72 حرفًا. أمّا المتن — المفصول عن الموضوع بسطر فارغ — فيوضّح لماذا يوجد التغيير، لا ما الذي غيّره الـdiff؛ فالـdiff نفسه هو السجلّ المعياري لِما تغيّر.

2. انضباط التأليف (البشري حصرًا)

كل سطح تأليف في كل مصنوعة git (موضوع الالتزام، ومتن الالتزام، وحقل Author:، وذيل Co-Authored-By:، وذيل Signed-off-by:، واسم الفرع، واسم الوسم، وتعليق الوسم، واسم الـstash، ومتن git-notes، وعنوان طلب السحب، ووصف طلب السحب) يذكر المساهمين البشريين فقط. لا يَنسب وقتُ تشغيل harness نفسَه قط، ولا نموذجَ اللغة الأساسي، ولا وقتَ التشغيل / البيئة / بيئة التطوير المتكاملة / الإضافة / المورّد، ولا أي أداة آلية أخرى، إلى أيٍّ من تلك الأسطح. تشمل الأنماط المحظورة Co-Authored-By: <model-name>، وCo-Authored-By: <noreply@*-vendor.com>، وسردًا في المتن مثل generated with X أو co-authored by an automated helper، وأي علامة في سطر الموضوع تشير إلى تأليف غير بشري. تقيم المواصفة الكاملة في src/apothem/rules/production-ready-prs.md §6؛ ويقيم التنفيذ الآلي في src/apothem/hooks/messages/pretooluse-bash.md Scan 3.

3. وسوم الإصدار (الإصدار الدلالي)

تتبع وسوم الإصدار الإصدار الدلالي (vMAJOR.MINOR.PATCH). الإصدار قبل 1.0 هو 0.MINOR.PATCH وفقًا لاتفاقية ما قبل الاستقرار في المواصفة؛ فالتغييرات الكاسرة تزيد MINOR، وإصلاحات العلل تزيد PATCH. الوسم مُعلَّق (git tag -a) ومُوقَّع على مستوى النشر وفقًا لـsite/content/docs/governance/release-engineering-policy.mdx. تقيم نسخة الحزمة في بيان المصدر (pyproject.toml الحقل version)، وتُشتقّ الأسطح الحاملة لزمن التشغيل / النسخة من بيانات الحزمة الوصفية تلك.

4. الإيقاع لكل مهمة

تُسجَّل الالتزامات لكل مهمة عند جدّية SHARED+، ولكل مرحلة عند PERSONAL_USE، واختياريًّا عند EXPLORING. يُسجَّل التزام المهمة فور اجتياز بوّابات التحقّق الخاصة بها؛ فالالتزامات المؤجَّلة تُراكِم السياق وتُخاطِر بفقدان النطاق. يقيم الانضباط الكامل في src/apothem/rules/operational-mandates.md §CM-13.

5. المُتحقِّقات

تُنفِّذ سلسلة خطافات pre-commit في .pre-commit-config.yaml بوّابات الجودة لكل عملية كتابة. ويلتقط تنفيذُ انضباط التأليف عند خطّاف bash (الفحص Scan 3 من src/apothem/hooks/messages/pretooluse-bash.md) الذيولَ المحظورة وعلامات المتن قبل أن تُسجَّل أي عملية كتابة في git.

On this page