Back to Polyscan

How it works

How Polyscan Works

Static analysis meets AI agent. Accurate reviews you can trust.

Problem

Code Quality in the AI Coding Era

AI tools like Copilot and Claude are generating more code than ever. Developers are shipping faster, but who's watching the codebase?

Technical debt accumulates silently. Complex functions, dead code, and duplicated logic slip through PR reviews and pile up over time.

You need a system that autonomously maintains your code. Not just reviewing PRs, but continuously monitoring your entire codebase.

Instruments

Polyscan: Autonomous Code Maintenance

Polyscan doesn't wait for pull requests. It proactively scans your entire codebase on a schedule, finds architectural issues, and reports them before they become critical.

AUDITWeekly to Daily

Code Audit

Scans your entire repository weekly. Identifies complexity hotspots, dead code, duplications, and architectural issues. Creates a GitHub Issue with health score and prioritized recommendations.

PROn Changes

PR Code Review

Automatically reviews pull requests. Catches problems in new code before they're merged. Complements the weekly audit with real-time feedback.

Analyzers

Built on dedicated analyzers per language

Polyscan uses dedicated static analysis engines — pyscn for Python and polyscan for JavaScript/TypeScript, Go, Rust, and C++. They parse the AST to understand your code deeply—not just pattern matching. Complexity and duplicate code cover every language; dead code, dependency, and class design analysis are available for Python and JavaScript/TypeScript today.

01

Language-specific issues

Mutable default arguments and circular imports in Python; unsafe any and unused exports in TypeScript

02

Accurate analysis

AST-based parsing tracks variable scope and function calls precisely

03

Concrete metrics

"Complexity 18" instead of "looks complex". Numbers you can act on

Readings

Example Reviews

Polyscan comment on your PR

High Complexity Function

validate_and_process() has cyclomatic complexity of 18 (threshold: 15). Complex functions are harder to test and more prone to bugs.

SuggestionSplit into validate_schema(), validate_constraints(), and process_validated().

Polyscan comment on your PR

Same code in two places

Lines 45-62 in user.py and lines 23-40 in admin.py contain nearly identical code (87% match).

SuggestionMove the shared logic to utils/validation.py. You won't have to fix the same bug twice.

Agent

How the AI Agent Analyzes Code

Deciding which tool to use next based on results

Unlike simple LLM wrappers, Polyscan's AI agent thinks before acting. It examines results, decides what to investigate next, and calls the right tool—just like a human reviewer.

Example: Analyzing a complex function
  1. 01

    Let me check the complexity first

    pyscn complexity ./src

    utils.py has a function with complexity 18

  2. 02

    Complexity is high. Let me read the code

    read_file("src/utils.py")

    validate_and_process() is 80 lines long

  3. 03

    This looks like duplicated logic. Let me check

    pyscn clones ./src

    Same code exists in admin.py (87% match)

  4. 04

    Found the issues. Time to write suggestions

Review comment generated

validate_and_process() has complexity 18 and duplicates code in admin.py. Extract shared logic to utils/validation.py.

Why this approach?

The AI agent doesn't stop at one analysis. It looks at results, thinks about what else might be wrong, and keeps investigating.

Just like a human code reviewer, it reads code and digs deeper when something looks off.

Static Analysis Tools

CC
Complexity
Measures cyclomatic complexity of functions
DEAD
Dead Code
Finds unused functions, variables, imports
DUP
Code Clones
Detects copy-pasted code blocks
CBO
Coupling
Analyzes dependencies between modules
DEP
Architecture
Visualizes module dependencies and detects circular imports

Security

Your Code is Safe

We understand security concerns. Here's exactly what happens to your code:

01

Processed on premises

Your code is analyzed by a local LLM running in our on-premises environment. It is not sent to external generative AI APIs.

02

Not Stored

We don't store your code. Once the review is generated and posted to GitHub, the code is discarded.

03

GitHub Permissions

Polyscan only requests permissions it needs: read code, write PR comments, create issues for audit reports.

Read our full Privacy Policy

Install

Try It on Your Repository

Install Polyscan and create a PR. See the difference in your first review.

Install Free