পাঠ ১৪.৫

Custom command দিয়ে Cargo extend করা

Extending Cargo with Custom Commands

Cargo এমন ভাবেই design করা যাতে নিজের source modify না করেও custom subcommand দিয়ে এটাকে extend করা যায়। তুমি বা community-র কেউ একটা নতুন tool বানিয়ে cargo-র অংশ মনে হওয়ার মতো integrate করতে পারো।

কাজের নিয়ম

Convention খুবই simple — তোমার $PATH-এ যদি cargo-something নামে কোনো binary থাকে, তুমি সেটা cargo-র subcommand হিসেবে চালাতে পারবে:

terminalbash
$ cargo something

Cargo দেখে $PATH-এ cargo-something binary আছে এবং সেটাই execute করে — যেন built-in command ছিল।

দু'টো সুবিধা

  • Discoverability — custom command-গুলো cargo --list-এর output-এ দেখা যায়।
  • Easy installcargo install দিয়ে extension install করা যায়, পরে built-in tool-এর মতোই use:
terminalbash
$ cargo --list
$ cargo install <custom-command>

কেন এই design গুরুত্বপূর্ণ

  • Cargo-র core না বদলেও community নতুন workflow add করতে পারে।
  • Extension cargo-র সাথে seamless integrate হয় — user-এর কাছে built-in মনে হয়।
  • crates.io + cargo install একসাথে — share এবং install দু'টোই trivial।

এই পাঠ থেকে যা শিখলে

  • $PATH-এ cargo-foo নামে binary থাকলেই cargo foo command চালু।
  • cargo --list-এ custom subcommand show হয়।
  • cargo install দিয়ে custom tool install করা যায় — community-র tool ব্যবহার করার সবচেয়ে সহজ পথ।
  • Cargo-র এই extensible design Rust ecosystem-কে অনেক richer করে।