### General file patterns
*~
.*.sw?
.build_lock
.cargo
.clangd
**/.cache/clangd
.checkstyle
.classpath
.config
.ccls-cache
.envrc
.flutter_tool_state
.fx
.fx-build-dir
.fx-metrics-config
.fx-multi-list
.fx-remote-config
.fx-ssh-path
.fx-sync-from-stem.cache
.cproject
.DS_Store
.gdb_history
.gdbinit
.ignore
.jiri_manifest
.landmines
.packages
.project
.pydevproject
.ssh
.vscode
*_BACKUP_*
*_REMOTE_*
*_LOCAL_*
*_BASE_*
*.dSYM
*.iml
*.orig
*.pyc
*.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/
json_generator_tests_*.txt
tables_generator_tests_*.txt

### Checkout generated files
/build/cipd.gni
/zircon/prebuilt/config.gni
/zircon/prebuilt/downloads/

### 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/boringssl/
/third_party/boringssl/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/modinv/
!/third_party/modp_b64
!/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

/tmp/
/vendor/
/src/experiences
/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
