subrepo - Git Submodule Alternative
This is just an example for generating completion for an existing command, https://github.com/ingydotnet/git-subrepo
This git command "clones" an external git repo into a subdirectory of your repo. Later on, upstream changes can be pulled in, and local changes can be pushed back. Simple.
This command is an improvement from git-submodule and git-subtree; two other git commands with similar goals, but various problems.
    --help -h    Show command help (flag)    subrepo  branch [options] [<subrepo>]Create a branch with local subrepo commits since last pull.
Options:
    --all    All subrepos (flag)Parameters:
    subrepo    Subrepo    subrepo  clean [options] [<subrepo>]Remove artifacts created by fetch and branch commands.
Options:
    --all    All subrepos (flag)Parameters:
    subrepo    Subrepo    subrepo  clone [options] <repository> [<subdir>]Add a repository as a subrepo in a subdir of your repository.
Options:
    --branch -b    Upstream branch                                        
    --force -f     reclone (completely replace) an existing subdir. (flag)Parameters:
    repository  *  
    subdir             subrepo  commit <subrepo> [<subreporef>]Add subrepo branch to current history as a single commit.
Parameters:
    subrepo     *  Subrepo    
    subreporef     Subrepo ref    subrepo  fetch [options] [<subrepo>]Fetch the remote/upstream content for a subrepo.
Options:
    --all    All subrepos (flag)Parameters:
    subrepo    Subrepo    subrepo  init [options] <subdir>Turn an existing subdirectory into a subrepo.
Options:
    --remote -r    Specify remote repository
    --branch -b    Upstream branch          Parameters:
    subdir  *      subrepo  pull [options] [<subrepo>]Update the subrepo subdir with the latest upstream changes.
Options:
    --all          All subrepos (flag)      
    --branch -b    Upstream branch          
    --remote -r    Specify remote repository
    --update -u    update                   Parameters:
    subrepo    Subrepo    subrepo  push [options] [<subrepo>]Push a properly merged subrepo branch back upstream.
Options:
    --all          All subrepos (flag)      
    --branch -b    Upstream branch          
    --remote -r    Specify remote repository
    --update -u    update                   Parameters:
    subrepo    Subrepo    subrepo  status [options] [<subrepo>]Get the status of a subrepo.
Options:
    --quiet -q    Just print namesParameters:
    subrepo    Subrepo    subrepo  versiondisplay version information about git-subrepo
    subrepo  helpSame as git help subrepo