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

commitlint হল একটি ওপেন-সোর্স টুল যা কমিট বার্তাগুলি লিন্ট করে। এটি যাচাই করে যে বার্তাগুলি Conventional Commits ফর্ম্যাটের সাথে সামঞ্জস্যপূর্ণ, সাধারণত `type(scope?): subject` হিসাবে লেখা হয়, যেখানে সুযোগ বাধ্যতামূলক নয় এবং একাধিক সুযোগগুলি `/`, `‌` এবং `,` এর মতো বিভাজকগুলির সাথে সমর্থিত। সাধারণ ধরণের মধ্যে রয়েছে বিল্ড, কোর, সিআই, ডক্স, ফিট, ফিক্স, পারফ, রিফ্যাক্টর, রিভার্ট, স্টাইল এবং টেস্ট, এবং এগুলি কনফিগারেশনের মাধ্যমে কাস্টমাইজ করা যেতে পারে। প্রকল্পটি একটি প্রাথমিক CLI প্রদান করে, `@commitlint/cli` হিসাবে ইনস্টল করা হয়, এবং একটি প্রোগ্রাম্যাটিক API। কনফিগারেশন স্বয়ংক্রিয়ভাবে `.commitlintrc`, `.commitlintrc.json`, `.commitlintrc.yaml`, `.commitlintrc.yml`, `.commitlintrc.js`, `.commitlintrc.cjs`, `.commitlintrc.mjs`, `.commitlintrc.ts`, `.commitlintrc.cts`, `.commitlintrc.mts`, `commitlint.config.js`, `commitlint.config.cjs`, `commitlint.config.mjs`, `commitlint.config.ts`, `commitlint.config.cts`, `commitlint.config.mts`, বা `package.json` বা `package.yaml`-এ `commitlint` ক্ষেত্র থেকে তোলা হয়। শেয়ার করা কনফিগারেশনগুলি ইনস্টল করা যেতে পারে এবং প্রসারিত করা যেতে পারে, যার মধ্যে রয়েছে @commitlint/config-angular, @commitlint/config-conventional, @commitlint/config-lerna-scopes, @commitlint/config-nx-scopes, @commitlint/config-patternplate এবং @commitlint/config-workspace-scopes। কাস্টম শেয়ারেবল কনফিগগুলি `commitlint-config-*` নামকরণ প্যাটার্ন অনুসরণ করা উচিত যাতে তাদের `extends` ক্ষেত্রে সংক্ষিপ্ত নাম দ্বারা রেফারেন্স করা যায়। এপিআই প্যাকেজগুলির মধ্যে রয়েছে ফর্ম্যাট, লিন্ট, লোড এবং রিড, যা কমিট বার্তাগুলিকে প্রোগ্রাম্যাটিকভাবে লিন্ট করতে, কনফিগারেশন লোড করতে এবং একটি নির্দিষ্ট পরিসর বা শেষ সম্পাদনা থেকে বার্তাগুলি পড়তে দেয়। অতিরিক্ত টুলগুলির মধ্যে রয়েছে একটি commitizen অ্যাডাপ্টার এবং একটি প্রম্পট CLI। শুরু করার নির্দেশিকাগুলি স্থানীয় সেটআপ কভার করে, যেখানে বার্তাগুলি হাস্কির সাথে কমিট করার সময় লিন্ট করা হয়, এবং সিআই সেটআপ, যেখানে বার্তাগুলি সিআই বিল্ডের সময় লিন্ট করা হয়। প্রকল্পটি একটি মনোরেপো হিসাবে বিকাশিত হয় এবং Node.js LTS >= 22.12.0 এবং git >= 2.13.2 প্রয়োজন। এটি MIT লাইসেন্সের অধীনে প্রকাশিত হয়। সম্পর্কিত প্রকল্পগুলির মধ্যে রয়েছে conventional-changelog, commitizen এবং create-semantic-module।