Expand description
Subcommand implementations. Each module owns its run(...) entry point
and stays free of clap so the integration tests can drive it directly.
Modules§
- backfill
faucet backfill— replay a bounded historical window of a pipeline (#282): plan window units, run them with bounded parallelism, record durable progress, and report the per-unit outcome.- catalog
catalog faucet catalog— browse the Data Movement Catalog (#279) accumulated by a config’scatalog:store: datasets, schema timelines, volume/freshness, and the lineage graph. Read-only; the same storefaucet run/schedule/replicatewrite into (pointfaucet serve --historyat the same URL to browse it in the control plane / web console instead).- completions
faucet completions <shell>— emit a static shell-completion script — plus the dynamic (runtime) candidate providers used byclap_complete’sCompleteEnvhook (#383).- conformance
faucet conformance— score connectors against the faucet SDK contract and report a maturity tier + capabilities (#330).- contract
contract faucet contract— validate a config’scontract:block and print a human summary, or export it in a machine-readable format (--export contract | json-schema | openlineage). Offline-safe: secrets are never fetched (a contract holds no credentials).- dev
cli-dev faucet dev— a watch-and-diff authoring loop (#283,cli-devfeature).- discover
faucet discover— connect to a config’s source, enumerate the datasets living behind it (tables / collections / indices / prefixes), and emit a ready-to-run config with one matrix row per dataset (#211).- dlq
faucet dlq— inspect / replay / discard dead-letter-queue envelopes.- doctor
faucet doctor— preflight probes for every connector in a config (#126).- explain
faucet explain— plain-English narration of what a pipeline does (#389).- fmt
faucet fmt— canonicalize a pipeline config (#387).- history
catalog faucet history— terminal view of the run history recorded in a config’scatalog:store (#391).- init
faucet init— scaffold a starterpipeline.yamlfrom each connector’s JSON Schema. Defaults to arest→jsonlpipeline sofaucet initwith no flags continues to produce the same shape it did before this command grew schema-driven scaffolding.- install
faucet install— tell the user how to obtain/enable a connector (#208).- list
faucet list— show every compiled-in source, sink, transform, and state-store backend so users can discover what their binary supports.--availableinstead lists every connector in the registry index (#208), marking which are compiled into this binary.- masking
masking faucet masking— validate a config’smasking:block and print which rules apply to each destination sink (the destination-scoping check). Offline-safe: secrets are never fetched (compiling a policy needs no credentials, and the key is not required to list rules).- mcp
mcp faucet mcp— an MCP server over stdio (issue #420).- migrate
faucet migrate— upgrade a config written against an olderfaucetgrammar to the current shape (#388).- new
faucet new connector— scaffold a ready-to-build connector crate (#209).- notify
notify faucet notify test— fire one synthetic event through a config’snotifications:rules to validate channel setup end-to-end (no pipeline runs). Uses the real delivery path, so a Slack/PagerDuty/webhook that is reachable will actually receive the test message.- plan
faucet plan— a read-only “what would this config do” preview (#283).- preview
faucet preview— run only the source side of the first root row and emit the first N records to stdout as JSON Lines.- replicate
faucet replicate— load a config with areplication:block, validate it, and run the two-phase snapshot→CDC orchestration.- run
faucet run— load a pipeline config, expand the matrix, execute every invocation under bounded concurrency.- schedule
schedule faucet schedule— run a pipeline on a cron schedule in one long-running process. Reusesexpand+executor::run_expandedper tick; keeps no state of its own (resumability rides the pipeline’s per-page bookmark). Seedocs/superpowers/specs/2026-05-30-faucet-schedule-design.md.- schema
faucet schema— print the JSON Schema for a connector’s config.- search
faucet search— find connectors in the registry index (#208).- serve
serve faucet serve— thin command layer: parse args into aServeConfig, load the startup.env, and hand off toserve::run_server.- test
faucet test— run fixture-based offline pipeline tests (#210).- validate
faucet validate— parse + expand a pipeline config without running.