প্রকল্প সম্পর্কে

## এই রিপোজিটরি কী `flowscripter/template-bun-rust-library`-কে এর README-তে "Bun FFI বাইন্ডিং সহ একটি Rust লাইব্রেরির জন্য প্রজেক্ট টেমপ্লেট" হিসেবে বর্ণনা করা হয়েছে। এটি কোনো এন্ড-ইউজার অ্যাপ্লিকেশনের পরিবর্তে একটি শুরুর বিন্দু হিসেবে তৈরি করা হয়েছে: ডেভেলপাররা এখান থেকে একটি নতুন প্রজেক্ট স্ক্যাফোল্ড করেন এবং তারপর স্যাম্পল কোডটিকে তাদের নিজস্ব Rust ইমপ্লিমেন্টেশন এবং TypeScript বাইন্ডিং দিয়ে প্রতিস্থাপন করেন। ## স্ক্যাফোল্ডিং ব্যবহার 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 লাইব্রেরি যা Bun-এর FFI সমর্থনের মাধ্যমে TypeScript ব্যবহারকারীদের কাছে পৌঁছে দেওয়া হয়, যেখানে `index.ts` হলো TypeScript এন্ট্রি পয়েন্ট। ## ডেভেলপমেন্ট ওয়ার্কফ্লো README-তে নিম্নলিখিত কমান্ডগুলোর তালিকা দেওয়া হয়েছে: - `bun install` — ডিপেন্ডেন্সি ইনস্টল করে। - `bun run build` — আউটপুট বিল্ড করে; README অনুযায়ী এটি Node.js এবং TypeScript ব্যবহারকারীদের জন্য `dist/` তৈরি করে, যেখানে 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` — HTML API ডকুমেন্টেশন তৈরি করে। ## ডকুমেন্টেশন Markdown রেন্ডারিং যাচাই করার জন্য README-তে একটি স্যাম্পল Mermaid ক্লাস ডায়াগ্রাম (`Foo <|-- Bar`) অন্তর্ভুক্ত করা হয়েছে এবং GitHub Pages-এ হোস্ট করা অটো-জেনারেটেড API ডকুমেন্টেশনের লিঙ্ক দেওয়া হয়েছে। অতিরিক্ত ডকুমেন্টেশন লিঙ্কের মধ্যে docs.rs-এ Rust ডক্স অন্তর্ভুক্ত রয়েছে। ## প্রজেক্ট মেটাডেটা রিপোজিটরিটিতে রিলিজ ভার্সন, বিল্ড স্ট্যাটাস, API ডক্স, Rust ডক্স, কভারেজ এবং একটি MIT লাইসেন্সের ব্যাজ রয়েছে। লাইসেন্সটি MIT © Flowscripter হিসেবে উল্লেখ করা হয়েছে। ## সম্ভাব্য ব্যবহারকারীদের জন্য নোট যেহেতু এটি একটি টেমপ্লেট, তাই `world()` এক্সপোর্ট এবং উদাহরণ ডায়াগ্রামটি প্লেসহোল্ডার হিসেবে ব্যবহৃত হয়েছে। এর বাস্তব মূল্য হলো একটি Rust ক্রেট এবং একটি Bun/TypeScript প্যাকেজের মধ্যে এটি যে সংযোগ প্রদান করে, সেই সাথে এর সাথে থাকা বিল্ড, টেস্ট, লিন্ট, ফরম্যাটিং এবং ডকুমেন্টেশন কমান্ড এবং CI কনফিগারেশন।