UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

160 lines (154 loc) 4.52 kB
/** * @file Centralized analysis configuration for comprehensive code quality assessment * @description Single responsibility: Provide tuned parameters for all analysis modules * * This configuration module centralizes all analysis parameters, thresholds, and weights * used across the AgentSqripts platform. It implements research-backed defaults while * enabling customization for different project types, team preferences, and quality * standards. The configuration balances sensitivity with practical usability. * * Design rationale: * - Centralized configuration prevents parameter drift across modules * - Research-backed defaults provide good out-of-box experience * - Category-specific configurations enable fine-tuned analysis * - Severity weights enable prioritization of critical issues */ // Analysis Configuration Constants /** * WET (Write Everything Twice) code detection configuration * * Parameter tuning rationale: * - minDuplicateLines: 5 lines balances noise vs meaningful duplication * - minSimilarityThreshold: 0.8 catches semantic similarity while avoiding false positives * - maxVariableDistance: 3 allows for reasonable refactoring scope * - ignoreComments: true focuses on logic duplication rather than documentation * - ignoreWhitespace: true handles formatting variations effectively * - minComplexityScore: 10 avoids flagging trivial duplicated patterns */ const WET_CODE_CONFIG = { minDuplicateLines: 5, minSimilarityThreshold: 0.8, maxVariableDistance: 3, ignoreComments: true, ignoreWhitespace: true, minComplexityScore: 10 }; const UI_CONFIG = { maxInlineStyles: 5, minButtonSize: 44, maxNestingDepth: 4, responsiveBreakpoints: ['sm', 'md', 'lg', 'xl'], contrastRatios: { normal: 4.5, large: 3.0 }, severityWeights: { HIGH: 5, MEDIUM: 3, LOW: 1 } }; const BUG_CONFIG = { severityWeights: { HIGH: 5, MEDIUM: 3, LOW: 1 }, maxEffortHighPriority: 15, maxEffortMediumPriority: 30, defaultExtensions: ['.js', '.ts', '.jsx', '.tsx'], excludePatterns: ['node_modules', '.git', 'dist', 'build', 'coverage'] }; // UI Problem Pattern Constants const UI_PROBLEM_PATTERNS = { 'ambiguous_labels': { effort: 1, impact: 'Significantly improves user clarity and task completion', severity: 'HIGH', category: 'Content' }, 'inconsistent_icons': { effort: 2, impact: 'Enhances visual consistency and brand cohesion', severity: 'MEDIUM', category: 'Visual Design' }, 'excessive_inline_styles': { effort: 2, impact: 'Improves maintainability and performance', severity: 'MEDIUM', category: 'Code Quality' }, 'missing_loading_states': { effort: 1, impact: 'Reduces user confusion during async operations', severity: 'HIGH', category: 'Feedback' }, 'cluttered_layout': { effort: 3, impact: 'Dramatically improves user focus and task completion', severity: 'HIGH', category: 'Layout' }, 'poor_color_contrast': { effort: 1, impact: 'Improves readability and accessibility', severity: 'HIGH', category: 'Visual Design' }, 'inconsistent_spacing': { effort: 2, impact: 'Creates visual harmony and professional appearance', severity: 'MEDIUM', category: 'Layout' }, 'missing_error_handling': { effort: 2, impact: 'Prevents user frustration and provides clear guidance', severity: 'HIGH', category: 'Feedback' }, 'broken_responsive': { effort: 3, impact: 'Ensures usability across all device sizes', severity: 'HIGH', category: 'Responsive' }, 'insufficient_color_contrast': { effort: 1, impact: 'Enhances accessibility and compliance', severity: 'HIGH', category: 'Accessibility' }, 'poor_button_design': { effort: 2, impact: 'Improves user interaction and clarity', severity: 'MEDIUM', category: 'Interaction' }, 'confusing_navigation': { effort: 3, impact: 'Significantly improves user journey and satisfaction', severity: 'HIGH', category: 'Navigation' }, 'inconsistent_typography': { effort: 2, impact: 'Creates professional and cohesive appearance', severity: 'MEDIUM', category: 'Visual Design' }, 'accessibility_violations': { effort: 2, impact: 'Ensures inclusivity and legal compliance', severity: 'HIGH', category: 'Accessibility' } }; module.exports = { WET_CODE_CONFIG, UI_CONFIG, BUG_CONFIG, UI_PROBLEM_PATTERNS };