.DS_Store
.atom/
.idea
.packages
.pub/
.pub-cache/
.svn/
.dart_tool/
.vscode/
.clangd
.gdb_history
.history
.cxx
*.iml
compile_commands.json
*.log
*.pyc
*.swp

# Gradle?
.uuid

pubspec.lock

# iOS and macOS dependencies
.build/
Podfile.lock
Pods/
.swiftpm/
.symlinks/

*instrumentscli*.trace
*.cipd

# Build directories are produced when building using the Flutter CLI.
build

# This file is produced as a back-up when web_benchmarks fails to parse a
# Chrome trace.
chrome-trace.json

# Generated files on example apps
flutter_export_environment.sh
.flutter-plugins*
local.properties
keystore.properties
**/Flutter/Generated.xcconfig
**/Flutter/App.framework/
**/Flutter/ephemeral/
**/Flutter/Flutter.podspec
**/Flutter/Flutter.framework/
**/Flutter/flutter_assets/
**/Flutter/.last_build_id
**/Pods/

ServiceDefinitions.json
xcuserdata/
DerivedData/
dgph

generated_plugins.*
generated_plugin_registrant.*
GeneratedPluginRegistrant.*

# Gradle 
gradle-wrapper.jar
.gradle/
gradlew
gradlew.bat

.project
.classpath
.settings

# Directory created by dartdoc.
doc/api/
**/doc/api/

# Avoid committing generated Javascript files:
*.dart.js
*.info.json      # Produced by the --dump-info flag.
*.js             # When generated by dart2js. Don't specify *.js if your
                 # project includes source files written in JavaScript.
*.js_
*.js.deps
*.js.map

# Generated shared libraries.
*.so
*.so.*
*.dylib
*.dll

# Files generated by tests for debugging purposes.
**/test/debug_generated/*
coverage/

## Downloaded files and build artifacts
*.jar
*.class
*.exe
*.o

# Visual Studio user-specific files.
*.suo
*.user
*.userosscache
*.sln.docstates

# Visual Studio build-related files.
x64/
x86/

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# CMake
CMakeFiles/
CMakeScripts/
Makefile
cmake_install.cmake
CMakeCache.txt

# Android
**/android/app/debug
**/android/app/profile
**/android/app/release

# Symbolication related
app.*.symbols

# Obfuscation related
app.*.map.json

# Gemini
gemini.md
