### General file patterns
*~
.*.sw?
.build_lock
.cargo
.clangd
**/.cache/clangd
.checkstyle
.classpath
.config
.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
tools/cipd.gni
topaz/
vendor/
!/src/connectivity/bluetooth/hci/vendor
!/third_party/rust_crates/vendor
tmp/
json_generator_tests_*.txt
tables_generator_tests_*.txt


### Specific files
/garnet/tools/cipd.gni

### 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/*
!/third_party/llvm-libc/
/third_party/llvm-libc/src
!/third_party/rust_crates
!/third_party/modp_b64
!/third_party/scudo/
/third_party/scudo/src
/third_party/scudo/gwp_asan
!/third_party/zstd/
/third_party/zstd/src
/tmp/
/topaz/
/vendor/
/src/experiences

# rust-analyzer
/rust-project.json

# All files in vendor need to be delivered as is, as they use
# checksumming to ensure secure package delivery.
!/third_party/rust_crates/vendor/**

# jiri generate-gitmodules can be used to generate a .gitmodules file that
# reflects the repos that jiri checked out. This is useful for tooling (like
# vscode) that is aware of submodules. This generated .gitmodules file
# shouldn't be tracked in source control.
/.gitmodules

# 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
