@tera-system/core
v0.2.15
Published
Tera System OpenCode Plugin ط£آ¢أ¢â€ڑآ¬أ¢â‚¬â€Œ governance core, 20 agents, 11 commands, distribution tools (personal edition)
Maintainers
Readme
@tera-system/core
Tera System OpenCode Plugin — مكوّن (Component) يحمل منظومة Tera كاملة: النواة الحوكمية + 20 عميلاً + 11 أوامر tera-* + أدوات التوزيع.
التثبيت (أمر واحد)
npm install @tera-system/coreعند التثبيت، يعمل سكربت postinstall تلقائياً على مساحة العمل (المجلد الذي نُفّذ فيه npm install).
⚠️ npm 11+ — السماح للسكربت: إذا ظهر تحذير
allow-scriptsولم تُنشأ ملفات.opencode/، شغّل:npm approve-scripts @tera-system/core npm install @tera-system/core --forceأو مباشرة بدون موافقة:
npx tera-restore # أو node node_modules/@tera-system/core/scripts/install.js
يمكن ضبط الوجهة صراحةً:
TERA_TARGET_DIR=/path/to/workspace npm install @tera-system/core
# أو مباشرة من المصدر:
node scripts/install.js --target /path/to/workspaceماذا يُثبَّت وأين
| المحتوى | الوجهة (نسبة إلى جذر مساحة العمل) |
|---|---|
| 20 عميلاً | .opencode/agents/ |
| 11 أوامر tera-* | .opencode/commands/ |
| تكوين MCP (قالب) | .opencode/opencode.json (فقط إن لم يوجد) + نسخة مرجعية opencode.tera.example.json دائماً |
| النواة الحوكمية (110 ملفاً) | tera-system/ |
| هيكل project-control/ (قوالب) | project-control/ (فقط إن لم يوجد — حالة خاصة بكل عميل) |
| أدوات التوزيع (7 سكربتات) | tools/ |
| سجل الملكية | .opencode/tera-core.manifest.json |
الاستعادة عند الحذف بالخطأ
إذا حذفت بالخطأ .opencode/agents/ أو أي مجلد تابع للحزمة، لا تُعد التثبيت عبر npm update فقط — شغّل:
npx tera-restore
# أو
node node_modules/@tera-system/core/scripts/install.js
# أو
npx tera-core-restore --target "D:\My Projects\MyApp"المثبّت سيعيد فقط الملفات المفقودة المملوكة للحزمة دون المساس بملفاتك.
سلوك المثبّت (غير مدمر + واعٍ بالملكية)
- لا يحذف أي شيء أبداً.
- لا يكتب فوق أي ملف غير مملوك له: أي ملف موجود باسم يتعارض مع حزمة
@tera-system/core(ولم تثبّته الحزمة سابقاً) يُترك كما هو ويُسجَّل كـCONFLICTفي تقرير التركيب. - يفرّق بين ملفاته وملفات المستخدم عبر سجل الملكية
.opencode/tera-core.manifest.json. - الملفات المملوكة للحزمة فقط تُحدَّث عند اختلافها، مع نسخة احتياطية (
*.tera-bak-<ts>) قبل أي تحديث. - إعادة التشغيل آمنة (idempotent): الملفات المتطابقة تُتخطّى.
opencode.jsonالموجود لدى المستخدم لا يُلمس أبداً — تُوضع نسخة مرجعية فقط وتظهر التعليمات في التقرير.
إلغاء التثبيت (يدوي — غير مدمر)
- احذف الملفات المسجّلة في
.opencode/tera-core.manifest.json(files). - احذف
.opencode/tera-core.manifest.jsonنفسه. - احتفظ بأي
*.tera-bak-*أو ملفاتك الشخصية كما هي.
التحقق من النزاهة
تجزيئات SHA256 لكل مجموعة محتوى في MANIFEST.json (agents / commands / core/tera-system / tools / project-control).
الترخيص والتفعيل
النموذج: كود مفتوح + ترخيص مدفوع
| ما هو مسموح | ما هو ممنوع | |-------------|-------------| | قراءة الكود | إعادة بيع الحزمة كمنتج مستقل | | تثبيت الحزمة على مشاريعك | نسخ المحتوى لمنتج منافس | | استخدامها في مشاريعك | توزيعها دون اتفاق ترخيص |
كيفية تفعيل الرخصة (للعملاء)
الخطوة 1: التثبيت
npm install @tera-system/coreعند التثبيت الأول، تعمل الحزمة في وضع تجريبي (Trial). يمكنك استخدامها لكن بعض الميزات قد تكون محدودة.
الخطوة 2: شراء الرخصة
تواصل معنا للحصول على مفتاح التفعيل:
البريد: [email protected]
سنرسل لك مفتاحاً فريداً يحتوي على:
- المستوى (Basic / Premium)
- اسم المشروع
- تاريخ الانتهاء
- عدد المقاعد
الخطوة 3: تفعيل المفتاح
الطريقة 1: عبر متغير البيئة (مُوصى به)
# Windows PowerShell
$env:TERA_LICENSE_KEY = "المفتاح_الذي_تلقيناه"
# ثم أعد التثبيت
npm install @tera-system/coreالطريقة 2: عبر ملف إعدادات
أنشئ ملف .tera/license.json في جذر مشروعك:
{
"licenseKey": "المفتاح_الذي_تلقيناه"
}ثم شغّل:
node scripts/tera-license.mjs check --key "المفتاح_الذي_تلقيناه"الخطوة 4: التحقق
# تحقق من حالة الرخصة
node scripts/tera-license.mjs check --key "المفتاح_الذي_تلقيناه"النتيجة المتوقعة:
{
"state": "Active",
"reason": "valid",
"payload": {
"tier": "premium",
"project": "اسم_مشروعك",
"expiresAt": "2027-08-21T00:00:00.000Z"
}
}حالات الرخصة
| الحالة | المعنى | ماذا يحدث |
|--------|--------|-----------|
| Active | رخصة صالحة | يعمل بالكامل ✅ |
| Grace | منتهية (ضمن 7 أيام) | يعمل مع تحذير ⚠️ |
| Expired | منتهية (خارج السماح) | يتوقف عن العمل ❌ |
| Invalid | مفتاح خاطئ | لا يعمل ❌ |
| Unlicensed | بدون مفتاح | وضع تجريبي 🔓 |
تحديث الرخصة
للحصول على إصدار أحدث:
npm install @tera-system/core@latestلتجديد الاشتراك:
تواصل معنا قبل انتهاء الرخصة وسنرسل مفتاحاً جديداً.
الدعم
- الوثائق:
tera-system/TERA_USER_GUIDE.md - الأوامر:
tera-help - المشكلات:
tera-diagnose - التحديثات:
tera-update
للتواصل حول الترخيص والأسعار: [email protected]
