Coverage for src\gibr\cli\__init__.py: 100%
23 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-20 09:51 +0300
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-20 09:51 +0300
1"""CLI for gibr."""
3import logging
5import click
7from gibr.config import GibrConfig
8from gibr.logger import configure_logger
9from gibr.trackers.factory import get_tracker
11from .alias import alias
12from .create import create
13from .group import GibrGroup
14from .issues import issues
17@click.group(cls=GibrGroup)
18@click.option("--verbose", is_flag=True, help="Turn on verbose logging")
19@click.pass_context
20def cli(ctx, verbose):
21 """GIBR — streamline your git branch creation workflow."""
22 # Configure logging and echo verbose mode
23 configure_logger(verbose)
24 ctx.ensure_object(dict)
25 ctx.obj["verbose"] = verbose
26 logging.debug("Verbose modes enabled.")
28 # Initialize shared config and tracker once
29 config = GibrConfig().load()
30 ctx.obj["config"] = config
31 ctx.obj["tracker"] = get_tracker(config.config)
34cli.add_command(create)
35cli.add_command(issues)
36cli.add_command(alias)