# Dependencies
node_modules
yarn.lock
package-lock.json

# temp
temp/
data/

# packages/webhook-dispatcher has no schema of its own — Docker copies one in at build time
# (docker/Dockerfile.webhook-dispatcher), and `controlplane:webhook:dev` does the same locally
# for packages/controlplane's schema. Never commit whichever one happens to be copied in.
packages/webhook-dispatcher/prisma/

# Production
dist
build
.next
out

# Testing
coverage
.nyc_output

# Misc
.DS_Store
*.pem
*.env
# ...except the fleet-simulator demo environment, which is committed on purpose: it is the single
# source of truth for that stack's ports and URLs (docker/docker-compose.simulator.yml and every
# `pnpm simulator:*` script read it), and nothing in it is secret — the database is disposable and
# the NEXTAUTH_SECRET is a throwaway that must never be reused. Without this exception a fresh
# clone has no simulator.env and every simulator script fails on an unset DATABASE_URL.
!docker/simulator.env
*.env.local
*.env.*.local

# IDE
.vscode
.idea
*.swp
*.swo
*~
.sublime-*

# Agent
.vaultys/

# SQLite
*.db
*.db-journal
*.db-shm
*.db-wal

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Turbo
.turbo
demo/.demo-pids
demo/.demo-sim-pids
demo/.demo-sim-containers
demo/.env.demo
demo/simulator/identities/
demo/simulator/demo-config.json
/.claude
/docs-site/.docusaurus
/packages/agent-controller/src/web/public
packages/control-plane/tsconfig.tsbuildinfo
/packages/control-plane/data3
/.devdata
/demo/agents
/.obsidian

# Fleet-simulator identities (packages/simulator, --data-dir). Thousands of small keypair files;
# regenerated on demand and meaningless outside the machine that made them.
.simdata/
**/.simdata/
__tests__/temp/