Backend · Claude Code (via permissions.deny)
Python FastAPI & Pydantic v2 .claudeignore
A .claudeignore for Python FastAPI & Pydantic v2: the paths Claude Code should stay out of, with matching permissions.deny rules.
- Path
- .claudeignore
- Loads
- Pattern list
- Format
- gitignore syntax
- Used by
- Claude Code (via permissions.deny)
What this file tells the agent
Claude Code reads files while it works. This .claudeignore keeps the list of Python FastAPI & Pydantic v2 paths it should stay out of (build output, large binaries, logs and secrets). Copy the sensitive ones into permissions.deny in .claude/settings.json, which Claude Code enforces.
- Use strict Pydantic v2 BaseModels with Field validation for all input and output schemas.
- Use asynchronous route handlers (`async def`) for database operations and external API requests.
- Inject dependencies using FastAPI `Depends` pattern; avoid global state.
- Type annotate 100% of function signatures with Python 3.12+ type hints.
Code to avoid, and what to write instead
The rule steers the agent away from the left and toward the right.
@app.post("/users")
def make_user(data: dict):
# Missing types, sync blocking query
return db.query(data["email"])from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel, Field
router = APIRouter()
class UserPayload(BaseModel):
email: str = Field(..., min_length=5)
@router.post("/users")
async def create_user(payload: UserPayload, db = Depends(get_db)):
return await db.users.create(payload.model_dump())Install it in one command
- 01
Go to your project root
The file goes at .claudeignore, relative to the root.
- 02
Download the file
Run the command on the right. It downloads this preset and writes the file.
- 03
Make sure it gets used
Claude Code does not enforce .claudeignore by itself. Copy the sensitive paths into permissions.deny in .claude/settings.json, which it does enforce.
$ curl -fsSL "https://www.devscratchpad.tech/api/raw/claudeignore/fastapi" -o ".claudeignore"
writes .claudeignore
.claudeignore
To write the file from your own code instead, use Read your code or Convert Legacy Rules in the editor above.
More for Python FastAPI & Pydantic v2
Other .claudeignore presets
Questions
- Does Claude Code honor .claudeignore?
- Not by itself. Claude Code enforces permission rules, so copy the sensitive paths into permissions.deny in .claude/settings.json, for example Read(./.env). Keep .claudeignore in the repository root as the reviewable list.
- What should I put in .claudeignore?
- Exclude large build caches, minified bundles, lockfiles, and environment files containing sensitive credentials.