### 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
.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/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/pyjson5
/third_party/pyjson5/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
