def command_args(command: CliCommand) -> ArgsList:
    """Given a command, return a list of strings representing the params
    that command takes. This function only returns params assigned to a
    specific command, not those of its parent command.

    e.g. fn("run") -> ["defer", "favor_state", "exclude", ...]
    """
    import dbt.cli.main as cli

    CMD_DICT: Dict[CliCommand, ClickCommand] = {
        CliCommand.BUILD: cli.build,
        CliCommand.CLEAN: cli.clean,
        CliCommand.CLONE: cli.clone,
        CliCommand.COMPILE: cli.compile,
        CliCommand.DOCS_GENERATE: cli.docs_generate,
        CliCommand.DOCS_SERVE: cli.docs_serve,
        CliCommand.DEBUG: cli.debug,
        CliCommand.DEPS: cli.deps,
        CliCommand.INIT: cli.init,
        CliCommand.LIST: cli.list,
        CliCommand.PARSE: cli.parse,
        CliCommand.RUN: cli.run,
        CliCommand.RUN_OPERATION: cli.run_operation,
        CliCommand.SEED: cli.seed,
        CliCommand.SHOW: cli.show,
        CliCommand.SNAPSHOT: cli.snapshot,
        CliCommand.SOURCE_FRESHNESS: cli.freshness,
        CliCommand.TEST: cli.test,
        CliCommand.RETRY: cli.retry,
    }
    click_cmd: Optional[ClickCommand] = CMD_DICT.get(command, None)
    if click_cmd is None:
        raise DbtInternalError(f"No command found for name '{command.name}'")
    return format_params(click_cmd.params)
Given a command, return a list of strings representing the params
    that command takes. This function only returns params assigned to a
    specific command, not those of its parent command.

    e.g. fn("run") -> ["defer", "favor_state", "exclude", ...]
    
core/dbt/cli/flags.py