Skip to main content

Module scaffold

Module scaffold 

Source
Expand description

Connector SDK scaffolding (#209): pure templates for faucet new connector.

Emits a ready-to-build faucet-source-<name> / faucet-sink-<name> crate that follows every repo convention — the standard module layout, JsonSchema-deriving config, config_schema() / connector_name() overrides, the #![cfg_attr(docsrs, feature(doc_cfg))] crate-root line, the [package.metadata.docs.rs] block, system-name-first crates.io keywords, a README, and a passing unit test — so a third-party author starts from a compiling, publish-ready crate instead of hand-assembling one.

Everything here is a pure &self -> String / -> Vec<GeneratedFile> function so it is fully unit-testable without touching the filesystem; the crate::commands::new command writes the returned files to disk.

Structs§

ConnectorScaffold
A parsed, validated scaffold request.
GeneratedFile
A single generated file: a path relative to the new crate’s parent directory, and its full contents.

Enums§

ConnectorKind
Which half of a connector pair to scaffold.

Functions§

validate_name
Validate a connector system name: lowercase, starts with a letter, then letters/digits/hyphens (the faucet-<kind>-<name> convention).