البدء
تسحب أداة OneGuard في سطر الأوامر متغيرات البيئة المشفّرة إلى ملف .env محلي، وتدفع التغييرات مرة أخرى، وتدير الخزنات والأسرار وأعضاء الفريق — دون مغادرة الطرفية.
التثبيت
macOS و Linux
تنشر OneGuard من مستودع Homebrew خاص بها ("tap")، فتوجّه Homebrew إليه مرة واحدة:
brew tap oneguard-sa/oneguard
brew install oneguard
أو بأمر واحد يجمع بين الإضافة والتثبيت:
brew install oneguard-sa/oneguard/oneguard
تحقّق من نجاح التثبيت:
oneguard --help
which oneguard
Windows
دعم Chocolatey قيد الإنجاز:
choco install oneguard
تسجيل الدخول
ولّد مفتاح API من لوحة تحكم OneGuard — Vault → API Keys → Add — اختر صلاحية وتاريخ انتهاء، ثم انسخ المفتاح. يبدأ بـ og_ ويظهر مرة واحدة فقط.
oneguard auth login og_your_key
يُخزَّن المفتاح في ~/.oneguard/credentials.json، ولا يقرؤه سوى مستخدمك. لتسجيل الخروج:
oneguard auth logout
صلاحيات المفتاح
يُنشأ المفتاح إما للقراءة read أو للكتابة write، ويفرض الخادم هذا الفرق:
| الصلاحية | ما يمكن فعله |
| --- | --- |
| read | status، vault list، secrets list، env pull، env sync، teams list، logs list، وgenerate (التي لا تغادر جهازك أبدًا) |
| write | كل ما سبق، بالإضافة إلى إنشاء الأسرار والخزنات وتعديلها وأرشفتها وحذفها، وenv sync --push، وsecrets generate، ودعوة الأعضاء أو إزالتهم |
مفتاح للقراءة فقط يُستخدم في عملية كتابة يُرفض برسالة واضحة، وهذا لا يسجّل خروجك — تبقى جلستك صالحة، وكل ما تحتاجه مفتاح بصلاحية الكتابة لتلك العملية.
لمعرفة ما يستطيع المفتاح الذي تستخدمه حاليًا فعله:
oneguard status
الترقية
brew update
brew upgrade oneguard
لمعرفة ما تستخدمه مقابل المتاح:
oneguard --help
brew info oneguard
إذا أفاد brew upgrade بعدم وجود جديد رغم توقّعك إصدارًا أحدث، فربما تكون نسخة Homebrew من الـ tap قديمة — ينعشها brew update. لإعادة تثبيت كاملة:
brew uninstall oneguard && brew install oneguard-sa/oneguard/oneguard
تشغيل نسخة محلية
عند العمل على الأداة نفسها، شغّل نسختك المبنية محليًا دون التأثير على النسخة المثبَّتة. لا تضعها على PATH:
cd oneguard_cli
dart compile exe bin/oneguard.dart -o build/oneguard
./build/oneguard vault list
تُخزّن الأداة مفتاحها في $HOME/.oneguard/credentials.json — ملف واحد تشترك فيه كل نسخة على الجهاز. لإبقاء تسجيل دخول تجريبي منفصلًا، امنحه مجلد home مختلفًا:
HOME=/tmp/oneguard-dev ./build/oneguard auth login og_test_key
HOME=/tmp/oneguard-dev ./build/oneguard status
بعدها يعيش كل ما تخزّنه الأداة تحت /tmp/oneguard-dev/.oneguard/، وتبقى جلستك الحقيقية دون تأثير.