
Dracon डेवलपर वर्कस्पेस के लिए अदृश्य बुनियादी ढांचा: git sync, सिस्टम गार्ड, और वार्डन एन्क्रिप्शन उपयोगिताएँ।
तीन छोटे Rust CLI टूल्स जो एक Linux डेवलपमेंट मशीन की देखभाल करते हैं: एक आपके git रिपॉज़ को कमिटेड और बैकअप रखता है, एक आपकी डिस्क और मेमोरी को ध्वस्त होने से बचाता है, और एक सीक्रेट्स को आपके git इतिहास में पहुँचने से रोकता है। ये सामान्य उपयोगकर्ता-स्तरीय systemd सेवाओं के रूप में चलते हैं — root की आवश्यकता नहीं।
| टूल | जो समस्या यह हल करता है | एक पंक्ति में |
|---|---|---|
dracon-sync | "मैंने पूरे दिन फ़ाइलें संपादित कीं और कभी कमिट नहीं किया।" | आपके रिपॉज़ को देखता है, निर्धारक संदेशों के साथ परिवर्तनों को स्वतः-कमिट करता है, GitHub/GitLab/जहाँ भी हो पुश करता है |
dracon-system | "मेरी डिस्क बिल्ड के बीच में भर गई और सब कुछ फ्रीज़ हो गया।" | डिस्क और मेमोरी दबाव की रक्षा करता है, ज्ञात स्थान-भक्षकों को साफ़ करता है, स्टोरेज समस्याओं का निदान करता है |
dracon-warden | "मैं लगभग अपनी API कुंजी GitHub पर पुश कर ही चुका था।" | सीक्रेट-आकार की फ़ाइलों को पारदर्शी रूप से एन्क्रिप्ट करता है (age) ताकि वे git में आराम की स्थिति में सुरक्षित रहें लेकिन आपके एडिटर में plaintext हों |
यहाँ सब कुछ पथ के अनुसार एक ही Cargo workspace है: रेपो रूट पर cargo test --workspace --locked
तीनों को बिल्ड और टेस्ट करता है (2026-10-10 को 2347 टेस्ट; 0 विफल, 25 अनदेखे)। तीनों यूटिलिटी डायरेक्टरीज़
नेस्टेड स्टैंडअलोन git रिपॉज़ हैं (अपने स्वयं के .git/, इतिहास, रिमोट्स, और 2026-09-11 से
टैग — पैरेंट केवल मेटा फ़ाइलों को ट्रैक करता है), इसलिए केवल एक बेयर पैरेंट क्लोन
बिल्ड नहीं करता; यूटिलिटी रिपॉज़ को उसके बगल में क्लोन करें (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 एक सेवा नहीं है — इंस्टॉल के बाद, इसके git hooks को सक्रिय करने के लिए एक बार
dracon-warden setup-hooks --global चलाएँ, फिर
मशीन का age keypair बनाने के लिए dracon-warden keygen चलाएँ।
इसके बाद प्रत्येक टूल अपना TOML कॉन्फ़िग ~/.dracon/utilities/ से पढ़ता है
(उदाहरण प्रत्येक टूल की डायरेक्टरी में शामिल हैं)। git द्वारा ट्रैक की गई कोई भी चीज़ कभी भी
repo tree के बाहर नहीं रहती; state ~/.dracon/ और
~/.local/state/dracon/ में जाती है।
dracon-syncआप काम करते हैं; यह commit करता है। इसे watch roots दें (~/Dev, मान लीजिए) और यह
उनके अंतर्गत हर git repo को खोज लेता है, संपादनों के स्थिर होने की प्रतीक्षा करता है,
नियतात्मक diff-आधारित संदेशों के साथ commit करता है, और origin
तथा किसी भी कॉन्फ़िगर किए गए mirror पर push करता है। यह push विफलताओं को वर्गीकृत करता है
(STUCK/BLOCKED/BROKEN) बजाय अनंत काल तक चुपचाप पुनः प्रयास करने के, और
उन repos को चिह्नित करता है जो डिस्क से गायब हो जाते हैं।
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मशीन के लिए ही एक वॉचडॉग। जब डिस्क या मेमोरी का दबाव चेतावनी/गंभीर सीमाओं को पार कर जाता है, तो यह पुनः उत्पन्न होने योग्य कचरा (बिल्ड डायरेक्टरी, कैश) साफ कर सकता है, मेमोरी खाने वालों की प्राथमिकता घटा सकता है ताकि आपका डेस्कटॉप प्रतिक्रियाशील बना रहे, और कर्नेल के out-of-memory killer को वास्तविक दोषियों की ओर झुका सकता है। साथ ही एक-बार का डायग्नोस्टिक्स भी करता है: स्टोरेज हॉटस्पॉट, सिमलिंक प्रबंधन, 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-wardenage का उपयोग करके Git फ़िल्टर-आधारित एन्क्रिप्शन।
गुप्त पैटर्न (.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 देखें।