code: def _add_common_args(parser):
      parser.add_argument(
          "-f",
          "--force",
          action="store_true",
          default=False,
          help="Overwrite existing stage",
      )
      parser.add_argument(
          "-d",
          "--deps",
          action="append",
          default=[],
          help="Declare dependencies for reproducible cmd.",
          metavar="<path>",
      ).complete = completion.FILE
      parser.add_argument(
          "-p",
          "--params",
          action="append",
          default=[],
          help="Declare parameter to use as additional dependency.",
          metavar="[<filename>:]<params_list>",
      ).complete = completion.FILE
      parser.add_argument(
          "-o",
          "--outs",
          action="append",
          default=[],
          help="Declare output file or directory.",
          metavar="<filename>",
      ).complete = completion.FILE
      parser.add_argument(
          "-O",
          "--outs-no-cache",
          action="append",
          default=[],
          help="Declare output file or directory (do not put into DVC cache).",
          metavar="<filename>",
      ).complete = completion.FILE
      parser.add_argument(
          "--outs-persist",
          action="append",
          default=[],
          help="Declare output file or directory that will not be removed upon repro.",
          metavar="<filename>",
      )
      parser.add_argument(
          "--outs-persist-no-cache",
          action="append",
          default=[],
          help=(
              "Declare output file or directory that will not be "
              "removed upon repro (do not put into DVC cache)."
          ),
          metavar="<filename>",
      )
      parser.add_argument(
          "-m",
          "--metrics",
          action="append",
          default=[],
          help="Declare output metrics file.",
          metavar="<path>",
      )
      parser.add_argument(
          "-M",
          "--metrics-no-cache",
          action="append",
          default=[],
          help="Declare output metrics file (do not put into DVC cache).",
          metavar="<path>",
      )
      parser.add_argument(
          "--plots",
          action="append",
          default=[],
          help="Declare output plot file.",
          metavar="<path>",
      )
      parser.add_argument(
          "--plots-no-cache",
          action="append",
          default=[],
          help="Declare output plot file (do not put into DVC cache).",
          metavar="<path>",
      )
      parser.add_argument(
          "-w",
          "--wdir",
          help="Directory within your repo to run your command in.",
          metavar="<path>",
      )
      parser.add_argument(
          "--always-changed",
          action="store_true",
          default=False,
          help="Always consider this DVC-file as changed.",
      )
      parser.add_argument(
          "--desc",
          type=str,
          metavar="<text>",
          help=(
              "User description of the stage (optional). "
              "This doesn't affect any DVC operations."
          ),
      )
      parser.add_argument(
          "--run",
          action="store_true",
          default=False,
          help="Execute the stage after generating it.",
      )
      parser.add_argument(
          "command",
          nargs=argparse.REMAINDER,
          help="Command to execute.",
          metavar="command",
      )
  
imports: import argparse
  import logging
  from contextlib import contextmanager
  from itertools import chain, filterfalse
  from typing import TYPE_CHECKING, Dict, Iterable, List
  from dvc.cli import completion, formatter
  from dvc.cli.command import CmdBase
  from dvc.cli.utils import append_doc_link
  from dvc.log import logger
  from dvc.utils.cli_parse import parse_params
  from dvc.utils.humanize import truncate_text
label_desc: Use image node_id 6 for calling a global function with example usage: _add_common_args(parser) without return types