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

NepaliCode হলো একটি ওপেন-সোর্স প্রকল্প যা একটি নেপালি-অনুপ্রাণিত প্রোগ্রামিং ভাষা (.np ফাইল) এবং একটি মোবাইল-প্রধান অ্যান্ড্রয়েড IDE তৈরি করছে। এই ভাষাটি পাঠযোগ্য নেপালি কীওয়ার্ড ব্যবহার করে যেমন `yedi` (if), `natra` (else), `kaam` (def/ফাংশন), `firta` (return), `lyau` (import), `ko_lagi` (for), `kakshya` (class), `koshish`/`samau`/`antya` (try/except/finally), এবং লজিক্যাল অপারেটর `ra`/`wa`/`hoina` (and/or/not), পাশাপাশি পরিচিত প্রোগ্রামিং ধারণা এবং ব্লক গঠন সংরক্ষণ করে। অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি (Kotlin + Jetpack Compose + Material 3) একটি সম্পূর্ণ মোবাইল ডেভেলপমেন্ট ওয়ার্কস্পেস প্রদান করে: ট্যাব সহ সিনট্যাক্স-সচেতন এডিটর, ইন্টিগ্রেটেড টার্মিনাল/REPL, প্রজেক্ট ফাইল ব্রাউজার, শিক্ষামূলক ত্রুটি বার্তা সহ নির্ণয়, AI-সহায়তাযুক্ত অ্যাকশন (Explain Code, Optimize & Modernize) সহ কমান্ড প্যালেট, কোড উদাহরণের ক্যাটালগ, `nepali.toml` ম্যানিফেস্টের সাথে সংযুক্ত নির্ভরতা মেটাডেটা সহ NPPM প্যাকেজ ম্যানেজার, এবং একটি বিল্ট-ইন সিনট্যাক্স রেফারেন্স গাইড। ভাষা ইঞ্জিনে লেক্সার, পার্সার, AST, ইন্টারপ্রেটার, রানটাইম মান, এনভায়রনমেন্ট হ্যান্ডলিং, লিন্টিং, টোকেনাইজেশন, হাইলাইটিং এবং কমপ্লিশনের ভিত্তি অন্তর্ভুক্ত। স্ট্যান্ডার্ড লাইব্রেরির দিকনির্দেশনা `anurodh` (HTTP/API with get/post/put/patch/delete/download/upload), `browser` (অটোমেশন: khol, click, type, wait, screenshot), `database` (SQLite open/query/close), `file`/`folder` (ফাইলসিস্টেম), `ganit` (গণিত), `samaya` (সময়), `json`, `network`, `automation`, `web`, `suraksha` (ক্রিপ্টোগ্রাফি) এবং আরও অনেক মডিউলকে কভার করে। `extensions/nepalicode`-এ একটি VS Code এক্সটেনশন `.np` ফাইলের জন্য TextMate সিনট্যাক্স হাইলাইটিং, স্বয়ংক্রিয়ভাবে বন্ধ হওয়া ব্র্যাকেট, ইন্ডেন্টেশন নিয়ম, ফোল্ডিং এবং স্টার্টার স্নিপেট যোগ করে। প্রকল্পটি আলফা পর্যায়ে রয়েছে, যা NepaliSource সংস্থার অধীনে Diwas Khatri এর নেতৃত্বে পরিচালিত হচ্ছে। রোডম্যাপের মধ্যে রয়েছে মোবাইল এডিটর এবং রানটাইম স্থিতিশীল করা, স্ট্যান্ডার্ড লাইব্রেরির ক্ষমতা সম্প্রসারণ, কমপ্লিশন এবং পরীক্ষা উন্নত করা, তারপর CLI, NPPM রেজিস্ট্রি, ফর্ম্যাটার, লিন্টার, ডিবাগার, ল্যাঙ্গুয়েজ সার্ভার, ডেস্কটপ Studio (NepaliCode Studio), প্রজেক্ট শেয়ারিং এবং রিলিজ চ্যানেলগুলোর মাধ্যমে বৃদ্ধি। লাইসেন্স MIT।