logs/*.log
logs/*.log.*
logs/*.pid
logs/celerybeat-schedule.db
logs/celerybeat-schedule-*.db
*.pyc
backup.db
__pycache__/
static/*
local_settings.py
celerybeat-schedule
celerybeat.pid
media/iphone/NewsBlur/build
media/iphone/build
build/
certbot.conf
.DS_Store
**/*.perspectivev*
.vscode/*
.env
task_env.py
app_env.py
data/
api/ip_addresses.txt
.prom_cache
config/certificates
clients/ios/.build/
**/*.xcuserstate
UserInterfaceState.xcuserstate
UserInterfaceState\.xcuserstate
*.xcuserstate
xcuserdata
.xcodeproj/ push.xcodeproj/project.pbxproj
clients/ios/NewsBlur.xcodeproj/project.xcworkspace/xcshareddata/
*.mode1v3
*.pbxuser
media/maintenance.html
media/maintenance.html.unused
config/settings
static.tgz
.sass-cache
media/css/circular/.sass-cache
media/css/circular/sass/.sass-cache
media/css/circular
config/settings
config/secrets
ansible/roles/sentry/vars/secrets.yml
templates/maintenance_on.html
apps/social/spam.py
venv*
/backup
/backups
config/mongodb_keyfile.key

# Docker Jinja templates
docker/haproxy/haproxy.consul.cfg
# docker/haproxy/haproxy.staging.cfg # Staging doesn't use jinja templates, so no need to ignore
# Conductor workspace files (auto-generated by .conductor/conductor-setup.sh)
.conductor/docker-compose.*.yml
.conductor/haproxy/
# Ignore all subdirs in .conductor
.conductor/**/*

# Worktree development files (auto-generated by worktree-dev.sh)
.worktree/
docker/nginx/nginx.consul.conf
docker/prometheus/prometheus.yml
docker/redis/redis_replica.conf
docker/redis/redis_*_replica.conf
docker/postgres/postgres.conf

# Local configuration file (sdk path, etc)
/originals
/node/originals
media/safari/NewsBlur.safariextz

# Discovery cache files (generated by discover_* management commands)
apps/discover/fixtures/*_cache.json

# IDE files
.idea/
/docker/volumes/*
clients/android/NewsBlur/.kotlin/

**/node_modules
*.tfstate*
.terraform*
grafana.ini
apps/api/ip_addresses.txt
.ansible/
.dev_session
.conductor
.worktree
docs
plans

# PyPI build artifacts
newsblur_mcp/dist/
