# 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.bn.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>
