الوثائق
الحزم والتطبيقات
أسماء مساحات العمل ونقاط الدخول العامة والمستهلكين ومسؤوليات التنفيذ.
مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية
مكتبات المجال
@cadcamfun/core
packages/core/src/index.ts يصدر رموز CAD مسطحة وتحت cad، كام تحت cam، ووظائف الرسم تحت drawing. أنه يحتوي على رسومات تخطيطية، والنمذجة الصلبة، والفسيفساء، وتبادل الرسم، وعمليات التصنيع، والمعالجات اللاحقة، وتحليل G-code، والتحقق. يستهلك سطح المكتب هذه الحزمة مباشرة للعمليات التفاعلية؛ يستخدمه السايدكار خلف محولات HTTP والمحولات المساعدة.
@cadcamfun/vcs
packages/vcs/src/index.ts يعرض لقطة المشروع، والكائن، والمرجع، والفرق، والدمج، ووظائف نقل GitHub. ليس لديه تبعيات حزمة وقت التشغيل. ينتمي التخزين ودقة المستخدم التمثيلي إلى مستودع وخدمات VCS الخاص بالسايدكار.
@cadcamfun/workflow
packages/workflow/src/index.ts تصدير مخططات سير العمل، والتحليل، ومطابقة المشغل، والتنفيذ. ذلك يعتمد على التأثير. يسجل السايدكار الخطوات التي تتطلب إشعارات أو سجل المشروع أو الوصول إلى الذكاء الاصطناعي؛ يكون اسم خطوة سير العمل قابلاً للاستخدام فقط عندما يتم تسجيل تنفيذه في برنامج التشغيل.
العقود والتخزين والذكاء الاصطناعي
@cadcamfun/api
إدخال الجذر packages/api/src/index.ts يؤلف مجموعات HttpApi والمخططات المشتركة. ال @cadcamfun/api/sdk export points to the generated Promise SDK. The source tree also contains Effect clients and the full contract-based ApiClient. يجب على مستهلكي واجهة برمجة التطبيقات (API) تحديد سطح العميل الذي يمثل نقطة النهاية التي يحتاجون إليها.
@cadcamfun/db
يوفر التصدير الجذر التأثير Database الخدمة ومساحة اسم المخطط. @cadcamfun/db/schema يعرض جداول Drizzle. الوصول إلى SQLite والترحيلات والتخطيط الاحتياطي وملكية المخطط موجود هنا. يتم تشغيل معظم استعلامات التطبيقات من المستودعات السايدكار من خلال الخدمة؛ يستورد استوديو الويب المحلي مخططات الجدول لعملية Bun مستقلة خاصة به.
@cadcamfun/ai
packages/ai/src/index.ts يعرض خدمات الموفر، وتكامل nikcli المضمن، وكتالوج الإجراءات، وأدوات التطبيق، والمطالبات، والمهارات. يوفر السايدكار محولات حية للمشروعات والهندسة والتصنيع والملفات والسجلات وسير العمل. تعتمد الحزمة على API والأساسية، مع إصدارات nikcli وAI SDK المثبتة.
حزم التمديد
@cadcamfun/plugin-sdk
أدوات تطوير البرامج (SDK). src/index.ts هي نقطة دخول البرنامج المساعد للتطبيق العام. وهو يحدد عقود البيان والقدرة ومساعدي تأليف المكونات الإضافية. يعيش مضيف وقت التشغيل في apps/sidecar/src/plugins; sDK نفسها ليست العملية المضيفة.
@cadcamfunv2/cadcamfun-nikcli-plugin
packages/nikcli-plugin/src/index.ts تصدير جسر nikcli المستقل. على عكس معظم مساحات العمل، تم تكوينه لنشر npm العام، حاليًا في الإصدار 0.1.0. يكتشف الإجراءات من تطبيق CADCAMFUN قيد التشغيل ويستدعيها عبر HTTP المصادق عليه. لا يقوم بتضمين نواة CAD أو كتالوج الإجراءات المستقل.
@cadcamfun/plugin-sdk ينفذ الإصدار الرئيسي من البرنامج المساعد API 1. معرفات المكونات الإضافية هي أسماء DNS عكسية مكونة من 3–128 أحرف، مثل com.example.gear-generator، وتتبع الإصدارات major.minor.patch مع لاحقة اختيارية للإصدار المسبق (packages/plugin-sdk/src/manifest.ts).
مولد عميل HTTP
@cadcamfun/httpapi-codegen يصدر المترجم والبواعث منه packages/httpapi-codegen/src/index.ts. compile يعكس تأثير HttpApi في نموذج العقد. emitPromise يقوم بإنشاء وعد SDK؛ emitEffect و emitEffectImported دعم تأثير الإخراج. يشير المتغير المستورد إلى مخططات العقود الموجودة.
وتشمل الصادرات الأخرى بواعث التوافق، ورسم خرائط أخطاء النقل، write، و generate. رفع أشكال العقود غير المدعومة GenerationError. يسجل البرنامج النصي لإنشاء التطبيق استثناءات نقطة النهاية بشكل صريح للقيود المشتركة وقيود الوعد فقط.
packages/api/scripts/generate-clients.ts يكتب src/sdk/generated و src/client/generated. يتم إنشاء فحص الانجراف الخاص به في دليل مؤقت ويقارن أسماء الملفات ومحتوياتها بالمخرجات الملتزم بها.
bun run generate
bun run generate:check يعيش الناتج الناتج في packages/api/src/client/generated و packages/api/src/sdk/generated. يجري bun run generate بعد تغيير العقد، و bun run generate:check للتأكد من أن الإخراج الملتزم به حالي.
مساحات عمل التطبيق
@cadcamfun/sidecar—apps/sidecarsrc/main.tsهو إدخال الخادم القابل للتنفيذ؛src/layers.tsخدمات الأسلاك والمجموعات المخدومة. يقوم البرنامج النصي لبدء الحزمة بتشغيل Bun مباشرة. تتم إدارة التجميع في ملف سايدكار أصلي بواسطة البرامج النصية لبناء الجذر.@cadcamfun/desktop—apps/desktop- الواجهة الأمامية SolidJS/Vite بالإضافة إلى تطبيق Tauri Rust
src-tauri. الحزمةbuildالبرنامج النصي يبني الواجهة الأمامية. تتطلب التعبئة الأصلية موارد Tauri والموارد السايدكار. @cadcamfun/mobile—apps/mobile- نقطة دخول جهاز توجيه Expo، ونقل HTTP/الأصلي المصاحب، وحالة الاقتران الآمنة، وواجهة مستخدم الهاتف المحمول. يقوم نص البناء الخاص به بتصدير حزمة iOS JavaScript؛ يتطلب إنتاج تطبيق أصلي أوامر البناء الأصلية.
التوثيق والمساعد والاستوديو
@cadcamfun/web يحتوي على صفحات Astro ومكونات التوثيق المشتركة وفهرس محتوى الموقع. تم الإعلان عن الشريط الجانبي في src/data/docsSidebar.ts; src/data/docsIndex.ts يحمل ملخصات الاسترجاع والكلمات الرئيسية لنفس المسارات. تعرض كل صفحة وثائق مقالتها مسبقًا.
GET /llm يسرد صفحات التوثيق كروابط Markdown. GET /llm?path=/docs/cam تقوم بإرجاع المقالة المقدمة المقابلة كـ Markdown بنكهة GitHub. يضيف format=prompt لمطالبة التوثيق. مسارات غير معروفة ترجع 404؛ تؤدي حالات فشل التحويل إلى إرجاع حالة خطأ. يقوم خط أنابيب Markdown بتجريد التنقل والبرامج النصية والأنماط وعناصر التحكم.
POST /api/docs-assistant يسترد ما يصل إلى ثلاث صفحات مفهرسة ويبث الإجابة من خلال Workers AI أو واجهة nikcli الخلفية التي تم تكوينها. يعمل تطوير Astro المحلي على تعطيل الارتباطات عن بعد، لذلك يجب أن تكون الواجهة الخلفية للنموذج متاحة للإنشاء. الاختياري SESSIONS يتيح ربط KV تحديد معدل أفضل جهد لكل IP؛ خياري ARTIFACTS التخزين يتيح الأدلة التي تم إنشاؤها للمشاركة.
bun run --filter @cadcamfun/web dev يبدأ كلاً من Astro وStudio API. start يدير أسترو وحده؛ studio يبدأ تشغيل Bun Studio API فقط. يختار الاستوديو CADCAMFUN_DB، ثم DATABASE_URL مع اختياري file: تمت إزالة البادئة، ثم المستودع data/cadcamfun.db. يجب أن يكون الملف موجودًا بالفعل ويحتوي على مخطط التطبيق.
يقبل الاستوديو البريد الإلكتروني وكلمة المرور للمستخدم الحالي، ويتحقق من كلمة المرور المخزنة باستخدام Bun.password، ويكتب جلسة قاعدة بيانات مدتها سبعة أيام باستخدام ملف تعريف ارتباط HTTP فقط. تُرجع النظرة العامة الخاصة به أعدادًا على مستوى التثبيت والمشاريع الحديثة إلى المستخدمين المصادق عليهم. الإنتاج /studio/api/* يعود المسار 503؛ لا تفتح الوثائق المنشورة قاعدة بيانات SQLite محلية.
bun run --filter @cadcamfun/web start
bun test packages/web/test
bun run --filter @cadcamfun/web typecheck
bun run --filter @cadcamfun/web build حدد سطح التكامل
| يحتاج | سطح | ما يقدمه المتصل |
|---|---|---|
| حساب الهندسة دون المثابرة | @cadcamfun/core | التحقق من صحة الهندسة ومدخلات التشغيل؛ تظل الملكية وحفظ المستندات خارج النواة. |
| اتصل بعقد HTTP الكامل المكتوب | ApiClient من @cadcamfun/api | عنوان URL الأساسي لـ Sidecar، والرمز المميز للتطبيق، ووقت تشغيل/طبقات التأثير. |
| استخدم الأساليب المولدة على أساس الوعد | @cadcamfun/api/sdk | خيارات عميل SDK ومدخلات نقطة النهاية؛ تحقق من إغفالات التوليد أولاً. |
| تقديم القدرة على التطبيق | @cadcamfun/plugin-sdk | بيان مدعوم وصادرات وحدة متوافقة والإمكانيات الممنوحة. |
| قيادة إجراءات المشروع من nikcli المستقل | @cadcamfunv2/cadcamfun-nikcli-plugin | عنوان URL للتطبيق قيد التشغيل والرمز المميز للجسر المحدد والمشروع المحدد. |
| قراءة الوثائق في أداة | /llm?path=/docs/… | طريق توثيق معروف؛ هذا لا يستدعي إجراءات مشروع CAD/CAM. |
معظم حزم المكتبات عبارة عن مساحات عمل خاصة تصدر مصدر TypeScript؛ وجودهم في monorepo لا يعني توزيع npm منشور بشكل منفصل. يحتوي جسر nikcli على بيانات تعريفية صريحة للنشر. استخدم مرجع HTTP لعمليات التكامل التي يجب أن تظل مستقلة عن تخطيط الحزمة الداخلية.
مساحة العمل في لمحة
| مساحة العمل | طَرد | طلعات داخلية | ملفات المصدر | خطوط | ملفات الاختبار | محتويات |
|---|---|---|---|---|---|---|
packages/core | @cadcamfun/core | — | 307 | 70,774 | 106 | نواة الهندسة: cad/ (80 ملفات)، cam/ (110), drawing/ (7) |
packages/ai | @cadcamfun/ai | واجهة برمجة التطبيقات، الأساسية | 196 | 22,579 | 83 | المساعد: الإجراءات، المضيف المضمن، المطالبات، المهارات، الأدوات |
packages/api | @cadcamfun/api | الأساسية، httpapi-codegen | 64 | 18,388 | 9 | عقد HttpApi والأخطاء والتأثير وعملاء الوعد |
packages/db | @cadcamfun/db | — | 7 | 1,730 | 2 | SQLite + Drizzle والترحيلات والنسخ الاحتياطية |
packages/vcs | @cadcamfun/vcs | — | 10 | 1,133 | 1 | تاريخ المشروع الذي يتناول المحتوى ودمجه |
packages/workflow | @cadcamfun/workflow | — | 5 | 320 | 1 | مخطط ملف سير العمل وتشغيل الدلالات |
packages/plugin-sdk | @cadcamfun/plugin-sdk | جوهر | 9 | 952 | 2 | بيان البرنامج المساعد، والقدرات، ومضيف الاختبار |
packages/httpapi-codegen | @cadcamfun/httpapi-codegen | — | 13 | 4,330 | 2 | مولد العميل لعقود HttpApi |
packages/nikcli-plugin | @cadcamfunv2/cadcamfun-nikcli-plugin | — | 5 | 359 | 2 | البرنامج المساعد الذي يعرض CADCAMFUN لوكيل nikcli |
packages/web | @cadcamfun/web | ديسيبل | 84 | 12,991 | 3 | موقع التوثيق هذا، الاستوديو، مساعد المستندات |
apps/sidecar | @cadcamfun/sidecar | ai، api، core، db، plugin-sdk، vcs، سير العمل | 172 | 20,797 | 73 | خادم HTTP المحلي: http/ (34), repos/ (24), services/ (29) |
apps/desktop | @cadcamfun/desktop | واجهة برمجة التطبيقات، الأساسية | 557 | 85,579 | 104 | عرض ويب SolidJS (features/ 280 ملفات) + الصدأ في الداخل src-tauri/ |
apps/mobile | @cadcamfun/mobile | واجهة برمجة التطبيقات | 79 | 7,637 | 7 | رفيق المعرض iOS |
الأعداد هي ملفات TypeScript وTSX وRust وAstro التي تم تتبعها في git، وتم قياسها في هذا الفرع؛ ملفات الاختبار هي *.test.ts(x). التبعيات الداخلية تحذف @cadcamfun/ بادئة.
الرسم البياني للتبعية
تشير الأسهم من مساحة العمل إلى ما تستورده. core لا يحتوي على تبعيات داخلية، لذلك يمكن اختبار الهندسة وCAM وإعادة استخدامها بدون خادم. فقط السايدكار هي التي تلامس قاعدة البيانات؛ تصل تطبيقات سطح المكتب والجوال إلى البيانات من خلال api. plugin-sdk يعتمد أيضًا على core (غير مرسوم).
البرامج النصية لكل مساحة عمل
| مساحة العمل | البرامج النصية |
|---|---|
| جذر | typecheck, test, build, build:sidecar, build:desktop, desktop:dev, generate, generate:check, db:generate, db:migrate |
packages/api | typecheck, coverage, generate, generate:check |
packages/db | typecheck, generate, migrate |
packages/web | dev, start, studio, build, preview, deploy, astro, check:freshness, check:docs-index, typecheck, generate:api-reference, check:api-reference |
apps/desktop | typecheck, dev, build, stub-sidecar, tauri, tauri:dev, tauri:build |
apps/mobile | start, ios, dev, ios:build, ios:release, ios:dev, web, native:generate, typecheck, build, test |
apps/sidecar | typecheck, start |
| حزم أخرى | typecheck |
الجذر typecheck يدير كل مساحة عمل typecheck من خلال توربو ثم يتحقق من المشروع الجذر. الجذر test يدير bun test packages apps scripts.