Skip to content

Extract the ClickPipes clap contract and parsing tests #386

Description

@sdairs

Parent: #318

Stack position: 5 of 6. This isolates the large ClickPipes clap contract before moving its runtime.

Goal

Move all ClickPipes command-line definitions and parsing coverage into the ClickPipes domain module without changing the user-facing CLI.

Scope

  • Move ClickPipeCommands, create/source/schema-discovery/settings sub-enums, argument/field structs, possible-value constants, and parsers.
  • Move exhaustive ClickPipes write classification and clap parsing tests with those definitions.
  • Preserve the boxed top-level ClickPipes command shape used to control enum size.
  • Re-export all existing type names through cloud::cli.
  • Leave handlers/builders/client wrappers in place for the following runtime sub-issue.

Acceptance

  • Existing crate::cloud::cli::* paths continue to compile through re-exports.
  • Every ClickPipes command, flag, default, repeatability rule, and accepted value is unchanged.
  • Exhaustive write classification remains compiler-checked without wildcard arms.
  • All ClickPipes clap tests pass adjacent to the moved definitions.
  • Clippy, rustfmt, and workspace checking pass.

Out of scope

  • Moving ClickPipes handlers, builders, output, or CloudClient wrappers.
  • Any CLI or API behavior change.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestrustPull requests that update rust code

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions