In CLI design, how to ask the user for a nested structured input?
Background
I am designing a CLI for a container build tool I am making. It uses Gentoo’s Portage behind the scenes
Question
I want to give the user the ability to specify a custom package repository. The repository must have a name, URI and sync type.
<span style="color:#323232;">custom_repo: {
</span><span style="color:#323232;"> uri: 'https://...',
</span><span style="color:#323232;"> name: 'custom',
</span><span style="color:#323232;"> sync_type: 'git',
</span><span style="color:#323232;">}
</span>
How do I have the user represent this in the CLI? keep in mind, this is not the main input and is optional.
One way is to make this only provide-able via a config file using JSON or another structured data representation. But I want to see if theres a good way to do it in the CLI
What I am thinking of: command --custom-repo uri=‘https://…’,name=custom,sync_type=git --custom-repo … [main input]
Is this the best way of doing this?
Add comment