CML — واجهة الأوامر التي نبنيها
cml status
cml أداة سطر أوامر صغيرة نصمّمها — لقراءة الأنظمة من الأعلى إلى الأسفل، وتوقيع كل نشر، وإعادة تشغيل التراجعات في أقل من ثانية. لا شيء هنا قابل للتثبيت بعد. ننشر التصميم في العلن كي يُناقَش قبل أن يُبنى.
مبنية على ثلاث مراتب.
- المرتبة 01 · قراءة فقط
read · mist
تُبنى أولاً. للقراءة فقط بحكم التصميم — لا تعدّل مستودعاً ولا نشراً أبداً. آمنة لعرضها على العملاء مبكراً.
- المرتبة 02 · إضافي
sign · field
تُبنى تالياً. تضيف التوقيع وناشر الملاحظات الميدانية. تكتب مخرجات جديدة؛ ولا تغيّر القائمة.
- المرتبة 03 · مدمّر
deploy · rollback
تُبنى أخيراً، وببطء. هذه تمسّ الإنتاج. لا نشحنها حتى تصمد المرتبتان 01 و02 في تكليف كامل.
لا مُثبّت بعد. لا مستودع علني بعد. حين تُشحن المرتبة 01، يصبح هذا القسم لوحة تثبيت. حتى ذلك الحين، تحدّث إلينا عبر hello@cloudmistlabs.com.
$ cml status
· cml is in design — nothing implemented yet
· planned commands: read · mist · sign · field · deploy · rollback
· follow at /cml
$ cml read --strata ./src # preview
· (would walk src/, group files by stratum,
· write a map to .cml/map.md, exit)
$ cml deploy --strata edge,services # preview
· (would refuse without a signature)
· (would refuse without 99.95% shadow-read for 9 days)
$ ستة أفعال. لا أكثر.
معظم الأدوات تنهار تحت ثقل سطحها. cml ستة أوامر، عن قصد. إن وُجد خيار، فهو يفعل شيئاً واحداً ويرفض فعل غيره.
في الأسفل واجهة البرمجة المُخطّطة. شارات الحالة تُظهر ما هو مُنفَّذ اليوم.
- cml read مُخطّط01 — قراءة فقطcml read [--strata] [--order top-down|bottom-up] <path>
يمشي عبر المستودع من الأعلى إلى الأسفل ويُنتج خريطة لكل طبقة يحتويها. يقرأ الـ commits رجوعاً من HEAD. يُخرِج Markdown.
الخيارات- --strata
- اجمع المخرجات حسب الطبقة (الحافة / الخدمات / البيانات).
- --order
- اتجاه القراءة. الافتراضي من الأعلى إلى الأسفل.
- --since <commit>
- اقرأ فقط التغييرات منذ الـ commit المُعطى.
- -o, --out <file>
- اكتب إلى ملف بدلاً من stdout.
$ cml read --strata --order top-down ./src*واجهة مُخطّطة. عُرضة للتغيير قبل أي إصدار.*
- cml sign مُخطّط02 — إضافيcml sign [--key <email>] [--checkpoint <n>]
وقّع نشراً أو نقطة تفتيش. التوقيع هو البرهان. يستخدم مفتاحك المحلي أو واحداً تحدّده.
الخيارات- --key <email>
- هوية التوقيع. الافتراضي git user.email.
- --checkpoint <n/N>
- علّم هذه كنقطة التفتيش N من أصل N في ترحيل.
- --witness <email>
- أضف توقيع شاهد. يمكن تكراره.
$ cml sign --key ghaith@cloudmistlabs.com --checkpoint 04/08*واجهة مُخطّطة. عُرضة للتغيير قبل أي إصدار.*
- cml deploy مُخطّط03 — مدمّرcml deploy --strata <list> [--signed] [--shadow <pct>]
انشر طبقة أو أكثر. يرفض النشر دون توقيع افتراضياً. يرفض تحويل مسار قراءة حتى تتحقّق أهداف القراءة الظلّية.
الخيارات- --strata <list>
- طبقات للنشر مفصولة بفواصل. الترتيب مهمّ.
- --signed
- اشترط توقيعاً صالحاً قبل النشر.
- --shadow <pct>
- نسبة القراءة الظلّية المطلوبة. الافتراضي 99.95.
- --days <n>
- نافذة القراءة الظلّية المطلوبة بالأيام. الافتراضي 9.
$ cml deploy --strata edge,services --signed*واجهة مُخطّطة. عُرضة للتغيير قبل أي إصدار.*
- cml rollback مُخطّط03 — مدمّرcml rollback [--rehearse] [--to <checkpoint>]
أعد تشغيل التراجع لآخر نشر. استخدم --rehearse لفعله في بيئة تجهيز دون مسّ الإنتاج.
الخيارات- --rehearse
- تمرين فقط. لا تؤثّر على الإنتاج.
- --to <checkpoint>
- تراجَع إلى رقم نقطة تفتيش محدّد.
- --explain
- اطبع ما سيحدث، ثم اخرج.
$ cml rollback --rehearse --to 04/08*واجهة مُخطّطة. عُرضة للتغيير قبل أي إصدار.*
- cml field مُخطّط02 — إضافيcml field [new|sign|publish] <slug>
ملاحظات ميدانية — مقالات قصيرة. كل ملاحظة موقّعة ومؤرّخة وتمرّ بنفس تمرين التراجع الذي تمرّ به الشيفرة.
الخيارات- new <slug>
- ابدأ ملاحظة جديدة. يفتح $EDITOR.
- sign <slug>
- وقّع الملاحظة وجمّدها.
- publish <slug>
- ادفع إلى موجز الملاحظات الميدانية العلني.
$ cml field new on-reading-systems*واجهة مُخطّطة. عُرضة للتغيير قبل أي إصدار.*
- cml mist مُخطّط01 — قراءة فقطcml mist [--report] [--quiet]
اطبع تقريراً من صفحة واحدة عن الحالة الراهنة لكل الطبقات. الأمر الهادئ. شغّله كل صباح.
الخيارات- --report
- اكتب تقرير Markdown إلى .cml/mist.md.
- --quiet
- اكتم كل شيء عدا رمز الخروج.
$ cml mist --report*واجهة مُخطّطة. عُرضة للتغيير قبل أي إصدار.*
ثلاث أفكار تقوم عليها الأداة.
- · 01 ·
طبقات
لكل قاعدة شيفرة ثلاث طبقات — الحافة، الخدمات، البيانات. سيرسمها cml، ويرفض النشر خارج الترتيب، ويوقّع كل حدّ.
- · 02 ·
التواقيع
كل نشر يحمل توقيعاً. كل نقطة تفتيش تحمل تواقيع شهود. إعادة التشغيل تحقّق، لا استعراض.
- · 03 ·
هادئ افتراضياً
لا قياس عن بُعد، لا رسوم تحميل متحرّكة، لا «✨ awesome!». يطبع cml ما تغيّر ثم يخرج. الأمر الهادئ هو الصحيح.
إلى أين يمضي هذا تالياً.
- إصدار المرتبة 01 حين تستقرّ أوامر القراءة فقط وتُستخدم داخلياً read + mist. قابلة للتثبيت لكن ما قبل 1.0. تقرأ فقط — لا تعدّل أبداً.
- النسخة التجريبية للمرتبة 02 بعد استخدام المرتبة 01 في تكليف حقيقي sign + field. نسخة تجريبية مغلقة لأوائل عملاء التكليف.
- v1.0 حين تصمد المرتبة 02 في تكليف كامل دون أن تنكسر deploy + rollback. إصدار مفتوح المصدر علني بواجهة مستقرّة وسجلّ تغييرات حقيقي.
لا تواريخ. سننشر الأهداف حين يكون هناك ما نشير إليه. يبدأ سجلّ تغييرات حقيقي يوم تُشحن المرتبة 01.