Ideally, downstream tools can add new commands or options in a configurable or plugable way. And no need to rewrite the whole completion script.
The completion includes bash and zsh.
Metadata Update from @cqi: - Issue set to the milestone: Make shell completion reusable (was: Make bash completion reusable)