### General file patterns
*~
.*.sw?
.build_lock
.cargo
.clangd
**/.cache/clangd
.checkstyle
.classpath
.config
.ccls-cache
.envrc
.flutter_tool_state
.fx
.fx-build-dir
.fx-build-metrics-config
.fx-metrics-config
.fx-multi-list
.fx-remote-config
.fx-ssh-path
.fx-sync-from-stem.cache
.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

### Checkout generated files
/build/checkout.gni
/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/boringssl/
/third_party/boringssl/src
!/third_party/colorama/
/third_party/colorama/colorama
!/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/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/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/crashpad
/third_party/crashpad/src
!/third_party/chromiumos-xorg-conf
/third_party/chromiumos-xorg-conf/src
!/third_party/ubpf
/third_party/ubpf/src
!/third_party/github.com/google/cppdap
/third_party/github.com/google/cppdap/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

/tmp/
/vendor/
/build/secondary/third_party/ffmpeg
/build/secondary/third_party/protobuf

# rust-analyzer
/rust-project.json

# 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
