
cottage v0.7.0
مدير أسرار حديث قائم على git ومشفر باستخدام age للفرق.
cottage هي أداة GitOps للفرق لإدارة الأسرار المشفّرة بـ age في مستودعات git.
توفّر سير عمل بسيطًا لتشفير/فك تشفير الأسرار، وإدارة المستلمين، وإبقاء الأسرار خارج المستودع مع السماح بمشاركتها بسهولة عبر VCS. كما تولّد cottage معاينات محجوبة للأسرار المشفّرة لتحسين الرؤية، وتدعم سير عمل فك التشفير الدائم والمؤقت، مع ضمان عدم إيداع الأسرار أبدًا بنص صريح.

- الميزات
- التثبيت
- تكاملات المحررات
- تكاملات وكلاء الذكاء الاصطناعي
- البدء السريع
- GitOps
- خطافات Git
- التحكم في الوصول
- أي مزوّد كـ Upstream
- المزامنة مع أي جهاز
- معرفة المزيد
- استكشاف الأخطاء وإصلاحها
- المقارنة
الميزات
- آمن ضد التسريب: يستخدم نظام الأنواع في Rust لضمان عدم تمكن الأخطاء من كشف الأسرار عن طريق الخطأ.
- صديق للفريق: شارك المفاتيح العامة (المستلمين) في المستودع، واحتفظ بالمفاتيح الخاصة (الهويات) محليًا.
- التحكم في الوصول: قواعد سماح/منع بسيطة للتحكم في الأسرار التي تُشفَّر ولمن.
- يدير .gitignore: يحدّث
.gitignoreتلقائيًا لإبقاء الأسرار غير المشفّرة خارج المستودع. - المعاينات: يولّد معاينات محجوبة بطوابع زمنية للأسرار المشفّرة لتحسين الرؤية.
- فروقات غنية: يحافظ على نظافة git diff وقابليته للمراجعة، بينما يعرض
ctg diffالفرق بين الأسرار المعدّلة محليًا ونظيراتها المشفّرة المتعقّبة. - التحقق من المجموع الاختباري: يمنع التلاعب بالتحقق من تطابق الأسرار المشفّرة وقوائم المستلمين مع البيانات الوصفية.
- خطافات Git: إعداد خطافات git بسهولة للتحقق/التشفير التلقائي للأسرار قبل الإيداع وفك تشفيرها بعد السحب.
- سير عمل الأسرار الدائمة: يحتفظ
ctg decrypt/syncبالأسرار المفكوكة على القرص. - دورة تنظيف ذكية: يفكّ
ctg run(اختصارctgx) وctg editتشفير الأسرار قبل العملية، ويبقيها على القرص إن كانت موجودة مسبقًا أو ينظّفها تلقائيًا بعدها إن لم تكن كذلك. - تنظيف عند الإكمال: تضمن
ctg encrypt --cleanوctg run --cleanوctg edit --cleanتنظيف الملفات المفكوكة من القرص حتى لو كانت موجودة مسبقًا. - سير عمل حقن المتغيرات البيئية: يحقن
ctg envالأسرار المفكوكة كمتغيرات بيئية لتشغيل أمر، دون كتابتها على القرص إطلاقًا. - تمرير الأسرار الآمن: يفكّ
ctg cat PATHالتشفير في الذاكرة ويطبعه إلى stdout للتمرير المباشر إلى stdin لأدوات أخرى. - التنظيف: يحذف
ctg cleanجميع الأسرار المفكوكة من المستودع المحلي ليتيح لك تشغيل وكلاء الذكاء الاصطناعي بقلق أقل قليلًا. - يدعم jj والمجلدات غير التابعة لـ git: يحوّل
ctg initأي مجلد إلى مخزن أسرار. - المزامنة مع أي مزوّد: يتيح لك تهيئة أي مزوّد لديه API كـ upstream، وبدء استخدام
ctg pull/diff/pushمثلgit pull/diff/push. - المزامنة مع أي جهاز: يمكن مزامنة الأسرار المشفّرة بـ cottage والمدارة في مستودع git عبر الأجهزة باستخدام Cottage Sync.
التثبيت
# rust: cargo-binstall/cargo
cargo binstall --locked cottage
cargo install --locked cottage
# python: pip/uv/uvx
pip install cottage
uv pip install cottage
uvx --from cottage ctg --version
# node: yarn/pnpm/npx
yarn global add @sayanarijit/cottage
pnpm add -g @sayanarijit/cottage
npx -p @sayanarijit/cottage ctg --version
متوفّر أيضًا كصور docker:
# Docker
docker run --rm -v $PWD:/app sayanarijit/cottage --version
# Podman
podman run --rm -v $PWD:/app quay.io/sayanarijit/cottage --version
أو نزّل أحدث إصدار من GitHub.
تكاملات المحررات
إضافة VS Code
استخدم إضافة Cottage لـ VS Code لتثبيت ctg، وإضافة خطافات أمان Copilot، وتشفير الملفات من المستكشف، وفتح ملفات .cott.age عبر سير عمل المحرر.
ثبّتها من Visual Studio Marketplace، أو ابنِها وثبّتها محليًا من vscode-plugin-cottage.
إضافة Cursor و Eclipse
نزّل ملف VSX وثبّته في Cursor أو Eclipse IDE. تعمل بشكل مشابه لإضافة VS Code.
إضافة Vim
استخدم إضافة cottage.vim لتشفير/فك تشفير الأسرار من Vim أو Neovim.
تكاملات وكلاء الذكاء الاصطناعي
جميع التكاملات أدناه تمنع وكلاء الذكاء الاصطناعي من تشغيل ctg/ctgx مباشرة ومن عرض أو تعديل ملفات الأسرار: أي شيء داخل .cottage/، وأي ملف *.cott.* (كتل *.cott.age المشفّرة ومعاينات *.cott.toml المحجوبة)، وأي ملف مفكوك لا يزال له نظير *.cott.age على القرص.
تكامل Claude Code
إذا كنت تستخدم Claude Code، فأضف .claude/settings.json و .claude/hooks/deny-secrets.py إلى مستودعاتك التي تحتوي على أسرار حتى تتعامل جلسات Claude Code مع الأسرار بأمان، أو ثبّت إضافة claude-plugin-cottage.
تكامل GitHub Copilot
إذا كنت تستخدم GitHub Copilot في VS Code، فأضف .github/hooks/ctg-policy.json و .github/hooks/scripts/deny_ctg_command.py إلى مستودعاتك التي تحتوي على أسرار حتى تنظّف جلسات Copilot الملفات المفكوكة، وتحجب أوامر ctg المباشرة في الصدفة، وتحجب الوصول إلى ملفات الأسرار، أو ثبّت إضافة vscode-plugin-cottage لإعداد ذلك من VS Code.
