প্রকল্প সম্পর্কে
craft (anacraft) হলো Rust ভাষায় লেখা একটি কমান্ড-লাইন টুল যা কোনো ডোমেইনের জন্য Google Analytics 4 সেটআপ করে এবং প্রাপ্ত মেট্রিক্সগুলোকে একটি টার্মিনাল ড্যাশবোর্ড হিসেবে প্রদর্শন করে। এর ভিজ্যুয়াল ডিজাইন Minecraft-থিমযুক্ত: এতে রয়েছে ওর-টেক্সচারড বার, সাতটি লাইভ প্যানেল, রিয়েল-টাইম ইভেন্ট ফিড এবং অ্যাচিভমেন্ট টোস্ট। এর প্যালেটগুলোর মধ্যে osaka-jade (ডিফল্ট), catppuccin, github, tokyo-night এবং catppuccin-latte অন্তর্ভুক্ত। এর মূল কমান্ড হলো craft; anacraft একটি এলিয়াস হিসেবে ইনস্টল করা থাকে।
ইনস্টলেশন এবং মৌলিক ব্যবহার
- anacraft.dev থেকে একটি ইনস্টল স্ক্রিপ্টের মাধ্যমে এটি ইনস্টল করা যায়, যা রাইটেবল হলে /usr/local/bin-এ অথবা ~/.local/bin-এ বাইনারিটি স্থাপন করে। সোর্স বিল্ডের জন্য cargo install --git এবং প্রি-বিল্ট বাইনারি GitHub Releases-এ পাওয়া যায়।
- কোনো কমান্ড ছাড়া anacraft চালালে ড্যাশবোর্ড (dash ডিফল্ট) খোলে। কোনো সেভ করা প্রপার্টি না থাকলে এটি সিন্থেটিক ডেটাতে কাজ করে, ফলে সাইন-ইন করার আগেই এটি পরীক্ষা করা সম্ভব।
- দ্রুত শুরুর পথ: নতুন ডোমেইনের জন্য craft configure, অথবা বিদ্যমান প্রপার্টি যুক্ত করতে craft login, craft props এবং craft use ব্যবহার করুন।
- ওয়ান-শট রিপোর্টগুলো প্রিন্ট করে এক্সিট করে: overview, pages, portals (ট্রাফিক সোর্স), realms (দেশ), live এবং demo; সাথে --days এবং --theme অপশন রয়েছে।
- দুটি গ্লোবাল ফ্ল্যাগ: --property ডিফল্ট প্রপার্টির বাইরে অন্য প্রপার্টি নির্বাচন করে; --theme একটি নির্দিষ্ট রানের জন্য প্যালেট পরিবর্তন করে।
স্ক্রিপ্টিংয়ের জন্য আউটপুট ফরম্যাট
overview কমান্ডটি --format json (ইউনিট, পূর্ববর্তী পিরিয়ড, শতাংশ পরিবর্তন, দৈনিক ইউজার সিরিজ এবং অ্যাচিভমেন্টসহ একটি লেবেলযুক্ত অবজেক্ট) অথবা --format slack (একটি Block Kit পেলোড) গ্রহণ করে। উভয়ই শুধুমাত্র পেলোড প্রিন্ট করে, ফলে একটি ক্রন লাইনের মাধ্যমে ওয়েবহুক ব্যবহার করে সাপ্তাহিক ডাইজেস্ট পাঠানো সম্ভব। এই ফরম্যাটগুলোর জন্য কোনো সাবস্ক্রিপশনের প্রয়োজন নেই।
ড্যাশবোর্ড
সাতটি প্যানেল ১ থেকে ৭ কি (অথবা লেটার শর্টকাট) দিয়ে টগল করা যায় এবং বাকি প্যানেলগুলো টার্মিনাল পূর্ণ করতে রিফ্লো হয়: EVENTS, RIGHT NOW (লাইভ প্লেয়ার এবং ইভেন্ট ফিড), COUNTRIES (ওয়ার্ল্ড ম্যাপ প্লট), TOP PAGES, VITALS (ইউজার, সেশন, ভিউ, কনভার্সন, বাউন্স রেট, গড় সেশন), TOP COUNTRIES এবং DAILY USERS। অন্যান্য কন্ট্রোলের মধ্যে রয়েছে প্রপার্টি সাইকেল করতে tab, লোকালি প্রপার্টি মুছতে shift-D, প্যালেট সাইকেল ও সেভ করতে t, রিফেচ করতে r, হেল্প ওভারলে এবং কুইট।
অ্যালার্ট
craft watch সাম্প্রতিক পূর্ণাঙ্গ দিনের ডেটাকে পূর্ববর্তী দিনগুলোর গড় মানের সাথে তুলনা করে এবং সাইটের নিজস্ব ইতিহাস থেকে প্রাপ্ত মেট্রিক থ্রেশহোল্ডের বাইরে বিচ্যুতি রিপোর্ট করে। এটি ড্রপ, স্পাইক এবং "সাইলেন্স" (যখন কোনো কাউন্ট শূন্য হয়ে যায়) চিহ্নিত করে। মেট্রিক অনুযায়ী ডিফল্ট মান ভিন্ন হয় (যেমন ইউজার এবং সেশনের জন্য ৩০%, কনভার্সনের জন্য ৪০%, বাউন্স রেটের জন্য ২০%)। কনফিগ-এ প্রপার্টি অনুযায়ী থ্রেশহোল্ড এবং বেসলাইন দৈর্ঘ্য টিউন করা যায়। অ্যালার্টের সাথে মেট্রিক ভ্যালু, মুভমেন্ট, বেসলাইন এবং একটি স্পার্কলাইন থাকে। স্টেট ~/.anacraft/watch.json-এ রাখা হয় যাতে একই দিনের জন্য একবারই অ্যালার্ট আসে। ডেলিভারি অপশনের মধ্যে রয়েছে --every (পুনরাবৃত্ত চেকিং) এবং --webhook (POST করার জন্য); craft slack --install এর মাধ্যমে Slack-এর ইনস্টল স্ক্রিনের সাহায্যে ইনকামিং-ওয়েবহুক URL সেভ করা যায়।
অ্যাসিস্ট্যান্টদের জন্য MCP সার্ভার
craft mcp রিপোর্টগুলোকে Model Context Protocol-এর মাধ্যমে এক্সপোজ করে, যাতে Claude Desktop, Claude Code বা অন্যান্য MCP ক্লায়েন্ট সাইট সম্পর্কে প্রশ্নের উত্তর দিতে পারে। craft mcp --install ক্লায়েন্ট কনফিগারেশনে একটি সার্ভার এন্ট্রি লেখে; Claude Code-এর জন্য claude mcp add ব্যবহৃত হয়। টুলগুলোর মধ্যে রয়েছে site_status, live_visitors, list_pages, list_events, list_referrers, list_traffic_sources, list_countries, list_properties, search_pages, search_events এবং configure_site। configure_site হলো একমাত্র রাইটার টুল, যা একটি আনট্র্যাকড ডোমেইনের জন্য প্রপার্টি এবং ওয়েব স্ট্রিম তৈরি করে ট্যাগ রিটার্ন করে; লগইন এবং প্রপার্টি নির্বাচন শুধুমাত্র মানুষের দ্বারা করা কমান্ড। রেসপন্সগুলো প্রপার্টি আইডি এবং ডেট উইন্ডো সহ স্ট্রাকচার্ড JSON ফরম্যাটে থাকে এবং API কোটা সীমিত করতে একই রিপোর্ট এক মিনিটের জন্য ক্যাশ করা হয়।
কনফিগারেশন এবং ক্রেডেনশিয়াল
প্রপার্টি এবং সেটিংগুলো ~/.config/anacraft/config.toml-এ থাকে (XDG_CONFIG_HOME মান্য করা হয়), আর OAuth রিফ্রেশ টোকেনটি আলাদাভাবে ~/.anacraft/token.json-এ রাখা হয়। একাধিক প্রপার্টি কনফিগ-এ জমা হয় এবং tab দিয়ে সাইকেল করা যায়। রেজোলিউশন অর্ডার হলো: --property, তারপর ANACRAFT_PROPERTY_ID, এবং সবশেষে সেভ করা অ্যাক্টিভ প্রপার্টি। অন্যান্য এনভায়রনমেন্ট ভেরিয়েবলগুলোর মধ্যে রয়েছে ANACRAFT_WEBHOOK এবং ব্যক্তিগত Google Cloud OAuth ক্লায়েন্ট ব্যবহারের জন্য ANACRAFT_OAUTH_CLIENT_ID ও ANACRAFT_OAUTH_CLIENT_SECRET।
প্রয়োজনীয়তা এবং প্রজেক্ট নোট
একটি GA4 প্রপার্টি, একটি truecolor টার্মিনাল এবং সোর্স বিল্ডের জন্য Rust 1.74 বা তার পরবর্তী সংস্করণ প্রয়োজন। রিপোজিটরিটি Apache License 2.0 এর অধীনে লাইসেন্সপ্রাপ্ত। cargo run -- dash --demo কমান্ডটি কোনো গুগল অ্যাকাউন্ট ছাড়াই একটি কার্যকরী ড্যাশবোর্ড প্রদান করে এবং .claude/skills/anacraft/-এর অধীনে একটি Claude Code স্কিল দেওয়া হয়েছে।
বাণিজ্যিক প্রেক্ষাপট
বেশ কিছু ফিচার পেইড প্ল্যানের (Anacrafter এবং তার উপরের টিয়ার, যা মাসিক ২.৯৯ ডলার থেকে শুরু) সাথে যুক্ত: craft configure, Slack-এ watch অ্যালার্ট পাঠানো এবং MCP সার্ভার। ড্যাশবোর্ড, watch এবং MCP সার্ভারের ডেমো মোডগুলো অ্যাকাউন্ট বা সাবস্ক্রিপশন ছাড়াই চলে এবং overview-এর JSON ও Slack রিপোর্ট ফরম্যাটের জন্য কোনো সাবস্ক্রিপশনের প্রয়োজন নেই। প্ল্যান বা লগইন না থাকলেও MCP সার্ভার চালু হয় এবং এর টুলগুলো এক্সিট করার পরিবর্তে কী প্রয়োজন তা রিপোর্ট করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.