# Protected Paths — AI Coding-Agent Guardrails

Source: https://www.geekswithgeeks.com/hi/coding-agent-guardrails/fs-protected-paths

> Agent के CI, infrastructure, secrets और dependency files बदलने से पहले मंज़ूरी माँगें।

## कुछ files ज़्यादा मायने रखती हैं

हर फ़ाइल बराबर नहीं। `.github/workflows/*`, infrastructure कोड, deployment config, `.env*`, private keys या dependency lockfiles में बदलाव production को प्रभावित कर सकता है या typo-सुधार से कहीं ज़्यादा access leak कर सकता है। इन्हें **protected paths** के रूप में सूचीबद्ध करें: उन पर edits रोके जाते हैं या स्पष्ट मंज़ूरी चाहिए, और उन्हें छूने वाला diff review में चिह्नित होता है।

## Protected paths मिलाना, चलाकर

मैंने यह Python के `fnmatch` से चलाया। Workflow फ़ाइल और `.env.local` चिह्नित होती हैं; सामान्य source और docs नहीं।

```python
import fnmatch
PROTECTED = [".github/workflows/*", "infra/*", "*.pem", ".env*", "package-lock.json"]

def touches_protected(paths):
    return [p for p in paths if any(fnmatch.fnmatch(p, g) for g in PROTECTED)]

print(touches_protected(["src/app.py", ".github/workflows/deploy.yml", ".env.local", "README.md"]))
```

Output:

```
['.github/workflows/deploy.yml', '.env.local']
```

## इसे CODEOWNERS से पक्का करें

GitHub पर CODEOWNERS फ़ाइल और branch protection संवेदनशील paths के बदलावों के लिए नामित reviewer ज़रूरी करते हैं। यह वही नियम इंसानों और agents दोनों पर लागू करता है, भले स्थानीय tool नीति पार हो जाए।

**Quiz:** कौन-सी फ़ाइल आम तौर पर protected path होनी चाहिए?

- [ ] किसी helper का unit test
- [ ] README का अनुच्छेद
- [ ] Code comment
- [x] CI workflow फ़ाइल

*Answer:* CI workflow फ़ाइल. CI files तय करती हैं कि repository secrets के साथ क्या चलता है, इसलिए बदलावों की अतिरिक्त जाँच चाहिए।
