# Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
*.so
*.egg
*.egg-info/
dist/
build/
.eggs/

# uv / virtualenv
.venv/
.uv/

# embedded Joern clone (nested .git, large) + local materialize cache
src/gnn_vuln/joern/
data/.materialized/

# Jupyter
.ipynb_checkpoints/
*.ipynb_metadata/


# Logs
logs/
*.log

# OS
.DS_Store
Thumbs.db

# IDE
.vscode/settings.json
.idea/

# Claude Code local config (commands, hooks — project-local, not for repo)
.claude/
.serena/
.agents/

# Env files
.env
*.env

# Joern output cache
joern-cli/
joern_workspace/

# Large generated / binary / third-party — do NOT push
/data/raw/**
!/data/raw/*/
!/data/raw/*/cwe_vocab.json
/data/datasets/
/data/processed/
/data/graphs/
/checkpoints/
/results/
/paper/
# Baselines tracked in-repo (LineVul, LineVD, LOSVER) so the pod gets them via git pull.
# Ignore only their generated junk:
src/*/__pycache__/
src/**/*.pyc
src/LineVul/saved_models/
src/linevd/storage/cache/
src/linevd/storage/processed/
src/VulChecker/
src/vul-LMGNN/
src/gnn_vuln/joern/
src/SCLCVD/
src/EDAT/

# Downloaded tools / secrets
gdrive.exe
gdrive3.zip
gdrive*.zip
rclone.zip
rclone*/
secret.txt
*.secret

.kiro/
src/GNNPlus/
src/Graph-Mixture-of-Experts/
src/mixture-of-experts/
src/CodeGraphSMOTE/
src/GMixup/
src/GraphSMOTE/
src/FLAG/
src/graph-jepa/
src/graph-vit-mlpmixer/
src/llm-jepa/
src/ijepa/
src/GraphMAE/
src/GraphMAE2/
src/bgrl/
src/StructMAE/
src/hypermixing/
src/pnlp-mixer/
src/GraphGPS/
src/LineVul/cppcheck/
/data/baselines/
docs/
