with one click
oracle
// Use the @steipete/oracle CLI to bundle a prompt plus the right files and get a second-model review (API or browser) for debugging, refactors, design checks, or cross-validation.
// Use the @steipete/oracle CLI to bundle a prompt plus the right files and get a second-model review (API or browser) for debugging, refactors, design checks, or cross-validation.
Read, write, and update Google Sheets data via CLI. Use when the user asks to read spreadsheet data, update cells, append rows, or work with Google Sheets. Triggers on mentions of spreadsheets, sheets, Google Sheets, tabular data in the cloud, or specific sheet names like "Projects" or "Tasks".
Convex backend development patterns, validators, indexes, actions, queries, mutations, file storage, scheduling, React hooks, and components. Use when writing Convex code, debugging Convex issues, or planning Convex architecture.
| name | oracle |
| description | Use the @steipete/oracle CLI to bundle a prompt plus the right files and get a second-model review (API or browser) for debugging, refactors, design checks, or cross-validation. |
Oracle bundles your prompt + selected files into one âone-shotâ request so another model can answer with real repo context (API or browser automation). Treat outputs as advisory: verify against the codebase + tests.
Default workflow here: --engine browser with GPTâ5.2 Pro in ChatGPT. This is the âhuman in the loopâ path: it can take ~10 minutes to ~1 hour; expect a stored session you can reattach to.
Recommended defaults:
--engine browser)--model gpt-5.2-pro or a ChatGPT picker label like --model "5.2 Pro")--dry-run + --files-report when needed).Show help (once/session):
npx -y @steipete/oracle --helpPreview (no tokens):
npx -y @steipete/oracle --dry-run summary -p "<task>" --file "src/**" --file "!**/*.test.*"npx -y @steipete/oracle --dry-run full -p "<task>" --file "src/**"Token/cost sanity:
npx -y @steipete/oracle --dry-run summary --files-report -p "<task>" --file "src/**"Browser run (main path; long-running is normal):
npx -y @steipete/oracle --engine browser --model gpt-5.2-pro -p "<task>" --file "src/**"Manual paste fallback (assemble bundle, copy to clipboard):
npx -y @steipete/oracle --render --copy -p "<task>" --file "src/**"--copy is a hidden alias for --copy-markdown.--file)--file accepts files, directories, and globs. You can pass it multiple times; entries can be comma-separated.
Include:
--file "src/**" (directory glob)--file src/index.ts (literal file)--file docs --file README.md (literal directory + file)Exclude (prefix with !):
--file "src/**" --file "!src/**/*.test.ts" --file "!**/*.snap"Defaults (important behavior from the implementation):
node_modules, dist, coverage, .git, .turbo, .next, build, tmp (skipped unless you explicitly pass them as literal dirs/files)..gitignore when expanding globs.followSymbolicLinks: false).--file ".github/**").--files-report (and/or --dry-run json) to spot the token hogs before spending.npx -y @steipete/oracle --help --verbose.api when OPENAI_API_KEY is set, otherwise browser.--engine api for Claude/Grok/Codex or multi-model runs.--browser-attachments auto|never|always (auto pastes inline up to ~60k chars then uploads).oracle serve --host 0.0.0.0 --port 9473 --token <secret>oracle --engine browser --remote-host <host:port> --remote-token <secret> -p "<task>" --file "src/**"~/.oracle/sessions (override with ORACLE_HOME_DIR).oracle status --hours 72oracle session <id> --render--slug "<3-5 words>" to keep session IDs readable.--force only when you truly want a fresh run.Oracle starts with zero project knowledge. Assume the model cannot infer your stack, build tooling, conventions, or âobviousâ paths. Include:
When you know this will be a long investigation, write a prompt that can stand alone later:
If you need to reproduce the same context later, re-run with the same prompt + --file ⊠set (Oracle runs are one-shot; the model doesnât remember prior runs).
.env, key files, auth tokens). Redact aggressively; share only whatâs required.