# ============================================================================= # GENERAL PURPOSE .gitignore # For a careful full-stack developer working across Python, Node, Vue, React, # FastAPI, Django, Flask, Express, Docker, and common infrastructure tools. # Maintained with security and cleanliness as first principles. # ============================================================================= # RULE: When in doubt, ignore it. You can always force-add with git add -f. # ============================================================================= # ============================================================================= # SECRETS & CREDENTIALS — the most important section # Never commit secrets. Ever. Not even "temporarily". # ============================================================================= # Environment files — keep .env.example, ignore everything else .env .env.* !.env.example !.env.sample !.env.template # Generic secret files *.pem *.key *.p8 *.p12 *.pfx *.crt *.cer *.der *.csr secrets/ credentials/ private/ .secrets/ # Service account and API keys service-account*.json *-service-account.json *credentials*.json *keyfile*.json gcp-*.json firebase-*.json google-credentials.json # AWS .aws/ aws-exports.js # SSH keys id_rsa id_rsa.pub id_ed25519 id_ed25519.pub id_dsa id_ecdsa known_hosts # Tokens and API keys stored as files *.token *.apikey .netrc .htpasswd .htaccess # Certificates and TLS tls/ ssl/ certs/ !certs/README.md !certs/.gitkeep # ============================================================================= # PYTHON # ============================================================================= # Bytecode __pycache__/ *.py[cod] *$py.class *.pyc *.pyo *.pyd # Virtual environments .venv/ venv/ venv*/ env/ env*/ ENV/ .env/ .virtualenv/ virtualenv/ pythonenv* pyvenv.cfg # Distribution and packaging dist/ build/ *.egg-info/ *.egg MANIFEST .eggs/ wheels/ pip-wheel-metadata/ share/python-wheels/ *.whl sdist/ # Testing and coverage .pytest_cache/ .coverage .coverage.* coverage.xml coverage/ htmlcov/ *.cover *.py,cover nosetests.xml test-results/ junit*.xml .tox/ .nox/ # Type checking .mypy_cache/ .dmypy.json dmypy.json .pyre/ .pytype/ # Profiling *.prof *.lprof profile_output/ flamegraph.svg .benchmarks/ # Jupyter / IPython .ipynb_checkpoints/ *.ipynb profile_default/ ipython_config.py # pyenv .python-version # Package managers Pipfile.lock poetry.lock pdm.lock .pdm.toml .pdm-python __pypackages__/ # Celery celerybeat-schedule celerybeat.pid celerybeat-schedule.db # Rope / Spyder .ropeproject .spyderproject.db .spyproject # mkdocs / Sphinx docs /site docs/_build/ docs/_autosummary/ # FastAPI / Uvicorn / Gunicorn uvicorn.log gunicorn.log gunicorn.pid # Django local_settings.py db.sqlite3 db.sqlite3-journal /static/ /staticfiles/ /mediafiles/ /media/ # Flask instance/ .webassets-cache flaskenv # Translations *.mo *.pot # Scrapy .scrapy # ============================================================================= # NODE / JAVASCRIPT / TYPESCRIPT # ============================================================================= # Dependencies node_modules/ .pnp .pnp.js .yarn/cache .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz # Build output dist/ dist-ssr/ build/ out/ .output/ .nuxt/ .next/ .svelte-kit/ # Cache .cache/ .parcel-cache/ .eslintcache .stylelintcache .turbo/ .vite/ .vite-cache/ vite.config.js.timestamp-* vite.config.ts.timestamp-* *.tsbuildinfo .rollup.cache/ .swc/ # Testing .nyc_output/ cypress/videos/ cypress/screenshots/ playwright-report/ .vitest-cache/ # Debug logs npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* .npm/ .node_repl_history # Runtime pids/ *.pid *.seed *.pid.lock lib-cov/ # Storybook storybook-static/ # Expo (React Native) .expo/ .expo-shared/ *.jks *.mobileprovision *.orig.* web-build/ # ============================================================================= # DATABASES # ============================================================================= # SQLite *.db *.sqlite *.sqlite3 *.db-shm *.db-wal !tests/fixtures/*.db !tests/fixtures/*.sqlite3 # PocketBase pb_data/ # NOTE: pb_hooks/ and pb_migrations/ are source code — NOT ignored pocketbase pocketbase.exe # PostgreSQL *.dump *.sql.gz pg_dump/ backups/ # Redis dump.rdb *.rdb appendonly.aof # MongoDB *.bson # ============================================================================= # DOCKER # ============================================================================= # Local override files — often contain secrets or local paths docker-compose.override.yml docker-compose.local.yml docker-compose.dev.yml .docker/ # ============================================================================= # OBJECT STORAGE — LOCAL DEV (MinIO, RustFS, etc.) # ============================================================================= data/ rustfs-data/ minio-data/ .minio.sys/ s3-local/ localstack-data/ # Uploaded user files — never commit uploads/ user-uploads/ media/ attachments/ # ============================================================================= # TEMP AND GENERATED FILES # ============================================================================= tmp/ temp/ .tmp/ .temp/ cache/ generated/ auto-generated/ # ============================================================================= # LOGS # ============================================================================= logs/ log/ *.log *.log.* *.logs access.log error.log # ============================================================================= # INDESIGN / EXTENDSCRIPT # ============================================================================= *.jsxbin idconvert_export.json *_export.json *.idlk # ============================================================================= # OFFICE / DOCUMENT FILES — generated output # ============================================================================= *.docx *.doc *.xlsx *.xls *.pptx *.ppt *.pdf # Exceptions: committed reference or fixture files !tests/fixtures/*.docx !tests/fixtures/*.pdf !docs/**/*.pdf # ============================================================================= # INFRASTRUCTURE AS CODE # ============================================================================= # Terraform **/.terraform/* *.tfstate *.tfstate.* *.tfvars !*.tfvars.example .terraform.lock.hcl crash.log crash.*.log override.tf override.tf.json # Ansible *.retry # Vagrant .vagrant/ # Serverless .serverless/ # CDK cdk.out/ cdk.context.json # ============================================================================= # IDEs & EDITORS # ============================================================================= # VS Code .vscode/ !.vscode/extensions.json !.vscode/settings.json.example !.vscode/launch.json.example *.code-workspace # JetBrains (PyCharm, WebStorm, IntelliJ, GoLand, Rider) .idea/ *.iml *.iws *.ipr out/ .idea_modules/ # Vim / Neovim *.swp *.swo *.swn *~ .vim/ Session.vim .netrwhist tags [._]*.s[a-v][a-z] [._]*.sw[a-p] # Emacs \#*\# /.emacs.desktop /.emacs.desktop.lock *.elc auto-save-list tramp .\#* # Sublime Text *.sublime-project *.sublime-workspace *.tmlanguage.cache *.tmPreferences.cache *.stTheme.cache # Cursor .cursor/ # Zed .zed/ # Atom .atom/ # TextMate *.tmproj *.tmproject tmtags # Eclipse .classpath .project .settings/ .loadpath # NetBeans nbproject/private/ nbbuild/ nbdist/ .nb-gradle/ # ============================================================================= # OPERATING SYSTEM # ============================================================================= # macOS .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes .AppleDouble .LSOverride Icon .DocumentRevisions-V100 .fseventsd .TemporaryItems .VolumeIcon.icns .com.apple.timemachine.donotpresent .AppleDB .AppleDesktop Network\ Trash\ Folder Temporary\ Items .apdisk *.icloud # Windows Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db Desktop.ini $RECYCLE.BIN/ *.cab *.msi *.msix *.msm *.msp *.lnk [Dd]esktop.ini # Linux .fuse_hidden* .directory .Trash-* .nfs* # ============================================================================= # CLOUD PROVIDER SPECIFIC # ============================================================================= # Google Cloud gcloud-service-key.json application_default_credentials.json # Azure .azure/ azureauth.json # Cloudflare .wrangler/ wrangler.toml.bak # ============================================================================= # MONITORING & OBSERVABILITY # ============================================================================= *.prof *.lprof .benchmarks/ flamegraph.svg *.heapdump *.heapsnapshot .clinic/ clinic-*/ # ============================================================================= # TESTING ARTIFACTS # ============================================================================= tests/output/ tests/tmp/ test-results/ # Keep fixtures !tests/fixtures/ !tests/fixtures/** # ============================================================================= # PAYMENT # ============================================================================= .stripe/ stripe-cli.log stripe-debug.log # ============================================================================= # DEPLOYMENT PLATFORMS # ============================================================================= .vercel/ .netlify/ .nx/cache .turbo/ common/temp/ .serverless/ # ============================================================================= # MISC FILE TYPES # ============================================================================= # Backup files *.bak *.backup *.orig *.tmp *.temp *.old *.save # Archives — use Git LFS for large files instead *.zip *.tar *.tar.gz *.tgz *.tar.bz2 *.rar *.7z *.gz *.bz2 # Exceptions: small test fixtures !tests/fixtures/*.zip !tests/fixtures/*.idml # Compiled binaries *.bin *.exe *.dll *.so *.dylib *.class *.jar *.war # Large media — use Git LFS *.mp4 *.mov *.avi *.mkv *.mp3 *.wav *.flac *.psd *.ai *.sketch *.fig *.xd # Raw data files *.csv *.tsv *.parquet *.feather # Exceptions: seed and fixture data !tests/fixtures/*.csv !seeds/*.csv !data/fixtures/*.csv # Package specific .sentryclirc prisma/migrations/migration_lock.toml # ============================================================================= # PROJECT-SPECIFIC OVERRIDES # Add project-specific rules below this line. # Comment each one to explain why it exists. # =============================================================================