pub fn bot_name_shape(raw: &str) -> Result<(), String>Expand description
Whether a bot name has the shape a GitLab username takes, or why not.
The name is a service account’s username on one path, so it holds to
that shape everywhere: a letter or a digit, then letters, digits, .,
_, or -. The shape also keeps a quote or a backslash out of the
literal patterns the setup scripts match the name with. Empty takes the
forge’s default.
§Errors
The refusal text, naming the key and the shape.