> ## Documentation Index
> Fetch the complete documentation index at: https://personal-ce79cb71.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Static Analysis on Pull Requests with BugViper

> Use BugViper's lint mode to run ESLint, Ruff, and golangci-lint on pull requests. Get inline comments on findings and configure which tools run.

BugViper includes a fast lint mode that runs popular static analysis tools without spinning up AI agents. When you trigger a lint run, BugViper inspects the changed files in a PR, picks the right tool for each file type, and posts results as inline comments — giving your team actionable feedback in seconds rather than minutes.

<Note>
  Lint mode is much faster than an AI review. It's ideal for catching style violations, formatting issues, and common code smells early in the review cycle without waiting for a full AI analysis.
</Note>

## Supported Tools

BugViper automatically routes files to the appropriate linter based on their extension.

| Tool          | Language                | File Extensions              |
| ------------- | ----------------------- | ---------------------------- |
| Ruff          | Python                  | `.py`                        |
| ESLint        | JavaScript / TypeScript | `.js`, `.ts`, `.jsx`, `.tsx` |
| golangci-lint | Go                      | `.go`                        |

Files that don't match any of the extensions above are skipped during a lint run.

## Triggering a Lint Run

To start a lint run, post the following comment on any pull request where BugViper is installed:

```
@bugviper run lint
```

BugViper will immediately begin analyzing the PR's changed files. Once the run is complete, it posts:

* **Inline comments** for each lint finding, placed at the relevant line in the diff
* **A summary comment** listing the total number of issues found per tool

<Warning>
  The `@bugviper run lint` command only works on repositories where the BugViper GitHub App is installed. If the bot does not respond, ask your repository admin to install the app.
</Warning>

## What BugViper Posts After a Lint Run

After completing a lint run, BugViper reports results in two places:

<Steps>
  <Step title="Inline diff comments">
    For each issue found, BugViper posts an inline comment at the exact line in the PR diff where the problem was detected. The comment includes the rule name, a description of the violation, and (where available) a suggested fix.
  </Step>

  <Step title="Run summary comment">
    BugViper also posts a top-level PR comment summarizing the overall results — how many issues each tool found and which files were affected. If all tools pass with no findings, BugViper confirms that the PR is clean.
  </Step>
</Steps>

## Configuring Lint Tools

You can enable or disable individual tools and control which config file each tool uses from the **Tools** page in the BugViper dashboard. For example, if your project doesn't use Go, you can disable golangci-lint entirely so it never runs. You can also point each tool to a specific config file if your project uses a non-standard location.

See the [Tools Configuration guide](/guides/tools-config) for step-by-step instructions.
