
بنية تحتية غير مرئية لمساحات عمل المطورين في Dracon: أدوات git sync و system guard و warden encryption.
ثلاث أدوات CLI صغيرة مكتوبة بلغة Rust تعتني بجهاز تطوير يعمل بنظام Linux: واحدة تحافظ على حفظ مستودعات git الخاصة بك ونسخها احتياطيًا، وواحدة تحمي قرصك وذاكرتك من الانهيار، وواحدة تمنع الأسرار من الوصول إلى سجل git الخاص بك. تعمل كخدمات systemd عادية على مستوى المستخدم — دون الحاجة إلى صلاحيات الجذر.
| الأداة | المشكلة التي تحلها | في سطر واحد |
|---|---|---|
dracon-sync | "عدّلت ملفات طوال اليوم ولم أحفظها أبدًا." | يراقب مستودعاتك، ويحفظ التغييرات تلقائيًا برسائل حتمية، ويدفعها إلى GitHub/GitLab/أي مكان |
dracon-system | "امتلأ قرصي في منتصف عملية البناء وتجمّد كل شيء." | يحمي من ضغط القرص والذاكرة، وينظّف المستهلكات المعروفة للمساحة، ويشخّص مشكلات التخزين |
dracon-warden | "كدت أدفع مفتاح API الخاص بي إلى GitHub." | يشفّر بشفافية الملفات ذات الشكل السري (age) بحيث تكون آمنة في حالة السكون داخل git لكن نصًا صريحًا في محرّرك |
كل شيء هنا هو مساحة عمل Cargo واحدة حسب المسار: cargo test --workspace --locked في جذر
المستودع يبني ويختبر الثلاثة جميعًا (2347 اختبارًا في 2026-10-10؛ 0 فشل، 25 متجاهلًا). أدلة الأدوات الثلاثة
هي مستودعات git مستقلة متداخلة (لها .git/ وسجل وremotes ووسوم خاصة بها منذ
2026-09-11 — الأب يتتبع ملفات meta فقط)، لذا فإن استنساخ الأب المجرّد وحده
لا يبني؛ استنسخ مستودعات الأدوات بجانبه (انظر CONTRIBUTING Setup).
git clone https://github.com/DraconDev/dracon-utilities.git
cd dracon-utilities
# nested utility repos (see CONTRIBUTING for the clone list)
git clone https://github.com/DraconDev/dracon-sync-background-auto-commit-multi-remote.git dracon-sync
git clone https://github.com/DraconDev/dracon-system-disk-process-guard-doctor.git dracon-system
git clone https://github.com/DraconDev/dracon-warden-secret-encrypt-age-git-filter.git dracon-warden
cargo build --release --locked
./target/release/dracon-system doctor # health check of this machine
./target/release/dracon-sync status # what sync would watch
./install.sh # binaries -> ~/.local/bin
systemctl --user enable --now dracon-sync.service # background auto-commit
systemctl --user enable --now dracon-system-guard.service # background guard
./uninstall.sh # remove binaries and services (configs kept unless --purge)
`install.sh` stops the services while it works, refreshes the user
service units from the repo, installs the warden git hooks globally,
and restarts the services afterwards (see `./install.sh --help`;
`--no-restart` and `--binaries-only` opt out of parts of this).
dracon-warden ليس خدمة — بعد التثبيت، شغّل
dracon-warden setup-hooks --global مرة واحدة لتفعيل خطافات git الخاصة به، ثم
dracon-warden keygen لإنشاء زوج مفاتيح age الخاص بالجهاز.
ثم يقرأ كل أداة إعداداتها من TOML من ~/.dracon/utilities/
(الأمثلة تأتي في دليل كل أداة). لا شيء يتتبعه git يعيش
أبدًا خارج شجرة المستودع؛ تذهب الحالة إلى ~/.dracon/ و
~/.local/state/dracon/.
dracon-syncأنت تعمل؛ وهي تُثبّت. أعطها جذور المراقبة (~/Dev، مثلًا) وهي
تكتشف كل مستودع git تحتها، وتنتظر استقرار التعديلات،
وتُثبّت برسائل حتمية مبنية على الفروقات، وتدفع إلى origin
بالإضافة إلى أي مرايا مُهيّأة. وهي تصنّف إخفاقات الدفع
(STUCK/BLOCKED/BROKEN) بدلًا من إعادة المحاولة بصمت إلى ما لا نهاية، و
تُشير إلى المستودعات التي تختفي من القرص.
dracon-sync daemon # continuous loop (what the service runs)
dracon-sync repos # live report of every watched repo
dracon-sync sync-now ~/Dev/my-project
dracon-sync health
المزيد: dracon-sync/README.md
dracon-systemمراقب للجهاز نفسه. عندما يتجاوز ضغط القرص أو الذاكرة حدود التحذير/الحرج، يمكنه تنظيف الملفات غير الضرورية القابلة لإعادة التوليد (مجلدات البناء، وذاكرات التخزين المؤقت)، وتقليل أولوية العمليات المستهلكة للذاكرة حتى يبقى سطح المكتب سريع الاستجابة، و توجيه قاتل نفاد الذاكرة في النواة نحو المتسببين الفعليين. كما يقوم بتشخيصات لمرة واحدة: نقاط تخزين البيانات الساخنة، وإدارة الروابط الرمزية، وحالة zram.
dracon-system doctor # deterministic diagnostics pass
dracon-system storage ~/Dev # where did my disk go?
dracon-system guard clean # reclaim space (dry-run first)
dracon-system guard daemon # continuous monitoring (the service)
المزيد: dracon-system/README.md
dracon-wardenتشفير قائم على مرشّح Git باستخدام age.
تُشفَّر الملفات المطابقة لأنماط الأسرار (.env، *.key، …) عند
الالتزام وتُفكّ عند السحب، بحيث تبقى شجرة العمل طبيعية
بينما لا يحتفظ المستودع البعيد سوى بالنص المشفّر. تدعم الخطافات العامة هذا
عبر فحص كل عملية دفع بحثًا عن محتوى على شكل أسرار وحجب العمليات المحفوفة بالمخاطر.
dracon-warden keygen # machine age keypair
dracon-warden setup-hooks --global
dracon-warden status # what's protected on this machine
المزيد: dracon-warden/README.md
dracon-utilities/
├── dracon-sync/ # auto-commit multi-remote git sync daemon
├── dracon-system/ # disk/process guard, storage & diagnostics
├── dracon-warden/ # age-based git secret encryption (hooks + CLI)
│ └── src/security/ # embedded dracon-security crate
├── .github/workflows/ci.yml # lint / test / release-build / deny / nix
├── flake.nix # optional Nix build path
├── scripts/ # release, checks, audit tooling
└── AGENTS.md # policies for agents/operators working here
export DRACON_SYNC_GIT_BIN=/run/current-system/sw/bin/git # NixOS only
cargo test --workspace --locked
cargo clippy --workspace --locked -- -D warnings
cargo deny check
nix flake check # optional
عمليات بناء لكل أداة: cargo build --release --locked -p dracon-{sync,system,warden}.
أحدث إصدارات المكوّنات: dracon-sync 0.113.95 · dracon-system 0.112.44 ·
dracon-warden 0.113.15 — راجع
Releases.
تُوسم إصدارات الأدوات المساعدة في المستودعات المتداخلة (dracon-sync-vX.Y.Z، …)؛
وتوجد تفاصيل كل أداة في ملف CHANGELOG.md الخاص بكل دليل، بينما يُعدّ ملف
CHANGELOG.md الأصلي سجلًا تاريخيًا مجمّدًا.
ملاحظة تاريخية: كانت كل أداة مساعدة في الأصل تعيش في مستودعها الخاص (
DraconDev/dracon-sync-background-auto-commit-multi-remote،...-disk-process-guard-doctor،...-secret-encrypt-age-git-filter). يجري التطوير في النسخ المستقلة المتداخلة من تلك المستودعات نفسها، المستنسخة بجوار هذا المستودع الفوقي (لا يتتبع المستودع الأصلي أي شيفرة مصدرية للأدوات).
docs/ROADMAP.md هو خريطة التوثيق الوحيدة — ابدأ منه للتثبيت والتشغيل والمساهمة والأمان وسجل الإصدارات. تُفهرس دراسات التصميم الدائمة بشكل منفصل في docs/README.md (فهرس التصميم).
AGPL-3.0-only — راجع LICENSE للتفاصيل.