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

Glazier (কমান্ড `glaze`) হলো tmux ওয়ার্কস্পেস ডিক্লারেটিভভাবে পরিচালনার জন্য একটি কমান্ড-লাইন টুল। আপনি একটি HCL `.glaze` ফাইলে একবার সেশন, উইন্ডো এবং পেন বর্ণনা করেন, তারপর `glaze up` দিয়ে চাহিদা অনুযায়ী সেগুলো পুনরায় তৈরি করেন। মূল কমান্ডসমূহ: - `glaze up` — একটি প্রোফাইল প্রয়োগ করে, সেশন, উইন্ডো এবং পেন তৈরি করে; `--detached`, `--clear`, `--debug`, কাস্টম সকেট এবং ভেরিয়েবল ওভাররাইড সমর্থন করে। - `glaze down` — একটি প্রোফাইল যে সেশন বর্ণনা করে তা বন্ধ করে; আইডেম্পোটেন্ট এবং প্রোফাইল ছাড়াই নাম দিয়ে বন্ধ করার জন্য `--session` সমর্থন করে। - `glaze ls` — টার্গেট tmux সার্ভারে সেশনগুলোর তালিকা করে উইন্ডো সংখ্যা এবং শুরুর ডিরেক্টরি সহ। - `glaze format` — একটি প্রোফাইলকে ক্যানোনিকাল HCL-এ পুনর্লিখন করে; `--validate` ভেরিয়েবল চুক্তি প্রয়োগ করে। - `glaze save` — একটি লাইভ সেশনের গঠন (নাম, ডিরেক্টরি, ফোকাস, লেআউট) একটি `.glaze` প্রোফাইলে ক্যাপচার করে; নিরাপত্তার জন্য ইচ্ছাকৃতভাবে কমান্ড, env ভেরিয়েবল, হুক বা অপশন এক্সপোর্ট করে না। প্রোফাইল বৈশিষ্ট্যসমূহ: - HCL সিনট্যাক্স সাথে Terraform-স্টাইল ডায়াগনস্টিক এবং স্ব-বৈধতা যাচাই। - টাইপড `variable` ব্লক `var.` দিয়ে পড়া হয়; মান `--var` ফ্ল্যাগ বা `--var-file` এর মাধ্যমে সরবরাহ করা হয়। - বিল্ট-ইন নেমস্পেস: `env.*` (`GLAZE_ENV_*` থেকে), `path.pwd` / `path.base`, এবং `locals` ব্লক থেকে `local.*`। - স্ট্রিং ফাংশন (upper, lower, replace, split, join, regexreplace, random, ইত্যাদি) go-cty দ্বারা সমর্থিত। - সেশন, উইন্ডো এবং পেন env ভেরিয়েবল, হুক, tmux অপশন, লেআউট (নামযুক্ত প্রিসেট বা কাঁচা tmux লেআউট স্ট্রিং), ফোকাস এবং পেন সাইজিং/সমন্বয় সমর্থন করে। - কমান্ডগুলো `tmux wait-for` দিয়ে ক্রমানুসারে চালানো হয় (কোনো নির্দিষ্ট স্লিপ নেই); চূড়ান্ত কমান্ড অপেক্ষা ছাড়াই চলে যাতে দীর্ঘমেয়াদী প্রক্রিয়াগুলো সেশন তৈরি ব্লক না করে। প্রোফাইল রেজোলিউশন ক্রম: `--profile-path`, `./.glaze`, বা `$GLAZE_PATH/.glaze`। টুলটি শুধুমাত্র Linux এবং macOS সমর্থন করে এবং PATH-এ tmux প্রয়োজন। প্রি-বিল্ট রিলিজ বাইনারিগুলোতে SHA256 চেকসাম এবং স্বাক্ষরিত বিল্ড প্রোভেন্যান্স অ্যাটেস্টেশন রয়েছে; সোর্স বিল্ডের জন্য Go 1.26+ প্রয়োজন। প্রকল্পটি MIT লাইসেন্সের অধীনে।