تخطَّ إلى المحتوى
CADCAMFUN
الوثائق

الوثائق

الحزم والتطبيقات

أسماء مساحات العمل ونقاط الدخول العامة والمستهلكين ومسؤوليات التنفيذ.

مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية

مكتبات المجال

@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/sidecar
src/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—30770,774106نواة الهندسة: cad/ (80 ملفات)، cam/ (110), drawing/ (7)
packages/ai@cadcamfun/aiواجهة برمجة التطبيقات، الأساسية19622,57983المساعد: الإجراءات، المضيف المضمن، المطالبات، المهارات، الأدوات
packages/api@cadcamfun/apiالأساسية، httpapi-codegen6418,3889عقد HttpApi والأخطاء والتأثير وعملاء الوعد
packages/db@cadcamfun/db—71,7302SQLite + Drizzle والترحيلات والنسخ الاحتياطية
packages/vcs@cadcamfun/vcs—101,1331تاريخ المشروع الذي يتناول المحتوى ودمجه
packages/workflow@cadcamfun/workflow—53201مخطط ملف سير العمل وتشغيل الدلالات
packages/plugin-sdk@cadcamfun/plugin-sdkجوهر99522بيان البرنامج المساعد، والقدرات، ومضيف الاختبار
packages/httpapi-codegen@cadcamfun/httpapi-codegen—134,3302مولد العميل لعقود HttpApi
packages/nikcli-plugin@cadcamfunv2/cadcamfun-nikcli-plugin—53592البرنامج المساعد الذي يعرض CADCAMFUN لوكيل nikcli
packages/web@cadcamfun/webديسيبل8412,9913موقع التوثيق هذا، الاستوديو، مساعد المستندات
apps/sidecar@cadcamfun/sidecarai، api، core، db، plugin-sdk، vcs، سير العمل17220,79773خادم HTTP المحلي: http/ (34), repos/ (24), services/ (29)
apps/desktop@cadcamfun/desktopواجهة برمجة التطبيقات، الأساسية55785,579104عرض ويب SolidJS (features/ 280 ملفات) + الصدأ في الداخل src-tauri/
apps/mobile@cadcamfun/mobileواجهة برمجة التطبيقات797,6377رفيق المعرض iOS

الأعداد هي ملفات TypeScript وTSX وRust وAstro التي تم تتبعها في git، وتم قياسها في هذا الفرع؛ ملفات الاختبار هي *.test.ts(x). التبعيات الداخلية تحذف @cadcamfun/ بادئة.

الرسم البياني للتبعية

سطح المكتبسايدكارمتحرك ديسيبلواجهة برمجة التطبيقاتبالنيابةvcsسير العملplugin-sdk جوهرhttpapi-codegen

تشير الأسهم من مساحة العمل إلى ما تستورده. core لا يحتوي على تبعيات داخلية، لذلك يمكن اختبار الهندسة وCAM وإعادة استخدامها بدون خادم. فقط السايدكار هي التي تلامس قاعدة البيانات؛ تصل تطبيقات سطح المكتب والجوال إلى البيانات من خلال api. plugin-sdk يعتمد أيضًا على core (غير مرسوم).

البرامج النصية لكل مساحة عمل

مساحة العملالبرامج النصية
جذرtypecheck, test, build, build:sidecar, build:desktop, desktop:dev, generate, generate:check, db:generate, db:migrate
packages/apitypecheck, coverage, generate, generate:check
packages/dbtypecheck, generate, migrate
packages/webdev, start, studio, build, preview, deploy, astro, check:freshness, check:docs-index, typecheck, generate:api-reference, check:api-reference
apps/desktoptypecheck, dev, build, stub-sidecar, tauri, tauri:dev, tauri:build
apps/mobilestart, ios, dev, ios:build, ios:release, ios:dev, web, native:generate, typecheck, build, test
apps/sidecartypecheck, start
حزم أخرىtypecheck

الجذر typecheck يدير كل مساحة عمل typecheck من خلال توربو ثم يتحقق من المشروع الجذر. الجذر test يدير bun test packages apps scripts.

في 3د

الحزم وتبعيات مساحة العمل الخاصة بها اسحب إلى المدار · قم بالتمرير للتكبير · اسحب بزر الماوس الأيمن للتحريك
جميع حزم مساحة العمل 13 من ملفات package.json الخاصة بها؛ كل سطر عبارة عن مساحة عمل:* التبعية (17 في المجموع). الصفوف هي عمق التبعية: الحزم التي لا تحتوي على تبعيات مساحة العمل في المقدمة، والسايدكار، التي تعتمد على 8 منها، في الخلف. المربعات البرتقالية هي تطبيقات.