From 312ed3818a1e80eae2b1cb14ec9fe13ee25a7b39 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sat, 31 Jan 2026 13:13:07 +0000 Subject: [PATCH] Initial upload with CI/CD workflow --- shellhist/cli/__init__.py | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 shellhist/cli/__init__.py diff --git a/shellhist/cli/__init__.py b/shellhist/cli/__init__.py new file mode 100644 index 0000000..068f5fb --- /dev/null +++ b/shellhist/cli/__init__.py @@ -0,0 +1,46 @@ +"""Main CLI module for shell history automation tool.""" + +import click +from rich.console import Console + +from shellhist import __version__ +from shellhist.cli.alias import suggest_aliases_command +from shellhist.cli.export import export_script_command +from shellhist.cli.patterns import patterns_command +from shellhist.cli.search import search_command +from shellhist.cli.time_analysis import analyze_time_command + + +console = Console() + + +@click.group() +@click.version_option(version=__version__, prog_name="shellhist") +@click.option( + "--verbose/--quiet", + "-v/-q", + default=False, + help="Enable verbose output", +) +@click.pass_context +def main(ctx: click.Context, verbose: bool) -> None: + """Shell History Automation Tool - Analyze shell command history to find patterns and suggest automation. + + Commands: + + \b + search Search history with fuzzy matching + patterns Detect repetitive command patterns + suggest-aliases Generate alias suggestions for patterns + analyze-time Analyze time-based command patterns + export-script Export patterns to executable scripts + """ + ctx.ensure_object(dict) + ctx.obj["verbose"] = verbose + + +main.add_command(search_command, "search") +main.add_command(patterns_command, "patterns") +main.add_command(suggest_aliases_command, "suggest-aliases") +main.add_command(analyze_time_command, "analyze-time") +main.add_command(export_script_command, "export-script")