- Claude Code का व्यक्तिगत प्रोजेक्ट्स और एंटरप्राइज़ monorepo माहौल में व्यापक उपयोग करते हुए, उसके मुख्य components और advanced features के वास्तविक इस्तेमाल के तरीकों को व्यवस्थित किया गया है
- प्रभावी agent संचालन की कुंजी output style या UI नहीं, बल्कि अंतिम PR की गुणवत्ता में है, और लक्ष्य है "सेट करके छोड़ देना (shoot and forget)" शैली की delegation
- codebase का केंद्र
CLAUDE.md फ़ाइल है, जो agent के behavior rules और tools के उपयोग को परिभाषित करने वाले "संविधान" की भूमिका निभाती है
- context management, slash commands, subagents, Hooks, GitHub Action(GHA) जैसी कई सुविधाओं के ज़रिए collaboration और automation का स्तर बेहतर होता है
- Skills और MCP(Model Context Protocol) के संबंध को अलग करके, scripting-केंद्रित लचीली agent संरचना पर ज़ोर दिया गया है
- Claude Code को सिर्फ़ एक CLI tool नहीं, बल्कि enterprise-grade AI development infrastructure तक विस्तार देने के लिए व्यावहारिक गाइड प्रदान की गई है
- Claude Code का बहुत ज़्यादा उपयोग किया जाता है
- hobby projects में इसे VM पर हफ़्ते में कई बार चलाया जाता है, और
--dangerously-skip-permissions के साथ उभरते ideas को तुरंत code में बदला जाता है
- काम में टीम AI-IDE rules और tools बनाती है, और हमारी engineering team सिर्फ़ code generation के लिए हर महीने अरबों tokens खर्च करती है
- CLI agent बाज़ार Claude Code, Gemini CLI, Cursor, Codex CLI से भरा हुआ है, लेकिन वास्तविक प्रतिस्पर्धा Anthropic और OpenAI के बीच है
- लेकिन developers से बात करने पर पता चलता है कि tool selection अक्सर सतही तत्वों पर निर्भर होता है
- जैसे "किस्मत से" सफल feature implementation या पसंदीदा system prompt का "vibe"
- इस समय ये सभी tools काफ़ी अच्छे स्तर पर हैं
- कुछ लोग output style या UI पर ज़रूरत से ज़्यादा ध्यान देते हैं
- "you're absolutely right!" जैसी चापलूसी कोई उल्लेखनीय bug नहीं है
- बल्कि यह इस बात का संकेत है कि user loop में ज़रूरत से ज़्यादा शामिल है
- मेरा मुख्य उपयोग दर्शन "Shoot and Forget" है
- प्रक्रिया है: delegate करना, context सेट करना, काम करवाना
- tools का मूल्यांकन अंतिम PR से किया जाना चाहिए, न कि वहाँ तक पहुँचने की प्रक्रिया से
- यह लेख पिछले कुछ महीनों के Claude Code उपयोग अनुभव के आधार पर पूरे ecosystem पर एक चिंतन है
- मैं जिन लगभग सभी features का उपयोग करता हूँ (और जिनका नहीं करता)
- बुनियादी
CLAUDE.md फ़ाइल
- custom slash commands
- Subagent, Hook, GitHub Actions की शक्तिशाली दुनिया
- लेख काफ़ी लंबा है, इसलिए पूरा पढ़ने के बजाय इसे reference की तरह उपयोग करने की सलाह दी गई है
CLAUDE.md: agent का संविधान
Compact, Context, Clear: context window प्रबंधन
/context command से 200k token window के उपयोग की स्थिति देखें
- Sonnet-1M में भी यह स्पष्ट नहीं है कि पूरी context window प्रभावी ढंग से उपयोग हो रही है या नहीं
- monorepo के नए session में डिफ़ॉल्ट रूप से लगभग 20k tokens (10%) खर्च हो जाते हैं, और बाकी 180k बदलाव वाले कामों के लिए रहते हैं (जो जल्दी ख़त्म हो जाते हैं)
- तीन मुख्य workflows
/compact (बचें): automatic compression अपारदर्शी है, errors आते हैं, optimization कमज़ोर है, इसलिए जहाँ तक संभव हो इससे बचें
/clear + /catchup (सरल restart): यह default reboot तरीका है; /clear से state हटाएँ और फिर custom /catchup से git branch की सभी बदली हुई files पढ़ें
- "Document & Clear" (जटिल restart): बड़े कामों के लिए; Claude plan और progress को
.md में dump करता है → /clear → नए session में .md पढ़कर आगे जारी रखें
custom slash commands
- slash commands बार-बार उपयोग होने वाले prompts के लिए एक साधारण shortcut हैं, इससे ज़्यादा कुछ नहीं
- न्यूनतम सेटअप
/catchup: git branch की सभी बदली हुई files पढ़ने वाला prompt
/pr: code cleanup, staging, और PR तैयार करने में मदद करने वाला helper
- जटिल custom commands की लंबी सूची एक anti-pattern है
- Claude जैसे agent की असली ताकत: लगभग हर natural language input से उपयोगी और merge करने योग्य परिणाम पैदा करना
- engineers (या non-engineers) को काम कराने के लिए "magic commands" की अनिवार्य सूची याद करवाना = विफलता
- लक्ष्य है अधिक सहज
CLAUDE.md और बेहतर tools से लैस agent बनाना
कस्टम Subagent
- सिद्धांत रूप में शक्तिशाली context management फीचर
- जटिल काम:
X टोकन input context + Y टोकन work context + Z टोकन उत्तर
N काम = main window में (X + Y + Z) * N टोकन
- Subagent समाधान:
(X + Y) * N काम specialized agent को delegate करें, और केवल अंतिम Z टोकन उत्तर वापस मिले
- व्यवहार में कस्टम Subagent दो नई समस्याएँ पैदा करते हैं
- context gatekeeping:
PythonTests Subagent बनाते समय main agent से पूरा test context छिप जाता है → समग्र reasoning असंभव → अपना code कैसे verify करना है यह जानने के लिए Subagent कॉल करना मजबूरी
- मानव workflow थोपना: Claude को कठोर, मानव-परिभाषित workflow में बाँधना → delegate कैसे करना है, यह बताना भी वही समस्या है जिसे agent को खुद हल करना चाहिए
-
व्यक्तिगत रूप से Task(...) फीचर पसंद है
- Claude का built-in
Task(...) फीचर generic agent clones बनाता है
- सारा core context
CLAUDE.md में रखा जाता है
- main agent तय करता है कि अपने clone को काम कब और कैसे delegate करना है
- Subagent के context-saving फायदे बने रहते हैं, लेकिन नुकसान हट जाते हैं
- agent अपनी orchestration को dynamically manage करता है
- "Building Multi-Agent Systems (Part 2)" में इसे "Master-Clone" architecture कहा गया है
- कस्टम Subagent से बनने वाले "Lead-Specialist" मॉडल की तुलना में इसे कहीं अधिक पसंद किया गया है
Resume, Continue, History
- बुनियादी स्तर पर उपयोग
claude --resume और claude --continue का बार-बार उपयोग
- bug वाले terminal को restart करना या पुराना session जल्दी reboot करना
- कुछ दिन पुराने session को
claude --resume से खोलकर किसी खास error को कैसे पार किया गया था उसका सार निकालना → CLAUDE.md और internal tools में सुधार
- उन्नत उपयोग
- Claude Code सभी session history को
~/.claude/projects/ में store करता है
- raw history session data का उपयोग करने वाली scripts मौजूद हैं
- logs पर meta-analysis चलाना: common exception, permission request, error pattern खोजना → agent-facing context को बेहतर बनाना
Hooks
- enterprise repo में अहम: hobby project में उपयोग नहीं
CLAUDE.md की "should-do" सलाह को पूरक करने वाले deterministic "must-do" rules
- दो प्रकार
- commit-stage blocking Hook (Block-at-Submit): मुख्य रणनीति
PreToolUse Hook से सभी Bash(git commit) commands wrap किए जाते हैं
/tmp/agent-pre-commit-pass फ़ाइल की जाँच (यह केवल तब बनती है जब test script में सभी tests pass हों)
- फ़ाइल न हो तो commit block → build सफल होने तक Claude को "test-fix" loop में मजबूर करना
- hint Hook: simple non-blocking Hook, जब agent दूसरा-best विकल्प चुने तो "fire-and-forget" feedback देता है
- write-stage blocking Hook का जानबूझकर उपयोग नहीं (
Edit या Write पर)
- plan के बीच में agent को रोकने से भ्रम या "frustration" हो सकती है
- काम पूरा होने के बाद commit stage पर अंतिम outcome verify करना कहीं अधिक प्रभावी है
Planning mode
- AI IDE में "बड़े" feature changes के लिए planning ज़रूरी
- hobby projects: built-in planning mode का ही exclusive उपयोग
- Claude शुरू होने से पहले alignment का तरीका
- build कैसे होगा, और काम रोककर result दिखाने वाले "inspection checkpoints" को define करना
- नियमित उपयोग से इस बात की मजबूत intuition बनती है कि अच्छी plan पाने और implementation बिगड़ने से बचाने के लिए Claude को न्यूनतम कौन-सा context चाहिए
- enterprise monorepo: Claude Code SDK पर आधारित custom planning tool rollout शुरू
- native plan mode जैसा, लेकिन output को मौजूदा technical design format के अनुरूप रखने पर focused prompts
- code structure से लेकर data privacy और security तक internal best practices को built-in तरीके से enforce करना
- engineer को senior architect की तरह नए feature का "vibe plan" बनाने देना (कम-से-कम प्रस्ताव यही है)
Skills
- Simon Willison की राय से सहमत: Skills, (शायद) MCP से भी बड़ी डील हैं
- agent autonomy mental model का 3-चरणीय विकास
- Single Prompt: agent को सारा context एक विशाल prompt में देना (नाज़ुक, scalable नहीं)
- Tool Calling: "classic" agent model, tools को हाथ से बनाना और agent के लिए reality abstraction देना (बेहतर, लेकिन नए abstraction और context bottleneck भी बनते हैं)
- Scripting: agent को raw environment access देना (binaries, scripts, docs) → agent मौके पर code लिखकर interaction करता है
- Agent Skills स्पष्ट अगला कदम हैं: "Scripting" layer का औपचारिक productization
- अगर आपने CLI को MCP पर प्राथमिकता दी, तो आप पहले ही Skills के फायदे implicit रूप से पा चुके हैं
SKILL.md फ़ाइलें इन CLI और scripts को document करके agent के सामने रखने का ज़्यादा organized, shareable और discoverable तरीका हैं
- Skills सही abstraction हैं: MCP के rigid API-जैसे model की तुलना में अधिक robust और flexible "scripting"-based agent model को औपचारिक रूप देना
MCP (Model Context Protocol)
- Skills आने का मतलब यह नहीं कि MCP खत्म हो गया ("Everything Wrong with MCP" देखें)
- पहले की समस्या: कई लोगों ने REST API को mirror करने वाले दर्जनों tools के साथ भयानक और context-heavy MCP बनाए (
read_thing_a(), read_thing_b(), update_thing_c())
- "Scripting" model (जो Skills के रूप में formalize हुआ) बेहतर तरीका है, लेकिन environment access के लिए सुरक्षित तरीका चाहिए → यही MCP की नई और अधिक focused भूमिका है
-
MCP की नई भूमिका: data gateway
- विशाल API के बजाय कुछ शक्तिशाली high-level tools देने वाला simple और secure gateway
download_raw_data(filters…)
take_sensitive_gated_action(args…)
execute_code_in_environment_with_state(code…)
- MCP की भूमिका: agent के लिए reality abstraction बनाना नहीं, बल्कि authentication, networking, security boundaries संभालकर रास्ते से हट जाना
- agent के लिए entrypoint देना → agent scripting और
markdown context के साथ असली काम करे
- इस समय उपयोग में एकमात्र MCP: Playwright (क्योंकि environment जटिल और stateful है, इसलिए यह उचित है)
- सभी stateless tools (Jira, AWS, GitHub) को simple CLI में migrate किया जा रहा है
Claude Code SDK
- Claude Code सिर्फ़ एक interactive CLI नहीं है, बल्कि coding और non-coding दोनों तरह के कामों के लिए पूरी तरह नए agents बनाने वाला एक शक्तिशाली SDK भी है
- ज़्यादातर नए hobby projects में LangChain/CrewAI जैसे tools की जगह इसे default agent framework की तरह इस्तेमाल करना शुरू किया
- इस्तेमाल के तीन मुख्य तरीके
- बड़े पैमाने पर parallel scripting: बड़े refactoring, bug fixes, migration के समय interactive chat का उपयोग नहीं
claude -p "in /pathA change all refs from foo to bar" को parallel में call करने वाली simple bash scripts लिखना
- main agent से दर्जनों Subagent tasks manage कराने की तुलना में यह कहीं ज़्यादा scalable और controllable है
- आंतरिक chat tools बनाना: non-technical users के लिए complex processes को simple chat interface में wrap करने के लिए एकदम उपयुक्त
- उदाहरण: error आने पर Claude Code SDK पर fallback करके user issues हल करने वाला installer
- उदाहरण: design team के लिए internal UI framework से mockup frontend को vibe-code करने वाला internal "v0-at-home" tool (idea fidelity बेहतर रहती है, और frontend production code में ज़्यादा सीधे उपयोग हो सकता है)
- तेज़ agent prototyping: सबसे आम use case, सिर्फ़ coding तक सीमित नहीं
- जब agent task का कोई idea हो (जैसे custom CLI या MCP का उपयोग करने वाला "threat investigation agent")
- पूरा deployment scaffolding commit करने से पहले Claude Code SDK से prototype जल्दी बनाना और test करना
Claude Code GitHub Action (GHA)
- सबसे पसंदीदा और कम आंकी गई सुविधाओं में से एक: concept simple है (GHA में Claude Code चलाना), लेकिन यही सादगी इसकी ताकत का स्रोत है
- Cursor का background agent या Codex managed web UI जैसा, लेकिन काफ़ी ज़्यादा customizable
- पूरे container और environment पर control → data accessibility बेहतर
- दूसरे products की तुलना में काफ़ी ज़्यादा शक्तिशाली sandboxing और audit control
- Hook, MCP जैसी सभी advanced features का समर्थन
-
उपयोग के मामले
- custom "कहीं से भी PR" tool बनाना
- Slack, Jira, यहाँ तक कि CloudWatch alerts से भी PR trigger किया जा सकता है
- GHA bug fix या feature addition के बाद पूरी तरह tested PR वापस देता है
- data-driven flywheel
- GHA logs = पूरे agent logs
- company स्तर पर नियमित log review: common mistakes, bash errors, और असंगत engineering practices की पहचान
- flywheel: bug → CLAUDE.md/CLI improvements → बेहतर agent
$ query-claude-gha-logs --since 5d | claude -p "see what the other claudes were getting stuck on and fix it, then put up a PR"
settings.json
- hobby और work, दोनों तरह के tasks के लिए ज़रूरी कुछ specific configurations
HTTPS_PROXY/HTTP_PROXY: debugging के लिए
- raw traffic inspect करके Claude द्वारा भेजे गए exact prompts देखे जा सकते हैं
- background agents के लिए fine-grained network sandboxing का शक्तिशाली tool
MCP_TOOL_TIMEOUT/BASH_MAX_TIMEOUT_MS: values बढ़ाएँ
- लंबे और complex commands चलाना पसंद है, और default timeout अक्सर बहुत conservative होता है
- bash background tasks के बाद अब भी इसकी ज़रूरत है या नहीं, निश्चित नहीं, लेकिन एहतियातन रखा है
ANTHROPIC_API_KEY: काम में enterprise API key का उपयोग (apiKeyHelper के ज़रिए)
- "per-seat" license से "usage-based" pricing पर switch (काम करने के तरीके के लिए कहीं बेहतर model)
- developer usage में बहुत बड़े अंतर को ध्यान में रखते हुए (engineers के बीच 1:100 का अंतर देखा गया)
- engineers एक ही enterprise account से non-Claude-Code LLM scripts पर experiment कर सकते हैं
"permissions": Claude को auto-run की अनुमति दिए गए commands की list का समय-समय पर self-audit करें
समापन
- सामग्री बहुत है, लेकिन उम्मीद है उपयोगी होगी
- अगर अब तक Claude Code या Codex CLI जैसे CLI-आधारित agents का उपयोग नहीं किया है, तो करना चाहिए
- इन advanced features पर अच्छे guides लगभग नहीं हैं, और सीखने का एकमात्र तरीका है सीधे खुद इसमें उतरना
2 टिप्पणियां
Hacker News राय
हम फ़ाइल को दूसरे AI IDEs के साथ compatibility के लिए AGENTS.md के साथ sync कर रहे हैं
हाल ही में देखा कि Anthropic का recommended तरीका यह है कि
CLAUDE.mdफ़ाइल में सिर्फ@AGENTS.mdकी एक लाइन हो, और असली content AGENTS.md में रखा जाएसंबंधित दस्तावेज़: Claude Code Best Practices
MCP पर यह लेख मुझे वाकई बहुत पसंद आया
“MCP को complex API नहीं, बल्कि auth, networking, और security boundaries को manage करके बाकी रास्ते से हट जाने वाला एक सादा gateway होना चाहिए” — यह नज़रिया अच्छा लगा
संबंधित लेख
फिर भी मैं MCP लगभग इस्तेमाल नहीं करता। अच्छा होगा अगर यह auth पर ज़्यादा focus करे
संदर्भ लिंक: X पोस्ट
यह थोड़ा अफ़सोसजनक है कि 3000 शब्दों वाले लेख को “इतना लंबा कि बस reference के लिए रखा है” जैसा माना जाता है
मैं वास्तविक examples के साथ इसका और लंबा version देखना चाहूँगा
मैं
/clearऔर/catchupसे Claude की state reset करके बदली हुई files दोबारा पढ़वाने वाला एक सरल restart routine इस्तेमाल कर रहा हूँशायद जल्द ही
/compactcommand यह भूमिका निभाने लगे/compactकी latency की वजह से इसे लगभग इस्तेमाल ही नहीं किया जा सकता“0% context remaining” दिखने पर भी वास्तव में लगभग 30% compression के लिए reserved रहता है
फिर भी करीब आधे मामलों में compression fail हो जाता है या API limit लग जाती है
Claude Code का इस्तेमाल करके अपनी configuration सुधारना भी अच्छा है
plan mode में जाएँ और यह prompt इस्तेमाल करने की सलाह है:
“इस दस्तावेज़(How I use every Claude Code feature) को पढ़ो और बताओ कि मैं अपनी Claude Code configuration कैसे बेहतर कर सकता हूँ”
CLAUDE.md में लिखे simple commands भी Claude ठीक से follow नहीं करता, इसलिए मैंने उसका maintenance छोड़ दिया
उदाहरण के लिए, generated script का नाम
<foo>.aigen.tsरखने को कहो तो आधे मामलों में वह इसे ignore कर देता हैइसलिए मैं हर बार prompt में सीधे context डालकर workaround कर रहा हूँ
क्या सिर्फ मुझे ही यह समस्या हो रही है?
कई projects में भी मुझे ऐसे ही results मिले हैं
यह कहा गया था कि “अगर आप CLI-based agent इस्तेमाल नहीं कर रहे, तो करना चाहिए”, लेकिन क्या यह सच में Cursor app से बेहतर है, यह जानना चाहता हूँ
Cursor अच्छा लगता है क्योंकि किसी specific code हिस्से को चुनकर Cmd-L से “इसे ठीक करो” कहना आसान है
CLI में code snippet भेजना थोड़ा झंझटभरा लगता है
lightweight UX और efficiency दोनों बेहतर हैं। Claude, CC में सबसे अच्छा काम करता है
ghआदि) भी चला सकते हैं“Claude Code सिर्फ एक simple CLI नहीं, बल्कि नए agents बनाने के लिए एक SDK है” — यह पंक्ति पढ़कर AI-लिखी हुई शैली जैसी थकान महसूस हुई
लगा कि इसमें पाठक के लिए सम्मान नहीं है
इस लेख में लगा कि लेखक ने खुद पढ़कर edit किया है, इसलिए यह एक अच्छा example है
वहीं AI output को ज्यों का त्यों copy-paste करना आलोचना के लायक है
मुझे तो उल्टा सम्मानित महसूस हुआ और मैंने अंत तक पढ़ा
ये tools दिलचस्प तो हैं, लेकिन चिंता है कि industry फिर से customer की बजाय technology खुद पर फोकस तो नहीं कर रही
(Paul Graham का “Top idea in your mind” essay याद आता है)
अगर तेज़ और सस्ता बनाकर product bugs से भरा हो, तो उसका कोई मतलब नहीं
AI के साथ भी यही है; CEOs इसे बस headcount reduction के नज़रिए से देख रहे हैं, लेकिन technology अभी उस स्तर पर नहीं है जहाँ यह customers को वास्तविक फ़ायदा दे सके
AI chatbots तो ग्राहकों को और ज़्यादा चिढ़ाते हैं
Claude Code की प्रगति की रफ़्तार हैरान कर देने जितनी तेज़ है
यह इतना लगातार बेहतर हो रहा है कि हर हफ़्ते कुछ नया सीखना पड़ता है
अगर यह मेरे M4 Mac(64GB RAM) को धीमा किए बिना features बढ़ाता रहे, तो वही असली जादू होगा
अच्छा है, लेकिन ..