Skip to main content

propose

Function propose 

Source
pub(crate) fn propose(rest: &[&str], auth: AuthOptions<'_>) -> !
Expand description

choir propose [flags] [reviewer]...

The five-step path – provision, commit, push, checkpoint, request review – as one command, run from the contributor’s own checkout. Nothing here is a new endpoint; the command is the inference that supplies each step’s identifiers from what the checkout already knows, plus the ordering between them.

Unlike every other subcommand, the API base is a flag rather than the first positional. That is the point of the command: the git remote already names the node, and asking a newcomer to repeat it is the friction being removed. --api and --repo override the inference for a checkout whose remote is an ssh:// URL or a proxy.

The sequence stops at the first refusal and says which step stopped. It is safe to re-run: the change, workspace and idempotency key are derived from the branch name, so a second run resumes the same proposal rather than opening a second one.