.idea .DS_Store # directory for developers to store local resources /.local/ /*.code-workspace node_modules /npm/*/bin /npm/workerd/install.js /npm/workerd/lib/ package-lock.json # The external link for compile_flags.txt: Differs on Windows vs macOS/Linux, so we can't check it in. The pattern needs to not have a trailing / because it's a symlink on macOS/Linux. /external # Bazel output symlinks: Same reasoning as /external. You need the * because people can change the name of the directory your repository is cloned into, changing the bazel- symlink. /bazel-* # Bazel 8's MODULE lock, since we're not actually locking anything yet. MODULE.bazel.lock # Compiled output -> don't check in /compile_commands.json /rust-project.json # Directory where clangd puts its indexing work /.cache/ /.bazel-cache /workerd-* /docs/api *.tsbuildinfo # Bazel plugin for Intellij paths .clwb .aswb coverage perf.data .claude # opencode auto-generates package.json, bun.lock, and .gitignore inside .opencode/ # at startup to install plugin dependencies. These are runtime artifacts that should # not be committed — the opencode CLI version is pinned in CI workflows (see # .github/workflows/bonk.yml) which determines the plugin version deterministically. # Without these rules, Bonk (our AI reviewer) will see the generated files as dirty # and commit them to PR branches, causing merge conflicts. .opencode/package.json .opencode/bun.lock .opencode/.gitignore # python __pycache__