""" CLI argument parser for Clover - A terminal assistant for AI-powered project management """ import argparse import sys def parse_args(): """ Parse command line arguments for Clover CLI """ parser = argparse.ArgumentParser( prog='clover', description='Clover - AI-powered terminal assistant for project management', formatter_class=argparse.RawDescriptionHelpFormatter, epilog=""" Examples: clover /list # List available models clover /init # Initialize project summary clover /timeout 300 # Set timeout to 300 seconds clover /threads 5 # Set thread limit to 5 clover "Write a Python function to calculate factorial" """ ) # Positional argument for general prompts (no leading slash) parser.add_argument('prompt', nargs='?', help='Prompt for AI assistant') # Command arguments (starting with /) - these will be handled differently in interactive mode parser.add_argument('--list', action='store_true', help='List available models on the server') parser.add_argument('--init', action='store_true', help='Initialize project summary file') parser.add_argument('--timeout', type=int, metavar='SECONDS', help='Set timeout duration for AI operations') parser.add_argument('--threads', type=int, metavar='COUNT', help='Set maximum number of threads for concurrent operations') return parser.parse_args() def print_help(): """Print help message""" print("Clover CLI Tool") print("=" * 40) print("Available commands:") print(" --list - List available models on the server") print(" --init - Initialize project summary file") print(" --timeout SECS - Set timeout duration for AI operations") print(" --threads N - Set maximum number of threads for concurrent operations") print("") print("Examples:") print(" clover --list") print(" clover --init") print(" clover --timeout 300") print(" clover --threads 5") print(" clover \"Write a Python function to calculate factorial\"")