• .claude/ फ़ोल्डर Claude Code की मुख्य कंट्रोल डायरेक्टरी है, जो प्रोजेक्ट-विशिष्ट नियम, कमांड, परमिशन और मेमोरी स्टेट को मैनेज करती है
  • CLAUDE.md Claude के व्यवहार सिद्धांतों और प्रोजेक्ट नियमों को परिभाषित करने वाली केंद्रीय फ़ाइल है, जो कई लेयर की सेटिंग्स को मर्ज करके लागू करती है
  • 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/**/*.ts path पर 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-review skill सुरक्षा-संबंधित बातचीत में अपने-आप चलती है
    • 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.json Claude की कमांड 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 में व्यक्तिगत पसंद के नियम जोड़ें

मुख्य इनसाइट्स

  • .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 आदि) सपोर्ट करती हैं

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.