अध्याय 1 मानसिक मॉडल की बात थी। यह अध्याय हाथ चलाने की बात है। लक्ष्य सिर्फ़ एक है ― हम वहाँ तक जाएँगे जहाँ आपकी अपनी रिपॉज़िटरी पर आपका पहला निर्देश पार हो जाए

टाइप करने के लिए कमांड बस कुछ ही लाइनें हैं। बाक़ी वक़्त हम यह समझने में लगाएँगे कि आप मंज़ूरी दे किसको रहे हैं। इसे छोड़ देंगे तो बाद में पीछे लौटना ही पड़ेगा।

रास्ते पाँच हैं ― किससे घुसें

Claude Code को आम तौर पर "टर्मिनल का टूल" कहकर पेश किया जाता है, लेकिन अंदर घुसने के रास्ते पाँच हैं। भीतर की चीज़ एक ही है, बस लपेटन अलग-अलग है।

टर्मिनल

असली रूप। बस claude टाइप कीजिए। इस कोर्स का आधार यही है।

VS Code एक्सटेंशन

एडिटर के भीतर ही साथ रखिए। डिफ़ अपने रोज़ के जाने-पहचाने रूप में पढ़ सकते हैं।

JetBrains एक्सटेंशन

IntelliJ परिवार में डालिए। अगर आप वहीं डेवलप करते हैं तो कहीं जाना ही नहीं पड़ता।

डेस्कटॉप ऐप

टर्मिनल खोले बिना इस्तेमाल कीजिए। मोड इनपुट बॉक्स के बग़ल वाले सेलेक्टर से चुनते हैं।

ब्राउज़र (claude.ai)

पास में डेवलपमेंट एनवायरनमेंट न हो तब भी छू सकते हैं। यहाँ भी सेलेक्टर से बदलिए।

पहले एक घंटे के लिए हमारा सुझाव टर्मिनल है। वजह आराम नहीं, जानकारी की मात्रा है। अटकने पर मैसेज जस-के-तस दिखते हैं, और उनका इलाज भी टर्मिनल को मानकर ही लिखा जाता है। वैसे, एडिटर में बैठने वाले टूल्स (Cursor या GitHub Copilot) के साथ बँटवारा AI कोडिंग कोर्स के पहले अध्याय में है।

इंस्टॉल करना

मानक तरीक़ा npm है। Node.js पहले से हो तो एक ही लाइन में काम ख़त्म (node -v से वर्ज़न दिख जाए तो तैयारी पूरी)। -g का मतलब है "ऐसे इंस्टॉल करो कि किसी भी फ़ोल्डर से बुलाया जा सके"।

टर्मिनल ― इंस्टॉल और लॉन्च
npm install -g @anthropic-ai/claude-code claude

जिन एनवायरनमेंट में प्रॉक्सी या क्षेत्रीय पाबंदी की वजह से npm रुक जाता है, वहाँ पैकेज मैनेजर की तरफ़ से इंस्टॉल किया जा सकता है।

टर्मिनल ― जब npm से न हो
brew install --cask claude-code # macOS / Homebrew winget install Anthropic.ClaudeCode # Windows / WinGet

इंस्टॉल का तरीक़ा एक ही रखिए। npm के बाद Homebrew से भी डाल देंगे तो Multiple claude installations found आएगा। कौन-सा चल रहा है यह पता न होना, आगे की हर छानबीन को मुश्किल बना देता है। ज़रूरतें एनवायरनमेंट के हिसाब से बदलती हैं, तो उलझन हो तो आधिकारिक दस्तावेज़ देखिए।

साइन इन ― अकाउंट या API की

पहली बार लॉन्च करने पर आप लॉगिन का तरीक़ा चुनते हैं। Claude अकाउंट से घुसें तो ब्राउज़र खुलता है, और साइन इन करके अनुमति देते ही प्रमाणीकरण पूरा हो जाता है। इसमें आपके प्लान का कोटा इस्तेमाल होता है, और खपत आपको सीमा और रीसेट समय के रूप में दिखती है। API की कोटे से नहीं, बैलेंस से चलती है, और बैलेंस ख़त्म होते ही रुक जाती है। निजी इस्तेमाल के लिए पहला, CI और ऑटोमेशन के लिए दूसरा।

आपके लिए कौन-सा उपलब्ध है यह आपके कॉन्ट्रैक्ट पर निर्भर करता है, इसलिए हम इस पर दावा नहीं करेंगे। याद बस एक बात रखनी है।

एनवायरनमेंट वेरिएबल में रखी API की, सब्सक्रिप्शन लॉगिन पर भारी पड़ती है। कभी किसी पुराने प्रयोग में ANTHROPIC_API_KEY शेल की सेटिंग में लिखकर भूल गए हों, तो सही तरीक़े से लॉगिन करने के बाद भी उसे नज़रअंदाज़ कर दिया जाएगा। "सब्सक्रिप्शन लिया हुआ है फिर भी बैलेंस कम बता रहा है" के ज़्यादातर मामले यही हैं।

अभी किस क्रेडेंशियल से काम चल रहा है, इसका जवाब /status देता है। शक करने से पहले देख लीजिए।

प्रमाणीकरण जाँचने के चरण
/status # अभी किस क्रेडेंशियल से चल रहा है env | grep ANTHROPIC # कहीं एनवायरनमेंट वेरिएबल में की तो नहीं बची unset ANTHROPIC_API_KEY # बची हो तो हटाइए। सेटिंग फ़ाइल से भी मिटाइए /login # दोबारा घुसकर /status से फिर जाँचिए

पहली बार चलाने पर होता क्या है

प्रमाणीकरण हो जाने के बाद, जिस फ़ोल्डर में काम करना है वहाँ जाकर लॉन्च कीजिए। Claude Code "अभी जिस फ़ोल्डर में हैं" उसी को काम का दायरा मानता है, तो ग़लत जगह हुए तो वह किसी बेमतलब जगह को पढ़ने लगेगा।

टर्मिनल ― प्रोजेक्ट में लॉन्च
cd my-project claude

इनपुट का इंतज़ार करती स्क्रीन ही बातचीत का दरवाज़ा है। यहाँ हमारा सुझाव है कि सीधे कुछ बदलवाने को मत कहिए। पहली चाल ऐसी हो जो सिर्फ़ पढ़ने पर ख़त्म हो जाए ― "README और मुख्य डायरेक्टरी पढ़कर बताओ कि यह प्रोजेक्ट करता क्या है"।

इसकी तीन वजहें हैं। पढ़ने पर डिफ़ॉल्ट में भी कोई पुष्टि नहीं आती, इसलिए मंज़ूरी का तरीक़ा जाने बिना भी काम पार हो जाता है। इस प्रोजेक्ट को आप जानते हैं, इसलिए जवाब मिलाकर देख सकते हैं। और कनेक्शन, प्रमाणीकरण और काम का फ़ोल्डर ― तीनों एक साथ जाँचे जाते हैं, वह भी कुछ तोड़े बिना। कोई अजीब बर्ताव दिखे तो बदलाव की तरफ़ बढ़ने से पहले ही निपटा सकते हैं।

निर्देश → डिफ़ → मंज़ूरी का लूप

पढ़ने वाला काम पार हो जाए, तो कोई छोटा-सा बदलाव करवाइए। यहाँ से आगे वही चार ताल हैं।

1. कहिए

हिंदी में जैसा है वैसा बता दीजिए। कहाँ ठीक करना है यह बता सकें तो बता दीजिए।

2. जुटाकर सोचता है

जो फ़ाइलें जुड़ी लगती हैं उन्हें ढूँढ़कर पढ़ता है। यह अध्याय 1 का STEP 1 है।

3. डिफ़ निकलता है

"यहाँ यह बदलूँगा" लाइन-दर-लाइन सामने आता है, और वह वहीं रुक जाता है

4. मंज़ूरी दीजिए, या मना कीजिए

पास कर देंगे तो लग जाएगा। ग़लत हो तो मना करके क्या ग़लत है यह शब्दों में जोड़ दीजिए

आप: "README में Windows वाला हिस्सा जोड़ दो" ↓ [SEARCH] look for the README ← पढ़ना। रुकता नहीं ↓ [READ] read README.md ← पढ़ना। रुकता नहीं ↓ [EDIT] add 3 lines to README.md ← डिफ़ निकलता है, और रुक जाता है ↓ आप: मंज़ूरी दें / मना करके सुधार बताएँ

मना करना नाकामी नहीं है। डिफ़ देख लेने के बाद आप ठोस बात कह सकते हैं, इसलिए पहले ही निर्देश में परफ़ेक्ट होने की ज़रूरत नहीं ― इसी वजह से यह ढाँचा अच्छा है।

हर अनुरोध उतना ही बड़ा रखिए जितने का डिफ़ आप पूरा पढ़ सकें। अनुरोध जितना बड़ा, डिफ़ उतना लंबा, और लंबे डिफ़ बिना पढ़े मंज़ूर कर दिए जाते हैं। बिना पढ़े दबाई गई मंज़ूरी, मंज़ूरी नहीं, अपने आप मिली छूट है। काम को बाँटने का तरीक़ा अध्याय 3 में है।

शुरुआत किस मोड से करें

वह कहाँ रुकेगा, यह तय करता है परमिशन मोड। टर्मिनल में Shift+Tab से बदलिए; VS Code, डेस्कटॉप ऐप और ब्राउज़र में इनपुट बॉक्स के बग़ल वाले सेलेक्टर से।

DEFAULT
अनुमति पूछना

पढ़ना अपने आप। एडिट और कमांड हर बार पूछे जाते हैं। पहले दिन यही रखिए।

ACCEPTEDITS
एडिट मंज़ूर

काम वाले फ़ोल्डर के भीतर के एडिट अपने आप पास हो जाते हैं। उनके लिए जो डिफ़ बाद में इकट्ठे पढ़ते हैं।

PLAN
प्लान मोड

छानबीन करता है पर सोर्स नहीं छूता। प्लान को मंज़ूरी दीजिए तो वह करने पर उतरता है।

AUTO
ऑटो मोड

एक अलग जाँचने वाला मॉडल सिर्फ़ ख़तरनाक कामों को रोकता है, बाक़ी बिना पुष्टि चलते रहते हैं। शर्तें लागू

BYPASS
परमिशन बायपास

पुष्टि और सुरक्षा जाँच, दोनों बंद। सिर्फ़ अलग-थलग एनवायरनमेंट के लिए। पहले दिन छूने की चीज़ नहीं है।

Shift+Tab जिनके बीच घुमाता है वे पहले तीन हैं। शर्तें पूरी होने पर ऑटो मोड भी इस चक्र में शामिल हो जाता है, और पहली बार एक ऑप्ट-इन पुष्टि आती है। परमिशन बायपास सिर्फ़ तभी चालू होता है जब आप उसके अपने फ़्लैग के साथ लॉन्च करें। लॉन्च से ही मोड तय करना हो तो claude --permission-mode plan दीजिए। इनके अलावा एक dontAsk भी है जो सेलेक्टर में कभी नहीं दिखता ― वह सिर्फ़ वही चलाता है जिसकी आपने अनुमति दी है, और सिर्फ़ सेटिंग्स तथा CLI में मौजूद है।

पहले दिन का जवाब है "डिफ़ॉल्ट पर ही रहने दीजिए"। हर पुष्टि पढ़ना, लिखना और चलाना ― तीनों में फ़र्क़ करने का अभ्यास है। फ़र्क़ करना आ जाए तब ढील दीजिए ― उलटा किया, तो आप बिना जाने ढील दे रहे होंगे कि ढील किस चीज़ में दी। दूसरा मोड जिस पर हाथ जाना चाहिए, वह है प्लान मोड

कुछ जगहें हर मोड में सुरक्षित रहती हैं। .git, .claude और शेल की सेटिंग फ़ाइलों जैसे संवेदनशील पाथ पर लिखना, परमिशन बायपास को छोड़कर किसी भी मोड में अपने आप मंज़ूर नहीं होता। एक चीज़ में ढील देने से सब कुछ ढीला नहीं पड़ जाता।

हर मोड का ब्योरा परमिशन मोड्स वाले लेख में है, और टूल के हिसाब से अनुमति तथा रोक के नियम लिखने का तरीक़ा परमिशन नियम और सेटिंग्स वाले लेख में। और ध्यान रहे, "बार-बार की पुष्टि झंझट है" का जवाब बायपास नहीं है। वह न आपकी अपनी चूक से बचाता है, न उस निर्देश से जो उसके पढ़े हुए किसी कंटेंट में छिपाकर रखा गया हो। पुष्टियाँ घटानी हों तो शुरुआत ऐसे नियमों से कीजिए जो सिर्फ़ भरोसेमंद कामों को अनुमति दें। इसका डिज़ाइन अध्याय 5 में है।

CLAUDE.md ― हर बार दोहराने से छुटकारा

दो दिन इस्तेमाल करते ही आपको दिखने लगेगा कि आप वही चेतावनियाँ बार-बार दे रहे हैं। "इस फ़ोल्डर को मत छूना", "कमिट से पहले lint चला लेना" ― हर बार यह टाइप करना आपका समय भी बर्बाद करता है और कॉन्टेक्स्ट भी। इसलिए प्रोजेक्ट की रूट में एक CLAUDE.md रख दीजिए। Claude Code लॉन्च के वक़्त इसे अपने आप पढ़ता है और जो लिखा है उसी को आधार मानकर काम करता है।

CLAUDE.md ― शुरुआत के लिए इतना काफ़ी है
# यह प्रोजेक्ट - TypeScript / Next.js. पैकेज मैनेजर npm है - जवाब और कोड के कमेंट हिंदी में ## मत छूना - src/legacy/ के नीचे कुछ भी (वह दूसरी टीम का है) - .env और उससे बनी हर फ़ाइल ## जाँच - बदलाव के बाद npm run lint और npm test चलाना - टाइप एरर बचे रहते हुए इसे पूरा मत कहना

इसमें क्या जाएगा यह "वे बातें जो AI को जानने का कोई ज़रिया ही नहीं" से तय होता है।

लिखिए: जाँच के चरण

किस कमांड से पक्का करना है। यह अध्याय 1 का STEP 3 मुमकिन बनाता है, इसलिए इसका असर सबसे ज़्यादा है।

लिखिए: कहाँ नहीं छूना और यहाँ के रिवाज़

जनरेट हुई चीज़ें, दूसरी टीमों का इलाक़ा, और वे फ़ाइलें जिनमें राज़ रहते हैं। साथ ही "नया पेज यहाँ बनता है" जैसे वे नियम जो कोड देखकर पता नहीं चलते

मत लिखिए: आम उपदेश और लंबे भाषण

"पढ़ने लायक़ कोड लिखो" जैसी बातें। इनका पालन हुआ या नहीं यह तय ही नहीं किया जा सकता, और ये सिर्फ़ उन लाइनों को पतला करती हैं जिनका पालन आप सचमुच चाहते हैं

इसे बढ़ाने का तरीक़ा भी तय है। शुरुआत कुछ लाइनों से। एक ही चेतावनी दो बार देनी पड़े तो एक लाइन जोड़ दीजिए। सब कुछ समेटने की कोशिश करेंगे तो एक लंबी और धुंधली फ़ाइल बन जाएगी, जिसका पालन होना बंद हो जाएगा। "पालन नहीं हो रहा" की वजह अक्सर इनमें से कोई एक होती है ― नियम बहुत ज़्यादा हैं, बहुत अमूर्त हैं, या आपस में टकराते हैं

परमिशन के नियम और मॉडल का चुनाव .claude/settings.json (प्रोजेक्ट) और ~/.claude/settings.json (निजी) में बाँटकर रखे जा सकते हैं, लेकिन पहले दिन CLAUDE.md की कुछ लाइनें लिख देना ही काफ़ी है। इनका बँटवारा अध्याय 6 में है।

पहले ही दिन सबसे ज़्यादा टूटने वाली तीन चीज़ें

अटकने के तरीक़े गिने-चुने हैं, और पहले दिन तो लगभग ये तीन ही होते हैं।

command not found: claude

इंस्टॉल तो है, पर वहाँ नहीं है जहाँ से बुलाया जा सके~/.local/bin (Windows पर %USERPROFILE%\.local\bin) को PATH में जोड़िए। कभी-कभी वजह दोहरा इंस्टॉलेशन भी होती है।

प्रमाणीकरण हो गया फिर भी रोक देता है

पुरानी ANTHROPIC_API_KEY सब्सक्रिप्शन को दबा रही है ― यह जाना-पहचाना मामला है। /status से जाँचिए, और एनवायरनमेंट वेरिएबल हटाकर दोबारा लॉगिन कीजिए

सोचा था उससे जल्दी सीमा लग जाती है

Claude Code चैट के मुक़ाबले 10 से 100 गुना टोकन खाता है। वजह यह है कि आवाजाही और फ़ाइलें पढ़ना जुड़ते-जुड़ते ढेर हो जाते हैं।

तीसरी के बारे में एक ग़लतफ़हमी है। "सर्वर फ़िलहाल रिक्वेस्ट सीमित कर रहा है" इस आशय का जो मैसेज आता है, वह आपके प्लान का कोटा नहीं, सर्वर की तरफ़ की एक अस्थायी थ्रॉटलिंग है, और थोड़ा रुकने पर काम चल जाता है। कोटा सचमुच लगा या नहीं, यह /usage से अलग किया जा सकता है।

वजह समझ न आए तो इसी क्रम से
claude doctor # इंस्टॉल, सेटिंग्स, MCP और कॉन्टेक्स्ट की पूरी जाँच /status # अभी किस प्रमाणीकरण से चल रहा है /context # कॉन्टेक्स्ट को खा क्या रहा है, उसका ब्योरा claude update # समझ न आए तो नए वर्ज़न पर जाइए (इससे ठीक होने वाली गड़बड़ियाँ कई हैं)

आख़िरी वाला claude update चुपचाप बहुत काम आता है। सिर्फ़ वर्ज़न बढ़ाने से मिट जाने वाली गड़बड़ियाँ काफ़ी हैं, इसलिए छानबीन शुरू करने से पहले इसे चला लें तो उन समस्याओं के पीछे नहीं भागना पड़ेगा जो मौजूद ही नहीं हैं। लक्षण के हिसाब से इलाज आम एरर और उनके समाधान वाले लेख में है। छानबीन की तयशुदा प्रक्रिया अध्याय 4 में है।

सारांश

  • रास्ते पाँच हैं। भीतर की चीज़ एक ही है, पर पहले एक घंटे के लिए ज़्यादा जानकारी देने वाला टर्मिनल फ़ायदे में है
  • मानक तरीक़ा npm install -g @anthropic-ai/claude-code। न चले तो Homebrew / WinGet। इंस्टॉल का तरीक़ा एक ही रखिए
  • साइन इन या तो अकाउंट (कोटा) से या API की (बैलेंस) से। एनवायरनमेंट वेरिएबल वाली की सब्सक्रिप्शन को दबा देती है ― उलझन हो तो /status
  • पहली चाल हो सिर्फ़ पढ़ने वाला अनुरोध। इससे कनेक्शन, प्रमाणीकरण और काम का फ़ोल्डर एक साथ जाँचे जाते हैं, और कुछ टूटता नहीं
  • घुमाना है निर्देश → डिफ़ → मंज़ूरी को। अनुरोध को उतना बड़ा रखिए जितने का डिफ़ पूरा पढ़ा जा सके। बिना पढ़ी मंज़ूरी और अपने आप मिली छूट, दोनों एक बराबर हैं
  • पहले दिन का मोड डिफ़ॉल्ट (अनुमति पूछना), दूसरा प्लान मोड.git जैसे सुरक्षित पाथ बायपास को छोड़कर हमेशा बचे रहते हैं
  • CLAUDE.md रूट में, कुछ लाइनों से शुरू। इसमें जाँच के चरण, कहाँ नहीं छूना, और इस जगह के रिवाज़ लिखिए, आम उपदेश नहीं
  • पहले दिन की अटकनें हैं PATH, एनवायरनमेंट वेरिएबल वाली की, और खपत। पहला क़दम claude doctor / /status / /context

पहला निर्देश पार हो जाए, तो अगली बारी है इसे रोज़ के काम पर चढ़ाने की। अब अध्याय 3 "रोज़ का वर्कफ़्लो" पर बढ़ें।