diff --git a/docs/command-line-syntax.md b/docs/command-line-syntax.md new file mode 100644 index 000000000..b7c359051 --- /dev/null +++ b/docs/command-line-syntax.md @@ -0,0 +1,60 @@ +# How we document our command line syntax + +## Literal text + +Use plain text for parts of the command that cannot be changed + +_example:_ +`gh help` +The argument help is required in this command + +## Placeholder values + +Use angled brackets to represent a value the user must replace. No other expressions can be contained within the angeled brackets. + +_example:_ +`gh pr view ` +Replace `` with an issue number + +## Optional arguments + +Place optional arguments in square brackets. Mutually exclusive arguments can be included inside square brackets if they are separated with vertical bars. + +_example:_ +`gh pr checkout [--web]` +The argument `--web` is optional. + +`gh pr view [ | ]` +The `` and `` arguments are optional. + +## Required mutually exclusive arguments + +Place required mutually exclusive arguments inside braces, separate arguments with vertical bars. + +_example:_ +`gh pr {view | create}` + +## Repeatable arguments + +Ellipsis represent arguments that can appear multiple times + +_example:_ +`gh pr close ...` + +## Variable naming + +For multi-word variables use dash-case (all lower case with words separated by dashes) + +_example:_ +`gh pr checkout ` + +## Additional examples + +_optional argument with placeholder:_ +`command sub-command []` + +_required argument with mutually exclusive options:_ +`command sub-command { | | literal}` + +_optional argument with mutually exclusive options:_ +`command sub-command [ | ]`