/** * AI Lint Prompt Engineering */ import type { IssueType } from './types'; export declare const LINT_PROMPT = "Analyze this Jinja2/Django template for issues.\n\nTEMPLATE:\n```jinja\n{{TEMPLATE}}\n```\n\nCheck for:\n\n1. SECURITY\n - XSS vulnerabilities (unescaped user input, |safe on untrusted data)\n - Variables in onclick/onerror/javascript: without escapejs\n - Sensitive data exposure (passwords, tokens, API keys)\n - SQL/command injection patterns\n\n2. PERFORMANCE\n - Heavy filters inside loops (date, filesizeformat)\n - Repeated filter calls on same value (use {% with %})\n - N+1 query patterns (accessing relations in loops)\n\n3. ACCESSIBILITY\n - Images without alt text\n - Forms without labels\n - Missing ARIA attributes on interactive elements\n - Poor heading hierarchy\n\n4. BEST PRACTICES\n - {% for %} without {% empty %}\n - Deeply nested conditionals (>3 levels)\n - Magic numbers/strings (should be variables)\n - Deprecated filter usage\n\nRespond ONLY with valid JSON (no markdown, no explanation):\n{\n \"issues\": [\n {\n \"line\": 1,\n \"type\": \"security|performance|accessibility|best-practice\",\n \"severity\": \"error|warning|suggestion\",\n \"message\": \"Brief description\",\n \"suggestion\": \"How to fix\"\n }\n ]\n}\n\nIf no issues found, return: {\"issues\": []}"; /** * Build prompt with optional category filter */ export declare function buildPrompt(categories?: IssueType[]): string; //# sourceMappingURL=prompt.d.ts.map