# Python
.env
*.pyc
**/.ipynb_checkpoints/
.pytype/
**/__pycache__/**

# Visual Studio files
.vs/
.vscode/
*.sdf
*.opensdf
*.VC.opendb
*.suo
*.user
*.code-workspace

# Cursor files
.cursor/

# macOS files
.DS_Store

# CMake artifacts
/build/
/build-*/
Testing/
/compiler/build/
/runtime/build/
/integrations/tensorflow/python_projects/iree_tf/build/
/integrations/tensorflow/python_projects/iree_tflite/build/

# Node.js artifacts
node_modules/
package.json
package-lock.json

# Bazel artifacts
**/bazel-*
MODULE.bazel.lock
.iree-bazel-try/

# Executables
*.exe
*.out

# Local-only config options
configured.bazelrc
user.bazelrc
version_info.json
version_local.json
CMakeUserPresets.json

# Dear ImGui Ini files and Tracy artifacts
imgui.ini
.tracy/

# Emacs autosaves
*~
\#*\#

# Vim swap files
[._]*.sw[a-p]

# Source indexing files
compile_commands.json
tablegen_compile_commands.yml
.cache/clangd

# Language server configuration files
.clangd

# Pyenv files
.python-version
*.venv
.venv

# Python deployment artifacts
*.whl
*.egg-info

# Android Studio / Gradle files
.cxx
.gradle
gradlew
gradlew.bat
gradle/
local.properties

# Generated documentation files
mkdocs/site/
docs/website/site/

# Temporary files
iree/builtins/**/bin/*.ll
artifacts/

# Archive files
*.tar
*.tar.*

# VS Code DevContainer
.devcontainer/docker-compose.yml

# pkgci artifacts
artifacts/

# Side effects of local patching/merging
*.orig
*.rej
