# chamnan — রিপোজিটরিকে নিজের পরিচয় দেওয়া

<sub>[🇬🇧 English](../../README.md) · [🇨🇳 中文](README.zh-CN.md) · [🇹🇼 繁體中文](README.zh-TW.md) · [🇯🇵 日本語](README.ja.md) · [🇰🇷 한국어](README.ko.md) · [🇹🇭 ไทย](README.th.md) · [🇻🇳 Tiếng Việt](README.vi.md) · [🇮🇩 Indonesia](README.id.md) · [🇮🇳 हिन्दी](README.hi.md) · [🇵🇰 اردو](README.ur.md) · [🇸🇦 العربية](README.ar.md) · [🇮🇱 עברית](README.he.md) · [🇹🇷 Türkçe](README.tr.md) · [🇷🇺 Русский](README.ru.md) · [🇺🇦 Українська](README.uk.md) · [🇵🇱 Polski](README.pl.md) · [🇨🇿 Čeština](README.cs.md) · [🇩🇪 Deutsch](README.de.md) · [🇳🇱 Nederlands](README.nl.md) · [🇫🇷 Français](README.fr.md) · [🇪🇸 Español](README.es.md) · [🇵🇹 Português](README.pt-PT.md) · [🇧🇷 Português (BR)](README.pt-BR.md) · [🇮🇹 Italiano](README.it.md) · [🇷🇴 Română](README.ro.md) · [🇬🇷 Ελληνικά](README.el.md) · [🇭🇺 Magyar](README.hu.md) · [🇸🇪 Svenska](README.sv.md) · [🇫🇮 Suomi](README.fi.md) · [🇩🇰 Dansk](README.da.md) · [🇳🇴 Norsk](README.no.md) · [🇵🇭 Tagalog](README.tl.md)</sub>

> এই পাতায় ইচ্ছাকৃতভাবে কোনো সংখ্যা নেই। সব পরিমাপ ইংরেজি README-তে আছে এবং প্রতিটি রিলিজে বদলায়; এই পাতা বদলায় না। → [Evidence](../../README.md#evidence)

## এটি কী

Claude Code-এর একটি প্লাগিন। এটি রিপোজিটরির একটি সূচি তৈরি করে যা agent ফাইল একে একে ঘাঁটার বদলে পড়ে, এবং কাজ করতে করতে জমে ওঠা কারিগরি প্রেক্ষাপট ধরে রাখে — কাজের অবস্থা, সেশনের নথি, সিদ্ধান্তের পেছনের কারণ, আর যে ধাপগুলো আপনি প্রতিবার নতুন করে বের করেন।

এটি যা কিছু লেখে সবই সাধারণ markdown, কোডের পাশেই commit করা। চলার সময় কোনো নেটওয়ার্ক কল নেই, ডেটাবেস নেই, daemon নেই, embedding মডেল নেই — কেবল Python-এর স্ট্যান্ডার্ড লাইব্রেরি।

## এটি কী সমাধান করে

প্রতিটি নতুন সেশনে, বা যতবার প্রেক্ষাপট সংকুচিত হয়, agent আপনার কোডবেস সম্পর্কে যা বুঝেছিল তা মুছে যায় এবং সে আবার গোড়া থেকে খুঁজতে শুরু করে।

chamnan সেই পুনরাবিষ্কারটিকে ঘটতেই দেয় না: সূচি সেশনের শুরুতেই হাতে তুলে দেওয়া হয়, আর খরচ একটি জানা, সীমাবদ্ধ সংখ্যা — অসীম ফাইল-পাঠ নয়।

## ইনস্টল

```bash
claude plugin marketplace add ArcticFox2029/chamnan
claude plugin install chamnan@chamnan
```

একটি নতুন সেশন খুলুন, তারপর প্রতিটি রিপোজিটরিতে একবার `/chamnan:bootstrap` চালান।

<!-- generated: build_sections.py -->

## সমস্ত বৈশিষ্ট্য

চারটি সক্ষমতা। নিচের তালিকার সবকিছুই বর্তমান রিলিজে সত্যিই চলছে। প্রতিটি অংশ `.chamnan/config.json`-এ আলাদাভাবে বন্ধ করা যায়, এবং কোনোটি অন্যটির উপর নির্ভরশীল নয়।

### বোঝা — কী আছে, আর কীসের সঙ্গে কী যুক্ত

| | |
|---|---|
| **সূচি** | `MAP.md` — প্রতিটি ফাইলের জন্য এক লাইন, কোড থেকেই তৈরি। এজেন্ট সূচি পড়ে, তারপর দরকারি বিবরণটুকু grep করে — গোটা গাছ ঘুরে দেখতে হয় না। |
| **প্রভাব** | এই ফাইলের উপর কারা নির্ভরশীল, আর কোন পরীক্ষাগুলো একে ঢাকে। ফাইলের নিজের import তো উপরেই লেখা; খরচসাপেক্ষ খোঁজাটা উল্টো দিকের — বদলানোর আগে পথটি grep করে নিন। |
| **ডেটা মডেল** | টেবিল আর মডেলের নাম, এক লাইনের সারাংশসহ, DDL, মাইগ্রেশন ও ORM মডেল থেকে নেওয়া — গোটা স্কিমা ডাম্প নয়। রিপোজিটরিতে সংজ্ঞা থাকলেই কেবল দেখা যায়। |
| **API পৃষ্ঠ** | মেথড, পথ ও হ্যান্ডলার — রুট ডেকোরেটর, OpenAPI নথি ও `.proto` সার্ভিস সংজ্ঞা থেকে, গোটা স্পেসিফিকেশন নয়। |
| **কনফিগারেশন** | রিপোজিটরি যেসব এনভায়রনমেন্ট ভেরিয়েবল পড়ে, তাদের নাম। **কেবল নাম, মান কখনও নয়** — আর `.env` gitignore-এ না থাকলে সতর্ক করে। |
| **ডিপ্লয়মেন্ট** | যা সত্যিই চলে, পড়া হয় Kubernetes, Ansible, Compose, Helm ও CI ম্যানিফেস্ট থেকে: ধরন ও নাম, ইমেজ, ভূমিকা, পাইপলাইন। Secret কেবল নিজের নামটুকু দেয়, তার নিচের কিছু নয়। |
| **উৎস-বহির্ভূত উপকরণ** | স্ক্যান করা কাগজপত্র, রপ্তানি ফাইল, আর্কাইভ — কেবল সংখ্যা, আকার ও প্রধান এক্সটেনশন। এটি আছে যাতে এজেন্ট নিজে দেখতে না যায়, যা অনেক বেশি ব্যয়বহুল। **কখনও খোলা হয় না, কখনও পড়া হয় না।** |

### মনে রাখা — কী করা হচ্ছিল, আর কেন

| | |
|---|---|
| **কাজের অবস্থা** | `STATE.md` — এই মুহূর্তে যা নিয়ে কাজ চলছে, সেশন শুরুতেই ঢোকানো হয় যাতে কনটেক্সট সংকোচন তা মুছে ফেলতে না পারে। |
| **সেশন নথি** | `.chamnan/sessions/`-এ প্রতি সেশনে একটি। **কেবল অসমাপ্ত অংশটুকুই** পরের সেশনে পৌঁছায়; পরিচ্ছন্নভাবে শেষ হওয়া সেশন কিছুই ঢোকায় না। |
| **স্মৃতি** | `decisions/`, `lessons/`, `rules/`। নিয়ম স্থায়ী বাধ্যবাধকতা, তাই প্রতি সেশনে এজেন্টের সামনে থাকে; সিদ্ধান্ত ও শিক্ষা কেবল শিরোনাম দেয় এবং শিরোনাম প্রাসঙ্গিক মনে হলে পড়া হয়। |
| **খোলা সূত্র** | এখনও চলমান কাজের ধারা, সেই ধারা কোন কোন ফাইল ছুঁয়েছে তার ইতিহাসসহ — ফাইলের নাম বদলে গেলেও পিছু ছাড়ে না। |

### পুনর্ব্যবহার — যা একবার সমাধান হয়ে গেছে

| | |
|---|---|
| **কার্যপদ্ধতি** | জটিল বা পুনরাবৃত্ত কিছুর মুখোমুখি হলে এজেন্ট **নিজেই যে স্কিল লেখে**। এটি সঙ্গে দেওয়া কোনো তৈরি লাইব্রেরি নয়, একটি কৌশল। |
| **সরঞ্জাম** | একই অস্থায়ী স্ক্রিপ্ট আবার লেখা হচ্ছে দেখে সেটি রেখে দেওয়ার প্রস্তাব দেয় — আর নতুন স্ক্রিপ্ট লেখার আগেই সেটির কথা মনে করিয়ে দেয়। |
| **কর্মপ্রবাহ** | একই কমান্ডগুচ্ছ আলাদা আলাদা দিনে একই ক্রমে চলেছে দেখে সেই ক্রমটি লিখে রাখার প্রস্তাব দেয়। |

### সঞ্চয় — রিপোজিটরি নিজের সম্পর্কে যা শিখেছে

| | |
|---|---|
| **মাইলফলক** | গুটিকয় পরিবর্তন যা রিপোজিটরির আকার বদলে দিয়েছে: কী সরল, কেন সার্থক ছিল, কোন এলাকা ছুঁয়েছে। |
| **প্রার্থী** | শনাক্ত হওয়া পুনরাবৃত্ত কমান্ডক্রম **সর্বদা মানুষের নিশ্চিতকরণের অপেক্ষায়** আটকে থাকে। কিছুই আপনা-আপনি উন্নীত হয় না। |
| **পরিবেশ** | production বা staging কী এবং সেখানে কী নিষিদ্ধ তা ঘোষণা করুন, আর সেই ঘোষণা পুরোনো হলে এটি সতর্ক করে। |
| **প্রতিবেদন** | কর্মক্ষেত্রে কী রাখা আছে, তা সত্যিই নাগালে কি না, আর আপনার রিপোজিটরির প্রতি পালার কনটেক্সট কীভাবে বদলেছে। এটি আপনার সংখ্যা, আমাদের নয়। |

পুনরাবৃত্ত প্রকৌশল-শ্রম পুনর্ব্যবহারযোগ্য রিপোজিটরি-জ্ঞানে পরিণত হয় — **মডেল প্রশিক্ষণও নয়, ডেভেলপারের স্বয়ংক্রিয়করণও নয়।** এটি সেই কাজ সংরক্ষণের কৌশল যা নইলে কেবল যে করেছে তার মাথাতেই থেকে যেত।

## কমান্ড

সবগুলোই শেল থেকে চালানো যায়, আর এজেন্টও নিজে থেকে চালায়।

| | |
|---|---|
| `chamnan-map` | সূচি তৈরি ও হালনাগাদ করা |
| `chamnan-report` | কর্মক্ষেত্রে কী আছে, আর প্রতি পালার কনটেক্সট কীভাবে বদলেছে |
| `chamnan-impact` | এই ফাইলের উপর কারা নির্ভরশীল, কোন পরীক্ষা একে ঢাকে |
| `chamnan-timeline` | এই ফাইলের সঙ্গে এ পর্যন্ত কী কী ঘটেছে |
| `chamnan-peek` | বড় ফাইলটি কনটেক্সটে না পড়েই তার ভিতরে কী আছে বলা |
| `chamnan-promote` | কোনো স্ক্রিপ্টকে রিপোজিটরির স্থায়ী সরঞ্জাম হিসেবে রেখে দেওয়া |
| `chamnan-candidates` | শনাক্ত হওয়া পুনরাবৃত্তি দেখা, মেনে নেওয়া বা বাতিল করা |
| `chamnan-env` | পরিবেশ ও তার নিষেধাজ্ঞা ঘোষণা করা, এবং ঘোষণাটি এখনও টাটকা কি না দেখা |
| `chamnan-age` | সঞ্চিত জ্ঞান কোথা থেকে পুরোনো হতে শুরু করেছে |

আর সেশনের ভিতর থেকে ডাকা স্কিল: `/chamnan:bootstrap` `/chamnan:remap` `/chamnan:resume` `/chamnan:remember` `/chamnan:milestone` `/chamnan:capture` `/chamnan:promote` `/chamnan:report`

## এটি কী লেখে, আর কোথায়

সবই `.chamnan/`-এর ভিতরে, সাধারণ markdown ও JSON। পড়া যায়, হাতে সম্পাদনা করা যায়, যেকোনো সময় মুছে ফেলা যায় — কিছুই ভাঙে না।

| | |
|---|---|
| `MAP.md` | কী আছে, আর কী কীসের উপর নির্ভরশীল |
| `STATE.md` | এই মুহূর্তে কী করা হচ্ছে |
| `sessions/` | আগের কাজ কোথায় থেমেছিল |
| `memory/` | সিদ্ধান্ত, শিক্ষা ও স্থায়ী নিয়ম |
| `threads/` | এখনও খোলা কাজের ধারা |
| `skills/` · `tools/` | রাখার মতো কার্যপদ্ধতি ও স্ক্রিপ্ট |
| `milestones.md` | যেসব পরিবর্তন রিপোজিটরির আকার বদলেছে |
| `config.json` | প্রতিটি অংশের চালু-বন্ধ, আর সেশনে ঢোকানো খণ্ডটির আকার-সীমা |

**`.chamnan/`-এর বাইরে একমাত্র লেখা** হলো একটি ঐচ্ছিক Git pre-commit hook, যা সূচিকে কোডের সঙ্গে তাল মিলিয়ে রাখে — আপনি সম্মতি দিলে তবেই বসে, আর খুলে ফেলা যায়।

**এজেন্ট কিছু শেখে না।** কিছুই প্রশিক্ষিত হয় না, এই ডিরেক্টরির বাইরে কিছু থাকে না, আর পরের সেশনও শূন্য থেকেই শুরু হয় — কেবল শূন্য থেকে শুরু হয় *এমন এক রিপোজিটরিতে যা নিজেকে ব্যাখ্যা করতে পারে*। ধারাবাহিকতা ফাইলে, মডেলে নয়।

## নিরাপত্তা

| | |
|---|---|
| **চলাকালে কোনো নেটওয়ার্ক কল নয়** | একটিও নয়। কোনো API key লাগে না, কোথাও কিছু পাঠানো হয় না। |
| **আপনার সোর্স নতুন করে লেখে না** | এটি প্রতিবেদন করে, সম্পাদনা করে না। সূচি আপনার আগে থেকে লেখা মন্তব্যই নকল করে, বানায় না; মন্তব্যহীন ফাইলগুলোর নাম উল্লেখ করে দেয় যাতে আপনি ভরে দেন। |
| **কোনো ডিমন নেই, পটভূমির কাজ নেই** | স্থায়ী কোনো প্রসেস নেই, ডেটাবেস নেই, এমবেডিং মডেল নেই — কেবল Python-এর স্ট্যান্ডার্ড লাইব্রেরি। |
| **গোপন মান আগে ছেঁকে নেওয়া হয়** | যা কিছু লেখা হবে বা সেশনে ঢুকবে, সবই আগে গোপনীয়তা-ছাঁকনি পেরোয়: ভেরিয়েবলের *নাম* থাকে, মান থাকে না। আর এই ছাঁকনি যতদূর পৌঁছায় না, সেই সীমা ইংরেজি README-তে তার নিজের সংখ্যার পাশেই লেখা। |
| **ইনস্টল করা একটি প্লাগইন আপনার সঙ্গে কী করতে পারে** | ইংরেজি README-তে পুরোটা লেখা আছে, chamnan ফাঁসের শৃঙ্খল কোথায় ভাঙে তা-ও। |

## প্রয়োজনীয়তা

Claude Code · Python · Git · macOS, Linux বা Windows

এর বাইরে কিছু নয়, আর ইনস্টল করার মতো কোনো নির্ভরতাও নেই। Python-এর সর্বনিম্ন সংস্করণ আছে [README › Requirements](../../README.md#requirements)-এ — এই পাতায় সংখ্যা লেখা হয় না, কারণ সংখ্যাই তো বদলায়।

## বন্ধ করা বা সরিয়ে ফেলা

`.chamnan/config.json`-এ অংশ ধরে ধরে বন্ধ করুন · একটি রিপোজিটরিতে থামান · প্লাগইনটি গোটা মেশিন থেকে সরান · `.chamnan/` যেকোনো সময় মুছুন, কিছুই ভাঙবে না — বিস্তারিত ধাপ [README › Update, disable, uninstall](../../README.md#update-disable-uninstall)-এ।

<!-- /generated -->

## ইনস্টল করার আগে পড়ুন

**chamnan সেই মূল ফোল্ডারের জন্য যেখানে আপনি বারবার ফিরে আসেন।** এটি যা করে তার পুরোটাই আগে দিতে হয় এবং পরের সেশনগুলোতে ফেরত আসে — যে রিপোজিটরি আপনি একবারই খোলেন, সেখানে পুরোটা দিয়েছেন, কিছুই ফেরত পাননি।

**এটি জানায়, আপনার কোড বদলায় না।** সূচি আপনার লেখা মন্তব্যই তুলে আনে, নিজে বানায় না। মন্তব্যহীন ফাইলগুলোর নাম বলে দেওয়া হয় যাতে আপনি নিজে যোগ করতে পারেন।

**এর সীমাবদ্ধতা মাপা এবং লেখা আছে**, এমনকি সেই পরিমাপগুলোও যা এর নিজের মূল বৈশিষ্ট্যের বিপক্ষে যায়।

## বিস্তারিত কোথায়

| | |
|---|---|
| প্রতিটি সংখ্যা, এবং কীভাবে তা মাপা হয়েছে | [README › Evidence](../../README.md#evidence) |
| রিগ্রেশন পরীক্ষা — নিজেই চালাতে পারেন | [`tests/run_tests.py`](../../tests/run_tests.py) |
| প্রতিটি রিলিজে কী বদলেছে, এবং কেন | [CHANGELOG.md](../../CHANGELOG.md) |
| সবকিছু | [README.md](../../README.md) |

---

<sub>MIT · [github.com/ArcticFox2029/chamnan](https://github.com/ArcticFox2029/chamnan)</sub>
