### General file patterns
*~
.*.sw?
.build_lock
.cargo
.clangd
**/.cache/clangd
.checkstyle
.classpath
.config
.ccls-cache
.envrc
.flutter_tool_state
.cproject
.DS_Store
.gdb_history
.gdbinit
.jiri_manifest
.landmines
.local
.packages
.project
.pydevproject
.ssh
.vscode
*_BACKUP_*
*_REMOTE_*
*_LOCAL_*
*_BASE_*
*.dSYM
*.fxt
*.iml
*.orig
*.pyc
*.code-workspace
!fuchsia.code-workspace
*.sublime-project
*.sublime-workspace
*.swp
*.swo
Cargo.lock
!/third_party/rust_crates/**/Cargo.lock
Cargo.toml
!/third_party/rust_crates/**/Cargo.toml
CMakeLists.txt
compile_commands.json
cmake-build-debug/
cscope.*
default.profraw
rls*.log
Session.vim
fidl-tags
tags
TAGS
Thumbs.db
tmp/
!/third_party/rust_crates/vendor/**/tmp/
json_generator_tests_*.txt
tables_generator_tests_*.txt

### fx configuration and cache files.
# NOTE: For any new files, please write files under the top-level .fx/ directory
# instead of adding new top-level files, to avoid cluttering this .gitignore
# file and the top level of local checkouts.
/.fx/
!/.fx/config/README.md
.fx-build-dir
.fx-metrics-config
.fx-multi-list
.fx-remote-config
.fx-ssh-path
.fx-sync-from-stem.cache

### Checkout generated files
/build/cipd.gni

### Infra files
# These files may exist in a checkout on an Infra VM but not locally
/.GUARD_FILE

### Directories to be ignored across the tree
.cipd/
.idea/

### Top-level directories
/.jiri/
/.jiri_root/
/integration/
# For storing local scripts and data files in a source tree.
/local/
/out/
/prebuilt/
/test_data/

# Third party repos.
/third_party/*
!/third_party/BUILD.gn
!/third_party/alacritty-migrating
/third_party/alacritty-migrating/src
!/third_party/android/platform/system/keymint
/third_party/android/platform/system/keymint/src
!/third_party/boringssl/
/third_party/boringssl/src
!/third_party/colorama/
/third_party/colorama/colorama
!/third_party/curl/
/third_party/curl/src
!/third_party/flatbuffers/
/third_party/flatbuffers/src
!/third_party/libpng/
/third_party/libpng/src
!/third_party/llvm-libc/
/third_party/llvm-libc/src
!/third_party/gfxstream
/third_party/gfxstream/src
!/third_party/gfxstream/aemu
/third_party/gfxstream/aemu/src
!/third_party/golibs
!/third_party/half
/third_party/half/src
!/third_party/rust_crates
/third_party/rust_crates/mirrors
!/third_party/jellyfish/
/third_party/jellyfish/jellyfish
!/third_party/modinv/
!/third_party/modp_b64
!/third_party/OWNERS
!/third_party/owners.toml
!/third_party/scudo/
/third_party/scudo/src
/third_party/scudo/gwp_asan
!/third_party/zstd/
/third_party/zstd/src
!/third_party/ogg-migrating/
/third_party/ogg-migrating/src/
!/third_party/parameterized
/third_party/parameterized/src
!/third_party/re2/
/third_party/re2/src
!/third_party/pyyaml/
/third_party/pyyaml/src
!/third_party/jinja2/
/third_party/jinja2/src
/third_party/jinja2/jinja2
!/third_party/nlassert/
/third_party/nlassert/src
!/third_party/openssl-ecjpake
/third_party/openssl-ecjpake/src
!/third_party/tpm2-tss/
/third_party/tpm2-tss/src
!/third_party/pigweed
/third_party/pigweed/src
/third_party/pigweed/nanopb
!/third_party/gvisor_syscall_tests
!/third_party/fmtlib
/third_party/fmtlib/src
!/third_party/python_portpicker
/third_party/python_portpicker/src
!/third_party/mobly
/third_party/mobly/src
!/third_party/mini_chromium
/third_party/mini_chromium/src
!/third_party/snippet-uiautomator
/third_party/snippet-uiautomator/src
!/third_party/crashpad
/third_party/crashpad/src
!/third_party/chromiumos-xorg-conf
/third_party/chromiumos-xorg-conf/src
!/third_party/gflags
/third_party/gflags/src
!/third_party/glog
/third_party/glog/src
!/third_party/grpc-migrating
/third_party/grpc-migrating/src
!/third_party/mesa
/third_party/mesa/src
!/third_party/mesa-migrating
/third_party/mesa-migrating/src
!/third_party/ubpf
/third_party/ubpf/src
!/third_party/github.com/
!/third_party/github.com/google/
!/third_party/github.com/google/cppdap
/third_party/github.com/google/cppdap/src
!/third_party/github.com/jd/
!/third_party/github.com/jd/tenacity
/third_party/github.com/jd/tenacity/src
!/third_party/github.com/ridiculousfish/
!/third_party/github.com/ridiculousfish/libdivide
/third_party/github.com/ridiculousfish/libdivide/src
!/third_party/pylibs/coverage
/third_party/pylibs/coverage/src
!/third_party/pylibs/mypy
/third_party/pylibs/mypy/src
!/third_party/pylibs/mypy_extensions
/third_party/pylibs/mypy_extensions/src
!/third_party/pylibs/typing_extensions
/third_party/pylibs/typing_extensions/src
!/third_party/pyjson5
/third_party/pyjson5/src
!/third_party/chre
/third_party/chre/src
!/third_party/Vulkan-Utility-Libraries
/third_party/Vulkan-Utility-Libraries/src
!/third_party/pypng
/third_party/pypng/src
!/third_party/fuchsia-infra-bazel-rules
/third_party/fuchsia-infra-bazel-rules/src
!/third_party/volk
/third_party/volk/src
!/third_party/glslang
/third_party/glslang/src
!/third_party/shaderc
/third_party/shaderc/src
!/third_party/spirv-cross
/third_party/spirv-cross/src
!/third_party/spirv-headers
/third_party/spirv-headers/src
!/third_party/spirv-tools
/third_party/spirv-tools/src
!/third_party/Vulkan-Headers
/third_party/Vulkan-Headers/src
!/third_party/Vulkan-Loader
/third_party/Vulkan-Loader/src
!/third_party/Vulkan-Tools
/third_party/Vulkan-Tools/src
!/third_party/Vulkan-ValidationLayers
/third_party/Vulkan-ValidationLayers/src

/tmp/
/vendor/
/build/secondary/third_party/ffmpeg
/build/secondary/third_party/protobuf
# Checkouts for some release operations include the infra recipes repository.
/infra/recipes/

# rust-analyzer
/rust-project.json

# Generated config for Python analysis
/pyrightconfig.base.json

# Symlinks related to the Bazel workspace
/bazel-bin
/bazel-out
/bazel-repos
/bazel-workspace
/third_party/bazel_vendor/bazel-external

# The Bazel vendor directory
!/third_party/bazel_vendor
!/third_party/bazel_vendor/*~
!/tools/check-licenses/assets/readmes/third_party/bazel_vendor/*~

# The Bazel vendor directory
!/third_party/bazel_vendor

# Symlinks created by `fx setup-go`.
/go.mod
/go.sum

# Running `fx check-licenses` will generate a NOTICE file at the root of the fuchsia repository. The
# file represents the license state of the entire repository.
# We automatically run this command during some user/userdebug builds, so it can be included in the
# Fuchsia images.
/NOTICE.html
/NOTICE.html.gz

# Remote build logs
compiler_info_cache*
reproxy-gomaip.cache*

# Local test coverage file.
lcov.info
.coverage

# Mypy Type Checker extension
/.mypy_cache

# Nix shell
/shell.nix
/default.nix

# gemini-cli logs
.gemini/logs.json
