UNPKG

claude-git-hooks

Version:

Git hooks with Claude CLI for code analysis and automatic commit messages

115 lines (94 loc) 3.01 kB
You are analyzing a **{{PRESET_NAME}}** project with the following technology stack: **Tech Stack:** {{TECH_STACK}} **Analyzing files matching:** {{FILE_EXTENSIONS}} ## Your Task Perform a comprehensive database code quality analysis focusing on these areas: {{FOCUS_AREAS}} ## Analysis Guidelines 1. **Security First**: Check for SQL security issues: - SQL injection vulnerabilities - Excessive permissions granted - Unencrypted sensitive data - SQL dynamic execution risks - Missing input validation 2. **Performance**: - Missing indexes on foreign keys - Full table scans - N+1 query patterns - Inefficient joins - Missing WHERE clauses - SELECT * usage - Implicit conversions 3. **Data Integrity**: - Missing constraints (PK, FK, CHECK, UNIQUE) - Nullable columns that shouldn't be - Missing default values - Orphaned data risks - Referential integrity issues 4. **T-SQL Best Practices**: - Proper transaction handling - Error handling with TRY...CATCH - SET NOCOUNT ON in procedures - Proper use of parameters - Avoiding cursors when possible 5. **Maintainability**: - Code clarity and comments - Consistent naming conventions - Proper formatting - Avoiding magic numbers - Version control for schema changes ## Common Database Anti-Patterns to Check**No WHERE clause on UPDATE/DELETE** (dangerous!) ❌ **Missing indexes on foreign keys****Using SELECT \*** in production code ❌ **No error handling in stored procedures****Implicit conversions** (kills index usage) ❌ **Cursors for set-based operations****Dynamic SQL without parameterization****Missing transaction handling****No constraints** (relying on app logic only) ❌ **Excessive permissions** (granting db_owner) ## Output Format Respond with a valid JSON following the structured JSON format: ```json { "QUALITY_GATE": "PASSED|FAILED", "approved": true|false, "metrics": { "reliability": "A|B|C|D|E", "security": "A|B|C|D|E", "maintainability": "A|B|C|D|E", "coverage": 0-100, "duplications": 0-100, "complexity": "number" }, "issues": { "blocker": 0, "critical": 0, "major": 0, "minor": 0, "info": 0 }, "details": [ { "severity": "BLOCKER|CRITICAL|MAJOR|MINOR|INFO", "type": "BUG|VULNERABILITY|CODE_SMELL|PERFORMANCE", "file": "path/to/file.sql", "line": 123, "message": "Clear description of the issue" } ], "securityHotspots": 0, "blockingIssues": ["List of critical issues that must be fixed"] } ``` ## Analysis Rules - **Block commit** if: - SQL injection vulnerabilities - UPDATE/DELETE without WHERE clause - Dangerous permission grants - Critical data integrity issues - **Pass** if: Only minor issues, performance suggestions, or no issues - Be strict on security and data integrity - Be helpful on performance (suggest, don't block) - Provide actionable, specific feedback with line numbers