> ## 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.

# Configure Static Analysis Linter Tools in BugViper

> Enable or disable ESLint, Ruff, and golangci-lint for BugViper's lint mode. Choose automatic config file detection or specify a config file path.

The Tools page lets you control which static analysis tools BugViper runs when you trigger `@bugviper run lint`. You can enable or disable each tool independently and choose whether BugViper should auto-detect your config file or use a path you specify. Changes here apply globally across all repositories connected to your BugViper account.

## How to Access

<Steps>
  <Step title="Open the BugViper dashboard">
    Sign in to your BugViper account and land on the main dashboard.
  </Step>

  <Step title="Navigate to Tools">
    Click **Tools** in the BugViper sidebar. The Tools configuration page lists all supported linters.
  </Step>

  <Step title="Configure each tool">
    Use the toggle to enable or disable a tool, and select your preferred config file detection method below it.
  </Step>
</Steps>

<Note>
  Changes to tool configuration take effect on the **next lint run**. Any lint run already in progress will complete using the previous settings.
</Note>

## Per-Tool Configuration

<Tabs>
  <Tab title="Ruff (Python)">
    **Ruff** runs on all `.py` files in the PR diff.

    **Enable / Disable**

    Use the toggle on the Ruff card to turn the tool on or off. When disabled, Ruff will not run even if the PR contains Python files.

    **Config File**

    | Option        | Behavior                                                                                        |
    | ------------- | ----------------------------------------------------------------------------------------------- |
    | Auto-detect   | BugViper searches the repository for `ruff.toml` or a `[tool.ruff]` section in `pyproject.toml` |
    | Explicit path | You supply the path to the config file, e.g. `configs/ruff.toml`                                |

    <Tip>
      Auto-detect works for the vast majority of Python projects. Only specify an explicit path if your Ruff config lives somewhere non-standard.
    </Tip>
  </Tab>

  <Tab title="ESLint (JavaScript / TypeScript)">
    **ESLint** runs on all `.js`, `.ts`, `.jsx`, and `.tsx` files in the PR diff.

    **Enable / Disable**

    Use the toggle on the ESLint card to turn the tool on or off. When disabled, ESLint will not run even if the PR contains JavaScript or TypeScript files.

    **Config File**

    | Option        | Behavior                                                                      |
    | ------------- | ----------------------------------------------------------------------------- |
    | Auto-detect   | BugViper searches the repository for `.eslintrc.*` or `eslint.config.*` files |
    | Explicit path | You supply the path to the config file, e.g. `.config/eslint.config.js`       |

    <Tip>
      Auto-detect works for the vast majority of JS/TS projects. Only specify an explicit path if your ESLint config is stored in a non-standard location.
    </Tip>
  </Tab>

  <Tab title="golangci-lint (Go)">
    **golangci-lint** runs on all `.go` files in the PR diff.

    **Enable / Disable**

    Use the toggle on the golangci-lint card to turn the tool on or off. When disabled, golangci-lint will not run even if the PR contains Go files.

    **Config File**

    | Option        | Behavior                                                                                                 |
    | ------------- | -------------------------------------------------------------------------------------------------------- |
    | Auto-detect   | BugViper searches the repository for a `.golangci.yml` file in the root or a recognized config directory |
    | Explicit path | You supply the path to the config file, e.g. `build/.golangci.yml`                                       |

    <Tip>
      Auto-detect works for the vast majority of Go projects. Only specify an explicit path if your golangci-lint config is not at the repository root.
    </Tip>
  </Tab>
</Tabs>

## Tips for a Good Config Setup

* **Disable tools your project doesn't use.** If your repository has no Go files, disable golangci-lint entirely so it never wastes time running on PRs.
* **Commit your linter config files to the repository.** BugViper runs linters against the code checked out at the PR's head commit — if the config file isn't in the repo, the tool falls back to its default rules.
* **Use auto-detect unless you have a reason not to.** Explicitly setting a path is only necessary when your config file lives outside the locations the tool normally checks.

For instructions on triggering a lint run, see the [Static Analysis guide](/guides/static-analysis). For a full list of available bot commands, see the [Bot Commands guide](/guides/bot-commands).
