عن المشروع

## ماهية هذا المستودع يتم وصف `flowscripter/template-bun-rust-library` في ملف README الخاص به بأنه "قالب مشروع لمكتبة Rust مع روابط Bun FFI". وهو مخصص ليكون نقطة بداية وليس تطبيقاً للمستخدم النهائي: حيث يقوم المطورون بإنشاء هيكل مشروع جديد منه ثم يستبدلون الكود النموذجي بتنفيذ Rust الخاص بهم وروابط TypeScript. ## استخدام إنشاء الهيكل (Scaffolding) يوثق ملف README إنشاء مشروع Bun جديد مباشرة من القالب عبر الأمر: `bun create @flowscripter/template-bun-rust-library` ## استهلاك الوحدة المُنشأة تتم إضافة الوحدة المنشورة باستخدام `bun add @flowscripter/template-bun-rust-library` ويقوم المثال الموجود في README باستيراد دالة واحدة مُصدرة واستدعائها: ```typescript import { world } from "@flowscripter/template-bun-rust-library"; world(); ``` يوضح هذا الشكل المقصود للقالب: مكتبة Rust تظهر لمستهلكي TypeScript من خلال دعم FFI في Bun، مع اعتبار `index.ts` كنقطة دخول لـ TypeScript. ## سير عمل التطوير يسرد ملف README الأوامر التالية: - `bun install` — تثبيت التبعيات. - `bun run build` — بناء المخرجات؛ وفقاً لـ README، فإنه ينتج مجلد `dist/` لمستهلكي Node.js و TypeScript، بينما يستخدم Bun المصدر الخام مباشرة. - `cargo test` — تشغيل اختبارات Rust. - `cargo build --release && bun test` — بناء مخرجات إصدار Rust وتشغيل مجموعة اختبارات Bun. - `bunx oxfmt` — التنسيق. - `cargo fmt && bunx oxlint index.ts src/ tests/` — تدقيق مصادر Rust و TypeScript. - `bunx typedoc index.ts` — إنشاء توثيق API بتنسيق HTML. ## التوثيق يتضمن ملف README مخطط فئات Mermaid نموذجياً (`Foo <|-- Bar`) للتحقق من رندرة Markdown، وروابط لتوثيق API المُنشأ تلقائياً والمستضاف على GitHub Pages. تشمل روابط التوثيق الإضافية مستندات Rust على docs.rs. ## بيانات المشروع الوصفية يحتوي المستودع على شارات لإصدار الإصدار، وحالة البناء، وتوثيق API، وتوثيق Rust، والتغطية، وترخيص MIT. تم تحديد الترخيص على أنه MIT © Flowscripter. ## ملاحظات للمستخدمين المحتملين بما أن هذا قالب، فإن تصدير `world()` والمخطط النموذجي هما مجرد عناصر نائبة. القيمة العملية تكمن في الربط الذي يوفره بين crate الخاص بـ Rust وحزمة Bun/TypeScript، جنباً إلى جنب مع أوامر البناء والاختبار والتدقيق والتنسيق والتوثيق وتكوينات CI المرافقة.