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

cc-grass হলো একটি ছোট Node.js কমান্ড-লাইন টুল যা লোকাল Claude Code অ্যাক্টিভিটিকে একটি স্ট্যান্ডঅ্যালোন SVG হিসেবে রেন্ডার করা GitHub-স্টাইল কন্ট্রিবিউশন গ্রাফে রূপান্তর করে, যেখানে সেলের রঙ সবুজ পরিবর্তে কমলা হয়। এটি ~/.claude/projects-এর অধীনে সংরক্ষিত সেশন ট্রান্সক্রিপ্টগুলো JSONL ফাইল হিসেবে পড়ে এবং ~/.codex বিদ্যমান থাকলে OpenAI Codex CLI দ্বারা তৈরি ~/.codex/sessions থেকে সেশন রোলআউটগুলো সংগ্রহ করে। README-তে এর উদ্দেশ্য স্পষ্টভাবে উল্লেখ করা হয়েছে: Claude Code ইতিমধ্যে টার্মিনালের ভেতর /usage Stats-এর অধীনে একটি ইউসেজ গ্রাফ দেখায়, তবে সেই ভিউটি লোকাল থাকে। cc-grass একই আন্ডারলাইং ডেটাকে একটি ফাইল হিসেবে রেন্ডার করে যা আপনি GitHub প্রোফাইল README, পোর্টফোলিও পেজ বা অন্য যেকোনো জায়গায় কমিট এবং এমবেড করতে পারেন। README থেকে নেওয়া ইমপ্লিমেন্টেশন এবং ডিজাইন নোটস: - জিরো রানটাইম ডিপেন্ডেন্সি: শুধুমাত্র Node-এর fs, path এবং os মডিউল ব্যবহৃত হয়। কোনো ccusage বা API কল নেই। macOS, Linux এবং Windows-এ Node 18 বা তার পরবর্তী ভার্সন প্রয়োজন। - ইনক্রিমেন্টাল ক্যাশে থাকার অর্থ হলো পুনরাবৃত্ত রানগুলোতে শুধুমাত্র নতুন বা পরিবর্তিত সেশন ফাইলগুলো পার্স করা হয়। এটি --no-cache দিয়ে নিষ্ক্রিয় করা যায় এবং ক্যাশে ডিরেক্টরির ডিফল্ট লোকেশন হলো ~/.cache/cc-grass। - SVG-টি GitHub-এর লেআউট অনুসরণ করে: ১০ বাই ১০ সেল, ৩ পিক্সেল গ্যাপ, রাউন্ডেড কর্নার, সোম/বুধ/শুক্র রো লেবেল, মান্থলি হেডার এবং একটি Less/More লিজেন্ড। - আউটপুট হিসেবে একটি সিঙ্গেল SVG অথবা --html ফ্ল্যাগ ব্যবহার করে একটি মিনিমাল HTML পেজ পাওয়া যায়। প্রজেক্টটি ইচ্ছাকৃতভাবেই কোনো ডেমন, শিডিউলার বা বান্ডেলড GitHub Actions ওয়ার্কফ্লো প্রদান করে না; শিডিউলিং ব্যবহারকারীর ওপর ছেড়ে দেওয়া হয়েছে এবং README-তে একটি crontab উদাহরণ দেখানো হয়েছে যা ফাইলটি পুনরুৎপাদন করে এবং শুধুমাত্র পরিবর্তনের ক্ষেত্রেই কমিট করে। অপশনগুলোর মধ্যে রয়েছে মেট্রিক নির্বাচন (prompts, sessions অথবা tokens, ডিফল্ট tokens), --since এবং --until এর মাধ্যমে ডেট রেঞ্জ, ডার্ক বা লাইট থিম, একটি ওভাররাইডিং হেডার স্ট্রিং, বিকল্প Claude এবং Codex ডেটা ডিরেক্টরি, Codex ডেটা বাদ দেওয়া, সাব-এজেন্ট ট্রান্সক্রিপ্ট বাদ দেওয়া এবং ক্যাশে লোকেশন পরিবর্তন করা। টোকেন হিসাব: দৈনিক টোকেন কাউন্টে প্রতি এন্ট্রির ইনপুট, আউটপুট, ক্যাশে ক্রিয়েশন এবং ক্যাশে রিড টোকেন যোগ করা হয়, অর্থাৎ API যা বিল করবে তার সবকিছু। সাব-এজেন্ট ফাইলগুলো ডিফল্টভাবে অন্তর্ভুক্ত থাকে; এগুলো বাদ দিলে তা Claude Code-এর /usage-এ দেখানো ফিগারের সাথে মিলে যায়। Codex সেশনগুলো token_count ইভেন্টের cumulative total_token_usage ভ্যালু থেকে ডেল্টা ব্যবহার করে গণনা করা হয়, যাতে ডুপ্লিকেট ইভেন্টগুলো দুইবার গণনা না হয়। HTML আউটপুটে প্রতিটি মডেলের জন্য প্রকাশিত প্রতি-মিলিয়ন-টোকেন রেটের ওপর ভিত্তি করে একটি আনুমানিক API খরচ দেখানো হয়; যেসব মডেলের রেট জানা নেই সেখানে not-available প্রাইস মার্কার প্রদর্শিত হয় এবং README-তে উল্লেখ করা হয়েছে যে সাবস্ক্রিপশন ব্যবহারকারীরা আসলে এই পরিমাণ অর্থ প্রদান করেন না। দুটি সতর্কবার্তা সততার সাথে নথিভুক্ত করা হয়েছে। প্রথমত, প্রতি-সেলের হোভার টুলটিপগুলো SVG title এলিমেন্ট ব্যবহার করে; এগুলো স্ট্যান্ডঅ্যালোন SVG ভিউয়ার এবং HTML আউটপুটে কাজ করে, তবে GitHub README-তে এমবেড করলে কাজ করে না, কারণ GitHub এটিকে ইমেজ হিসেবে সার্ভ করে এবং ব্রাউজার সেখানে টাইটেলগুলো উপেক্ষা করে। দ্বিতীয়ত, স্যাম্পল SVG এবং লিঙ্ক করা ইন্টারঅ্যাক্টিভ পেজে লেখকের প্রকৃত অ্যাক্টিভিটি দেখানো হয়েছে, তাই README-তে পরামর্শ দেওয়া হয়েছে যে আপনি আপনার নিজস্ব গ্রাফ কোথায় পাবলিশ করছেন সে বিষয়ে সচেতন থাকুন। একটি প্রোগ্রাম্যাটিক API-ও এক্সপোজ করা হয়েছে: আপনার নিজস্ব কোডে একই চার্ট তৈরি করতে parseClaudeProjects এবং renderSvg ইমপোর্ট করা যেতে পারে। প্রজেক্টটি MIT লাইসেন্সপ্রাপ্ত।