Fast file pattern matching tool that works with any codebase size.
Supports glob patterns like "**/*.js" or "src/**/*.ts".
Returns matching file paths sorted by name, limited to 200 results.
ALWAYS use `glob` instead of `bash` with find/ls/dir.

Parameters:
- pattern (required): glob pattern to match files against
- path (optional): directory to search in (default: cwd). Use this to limit search to a subdirectory.

Examples:
- "**/*.mjs" — all .mjs files recursively
- "src/**/*.ts" — TypeScript files under src/
- "*.json" — JSON files in root only
- "src/components/**" — everything under components/
- pattern="**/*.test.mjs" path="src/tool/" — test files under src/tool/

## When NOT to Use
- Do NOT use glob to search file *contents* — use `grep` for that.
- Do NOT use glob when you need a simple directory listing — use `bash` with `ls` only if truly needed.
- Do NOT use glob to find a file when you already know its exact path — use `read` directly.
- If you need to search both file names AND contents, use glob for names and grep for contents in parallel.

Tips:
- When doing an open-ended search that may require multiple rounds of globbing and grepping, use the `task` tool with explore subagent instead.
- You can call multiple glob tools in a single response. It is always better to speculatively perform multiple searches in parallel if they are potentially useful.
- Use `path` parameter to narrow search to a specific directory for faster results.
- When unsure of exact file naming convention, launch multiple speculative globs in parallel:
  <good-example>
  # Looking for config files — try multiple patterns at once:
  glob "**/*.config.{js,ts,mjs}"
  glob "**/config.{js,ts,mjs,json}"
  glob "**/.{eslint,prettier,babel}*"
  </good-example>