ForHosting KIT · أدوات المطورين

مدقق ومحلل رسائل Conventional Commits

يتحقق مدقق رسائل Conventional Commits هذا من أن ترويسة الالتزام تتبع البنية المعتادة التي تتكون من النوع والنطاق الاختياري والوصف، ثم يعيد هذه الأجزاء في صورة بيانات منظمة ثابتة.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

ويتعرف على الأنواع الشائعة للبناء والصيانة وCI والتوثيق والميزات والإصلاح والأداء وإعادة الهيكلة والتراجع والتنسيق والاختبارات. استخدموه لاكتشاف الترويسات غير الصحيحة أو الأنواع المجهولة قبل دخولها إلى السجل المشترك أو مسار الإصدار أو سجل التغييرات الآلي. وتكون النتيجة الموجزة جاهزة للبرامج النصية من دون تحليل إضافي للنص.

تحققوا من الترويسة واستخرجوا الحقول المفيدة

أرسلوا رسالة الالتزام كاملة في حقل النص. يوحد المدقق نهايات الأسطر ويفحص السطر الأول بوصفه ترويسة Conventional Commits، ولذلك يمكن أن تتضمن الرسالة بعده سطرا فارغا وفقرات للمتن وتذييلات. تبدأ الترويسة الصحيحة بنوع معروف مكتوب بأحرف إنجليزية صغيرة. ويمكن أن يليها نطاق بين قوسين، كما يمكن إضافة علامة تعجب للدلالة على تغيير جذري. وبعد ذلك يجب أن تحتوي على نقطتين رأسيتين ومسافة فاصلة واحدة بالضبط ووصف غير فارغ. فعلى سبيل المثال، تعيد <code>feat(parser): support escaped delimiters</code> النوع <code>feat</code> والنطاق <code>parser</code> والوصف <code>support escaped delimiters</code>. وتشمل النتيجة العادية أيضا <code>valid: true</code> وحقلا منطقيا لحالة التغيير الجذري. وعند غياب النطاق تحذف خاصيته بدلا من ملئها بقيمة فارغة أو null قد توحي بمعنى غير صحيح. أما أخطاء الصياغة والأنواع المجهولة فتنتج خطأ إدخال غير صالح مع تفسير مباشر، وبذلك يستطيع hook في المحرر أو مسار آلي عرض تصحيح مفيد من دون محاولة تفسير نتيجة لم يكتمل تحليلها.

افهموا الاتفاقية التي يتعرف عليها المدقق

تحدد Conventional Commits شكل الترويسة، لكنها تترك لكل مشروع مساحة لوضع مفردات الأنواع الخاصة به. تستخدم هذه القدرة عمدا مجموعة ثابتة وعملية حتى تكون النتائج متوقعة بين المستودعات، وهي: build وchore وci وdocs وfeat وfix وperf وrefactor وrevert وstyle وtest. وتفشل الترويسة ذات الشكل الصحيح إذا استخدمت كلمة أخرى، لأن قبول أي كلمة يلغي فائدة التحقق المطلوب من النوع. يجب أن تكتب الأنواع بأحرف صغيرة. أما النطاقات فهي اختيارية، ويمكن أن تحتوي على أحرف صغيرة وأرقام ونقاط وشرطات سفلية وشرطات مائلة وواصلات، ويجب أن تبدأ بحرف أو رقم. وبذلك تقبل نطاقات مألوفة مثل <code>api</code> و<code>web-client</code> و<code>packages/core</code>، بينما ترفض المسافات الملتبسة والأقواس غير المتطابقة. يحتفظ الوصف بعلامات الترقيم وحالة الأحرف الأصلية، لكنه لا يجوز أن يبدأ أو ينتهي بمسافة. وتشير علامة التعجب الواقعة مباشرة قبل النقطتين الرأسيتين إلى تغيير جذري، وتعود في حقل مستقل. ويمكن إبقاء تذييل <code>BREAKING CHANGE</code> في المتن، لكن القيمة المنطقية الحالية تستمد من علامة الترويسة وحدها ولا تفسر دلالة التذييلات.

ادمجوا التحقق الحتمي في مسارات التطوير

استخدموا المدقق في أبكر مرحلة تتوفر فيها الرسالة المقترحة، مثل hook لتحرير رسالة الالتزام أو فحص pull request أو طابور الدمج أو خدمة تعد بيانات الإصدار الوصفية. يقدم hook المحلي أسرع استجابة، بينما يضمن التحقق على الخادم أن تلتزم الرسائل التي تنشئها الأتمتة أو البرامج البديلة بالسياسة نفسها. يعمل المحلل بصورة حتمية وينفذ مسحا محدودا للسلسلة النصية. فهو لا يتصل بمضيف المستودع، ولا يفحص كائن Git، ولا يستنتج الغرض من diff، ولا يعيد كتابة الوصف المرسل، ولا يتواصل مع أي خدمة خارجية. لذلك ينتج الإدخال نفسه الحقول نفسها أو الخطأ نفسه في المتصفح وعبر API. تعاملوا مع النوع والنطاق والوصف المعادة بوصفها بيانات تصنيف يمكن أن تغذي تجميع سجل التغييرات أو قواعد الإصدار أو لوحات المتابعة، لكن افصلوا عنها الفحوص الدلالية الخاصة بالمشروع. يستطيع المدقق، مثلا، تأكيد صحة بنية <code>fix(auth): reject expired tokens</code>، لكنه لا يثبت أن التغيير يصلح عيبا أو أن <code>auth</code> حزمة مسموح بها في المستودع. اجمعوه مع سياسة المستودع عندما تحتاجون إلى قوائم نطاقات أو مراجع تذاكر أكثر صرامة.

احموا hook من نوع commit-msg

ارفضوا الترويسات غير الصحيحة فورا واعرضوا للمؤلفين بنية Conventional Commits الدقيقة التي يتطلبها المستودع.

تحققوا من أتمتة الدمج

افحصوا الرسائل التي تنشئها أدوات squash أو طوابير الدمج أو أدوات الإصدار قبل دخولها الدائم إلى السجل.

صنفوا مدخلات الإصدار

استخرجوا نوعا ونطاقا ووصفا وحالة تغيير جذري ثابتة لتجميع سجل التغييرات أو اتخاذ قرارات الإصدار.

ما تكلفة عملية تحقق واحدة؟

تبلغ تكلفة كل طلب API مقدار $0.002. ويمكنكم أيضا تشغيل نسخة المتصفح مباشرة في هذه الصفحة.

ما أنواع الالتزام التي يتعرف عليها المدقق؟

الأنواع المعروفة هي build وchore وci وdocs وfeat وfix وperf وrefactor وrevert وstyle وtest.

هل النطاق مطلوب؟

لا. كل من feat: add export وfeat(api): add export صحيح. وعند غياب النطاق يحذف من النتيجة.

هل يمكن أن تتضمن الرسالة متنا وتذييلات؟

نعم. يتحقق من السطر الأول كترويسة، وتبقى الأسطر التالية في الإدخال، لكنها لا تحلل إلى حقول في المخرجات.

هل تشير علامة التعجب إلى تغيير جذري؟

نعم. تجعل علامة التعجب قبل النقطتين مباشرة حالة التغيير الجذري صحيحة. ولا تفسر التصريحات الموجودة في التذييل وحده.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev2/commit-message-lint

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev2/commit-message-lint \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"feat(parser): support escaped delimiters"}'
{
  "text": "feat(parser): support escaped delimiters"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.commit_message_lint",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_chars100000
max_header_chars1000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←