# Deepscan > DeepScan performs static code analysis that goes beyond ESLint by including data-flow analysis capabilities. This allows inspection of JavaScript code at a semantic level to detect potential errors wi --- # DeepScan Features & Capabilities # Source: https://deepscan.io/features ## Core Features ### Static Code Analysis with Data-Flow DeepScan performs static code analysis that goes beyond ESLint by including data-flow analysis capabilities. This allows inspection of JavaScript code at a semantic level to detect potential errors without executing the code. ### Technology Support The platform supports modern JavaScript development including: - Latest ECMAScript specifications - TypeScript - React and Vue.js frameworks - Astro framework - Node.js environments ### Team Collaboration Dashboard Users can configure teams and add GitHub repositories for continuous analysis. The system provides "an overall picture of your team regarding its quality status, code issues and lines of code" as commits are pushed. **Dashboard Capabilities:** - View team-wide quality metrics - Track code issues across projects - Monitor lines of code statistics - See quality trends over time - Manage team members and permissions ### Issue Tracking Over Time The system automatically merges issues despite code changes, allowing teams to: - Observe when problems were first detected - View fixed issues with corresponding code snippets from that period - Track issue resolution across refactoring - Build historical records of code quality ### Project Grading System DeepScan assigns simple grades ("Poor", "Normal", "Good") based on detected issues and their project impact. This grading mechanism aims to motivate code quality maintenance by providing: - Simple, understandable quality metrics - Clear visibility into project health - Motivation for continuous improvement - Historical grade trends ## Integration Capabilities ### Native GitHub Integration - Automatic repository synchronization - Pull request code review with inline comments - Continuous monitoring as new commits are pushed - Support for private and team projects ### Editor Support - **Visual Studio Code** extension for inline analysis - **IntelliJ** IDE integration for IDE-native analysis ### CI/CD Integration - **SonarQube** server integration for on-premises analysis - **Command-line interface** for automated testing - **GitHub Marketplace** integration for billing - **Jenkins**, **CircleCI**, and other CI/CD platforms ### Enterprise Deployment - Infrastructure deployment for self-hosted analysis - Custom configuration options - Unlimited project support - Dedicated support ## Analysis Capabilities ### Error Detection (200+ Rules) Identifies critical issues that could cause runtime failures: - **Null Pointer Dereference**: Accessing properties on null/undefined values - **Type Mismatches**: Incorrect type usage and coercion errors - **Missing Operations**: Missing returns, awaits, or required statements - **Unreachable Code**: Dead code paths that will never execute - **Regular Expression Issues**: Invalid or problematic regex patterns - **Event Listener Problems**: Improper event handler registration ### Code Quality (80+ Rules) Focuses on maintainability and best practices: - **Dead Code**: Unused variables and unreachable statements - **Constant Conditions**: Always-true or always-false conditions - **Branch Duplication**: Identical logic in different branches - **Loop Inefficiencies**: Suboptimal loop patterns - **Unnecessary Complexity**: Over-engineered code patterns ### React-Specific Rules (50+) Validates React-specific patterns: - Component lifecycle usage - Hook rules and dependencies - JSX prop validation - State management patterns - Functional vs class component issues - **Unique Execution Flow Analysis**: Detects invalid `this` binding in event handlers through execution flow tracking ### Vue.js-Specific Rules (60+) Covers Vue-specific patterns: - Template syntax validation - Reactive property usage - Lifecycle hook compliance - Directive usage patterns - Component composition ### Node.js Rules Addresses Node.js-specific patterns: - `require()` usage patterns - CommonJS exports - Module system issues - Environment-specific APIs ## Standards and Compliance ### CWE Mapping Rules map to **Common Weakness Enumeration (CWE)** standards to address: - **CWE-476**: Null Pointer Dereference - **CWE-628**: Incorrect Function Arguments - **CWE-843**: Type Confusion - And many others related to security and code quality ### Rule Management - All rules enabled by default for comprehensive analysis - Rules can be customized per project configuration - Flexible enabling/disabling based on team preferences - Default configuration optimized for catching real issues ## Data Privacy and Security ### Data Handling - Code analysis performed securely - Historical data retention based on plan - Integration with GitHub's security model - Enterprise options for self-hosted analysis ### Performance DeepScan provides fast analysis with: - Real-time PR feedback - Quick issue resolution (showing fixed code) - Efficient data-flow analysis - Scalable infrastructure for large teams --- **Learn More**: Visit [deepscan.io](https://deepscan.io) for feature details and examples. --- # DeepScan Integration Guide # Source: https://deepscan.io ## Overview DeepScan integrates seamlessly with your development workflow through multiple integration points, from editor plugins to CI/CD pipelines. ## GitHub Integration ### How GitHub Integration Works DeepScan provides native GitHub integration that: - **Automatic Repository Synchronization**: Repositories are automatically synced when added to your team - **Pull Request Code Review**: Inline comments on PRs show detected issues - **Continuous Monitoring**: Analysis runs automatically as new commits are pushed - **Private Repository Support**: Analyze private repositories (Starter plan and above) ### Setting Up GitHub Integration 1. **Connect GitHub Account** - Link your GitHub account to your DeepScan team - Grant DeepScan repository access permissions 2. **Add Repositories** - Navigate to team dashboard - Select repositories to analyze - DeepScan will begin analysis immediately 3. **View PR Feedback** - DeepScan comments on pull requests with detected issues - Issues appear inline with code - Navigate to dashboard for full analysis report 4. **Monitor Team Quality** - Dashboard shows overall quality status - Track code issues across all projects - Monitor lines of code statistics - Observe quality trends over time ## Editor Integration ### Visual Studio Code Extension The official VS Code extension brings DeepScan analysis directly into your editor. **Features**: - Real-time issue detection as you code - Inline error highlighting - Hover tooltips with issue descriptions - Quick fixes and suggestions - Status bar showing project grade - Integration with VS Code's problem panel **Installation**: 1. Open VS Code Extensions marketplace 2. Search for "DeepScan" 3. Install official DeepScan extension 4. Sign in with your DeepScan account 5. Select project to analyze **Available On**: Lite and Starter plans (and higher) ### IntelliJ Integration DeepScan integrates with JetBrains IDEs including IntelliJ IDEA, WebStorm, and PhpStorm. **Features**: - IDE-native inspection integration - Inline issue detection - Problem highlighting in editor - Integration with IDE's inspection framework - Code analysis in run configurations **Setup**: Contact support for IntelliJ integration details and configuration. ## CI/CD Pipeline Integration ### GitHub Actions Integrate DeepScan analysis into your GitHub Actions workflows: **Example Workflow**: ```yaml name: DeepScan Analysis on: [push, pull_request] jobs: deepscan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run DeepScan # Detailed setup instructions available in dashboard run: | # Analysis runs with project configuration ``` **Available**: Included with GitHub integration ### SonarQube Server Integration For organizations using SonarQube: - Deploy DeepScan analysis rules in SonarQube - Integrate with existing SonarQube dashboards - Combine with SonarQube's analysis pipeline - Custom rule integration **Availability**: Enterprise plan ### Command-Line Interface The CLI allows integration with any CI/CD system: **Features**: - Analyze code from command line - Integrate with Jenkins, CircleCI, GitLab CI, etc. - Custom pipeline integration - Automated quality gates - JSON output for parsing **Usage**: ```bash # Analyze project deepscan analyze [options] # Generate report deepscan report --format json # Integration with quality gates deepscan analyze --fail-on-error ``` **Availability**: Enterprise plan ### Jenkins Integration Integrate DeepScan into Jenkins pipelines: **Pipeline Stage Example**: ```groovy stage('DeepScan Analysis') { steps { // DeepScan analysis within Jenkins pipeline // Detailed integration guide available in enterprise docs } } ``` ### CircleCI Integration Add DeepScan to CircleCI workflows: **Configuration**: Available in enterprise documentation ### GitLab CI Integration Integrate with GitLab CI/CD: **Configuration**: Contact support for GitLab CI setup details ## Team Collaboration Dashboard ### Dashboard Features The team collaboration dashboard provides: - **Team Overview**: Overall quality status of team projects - **Code Quality Metrics**: Issues found across projects - **Code Statistics**: Lines of code per project - **Historical Trends**: Quality tracking over time - **Team Member Management**: Manage team access - **Project Configuration**: Configure analysis settings ### Accessing the Dashboard 1. Sign in to your DeepScan account 2. Select your team 3. View dashboard with all projects and metrics 4. Click project to view detailed analysis ### Dashboard Capabilities - **Real-Time Metrics**: Updates as code is analyzed - **Drill-Down Analysis**: Click through to specific issues - **Historical Comparison**: Compare metrics over time - **Export Reports**: Download project reports - **Team Sharing**: Share dashboards with team members ## GitHub Marketplace Integration ### Marketplace Installation DeepScan is available on the GitHub Marketplace: 1. Navigate to GitHub Marketplace 2. Search for "DeepScan" 3. Select plan and billing option 4. GitHub Marketplace handles billing 5. Automatic integration with your GitHub account ### Benefits - Single bill for GitHub services - Automatic invoicing - Simplified account management - Direct GitHub authentication **Availability**: Lite and Starter plans ## Project Configuration ### Configuration File Customize DeepScan analysis through project configuration: **File Location**: `.deepscan.json` or through dashboard settings **Configuration Options**: - Enable/disable specific rules - Set severity thresholds - Exclude files or directories - Configure analysis scope - Set custom quality gates ### Environment-Specific Configuration - Different rules for different environments - Development vs. production analysis - Branch-specific configurations - Scope analysis based on project type ## Enterprise Deployment Options ### Self-Hosted Deployment For organizations requiring on-premises analysis: **Options**: - Docker-based deployment - Kubernetes integration - Private infrastructure setup - Air-gapped environments **Features**: - Complete data privacy - No code sent to cloud services - Custom deployment architecture - Internal CI/CD integration ### Infrastructure Integration - Deploy alongside SonarQube - Integrate with existing CI/CD infrastructure - Custom networking setup - Firewall and proxy compatibility ## Security and Privacy ### Data Handling - Code analysis performed securely - Historical data retention based on plan - Integration with GitHub's security model - Enterprise options for self-hosted analysis ### Permissions and Access Control - Team member permission levels - Repository-level access control - Project-level restrictions - Audit logging for enterprise ## Support and Resources ### Help and Documentation - Online documentation portal - FAQ and troubleshooting guides - Integration tutorials - Code examples ### Support Channels - **Free Plan**: Community support - **Lite/Starter**: Email support - **Enterprise**: Dedicated account manager - **Status Page**: System status monitoring ### Getting Help 1. Check online documentation 2. Search FAQ for your question 3. Contact support with details 4. Enterprise users have dedicated support --- **Learn More**: Visit [deepscan.io](https://deepscan.io) for latest integration information and setup guides. --- # DeepScan Overview # Source: https://deepscan.io DeepScan is a semantic JavaScript analyzer that detects runtime errors and code quality issues using advanced static code analysis with data-flow capabilities. ## What is DeepScan? DeepScan is a **static code analysis service** for JavaScript and TypeScript projects that goes beyond traditional linters like ESLint. It performs **semantic analysis** using data-flow analysis to identify potential runtime errors and quality issues that syntax-based tools typically miss. ### Key Characteristics - **Data-flow Analysis**: Traces how data flows through code to detect issues like null pointer dereferences and type mismatches - **Runtime Error Detection**: Identifies code that might throw exceptions at runtime or cause unintended execution - **Code Quality Analysis**: Focuses on readability, reusability, and refactorability rather than coding conventions - **Semantic Understanding**: Goes beyond style checking to understand what code actually does ## Supported Technologies DeepScan provides analysis for: - **JavaScript** (all modern ECMAScript specifications) - **TypeScript** - **React** (with 50+ framework-specific rules) - **Vue.js** (with 60+ framework-specific rules) - **Node.js** (CommonJS and require() patterns) - **Astro** framework - **Web Standards**: DOM APIs and browser APIs ## Key Differentiators DeepScan is ideal if you are serious about JavaScript code quality. Unlike traditional linters that focus on code style and conventions, DeepScan emphasizes: 1. **Runtime Error Prevention**: Detects actual bugs that could crash code at runtime 2. **Deep Semantic Analysis**: Understands execution flow, type implications, and data dependencies 3. **Reduced False Positives**: Uses impact classification to minimize noise and false alarms 4. **Framework-Aware**: Specialized rules for React, Vue.js, and Node.js patterns ## Core Analysis Categories ### Error Rules (200+ rules) Code which might throw an exception at runtime or cause unintended execution: - Null pointer dereference (NULL_POINTER) - Type mismatches and coercion errors - Missing operators or statements - Unreachable code - Regular expression issues - Event listener problems ### Code Quality Rules (80+ rules) Code which should be more readable, reusable, and refactorable: - Dead code and unused variables - Constant conditions - Identical branch implementations - Loop inefficiencies - Unnecessary complexity ## Standards Alignment DeepScan rules map to **Common Weakness Enumeration (CWE)** standards, addressing vulnerabilities including: - **CWE-476**: Null Pointer Dereference - **CWE-628**: Incorrect Function Arguments - **CWE-843**: Type Confusion - And many others related to security and code quality ## Platform Architecture ### Browser-Based & CI-Integrated DeepScan operates as both: - A **browser-based service** accessible from the web - A **CI/CD-integrated tool** for automated analysis in pipelines ### GitHub Integration - Native GitHub integration with automatic repository synchronization - Pull request code review with inline comments - Continuous monitoring as commits are pushed - Support for both public and private repositories ### Issue Tracking - Automatically tracks issues over time despite code changes - Merges issues intelligently to follow them across refactoring - Displays when issues were first detected - Shows fixed issues with original code snippets ### Project Grading System DeepScan assigns simple project grades based on detected issues and their impact: - **Poor**: Significant code quality issues detected - **Normal**: Acceptable code quality with some issues - **Good**: High code quality with minimal issues This grading mechanism motivates teams to maintain and improve code quality continuously. ## Integration Options ### Editor Plugins - **Visual Studio Code** extension - **IntelliJ** integration ### CI/CD & Infrastructure - **SonarQube** server integration for on-premises analysis - **Command-line interface** for automated testing - **GitHub Marketplace** billing integration - **Enterprise deployment** options ## Team Collaboration DeepScan provides a **Team Collaboration Dashboard** where: - Teams configure their organization and add GitHub repositories - Get "an overall picture of your team regarding its quality status, code issues and lines of code" - Monitor code quality metrics as commits are pushed - Track team-wide quality trends over time - Manage team members and permissions ## User Base DeepScan is trusted by thousands of teams, including notable organizations like **Samsung SDS** and other enterprise companies focused on code quality. --- **Learn More**: Visit [deepscan.io](https://deepscan.io) for more information. --- # DeepScan Pricing and Plans # Source: https://deepscan.io/pricing DeepScan offers flexible pricing plans to support projects of any size, from open source to enterprise. ## Plan Comparison ### Free Plan **Cost**: $0 **Target Users**: Open source projects and individual developers **Features**: - Unlimited public projects - JavaScript/TypeScript analysis - GitHub auto-sync - Code quality grades - 3 months of historical trends - Community support **Ideal For**: Open source projects, learning, evaluating DeepScan --- ### Lite Plan **Cost**: $9 per seat/month **Target Users**: Small teams on GitHub.com **Features**: - Everything in Free plan - 14-day trial period - 1 private project - Team dashboard - VS Code extension - Email support **Ideal For**: Small teams or individual developers with one private project --- ### Starter Plan **Cost**: $19 per seat/month **Target Users**: Teams using GitHub.com **Features**: - Everything in Free plan - Trial access period - 5 private projects - Team dashboard - VS Code extension - Priority email support **Ideal For**: Growing teams with multiple projects --- ### Enterprise Plan **Cost**: Custom pricing **Target Users**: Organizations with self-hosted code infrastructure **Features**: - Infrastructure deployment (self-hosted or on-premises) - Unlimited projects - Developer and DevOps tools - Custom integration options - SonarQube integration - Command-line interface - Dedicated account management - Custom SLA and support **Ideal For**: Large organizations, enterprises with compliance requirements, self-hosted infrastructure ## Billing Details ### Billing Frequency - **Monthly Billing**: Pay per month, cancel anytime - **Annual Billing**: Approximately 16% savings compared to monthly billing - All plans can be upgraded, downgraded, or cancelled anytime through team settings ### Payment Methods - **PayPal**: Accepted for all plans - **GitHub Marketplace**: Direct GitHub Marketplace billing integration - Prorated charges for seat additions/removals mid-month ### Seat-Based Pricing - **Per Seat**: Pricing is per team member seat - **Flexible Scaling**: Add or remove seats as your team grows - **Prorated Billing**: Mid-month changes are prorated automatically ## Feature Comparison Table | Feature | Free | Lite | Starter | Enterprise | |---------|------|------|---------|-----------| | Public Projects | Unlimited | ✓ | ✓ | ✓ | | Private Projects | — | 1 | 5 | Unlimited | | Team Dashboard | — | ✓ | ✓ | ✓ | | VS Code Extension | — | ✓ | ✓ | ✓ | | GitHub Integration | ✓ | ✓ | ✓ | ✓ | | SonarQube Integration | — | — | — | ✓ | | Command-Line Interface | — | — | — | ✓ | | Historical Data | 3 months | Trial + Plan | Trial + Plan | Custom | | Support | Community | Email | Priority Email | Dedicated | | Self-Hosted Option | — | — | — | ✓ | ## Free Plan Advantages The Free plan is fully featured for open source and small projects: - No credit card required - No time limit (permanent free access) - Same analysis engine as paid plans - GitHub integration included - Quality grades and historical trends - Community support Perfect for: - Open source projects - Learning DeepScan features - Evaluating for larger deployment - Individual developers - Small teams testing the platform ## Paid Plan Advantages ### Lite & Starter Plans - Private project support - Team collaboration dashboard - VS Code extension for better developer experience - Email support for faster issue resolution - Trial period to evaluate features ### Enterprise Plan - Self-hosted deployment options - Unlimited projects and team members - Custom integrations (SonarQube, CI/CD) - Command-line tools for automation - Dedicated account management - Custom SLA and support terms - For organizations with: - Large codebases - Multiple teams - Compliance requirements - On-premises infrastructure ## Billing Management ### Team Settings All billing and plan management is handled through team settings: - Change plan tier - Update payment method - Manage team members and seats - View invoices and billing history - Download receipts ### Support - **Free Plan**: Community support through public channels - **Lite & Starter**: Email support during business hours - **Enterprise**: Dedicated account manager with custom SLA ## Try Before You Buy ### Free Plan Trial - No credit card required - Full analysis capabilities - Access to all features for public projects - 3 months of historical data - Permanent free access if you stay with public projects ### Paid Plans Trial - 14-day trial for Lite plan - Access full paid features during trial period - No commitment required - Cancel anytime if not satisfied ## Frequently Asked Questions ### Can I change plans? Yes, you can upgrade, downgrade, or cancel anytime through team settings. Changes take effect immediately, with prorated billing adjustments. ### What about annual billing? Annual billing plans save approximately 16% compared to monthly billing. Choose annual during plan selection. ### Is there a free trial for Starter? Check team settings or contact support for trial eligibility on Starter plans. ### How are seats counted? Each team member who has access to private projects counts as one seat. You only pay for active seats. ### What if my team grows? Add new seats anytime through team settings. Billing is prorated for the remainder of the month. ### Can I use GitHub Marketplace billing? Yes, both Lite and Starter plans support direct GitHub Marketplace billing integration for simplified invoicing. --- **Learn More**: Visit [deepscan.io/pricing](https://deepscan.io/pricing) to select a plan or contact sales for enterprise options. --- # DeepScan Rules and Analysis # Source: https://deepscan.io/docs/rules ## Rule Organization DeepScan organizes analysis rules into two primary categories: ### Error Rules **"Code which might throw an exception at runtime or cause unintended execution"** Error rules detect critical issues that could cause runtime failures. ### Code Quality Rules **"Code which should be more readable, reusable and refactorable"** Code quality rules focus on maintainability and best practices. ## Error Detection Rules (200+) Identifies critical issues that could cause runtime failures: ### Null Reference Issues - **NULL_POINTER**: Null pointer dereference - accessing properties on null/undefined values - Type-related null check failures - Missing null guards before property access ### Type and Coercion Issues - Type mismatches in operations - Implicit type coercion problems - Type confusion and incorrect type usage - Operator type compatibility ### Missing Operations - Missing return statements in functions - Missing await statements for promises - Missing statements in conditionals - Incomplete operation chains ### Control Flow Issues - Unreachable code - Dead code paths - Impossible conditions - Never-executed branches ### Regular Expression Issues - Invalid regex patterns - Problematic regex usage - Regex performance issues - Incorrect regex flags ### Event and Listener Issues - Event listener registration problems - Improper event handler setup - Event cleanup and removal issues - Memory leak potential from listeners ## Code Quality Rules (80+) Focuses on maintainability and code organization: ### Dead Code - Unused variables - Unused imports - Unreachable statements - Dead code branches - Unused function parameters ### Constant Conditions - Always-true conditions - Always-false conditions - Conditions that are always satisfied - Logic errors in conditionals ### Code Duplication - Identical branch implementations - Repeated logic patterns - Copy-paste code issues - Redundant implementations ### Loop Inefficiencies - Unnecessary iterations - Inefficient loop patterns - Loop variable scope issues - Repeated operations inside loops ### Unnecessary Complexity - Over-engineered patterns - Excessive nesting - Convoluted logic - Anti-patterns and code smells ## Framework-Specific Rules ### React Rules (50+) Validates React-specific patterns and best practices: **Component Lifecycle** - Lifecycle method usage - Lifecycle hook ordering - State initialization patterns **Hook Rules** - Hook dependency arrays - Hook usage in conditionals - Hook call ordering - Custom hook patterns **JSX and Props** - Prop type validation - Props usage patterns - JSX syntax correctness - Component composition **State Management** - State immutability patterns - State update patterns - State scope and closure issues **Unique Capability - Execution Flow Analysis** DeepScan uniquely tracks execution flow to detect issues like: - Invalid `this` binding in event handlers - Missing bind() calls - Arrow function usage patterns - Method references in render ### Vue.js Rules (60+) Covers Vue-specific patterns and conventions: **Template Syntax** - Template syntax validation - Directive usage - Event handler binding - Expression evaluation **Reactive Properties** - Reactive property declaration - Property observation patterns - Data binding issues - Computed property usage **Lifecycle Hooks** - Hook availability in composition - Hook ordering - Hook timing issues - Lifecycle consistency **Component Features** - Component registration - Props definition and usage - Event emission patterns - Slot usage and naming ### Node.js Rules Addresses Node.js-specific patterns: **Module System** - `require()` usage patterns - Module loading order - Circular dependency detection - CommonJS vs ESM mixing **CommonJS Exports** - Export pattern consistency - Module.exports usage - Named exports patterns **Runtime Issues** - Environment-specific APIs - Callback patterns - Async/await usage - Error handling in Node.js ## Standards and Compliance ### Common Weakness Enumeration (CWE) Mapping Rules map to CWE standards to address security vulnerabilities and code quality issues: #### Critical Security Issues - **CWE-476**: Null Pointer Dereference - **CWE-628**: Incorrect Function Arguments - **CWE-843**: Type Confusion #### Additional Coverage - **CWE-561**: Dead Code - **CWE-571**: Expression Always True - **CWE-572**: Call to Thread run() Instead of start() - **CWE-573**: Improper Lock Validation - And many others related to code quality and security ## Rule Configuration ### Default Behavior - All rules **enabled by default** for comprehensive analysis - Default configuration optimized for catching real issues - Balanced approach to error rates ### Customization - Rules can be **enabled/disabled per project** - Custom rule configuration via project settings - Team-wide rule policies for enterprise - Flexible severity levels ### Configuration File Support - Project configuration files for rule management - Environment-specific configurations - CI/CD integration with rule sets ## Analysis Execution ### When Analysis Runs - **Pull Requests**: Automatic analysis on PR creation and updates - **Commits**: Continuous analysis as commits are pushed - **On-Demand**: Manual analysis trigger via dashboard or CLI - **Scheduled**: Regular scheduled analysis for enterprise ### Output and Reporting - Issue detection with precise location - Issue severity and impact classification - Code snippets showing problematic code - Suggested fixes and improvements - Historical comparison with previous runs ### Issue Filtering - Filter by rule type - Filter by severity level - Filter by file or component - Search and navigation features ## Best Practices ### Rule Adoption 1. Start with recommended rule set 2. Review rule results in pull requests 3. Adjust rules based on team needs 4. Document custom rule decisions ### False Positive Management - Use impact classification to reduce noise - Suppress specific issues when appropriate - Review configuration regularly - Communicate rule changes to team ### Continuous Improvement - Monitor trend reports over time - Address high-impact issues first - Gradually improve code quality metrics - Use grading system to track progress --- **Learn More**: Visit [deepscan.io/docs/rules](https://deepscan.io/docs/rules) for detailed rule documentation.