Command reference
bidsmith is a single command-line binary. Every subcommand here is
invoked as bidsmith <verb> [flags]. The verbs split into two
groups: local commands that don’t touch the API, and commands that
read or write Google Ads via the API.
Local (no API)
bidsmith validate Parse .bid files, check syntax, schema, references, lint warnings.
bidsmith fmt Rewrite .bid files in canonical form, in place or as a check.
bidsmith export Render .bid files from a JSON description or a SearchStream dump.
bidsmith schema Dump the resource schema as JSON — drives docs and IDE tooling.
bidsmith design-doc Generate the Google Ads API Basic-Access design document for an applicant.
API (reads or writes Google Ads)
bidsmith plan Preview the diff between .bid files and the live account.
bidsmith apply Apply the diff to Google Ads after a confirmation prompt.
bidsmith refresh Pull live state into .bid files (bootstrap or sync).
bidsmith pull Dump raw Google Ads SearchStream JSON for fixtures and tests.
bidsmith query Run a read-only GAQL query and print the result.
Common conventions
- Path argument —
validate,fmt,plan,applyaccept an optional path (file or directory). Defaults to.(the current directory). If a directory, bidsmith walks it recursively for.bidfiles. --verbose— on API commands, prints the outgoing request and raw response. Useful for debugging.- Exit codes —
0on success, non-zero on any error. Error messages go to stderr; normal output goes to stdout. - Help —
bidsmith --helplists every verb;bidsmith <verb> --helplists flags for one verb.