### 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
/build/secondary/third_party/protobuf

# 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
