01১০১টি প্রোডাকশন কম্পোনেন্ট
প্রিমিটিভ থেকে পূর্ণ পেজ কম্পোজিশন পর্যন্ত — ১০১টি কম্পোনেন্ট, প্রতিটি আলাদাভাবে ডিজাইন না করে আমাদের ship করা প্রোডাক্ট থেকে নেওয়া। কোনো কম্পোনেন্ট PDS-এ থাকলে সে ইতিমধ্যে বাস্তব কাজ করেছে: এই সাইট, প্রোডাক্ট ডেমো ও আমাদের ক্লায়েন্ট ড্যাশবোর্ড সবই এর ওপর রেন্ডার হয়।
02ডিজাইন টোকেন
রঙ, টাইপ, স্পেস ও মোশন একটি token লেয়ার থেকে নির্ধারিত হয়। একটি token বদলালে প্রতিটি কম্পোনেন্ট তা অনুসরণ করে — কম্পোনেন্টভিত্তিক ওভাররাইড নেই, প্রোডাক্টে প্রোডাক্টে drift নেই।
03দুটি থিম, পাঁচটি অ্যাকসেন্ট
একটি ডার্ক ও একটি লাইট থিম, পাঁচটি অ্যাকসেন্ট রঙ, সবই একই token দ্বারা চালিত। ব্র্যান্ড ভেদ মানে token বদল, fork নয় — পরিবারের প্রতিটি প্রোডাক্ট একই সিস্টেম থেকে রেন্ডার হয়।
04Dark-first
কনট্রাস্ট, elevation ও রঙ আগে ডার্ক থিমে ঠিক করা হয়; লাইট থিম একই token থেকে তৈরি হয়। ফলে ডার্ক মোড হয় স্বাভাবিক, উল্টে দেওয়া নয়।
05ফর্ম প্রিমিটিভ
বাটন, ইনপুট, সিলেক্ট, সুইচ, স্লাইডার ও ফিল্ড কাঠামো — লেবেল, হিন্ট ও এরর সহ। স্টেটগুলো আগেই ডিজাইন করা: focus, disabled, invalid ও loading প্রতিটি প্রোডাক্টে একইভাবে আচরণ করে।
06লেআউট ও কম্পোজিশন
Stack, grid, ডিভাইডার ও পেজ শেল দিয়ে অ্যাড-হক CSS ছাড়াই স্ক্রিন গড়া যায়। সবচেয়ে বড় কম্পোনেন্টগুলো পূর্ণ পেজ কম্পোজিশন — আমাদের ship করা পেজ থেকে নেওয়া hero, section ও footer প্যাটার্ন।
07নেভিগেশন
হেডার, ট্যাব, ব্রেডক্রাম্ব ও মেনু, রেসপন্সিভ ও কীবোর্ড আচরণ সহ। এই সাইটের নেভিগেশনই আসল কম্পোনেন্ট, তার অনুকরণ নয়।
08ওভারলে
মোডাল, শিট, ড্রয়ার, পপওভার ও টুলটিপ একটি layering মডেলে — focus trapping, dismissal ও stacking একবারই, কেন্দ্রীয়ভাবে সামলানো। কোনো প্রোডাক্টকে নিজের z-index হিসাব করতে হয় না।
09ডেটা ডিসপ্লে
টেবিল, লিস্ট, স্ট্যাট টাইল, ব্যাজ ও টাইমলাইন — যেসব প্রোডাক্ট সংখ্যার ওপর চলে তাদের জন্য। পরিবারজুড়ে অপারেটর কনসোলের ঘনত্ব এই কম্পোনেন্টগুলো থেকেই আসে।
10ফিডব্যাক ও স্ট্যাটাস
Toast, ব্যানার, এম্পটি স্টেট, প্রগ্রেস ও skeleton — যেসব স্টেট চটকদার নয় কিন্তু শুরুতেই ডিজাইন করা। PDS-এ তৈরি প্রোডাক্টের loading, empty ও failed-এর জন্য ভেবেচিন্তে করা উত্তর থাকে।
11টাইপোগ্রাফি
টেকনিক্যাল রেজিস্টারের জন্য mono লেবেলসহ একটি editorial টাইপ স্কেল — Protocore-এর প্রতিটি সারফেসে যে কণ্ঠস্বর দেখা যায়। স্কেলটি token, তাই প্রোডাক্ট সিস্টেম ছেড়ে না বেরিয়েই তা টিউন করতে পারে।
12মোশন
Duration ও easing token হিসেবে আসে, কম্পোনেন্টগুলো আগে থেকেই সেগুলো ব্যবহার করে। প্রোডাক্টজুড়ে ইন্টারফেস একইভাবে নড়ে, কারণ কেউ হাতে অ্যানিমেশনের টাইমিং নতুন করে ঠিক করে না।
13ডিফল্টভাবেই অ্যাক্সেসিবল
কনট্রাস্ট, focus স্টেট ও কীবোর্ড আচরণ কম্পোনেন্টের ভেতরেই তৈরি, আলাদা করে ভাবার বিষয় নয়। ডিফল্ট ship করুন, অ্যাক্সেসিবিলিটি সঙ্গে আসবে।
14Zero-runtime CSS
স্টাইলিং হলো বিল্ড টাইমে সমাধান হওয়া স্ট্যাটিক CSS — কোনো CSS-in-JS runtime নেই, ব্রাউজারে কিছু গণনা হয় না। স্টাইলিং লেয়ার পেজে শূন্য JavaScript যোগ করে।
15Framework-agnostic CSS লেয়ার
সিস্টেমটি সাধারণ CSS প্যাকেজ হিসেবেও পাওয়া যায় — token ও utility class, React ছাড়াই। সার্ভার-রেন্ডার্ড পেজ, ইমেইল ও নন-React স্ট্যাক একই source of truth থেকে নেয়।
16স্ট্যাক অনুযায়ী token এক্সপোর্ট
Token ওয়েবের জন্য CSS variable ও Tailwind preset হিসেবে এবং মোবাইল প্ল্যাটফর্মের জন্য নেটিভ ফরম্যাটে এক্সপোর্ট হয়। ব্র্যান্ডের একটিই সংজ্ঞা, প্রোডাক্ট যেখানেই চলুক সেখানে ব্যবহৃত।
17Theme provider ও hook
React লেয়ার অ্যাপকে provider দিয়ে মোড়ে এবং hook-এর মাধ্যমে token দেয় — কম্পোনেন্ট মান হার্ডকোড না করে সক্রিয় থিম ও অ্যাকসেন্ট পড়ে। থিম বদলানো মানে state বদল, rebuild নয়।
18Whitelabel থিমিং
যে ব্যবস্থা PDS-কে পাঁচটি অ্যাকসেন্ট দেয়, সেটিই একটি whitelabel প্রোডাক্টকে তার ব্র্যান্ড দেয়: token-এর মান বদলান, কম্পোনেন্ট রাখুন। পরিবারের প্রতিটি whitelabel অ্যাপ প্রমাণ যে এটি কাজ করে।
19llms.txt ম্যাপ
পুরো সিস্টেমের একটি machine-readable ম্যাপ — কম্পোনেন্ট, token, প্যাটার্ন — llms.txt হিসেবে প্রকাশিত। কোনো LLM-কে এটি দেখান, তাহলে জেনারেট করা কোড বিশ্বাসযোগ্য-দেখতে বানানো কম্পোনেন্টের বদলে আসল PDS কম্পোনেন্ট ব্যবহার করবে।
20MCP server
একটি MCP server সিস্টেমটি সরাসরি কোডিং এজেন্টের কাছে উন্মুক্ত করে: কম্পোনেন্ট, props ও token, এজেন্ট বানানোর সময়ই query করা যায়। ডিজাইন সিস্টেম প্রম্পটে পেস্ট হয় না, প্রশ্নের উত্তর দেয়।
21শুরু থেকে শেষ পর্যন্ত ডকুমেন্টেড
প্রতিটি কম্পোনেন্ট pds.protocore.io-তে আছে লাইভ উদাহরণ, props ও কপি-পেস্ট কোডসহ। ডক্স নিজেও PDS-এ রেন্ডার হয় — যা পড়েন, তাই ship করেন।
22ভার্সনড রিলিজ
PDS ship হয় সেমান্টিক ভার্সন ও চেঞ্জলগসহ ভার্সনড প্যাকেজ হিসেবে। আপগ্রেড হয় ভেবেচিন্তে: টিম যখন চায় তখনই সরে, আর চেঞ্জলগ ঠিক বলে দেয় কী বদলেছে।
23প্রাইভেট রেজিস্ট্রি
প্যাকেজ ইনস্টল হয় Protocore-এর প্রাইভেট npm রেজিস্ট্রি থেকে, .npmrc-তে প্রতি টিমের token দিয়ে — স্ট্যান্ডার্ড npm workflow, লাইসেন্সপ্রাপ্ত টিমের জন্য সীমাবদ্ধ। কোনো vendored zip ফাইল নেই, কপি-পেস্ট ইনস্টল নেই।
24অফলাইন লাইসেন্স কী
স্বাক্ষরিত লাইসেন্স কী লোকালি যাচাই হয় — phone-home নেই, আপনার বিল্ডে নেটওয়ার্ক চেক নেই। লাইসেন্সিং সমস্যা ডেভেলপমেন্ট-টাইমে সতর্কবার্তা হিসেবে আসে, প্রোডাকশন অ্যাপ কখনো ভাঙে না।
25প্রতি টিমের জন্য লাইসেন্স
PDS প্রোপ্রাইটারি এবং প্রতি টিমের জন্য লাইসেন্স করা হয়। অ্যাক্সেসের অনুরোধ করুন, আমরা সেটআপ করে দিই — প্যাকেজ, ডক্স ও token সোর্স — যাতে একটি টিম এক বিকেলেই গ্রহণ করতে পারে।