Use Cases (अपडेट: 3/6/2026)

Claude Code से सुरक्षित और दोहराने योग्य विकास वातावरण बनाएं

Claude Code में Node, Docker, .env, अनुमतियाँ, hooks और दोहराने योग्य जांचें सेट करें।

Claude Code से सुरक्षित और दोहराने योग्य विकास वातावरण बनाएं

नया PC हो या अभी-अभी clone किया गया repository, पहला उपयोगी बदलाव करने से पहले आधा दिन environment setup में नहीं जाना चाहिए। आम समस्याएँ लगभग हमेशा वही होती हैं: Node.js का गलत version, npm और pnpm का मिश्रण, पुराना .env, पुराने schema वाले Docker volume, और ऐसे local commands जो कहीं लिखे ही नहीं गए। Claude Code यह काम तेज कर सकता है, लेकिन पहले सीमाएँ तय करना जरूरी है।

लक्ष्य यह नहीं है कि agent सब कुछ अपने आप कर दे। लक्ष्य है ऐसा setup बनाना जिसे हर developer और हर Claude Code session एक ही तरीके से दोहरा सके: वही project instructions, वही package manager, वही secrets policy, और वही verification commands।

आधिकारिक जानकारी को आधार रखें: Claude Code setup, settings, permissions और hooks। ClaudeCodeLab में आगे पढ़ने के लिए शुरुआती guide, CLAUDE.md best practices और hooks guide देखें।

flowchart TD
  A["Local tools जांचें"] --> B["Node और package manager fix करें"]
  B --> C["Dependencies और .env.example बनाएं"]
  C --> D["CLAUDE.md में rules लिखें"]
  D --> E["settings.json में permissions सीमित करें"]
  E --> F["hooks से खतरनाक commands रोकें"]
  F --> G["doctor, env check और tests चलाएं"]

पहले नीति तय करें

Development environment को production code जैसा मानें। जो rule महत्वपूर्ण है, वह repository में होना चाहिए। असली secret agent context में नहीं जाना चाहिए। जो command data मिटा सकती है या code publish कर सकती है, उसे human approval चाहिए।

क्षेत्रFile या commandकारण
Runtime.nvmrc, packageManager, CorepackNode और pnpm drift रोकता है
Secrets.env.example, .gitignore, permissions.denyअसली credentials prompt और commit से बाहर रखते हैं
Project memoryCLAUDE.mdहर session में वही rules load होते हैं
Permissions.claude/settings.jsonRead, Bash और default mode control करता है
Hooks.claude/hooks/*Tool चलने से पहले deterministic guard लगाता है
Verificationdoctor, check:env, testअंदाज की जगह command result देता है

कॉपी करके चलाने वाला आरंभिक सेटअप

यह स्क्रिप्ट Git Bash, WSL, macOS या Linux के लिए है। यह छोटा TypeScript project बनाती है, environment variables validate करती है, pnpm pin करती है, secret files पढ़ने से रोकती है और PreToolUse hook जोड़ती है।

#!/usr/bin/env bash
set -euo pipefail

APP_DIR="${1:-claude-dev-lab}"
mkdir -p "$APP_DIR"
cd "$APP_DIR"

command -v node >/dev/null || { echo "Node.js चाहिए"; exit 1; }
command -v claude >/dev/null || { echo "Claude Code CLI चाहिए"; exit 1; }

corepack enable
corepack prepare pnpm@9.15.4 --activate

cat > package.json <<'JSON'
{
  "name": "claude-dev-lab",
  "private": true,
  "type": "module",
  "packageManager": "pnpm@9.15.4",
  "scripts": {
    "doctor": "node --version && pnpm --version && claude --version",
    "check:env": "tsx src/env.ts",
    "test": "vitest run --passWithNoTests"
  },
  "dependencies": {
    "dotenv": "latest",
    "zod": "latest"
  },
  "devDependencies": {
    "@types/node": "latest",
    "tsx": "latest",
    "typescript": "latest",
    "vitest": "latest"
  }
}
JSON

mkdir -p src .claude/hooks .vscode
printf "22\n" > .nvmrc
cat > .gitignore <<'EOF'
node_modules
.env
.env.*
!.env.example
dist
coverage
EOF

cat > .env.example <<'EOF'
NODE_ENV=development
DATABASE_URL=postgresql://app:app@localhost:5432/app
REDIS_URL=redis://localhost:6379
EOF

cat > src/env.ts <<'TS'
import { config } from "dotenv";
import { z } from "zod";

config();

const Env = z.object({
  NODE_ENV: z.enum(["development", "test", "production"]).default("development"),
  DATABASE_URL: z.string().url(),
  REDIS_URL: z.string().url().optional()
});

const parsed = Env.safeParse(process.env);
if (!parsed.success) {
  console.error(parsed.error.flatten().fieldErrors);
  process.exit(1);
}

console.log("env ok", {
  nodeEnv: parsed.data.NODE_ENV,
  hasRedis: Boolean(parsed.data.REDIS_URL)
});
TS

cat > CLAUDE.md <<'EOF'
# परियोजना निर्देश

## वातावरण सेटअप
- `.nvmrc` में लिखे Node version का उपयोग करें।
- Corepack के जरिए pnpm उपयोग करें। npm या yarn पर न जाएं।
- `.env.example` को local `.env` में copy करें और values हाथ से भरें।
- `.env` या secret files को कभी read, print या commit न करें।
- Code बदलने से पहले `pnpm run doctor` और `pnpm run check:env` चलाएं।
- Code बदलने के बाद सबसे छोटा relevant test चलाकर result लिखें।

## काम के नियम
- पहले explore करें और छोटा plan दें।
- स्पष्ट human approval के बिना destructive commands या deploy commands न चलाएं।
- Setup changes को reproducible files में रखें, सिर्फ terminal history में नहीं।
EOF

cat > .claude/hooks/block-dangerous.mjs <<'JS'
import { readFileSync } from "node:fs";

const input = JSON.parse(readFileSync(0, "utf8") || "{}");
const command = String(input.tool_input?.command ?? "");

const blockedPatterns = [
  /rm\s+-rf\s+(\/|~|\$HOME)/,
  /git\s+push\b/,
  /curl\b.+\|\s*(bash|sh)/,
  /Invoke-WebRequest\b.+\|\s*iex/i
];

if (blockedPatterns.some((pattern) => pattern.test(command))) {
  console.log(JSON.stringify({
    hookSpecificOutput: {
      hookEventName: "PreToolUse",
      permissionDecision: "deny",
      permissionDecisionReason: "खतरनाक command रोकी गई। लक्ष्य और प्रभाव पहले इंसान जांचे।"
    }
  }));
} else {
  console.log("{}");
}
JS

cat > .claude/settings.json <<'JSON'
{
  "defaultMode": "plan",
  "permissions": {
    "allow": [
      "Read",
      "Bash(pnpm install)",
      "Bash(pnpm run *)",
      "Bash(git status *)",
      "Bash(claude --version)",
      "Bash(claude doctor)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Bash(git push *)",
      "Bash(rm -rf *)"
    ]
  },
  "env": {
    "CLAUDE_CODE_SUBPROCESS_ENV_SCRUB": "1"
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "node .claude/hooks/block-dangerous.mjs"
          }
        ]
      }
    ]
  }
}
JSON

pnpm install
cp .env.example .env
pnpm run doctor
pnpm run check:env
pnpm test

Windows की मूल shell में पहले toolchain जांचें:

winget install Anthropic.ClaudeCode
claude --version
claude doctor
node --version
corepack enable
pnpm --version

अगर pnpm --version fail हो, तो पहले Node और Corepack ठीक करें। अगर claude doctor proxy, certificate या login error दिखाए, तो exact error रखें और Claude Code से उसी constraint में diagnosis मांगें।

ज्यादा सुरक्षित निर्देश

claude -p "
इस repository का development environment audit करके कमी पूरी करें।

नियम:
- .env, .env.* या secrets/ के अंदर files न पढ़ें
- packageManager follow करें; pnpm को npm या yarn से replace न करें
- Docker volume delete न करें और git push न चलाएं

अनुमत:
- README, package.json, CLAUDE.md और .claude/settings.json पढ़ें
- pnpm install, pnpm run doctor, pnpm run check:env और pnpm test चलाएं

अंत में चलाए गए commands, बदली files, failures और बाकी manual steps की छोटी रिपोर्ट दें।
"

ठोस उपयोग के मामले

उपयोगकैसे मदद करता है
नया SaaS prototypePostgreSQL और Redis को Docker Compose से जोड़कर setup पहले दिन से repeatable रहता है
Team repository onboardingClaude Code docs पढ़ता है, allowed checks चलाता है और missing steps जोड़ता है
Content या product siteCTA, analytics events, OGP और AdSense-sensitive pages सुरक्षित रहते हैं
Internal toolDB seed, queues, mocks और tests standard हो जाते हैं

Docker अधिक उपयोग करने वाले projects के लिए Docker Compose देखें। Team workflow के लिए Claude Code team collaboration पढ़ें। CI में इन्हीं commands को CI/CD setup से जोड़ें।

विफलता के आम कारण

Package managers न मिलाएं। अगर pnpm-lock.yaml है, तो agent से npm install न चलने दें। यह rule CLAUDE.md में लिखें और packageManager को package.json में रखें।

Claude Code को .env न पढ़ने दें। Review के लिए .env.example है; real values local रहती हैं। .gitignore और permissions.deny साथ में उपयोग करें।

Docker volume सावधानी मांगता है। पुराना volume सही migration को भी broken दिखा सकता है। Delete करने से पहले target, risk और alternative समझाने को कहें।

Host machine पर bypassPermissions आसानी से न चलाएं। इसे isolated container या VM में ही रखें। Untrusted repository के hooks session शुरू करने से पहले इंसान पढ़े।

दोहराव क्षमता जांच सूची

  • claude --version और claude doctor pass होते हैं
  • .nvmrc या .node-version मौजूद है
  • package.json में packageManager है
  • सिर्फ एक lockfile है
  • .env.example updated है और .env ignored है
  • CLAUDE.md setup, prohibitions और checks बताता है
  • .claude/settings.json secrets, git push और destructive commands रोकता है
  • अंतिम रिपोर्ट में commands और results हैं

CTA और परिणाम

Local environment unstable हो तो purchase links, forms, analytics events और ad pages टूट सकते हैं। इस workflow को repeatable system बनाने के लिए free cheat sheet से शुरू करें, products देखें, या team adoption के लिए training लें।

मैंने इस flow से minimal project बनाया, dependencies install कीं, .env.example copy किया और pnpm run doctor, pnpm run check:env, pnpm test इसी क्रम में चलाया। सबसे उपयोगी guardrails थे .env पढ़ने पर रोक और git push या destructive commands को hook से block करना। Masa के काम में setup failures अक्सर कठिन commands से नहीं, बल्कि न लिखे गए assumptions से होते हैं।

#claude-code #dev-environment #setup #automation
मुफ़्त

मुफ़्त PDF: Claude Code cheatsheet

Email डालें और commands, review habits तथा safe workflow वाली एक-page PDF पाएँ.

हम आपका data सुरक्षित रखते हैं और spam नहीं भेजते.

Masa

लेखक के बारे में

Masa

Claude Code workflow और team adoption पर काम करने वाला engineer.