# ============================================
# MobileGuard AI - Git Ignore Configuration
# ============================================

# =====================================
# Environment & Secrets
# =====================================
.env
.env.local
.env.*.local
.env.production
*.key
*.pem
secrets/
credentials/

# API Keys (double-check these are never committed)
*api_key*
*API_KEY*
*secret*
*SECRET*

# =====================================
# Python Backend
# =====================================

# Virtual Environment
venv/
env/
ENV/
.venv/
backend/venv/
backend/env/
samples/
benign/
malware/
reports/

# Python Cache
__pycache__/
*.py[cod]
*$py.class
*.so
.Python

# Distribution / Packaging
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
*.manifest
*.spec

# Unit Test / Coverage
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
coverage.xml
*.cover
.hypothesis/

# Jupyter Notebook
.ipynb_checkpoints
*.ipynb

# PyCharm
.idea/
*.iml
*.iws
.idea_modules/

# VS Code
.vscode/
*.code-workspace

# Spyder
.spyderproject
.spyproject

# Rope
.ropeproject

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre
.pyre/

# =====================================
# Frontend (React + Node.js)
# =====================================

# Dependencies
node_modules/
frontend/node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Build Output
frontend/dist/
frontend/build/
frontend/.vite/

# Cache
.cache/
.parcel-cache/
.eslintcache
.stylelintcache

# Environment
.env.development
.env.test
.env.production

# Editor Directories
.DS_Store
Thumbs.db

# =====================================
# Machine Learning Models & Data
# =====================================

# Large Model Files (use Git LFS if needed)
*.h5
*.pkl
*.joblib
*.ckpt
*.pt
*.pth
*.safetensors

# Exclude scaler but keep structure
# models/scaler.pkl  # Uncomment if you want to ignore

# Training Data
data/train/
data/test/
data/val/
data/raw/
data/processed/
data/*.csv
data/*.parquet
data/*.feather
data/*.hdf5

# APK Samples (NEVER commit malware samples)
*.apk
temp_apks/
samples/
malware_samples/

# Database Files
*.sqlite
*.sqlite3
*.db
data/*.sqlite
data/*.db
feature_cache.sqlite

# Audit Logs (keep structure but ignore content)
data/audit_*.jsonl
data/logs/
*.log
*.jsonl

# =====================================
# Docker & Containers
# =====================================
docker-compose.override.yml
.dockerignore

# =====================================
# Operating System Files
# =====================================

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
Desktop.ini
$RECYCLE.BIN/

# Linux
*~
.directory
.Trash-*

# =====================================
# IDE & Editor Files
# =====================================

# JetBrains (PyCharm, WebStorm, IntelliJ)
.idea/
*.iml
*.ipr
*.iws
out/

# VS Code
.vscode/
*.code-workspace
.history/

# Sublime Text
*.sublime-project
*.sublime-workspace

# Vim
*.swp
*.swo
*~
.vim/

# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc

# =====================================
# Build & Deployment Artifacts
# =====================================

# Compiled Output
*.class
*.dll
*.exe
*.o
*.so
*.dylib

# Temporary Files
tmp/
temp/
*.tmp
*.bak
*.swp
*.log

# =====================================
# Testing & CI/CD
# =====================================

# Test Reports
test-results/
coverage/
.nyc_output/
*.lcov

# Playwright
playwright-report/
test-results/

# =====================================
# Security & Compliance
# =====================================

# SSL Certificates (never commit private keys)
*.crt
*.cer
*.p12
*.pfx

# SSH Keys
id_rsa
id_rsa.pub
id_ed25519
id_ed25519.pub

# =====================================
# MobileGuard AI Specific
# =====================================

# Sandbox Artifacts
sandbox_sessions/
frida_scripts/
mitm_captures/
*.pcap
*.pcapng

# Analysis Cache
analysis_cache/
feature_vectors/

# Temporary APK Extraction
extracted_apks/
decompiled/
smali_output/

# SHAP Plots (regenerate as needed)
models/shap_*.png
models/feature_importance_*.png

# Custom Threat Intelligence
data/custom_iocs.json
data/c2_ips.txt
data/certin_iocs.json

# User-Generated Reports
reports/
exports/
*.pdf
*.docx

# =====================================
# Keep These Files (Examples)
# =====================================
# Use ! to force-include specific files

# Keep model structure indicator
!models/.gitkeep
!data/.gitkeep

# Keep example configs (without secrets)
# !.env.example
# !config.example.py

# Keep README and docs
!README.md
!docs/

# Keep requirements files
!requirements.txt
!package.json
!package-lock.json

data/vt_cache.json
*.apk