opencode-betterglob
v0.1.0
Published
Standalone OpenCode plugin that provides an rg-backed glob tool with native-compatible output.
Maintainers
Readme
🔍 opencode-betterglob
opencode-betterglob is a standalone OpenCode plugin that replaces the built-in
glob tool with a fast ripgrep-backed file discovery engine.
It keeps the agent-facing behavior simple: return matching file paths, one per line, while adding stronger controls around limits, sorting, hidden files, timeouts, and large workspaces.
✨ Why it is better than the native glob tool
⚡ Faster discovery on large repositories
The plugin uses rg --files as its backend, which is highly optimized for large
trees, ignored files, and modern repository layouts.
🎛️ More explicit controls
It supports advanced options that make tool calls more predictable:
limitsort_bysort_orderhiddenfollow_symlinkstimeout_ms
🧯 Safer defaults
The default result limit is intentionally conservative to avoid flooding the conversation with huge path lists. Heavy searches still work, but they are more controlled.
🧩 Native-compatible output
The output remains plain paths with native-style empty states and timeout notes,
so agents can use it as a drop-in replacement for the built-in glob tool.
🧠 Technical highlights
- Registers as the exact
globtool ID. - Uses NUL-delimited parsing where appropriate for safe path handling.
- Supports ripgrep auto-resolution and managed install behavior.
- Handles timeout and cancellation without leaving long-running processes behind.
- Adds render metadata through a lightweight post-execution hook.
📦 Recommended installation (npm)
For normal installs, use npm:
npm install opencode-betterglobThen register the installed package in your OpenCode config by package name:
{
"plugin": [
"opencode-betterglob"
]
}🛠️ Manual installation from source (alternative)
Use the source/file flow if you want to run the plugin from a local checkout or test local unpublished changes.
git clone https://github.com/dhaern/better-opencode-tools.git
cd better-opencode-tools
bun install
bun run buildAdd the plugin to your OpenCode config:
{
"plugin": [
"file:///path/to/better-opencode-tools/packages/opencode-betterglob"
]
}🧪 Development
bun run typecheck
bun test
bun run build
bun run check⚠️ Known limitations
sort_by: "mtime"depends on ripgrep's modified-time sorting behavior. On very broad searches, ripgrep may not stream useful partial paths before a timeout.- First run may need network access if the plugin has to download a managed
ripgrepbinary.
