.claude/ फ़ोल्डर संरचना का विश्लेषण
(blog.dailydoseofds.com).claude/फ़ोल्डर Claude Code की मुख्य कंट्रोल डायरेक्टरी है, जो प्रोजेक्ट-विशिष्ट नियम, कमांड, परमिशन और मेमोरी स्टेट को मैनेज करती हैCLAUDE.mdClaude के व्यवहार सिद्धांतों और प्रोजेक्ट नियमों को परिभाषित करने वाली केंद्रीय फ़ाइल है, जो कई लेयर की सेटिंग्स को मर्ज करके लागू करती हैcommands/,skills/,agents/फ़ोल्डर क्रमशः कस्टम कमांड, ऑटोमेटेड वर्कफ़्लो, और विशेषज्ञ सब-एजेंट बनाते हैं, जिससे सहयोग की दक्षता बढ़ती हैsettings.jsonकमांड चलाने की अनुमति और फ़ाइल एक्सेस की सीमा नियंत्रित करता है, औरsettings.local.jsonसे व्यक्तिगत ओवरराइड संभव है- पूरी संरचना Claude को प्रोजेक्ट की पहचान और नियम बताने वाले प्रोटोकॉल की तरह काम करती है, इसलिए स्पष्ट सेटिंग्स प्रोडक्टिविटी और सहयोग, दोनों को अधिकतम करती हैं
.claude/ फ़ोल्डर संरचना और उसके घटक
.claude/फ़ोल्डर Claude Code के व्यवहार को नियंत्रित करने वाली मुख्य डायरेक्टरी है, जो प्रोजेक्ट-विशिष्ट नियम, कमांड, परमिशन और मेमोरी स्टेट को मैनेज करती है- प्रोजेक्ट रूट में मौजूद फ़ोल्डर में टीम-स्तरीय सेटिंग्स शामिल होती हैं और उसे Git में commit किया जाता है
- होम डायरेक्टरी (
~/.claude/) का फ़ोल्डर व्यक्तिगत सेटिंग्स और सेशन रिकॉर्ड स्टोर करता है, जिसमें ऑटोमेटिक मेमोरी और निजी कमांड शामिल होते हैं -
CLAUDE.md — Claude के लिए निर्देश पुस्तिका
- Claude Code सेशन शुरू होने पर सबसे पहले पढ़ी जाने वाली फ़ाइल, जो Claude के व्यवहार सिद्धांतों और प्रोजेक्ट नियमों को परिभाषित करती है
- प्रोजेक्ट रूट का
CLAUDE.mdटीम के साझा नियमों के लिए,~/.claude/CLAUDE.mdग्लोबल व्यक्तिगत नियमों के लिए, और सबफ़ोल्डरों काCLAUDE.mdफ़ोल्डर-विशिष्ट नियमों के लिए होता है - Claude कई
CLAUDE.mdफ़ाइलों को मर्ज करके लागू करता है - सुझाए गए कंटेंट में build/test कमांड, मुख्य आर्किटेक्चर निर्णय, non-intuitive constraints, naming और error handling rules आदि शामिल हैं
- इसे 200 पंक्तियों से कम रखना सुझाया जाता है; बहुत लंबी फ़ाइल होने पर Claude की निर्देश-पालन क्षमता घट सकती है
-
CLAUDE.local.md — व्यक्तिगत ओवरराइड
- टीम के साझा नियमों से अलग व्यक्तिगत पसंद को दर्शाने वाली फ़ाइल
- प्रोजेक्ट रूट में
CLAUDE.local.mdबनाने पर Claude इसे भी साथ में पढ़ता है - यह
.gitignoreमें अपने-आप शामिल होती है, इसलिए repository में commit नहीं होती
-
rules/ फ़ोल्डर — मॉड्यूलर नियम प्रबंधन
- जब
CLAUDE.mdबड़ा हो जाए, तो उसे.claude/rules/फ़ोल्डर में बाँटकर मैनेज किया जा सकता है - हर नियम फ़ाइल विषय-आधारित रूप से अलग रखी जाती है, जिससे maintenance आसान होता है
- उदाहरण:
code-style.md,testing.md,api-conventions.md,security.md
- उदाहरण:
- YAML फ्रंटमैटर के
pathsफ़ील्ड का उपयोग करके सिर्फ़ खास paths पर लागू होने वाले नियम तय किए जा सकते हैं- उदाहरण: सिर्फ़
src/api/**/*.tspath पर API नियम लागू करना
- उदाहरण: सिर्फ़
- जिन नियमों में path नहीं दिया गया है, वे हर सेशन में हमेशा लोड होते हैं
- जब
-
commands/ फ़ोल्डर — कस्टम slash commands
.claude/commands/फ़ोल्डर की हर Markdown फ़ाइल slash command (/) के रूप में रजिस्टर होती है- उदाहरण:
review.md→/project:review,fix-issue.md→/project:fix-issue
- उदाहरण:
!बैकटिक सिंटैक्स से shell command के execution result को Claude prompt में insert किया जा सकता है- उदाहरण:
!git diff main...HEAD
- उदाहरण:
$ARGUMENTSवेरिएबल का उपयोग करके कमांड चलाते समय arguments पास किए जा सकते हैं- उदाहरण:
/project:fix-issue 234→ GitHub issue 234 की सामग्री अपने-आप लोड
- उदाहरण:
- प्रोजेक्ट कमांड टीम के साथ साझा होते हैं, जबकि व्यक्तिगत कमांड
~/.claude/commands/में स्टोर होकर सभी प्रोजेक्ट्स में उपलब्ध रहते हैं
-
skills/ फ़ोल्डर — ऑटो-रन वर्कफ़्लो
- यह कमांड जैसा ही, लेकिन अपने-आप ट्रिगर होने वाला वर्कफ़्लो है
- Claude बातचीत का विश्लेषण करके उपयुक्त स्थिति में इसे अपने-आप चलाता है
- हर skill को सबफ़ोल्डर के
SKILL.mdमें परिभाषित किया जाता है, और YAML फ्रंटमैटर से trigger conditions और allowed tools तय किए जाते हैं- उदाहरण:
security-reviewskill सुरक्षा-संबंधित बातचीत में अपने-आप चलती है
- उदाहरण:
- skill फ़ोल्डर में
DETAILED_GUIDE.mdजैसी सहायक डॉक्युमेंट या template फ़ाइलें भी शामिल हो सकती हैं - व्यक्तिगत skills
~/.claude/skills/में स्टोर होकर globally उपलब्ध रहती हैं
-
agents/ फ़ोल्डर — विशेषज्ञ sub-agents
.claude/agents/फ़ोल्डर में विशिष्ट भूमिका निभाने वाले sub-agent (persona) परिभाषित किए जाते हैं- हर agent के पास अलग system prompt, model, और tool access permissions होती हैं
- उदाहरण:
code-reviewer.md,security-auditor.md
- उदाहरण:
toolsफ़ील्ड से उपलब्ध tools सीमित करके सुरक्षा और role separation लागू की जा सकती हैmodelफ़ील्ड से काम के अनुसार Claude model (जैसे Haiku, Sonnet, Opus) चुना जा सकता है- ज़रूरत पड़ने पर Claude उस agent को अलग context में चलाकर सिर्फ़ उसका सारांश रिपोर्ट करता है
-
settings.json — परमिशन और प्रोजेक्ट सेटिंग्स
.claude/settings.jsonClaude की कमांड execution permissions और file access scope को परिभाषित करता है$schemaफ़ील्ड VS Code जैसी जगहों पर auto-completion और validation सपोर्ट देती हैallowसूची auto-approved commands, औरdenyसूची पूरी तरह ब्लॉक किए गए commands तय करती है- उदाहरण: अनुमति —
Bash(npm run *),Read,Write,Edit - ब्लॉक —
Bash(rm -rf *),Bash(curl *),.envफ़ाइल पढ़ना
- उदाहरण: अनुमति —
- सूची में न होने वाले commands चलाने से पहले यूज़र से पुष्टि माँगी जाती है
- व्यक्तिगत परमिशन बदलाव
.claude/settings.local.jsonमें स्टोर होते हैं और Git में शामिल नहीं होते
-
~/.claude/ फ़ोल्डर — ग्लोबल सेटिंग्स और मेमोरी
~/.claude/CLAUDE.mdसभी प्रोजेक्ट्स पर लागू होने वाले व्यक्तिगत निर्देश रखता है~/.claude/projects/में प्रोजेक्ट-विशिष्ट सेशन रिकॉर्ड और ऑटोमेटिक मेमोरी स्टोर होती है- Claude द्वारा सीखे गए commands, patterns और structural insights बने रहते हैं
/memoryकमांड से इन्हें देखा और बदला जा सकता है
~/.claude/commands/,~/.claude/skills/,~/.claude/agents/ग्लोबल व्यक्तिगत commands, skills और agents का स्टोरेज हैं
-
पूरी संरचना का उदाहरण
your-project/ ├── CLAUDE.md ├── CLAUDE.local.md └── .claude/ ├── settings.json ├── settings.local.json ├── commands/ ├── rules/ ├── skills/ └── agents/ ~/.claude/ ├── CLAUDE.md ├── settings.json ├── commands/ ├── skills/ ├── agents/ └── projects/ -
शुरुआती सेटअप के चरण
- चरण 1:
/initकमांड से बेसिकCLAUDE.mdबनाएं और केवल मुख्य बातें रखें - चरण 2:
.claude/settings.jsonलिखें और execution allow/deny rules परिभाषित करें -
चरण 3: अक्सर इस्तेमाल होने वाले वर्कफ़्लो (जैसे: कोड रिव्यू, इश्यू सुधार) के अनुसार कमांड जोड़ें
- चरण 4: अगर
CLAUDE.mdबड़ा हो जाए, तो उसे.claude/rules/में बाँट दें - चरण 5:
~/.claude/CLAUDE.mdमें व्यक्तिगत पसंद के नियम जोड़ें
- चरण 4: अगर
- चरण 1:
मुख्य इनसाइट्स
.claude/फ़ोल्डर Claude को प्रोजेक्ट की पहचान और नियम बताने वाला प्रोटोकॉल हैCLAUDE.mdसबसे महत्वपूर्ण फ़ाइल है, और इसे जितना स्पष्ट परिभाषित किया जाए, Claude की प्रोडक्टिविटी उतनी अधिकतम होती है- बाकी घटक इसे सपोर्ट करने वाली optimization layers हैं, जिन्हें धीरे-धीरे बढ़ाया जा सकता है
- स्पष्ट सेटिंग्स से Claude के correction requests कम होते हैं और सहयोग अधिक कुशल बनता है
अतिरिक्त चर्चा
settings.jsonकी deny list मानव उपयोग के लिए सुरक्षित हो सकती है, लेकिन agent mode में Bash access के कारण अतिरिक्त सुरक्षा की ज़रूरत होती है- OneCLI नेटवर्क स्तर पर credentials tokens को बदलने वाली proxy layer देता है, जिससे secrets के उजागर होने से बचाव होता है
- आगे चलकर agent mode के लिए अलग .claude settings (rules, permissions, skills separation) की ज़रूरत उठाई गई है
- नवीनतम दस्तावेज़ों के अनुसार commands और skills का एकीकरण हो चुका है, इसलिए
.claude/commands/deploy.mdऔर.claude/skills/deploy/SKILL.mdदोनों समान रूप से/deployकमांड बनाते हैं, जबकि skills अतिरिक्त सुविधाएँ (सहायक फ़ाइलें, auto trigger आदि) सपोर्ट करती हैं
अभी कोई टिप्पणी नहीं है.