def init_prompts()

in devai-cli/src/devai/commands/prompts.py [0:0]


def init_prompts(force: bool):
    """Initialize a prompts directory with sample templates."""
    # Get the prompts directory from config or default
    prompts_dir = get_prompts_dir()
    
    # Check if directory exists
    if prompts_dir.exists():
        if not force:
            if not click.confirm(f"Directory {prompts_dir} already exists. Initialize anyway?"):
                return
        click.echo(f"Initializing existing directory: {prompts_dir}")
    else:
        click.echo(f"Creating new prompts directory: {prompts_dir}")
        prompts_dir.mkdir(parents=True, exist_ok=True)
    
    # Create basic directory structure
    categories = ['security', 'testing', 'performance', 'documentation']
    for category in categories:
        (prompts_dir / category).mkdir(exist_ok=True)
    
    # Create a sample template
    sample_template = {
        'metadata': {
            'name': 'Web Security Review',
            'description': 'Review web application security best practices',
            'version': '1.0',
            'category': 'security',
            'subcategory': 'web-security',
            'author': 'DevAI',
            'last_updated': '2024-03-25',
            'tags': ['security', 'web', 'review']
        },
        'configuration': {
            'temperature': 0.7,
            'max_tokens': 1024,
            'output_format': 'markdown'
        },
        'prompt': {
            'system_context': 'You are a security expert reviewing web applications.',
            'instruction': 'Review the following web application code for security vulnerabilities and best practices.',
            'examples': [
                {
                    'input': 'Check this login form for security issues',
                    'output': '1. Missing CSRF token\n2. Password field lacks minimum length requirement\n3. No rate limiting on login attempts'
                }
            ]
        },
        'validation': {
            'required_sections': ['vulnerabilities', 'recommendations'],
            'output_schema': {},
            'quality_checks': []
        }
    }
    
    # Save the sample template
    sample_file = prompts_dir / 'security' / 'web-security.yaml'
    with open(sample_file, 'w') as f:
        yaml.dump(sample_template, f, default_flow_style=False)
    
    click.echo(f"Initialized prompts directory")
    click.echo(f"Created sample template: security/web-security.yaml")
    click.echo("\nYou can now:")
    click.echo("1. Add your own prompt templates to this directory")
    click.echo("2. Override package prompts by creating files with the same names")
    click.echo("3. Use 'devai prompts list' to see all available templates")