# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Build counter files: the authoritative counter is the shared blob
# (agent container, buildcounter-v{N}.txt, ETag-CAS — see docs/agent/build-counter-blob.md).
# The local file is only an offline fallback for -SkipUpload/bare-dotnet smoke builds.
buildcounter.txt

# Visual Studio cache/options
.vs/

*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
*.csproj.lscache

# Build Results
*.dll
*.exe
*.pdb
*.cache

# NuGet Packages
*.nupkg
*.snupkg
**/packages/*
!**/packages/build/
*.nuget.props
*.nuget.targets

# Azure Functions
local.settings.json
__blobstorage__
__queuestorage__
__azurite_db*__.json

# Node.js / Next.js
node_modules/
.next/
out/
# Managed by Next.js since v16 (regenerated by next dev/build/typegen; path
# inside flips between .next/types and .next/dev/types) — must not be tracked.
next-env.d.ts
build/
dist/
!rules/dist/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
.npm
.eslintcache

# TypeScript incremental build cache
*.tsbuildinfo

# Environment variables
.env
.env*.local
*.env

# IDE
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db
desktop.ini

# Test results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*.trx
*.coverage

# Secrets and certificates
*.pfx
*.p12
*.key
*.crt
appsettings.*.json
!appsettings.json
!appsettings.Development.json

# Local development
.local/
*.local.*
temp/
tmp/

# Claude Code temporary files
tmpclaude-*-cwd
.claude/worktrees/

# Claude skills and scripts are now in a private submodule (.claude/commands/)
# No individual file ignores needed — the submodule handles everything

# Deployment scripts (local only — contain tokens + SAS URLs)
scripts/Deployment/

# Migration tooling (local only, vorerst) — cross-tenant storage/cert migration scripts
scripts/Migration/

# Infra: tracked. The Bicep templates carry no credentials — every secret is a
# @secure() parameter with an empty default, injected at deploy time, and image
# pull runs on managed identity. Keep it that way: never commit a resolved secret
# value or a *.parameters.json holding one.
infra/*.parameters.json

# M2 — local raw session fixtures before anonymization (plan §4 M2)
tests/fixtures/enrollment-sessions-local/


.dotnet-home/
.vscode/
TODO.txt
tools/orphan-analysis.py
tools/export-session-fixture.mjs
tasks/

# Azure Table cleanup backups (dry-run exports + delete manifests)
# Produced by /cleanup-table skill — never commit deletion payloads
db-backups/
plans/REFACTOR_AGENT_V2.md
.claude/scheduled_tasks.lock
.claude/plans/health-script-remediation-fix.md

# Operator-local Azure setup helper — applies lifecycle policy + container
# creation against a live storage account. Not portable across environments
# (storage account name, resource group are operator-specific) so it stays
# out of the repo. Each operator keeps their own copy.
scripts/Backup/setup-backup-container.ps1
docs/Introduction-AutopilotMonitor.pptx
docs/~$Introduction-AutopilotMonitor.pptx

# Playwright MCP browser artifacts (snapshots, screenshots, console logs)
.playwright-mcp/
