
مدير سجل أدوات موثوق. يدير سلاسل أدوات المطورين من سجلات قائمة على git.
مدير سجل الأدوات -- يُدير سلاسل أدوات المطورين من السجلات المستندة إلى git، مبني فوق mise.
يحل kit إصدارات الأدوات عبر سجلات متعددة، وينشئ تهيئة mise، ويتحقق من مجاميع SHA-256 مقابل أجزاء النشر الخاصة بالناشر، ويتحقق من توقيعات cosign عندما يوقع الناشرون على الملفات الثنائية المجردة، ويُؤتمت تتبع التحديثات من المنبع عبر بنية CI بثلاثة خطوط أنابيب.
إذا لم يكن Rust مثبتًا لديك، فإن أسرع طريق هو mise:
mise use --global rust
cargo install nomograph-kit
أو استخدم rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install nomograph-kit
الملف التنفيذي يُسمى kit.
kit setup --registry https://gitlab.com/your/registry.git
kit sync
kit status
السجل هو مستودع git يحتوي على تعريفات TOML لكل أداة:
tools/
_meta.toml # بيانات السجل + سياسة الدمج
gh.toml # ملف واحد لكل أداة
muxr.toml
...
كل تعريف أداة مستقل بذاته:
[tool]
name = "gh"
source = "github"
repo = "cli/cli"
version = "2.89.0"
tag_prefix = "v"
bin = "gh"
tier = "high"
aqua = "cli/cli"
[tool.assets]
macos-arm64 = "gh_{version}_macOS_arm64.zip"
linux-x64 = "gh_{version}_linux_amd64.tar.gz"
[tool.checksum]
file = "gh_{version}_checksums.txt"
format = "sha256"
[tool.signature]
method = "github-attestation"
المصادر: github، gitlab، npm، crates، direct، rustup، brew
المصدر brew يُفوِّض التثبيت إلى الواجهة الخلفية brew: الخاصة بـ mise (لا حاجة لـ CLI محلي brew في CI). يتعقب kit الإصدار عبر API الخاص بـ formulae.brew.sh ويُصدر إدخالات name = "brew:<formula>@<version>" في ملف mise.toml.
يقوم kit add الذكي باستعلام المنبع وملء البيانات تلقائيًا:
kit add jq jqlang/jq # GitHub
kit add muxr nomograph/muxr --gitlab # GitLab (يحل project_id)
kit add claude-code --npm @anthropic-ai/claude-code
kit add cargo-nextest --crates
kit add chafa --brew # صيغة Homebrew (الصيغة افتراضيًا هي اسم الأداة)
kit add go121 --brew [email protected] # صيغة Homebrew مع اسم صيغة صريح
يحتوي كل أداة على مستوى يتحكم بسياسة الدمج:
| المستوى | المعنى | السياسة النموذجية |
|---|---|---|
| خاص | أدوات تقوم ببنائها ونشرها | دمج تلقائي لجميع الزيادات |
| عالي | أدوات طرف ثالث حاسمة | مراجعة يدوية |
| منخفض | أدوات سلعية | دمج تلقائي للتصحيحات/الثانوية |
تُحدد المستويات لكل أداة في تعريف TOML. يحدد ملف _meta.toml للسجل المستويات التي يتم دمجها تلقائيًا:
[policy]
auto_merge_tiers = ["own", "low"]
auto_merge_bump = ["patch", "minor"]
auto_merge_requires_checksum = true
قم بتكوين سجلات متعددة في ~/.config/kit/config.toml. يفوز السجل الأول عند تداخل الأدوات. تتجاوز التثبيتات المحلية.
[[registry]]
name = "nomograph"
url = "https://gitlab.com/nomograph/kits.git"
[[registry]]
name = "personal"
url = "https://gitlab.com/you/kits.git"
افصل السجلات حسب حدود الثقة. على سبيل المثال، احتفظ بأدواتك الخاصة في سجل وأدوات الطرف الثالث في سجل آخر. لكل سجل خط أنابيب خاص به، وسياسة دمج، وإيقاع تحديث.
يكتشف kit ملف kit.toml بالتجوال صعودًا من دليل العمل. عند العثور عليه، تقتصر الأدوات على ذلك المشروع:
.kit.lock بجانب kit.toml (مُلتزم به في git).mise.toml مُدمج مع علامات # kit:begin / # kit:endيُشغّل kit بنية سلسلة توريد بثلاثة خطوط أنابيب عبر مكون CI kit-registry:
include:
- component: gitlab.com/nomograph/pipeline/kit-registry@v3
inputs:
kit_version: "0.10.1"
mr_assignee: "andunn"
يقوم kit sense باستعلام إصدارات المنبع، وتنزيل الأصول، والتحقق من المجاميع، والتحقق من قواعد بيانات النصائح الأمنية. يصنف كل نتيجة حسب المخاطر (مستوى الزيادة، المستوى، حالة المجموع). لا يفشل أبدًا بسبب انحراف الإصدار — الانحراف هو ما يكتشفه.
يطبق kit evaluate قواعد حتمية (الموافقة التلقائية على التصحيحات النظيفة، رفض عدم تطابق المجاميع) ويستدعي اختياريًا LLM للحالات الحدية (الزيادات الكبرى، المجاميع المفقودة، النصائح الأمنية).
يُحدّث kit apply ملفات TOML على القرص ويقسم التحديثات إلى مجموعتين حسب أهلية الدمج التلقائي:
ينشئ مكون CI فرعًا منفصلاً وطلب دمج لكل مجموعة. يدمج طلب دمج الدمج التلقائي نفسه بعد نجاح خط أنابيب التحقق. يظل طلب دمج المراجعة مفتوحًا للمراجعة البشرية.
يعيد kit verify-registry التحقق من صحة جميع تعريفات الأدوات ويعيد التحقق من المجاميع. يُشغَّل على كل طلب دمج كبوابة دمج.
ما يفعله kit فعليًا في مسار التحقق:
ما لا يفعله kit: التحقق من المجاميع خارج النطاق (يتم جلب المجاميع من نفس الإصدار مثل الأصل)، التحقق من توقيع محتوى الأرشفة، أو استبدال المراجعة البشرية للمستويات التي تدمج تلقائيًا.
kit متقاعد، تم استبداله بـ mise (jdx/mise). أصبحت تثبيتات الأدوات الآن في mise.toml المُتحكم في إصداره + mise.lock ملتزم به (sha256 لكل منصة + مصدر): الأساس الآلي في dunn.dev/harness، تكوينات لكل بيئة (مثل nomograph/keaton). تتدفق التحديثات عبر Renovate (مع customManager لواجهات gitlab:) + تدقيق مصدر CI عبر اختلافات mise.lock — نية kit للمثبت المُتحقق منه + الزيادة التلقائية، على مضيف مستقر. سجل الترحيل: nomograph/keaton -> campaigns/harness/sessions/baseline.md (2026-06-16).
MIT -- Nomograph
| الأمر | الوصف |
|---|
kit setup | إعداد لمرة واحدة، يمكن إضافة سجل اختياريًا |
kit sync | سحب السجلات، الحل، إنشاء تهيئة mise، التثبيت |
kit status | المثبتة مقابل السجل، اكتشاف الانحراف، قوة التحقق |
kit diff | عرض التغييرات بين ملف القفل والسجل |
kit upgrade | سير عمل تحديث الأدوات التفاعلي |
kit verify | إعادة التحقق من جميع الملفات الثنائية المثبتة (المجاميع دائمًا؛ التوقيع فقط للأصول الثنائية المجردة) |
kit audit | التحقق من الأدوات بحثًا عن نصائح أمنية معروفة |
kit add <name> <source> | استعلام المنبع، إنشاء تعريف الأداة |
kit push <name> | تنفيذ الالتزام ورفع تعريف الأداة |
kit remove <name> | إزالة أداة من سجل قابل للكتابة |
kit pin <name> <version> | تثبيت إصدار أداة محليًا |
kit unpin <name> | إزالة التثبيت المحلي |
kit sense | اكتشاف تغييرات المنبع، التصنيف حسب المخاطر (CI) |
kit evaluate | مراجعة قائمة على القواعد + LLM للنتائج (CI) |
kit apply | تحديث ملفات TOML، التقسيم حسب أهلية الدمج التلقائي (CI) |
kit verify-registry | التحقق من صحة جميع تعريفات الأدوات قبل الدمج (CI) |
kit init [--ci] | بناء سجل جديد |
kit completions <shell> | إكمالات الصدفة (bash/zsh/fish) |
kit man-page | إنشاء صفحة دليل |