الخيارات
-
--host <url>مضيف API الذي تجري المصادقة معه. -
--token <key>تمرير المفتاح دون مطالبة بدلًا من الإدخال التفاعلي.
مثال
sonenta login --host https://api.sonenta.com CLI
v0.2.1 · npm · MITسطر أوامر خفيف وقابل للبرمجة لكل ما قد تفعله بطريقة أخرى في لوحة التحكم: استيراد مشروع i18next موجود، ودفع الترجمات وسحبها، ومقارنة الـ CI بالنسخة البعيدة، ونشر إصدار CDN، وأخذ لقطة من الحزم لبناء يعمل دون اتصال أولاً. رخصة MIT، على npm.
تغيير جذري · 0.1 ← 0.2
تمر الآن كامل الـ CLI عبر سطح MCP: فهي تحتاج مفتاح API بنطاق mcp:* — أما المفاتيح المقيّدة بالمشروع فتُرجع 403. أنشئ مفتاحًا في لوحة التحكم ضمن Org Settings → API Keys وأعد إصدار أي مفتاح استخدمته مع الإصدار 0.1.
npm فقط — لا توجد صيغة Homebrew للـ CLI. تتطلب Node 18 أو أحدث، وتثبّت أمر sonenta.
terminal 1# install once, globally2npm i -g @sonenta/cli 4# or run without installing5npx @sonenta/cli <command> يرسل كل نداء Authorization: ApiKey <prefix>.<secret> بنطاق mcp:*. سجّل الدخول مرة واحدة لتخزين المفتاح في ~/.sonenta/credentials، أو عيّن SONENTA_TOKEN في الـ CI.
terminal 1# interactive — stores the key per host in ~/.sonenta/credentials (0600)2sonenta login --host https://api.sonenta.com3API key: snt_live_••••••••.••••••••••••••••4✓ saved for https://api.sonenta.com 6# CI — no prompt, key read from the environment7export SONENTA_TOKEN=snt_live_<prefix>.<secret>8sonenta push ترتيب الحسم، الأول يفوز: متغيّر البيئة SONENTA_TOKEN، ثم ~/.sonenta/credentials للمضيف النشط. أنشئ المفتاح ضمن Org Settings → API Keys بنطاق mcp:*.
يكتب sonenta init ملف sonenta.config.json في مستودعك (يُحسم بالصعود من المجلد الحالي). تبقى بيانات الاعتماد منفصلة، لكل مستخدم، ولا تُودَع أبدًا في الإيداع.
sonenta.config.json 1# committed to your repo — no secrets here2{3 "host": "https://api.sonenta.com",4 "project_uuid": "<project_uuid>",5 "version_slug": "main"6} ~/.sonenta/credentials 1# ~/.sonenta/credentials — mode 0600, per user, never commit2{ "default": "https://api.sonenta.com",3 "hosts": {4 "https://api.sonenta.com": { "api_key": "snt_live_..." }5 } } تكون قيمة version_slug الافتراضية main. أبقِ مفتاح API خارج sonenta.config.json — فمكانه ملف بيانات الاعتماد أو SONENTA_TOKEN فقط.
مُجمَّعة حسب ما تقوم به — إعداد المصادقة والإعداد، أو فحص مشروع، أو مزامنة الترجمات. يمر كل أمر عبر سطح MCP ويحترم sonenta.config.json.
--host <url> مضيف API الذي تجري المصادقة معه. --token <key> تمرير المفتاح دون مطالبة بدلًا من الإدخال التفاعلي. sonenta login --host https://api.sonenta.com لا توجد خيارات.
sonenta logout لا توجد خيارات.
sonenta whoami --project <uuid> UUID المشروع لكتابته في الإعداد (إلزامي). --version <slug> slug الإصدار المستهدف (الافتراضي main). --force الكتابة فوق ملف إعداد موجود. sonenta init --project <uuid> --version main لا توجد خيارات.
sonenta projects list --namespace <slug> التقييد بنطاق أسماء واحد. sonenta keys list --namespace common --language <code> حصر المقارنة بلغة واحدة. --namespace <slug> حصر المقارنة بنطاق أسماء واحد. --src <dir> مجلد المصدر (الافتراضي locales). sonenta status --language <code> التصفية حسب اللغة. --namespace <slug> التصفية حسب نطاق الأسماء. --limit <n> تحديد سقف لعدد الصفوف. sonenta missing --limit 50 --dry-run معاينة فقط؛ لا يرسل شيئًا. --status <draft|translated> الحالة الواردة (الافتراضي translated). --language <code> فرض اللغة بدلًا من استنتاجها من المسار. --namespace <slug> فرض نطاق الأسماء (إلزامي لملف <lang>.json مجرّد). --version <slug> استهداف إصدار غير افتراضي. sonenta import locales/fr/common.json --src <dir> مجلد المصدر (الافتراضي locales). --dry-run معاينة فقط؛ لا يرسل شيئًا. --status <state> الحالة الواردة (الافتراضي translated). sonenta push --dry-run --language <code> الحصر بلغة واحدة. --namespace <slug> الحصر بنطاق أسماء واحد. --dest <dir> مجلد الوجهة (الافتراضي locales). sonenta pull --language fr --nested إصدار أشجار متداخلة بدلًا من مفاتيح مُسطّحة. --out <dir> كتابة الملفات إلى مجلد بدلًا من stdout. sonenta export --nested --out ./dump --version <slug> الإصدار المراد نشره (الافتراضي main). --dry-run معاينة فقط؛ لا ينشر شيئًا. sonenta releases publish --format <ts|json> صيغة الإخراج: ts (الافتراضي) أو json. --out <file> الكتابة إلى ملف بدلًا من stdout. --cdn <base> قاعدة CDN (الافتراضي https://cdn.sonenta.com). sonenta snapshot --out src/sonenta-bundles.ts يقبل كل أمر أيضًا --host <url> لتجاوز مضيف API المُعَدّ لتشغيلة واحدة.
هل تترقّى من الإصدار 0.1؟ تغييران يتطلبان إجراءً.
mcp:* — فالمفاتيح المقيّدة بالمشروع تُرجع الآن 403. push الآن كامل شجرة locales/ في نداء استيراد واحد (كان إنشاء مفتاح زائد عملية PUT لكل ترجمة). وهو عديم التأثير الجانبي، ويطبع: مُنشأة / مُحدَّثة / دون تغيير. import وexport وreleases publish وsnapshot وprojects list جديدة في الإصدار 0.2.0.