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

1"""CLI for gibr.""" 

2 

3import logging 

4 

5import click 

6 

7from gibr.config import GibrConfig 

8from gibr.logger import configure_logger 

9from gibr.trackers.factory import get_tracker 

10 

11from .alias import alias 

12from .create import create 

13from .group import GibrGroup 

14from .issues import issues 

15 

16 

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.") 

27 

28 # Initialize shared config and tracker once 

29 config = GibrConfig().load() 

30 ctx.obj["config"] = config 

31 ctx.obj["tracker"] = get_tracker(config.config) 

32 

33 

34cli.add_command(create) 

35cli.add_command(issues) 

36cli.add_command(alias)