Skip to content

Add linter documentation #59

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Jul 15, 2024
Merged
2 changes: 1 addition & 1 deletion docs/guides/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_label: CodeRabbit Commands
description:
CodeRabbit offers various commands that can be invoked as PR comments to
control the review process.
sidebar_position: 3
sidebar_position: 4
---

The following commands are available (invoked as PR comments):
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/delete-account.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Delete CodeRabbit Account
sidebar_label: Delete CodeRabbit Account
# description:
sidebar_position: 3
sidebar_position: 5
---

The guide explains how to delete your CodeRabbit account and all the data
Expand Down
3 changes: 1 addition & 2 deletions docs/guides/ondemand-reports.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: On-demand Reports
sidebar_label: On-demand Reports (Beta)
description:
CodeRabbit offers a way to generate on-demand reports using a simple API request
sidebar_position: 5
sidebar_position: 6
---

```mdx-code-block
Expand Down Expand Up @@ -54,7 +54,6 @@ Sample output:
]
```


:::info

If you get a 401 UNAUTHORIZED error, check if you're passing the right API key in the `x-coderabbitai-api-key` header
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/review-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description:
CodeRabbit offers various customization options to tailor the reviews to your
specific requirements. Customizations can be made using one of the below
options.
sidebar_position: 2
sidebar_position: 3
---

The guide explains how to add custom review instructions for the entire project.
Expand Down
4 changes: 4 additions & 0 deletions docs/guides/tools/_category_.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
label: Tools
position: 2
collapsible: true
collapsed: true
198 changes: 198 additions & 0 deletions docs/guides/tools/biome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
---
title: Biome
sidebar_label: Biome
description: CodeRabbit's guide to Biome.
sidebar_position: 5
---

[Biome](https://biomejs.dev/) is a linter for JavaScript, TypeScript, JSX, TSX, JSON, JSONC, CSS.

## Files

Biome will run on files with the following extensions:

- `.js`
- `.ts`
- `.cjs`
- `.mjs`
- `.d.cts`
- `.d.mts`
- `.jsx`
- `.tsx`
- `.json`
- `.jsonc`
- `.css`

## Configuration

Biome supports the following config files:

- `biome.jsonc`
- `biome.json`

CodeRabbit will use the following settings based on the profile selected if no config file is found:

### Chill

```json
{
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"organizeImports": {
"enabled": false
},
"formatter": {
"enabled": false
},
"linter": {
"enabled": true,
"rules": {
"all": false,
"recommended": true,
"a11y": {
"recommended": false
},
"correctness": {
"useExhaustiveDependencies": "off",
"noInnerDeclarations": "off"
},
"style": {
"recommended": false,
"noArguments": "warn",
"noCommaOperator": "warn",
"noUselessElse": "warn",
"useAsConstAssertion": "off",
"useBlockStatements": "off",
"useConsistentArrayType": "off",
"useDefaultParameterLast": "warn",
"useEnumInitializers": "off",
"useExponentiationOperator": "warn",
"useExportType": "off",
"useFragmentSyntax": "off",
"useImportType": "off",
"useLiteralEnumMembers": "warn",
"useShorthandArrayType": "off",
"noUnusedTemplateLiteral": "off"
},
"complexity": {
"noForEach": "off",
"noExcessiveCognitiveComplexity": {
"level": "off",
"options": {
"maxAllowedComplexity": 25
}
},
"useLiteralKeys": "off",
"useArrowFunction": "off",
"useFlatMap": "off"
},
"suspicious": {
"noArrayIndexKey": "off",
"noExplicitAny": "off",
"noImplicitAnyLet": "off",
"noDoubleEquals": "off"
},
"nursery": {
"all": false
}
}
},
"css": {
"linter": {
"enabled": true
},
"parser": {
"cssModules": true
}
},
"javascript": {
"parser": {
"unsafeParameterDecoratorsEnabled": true
}
}
}
```

### Assertive

```json
{
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"organizeImports": {
"enabled": false
},
"formatter": {
"enabled": false
},
"linter": {
"enabled": true,
"rules": {
"all": false,
"recommended": true,
"a11y": {
"recommended": ""
},
"correctness": {
"useExhaustiveDependencies": "off",
"noInnerDeclarations": "warn"
},
"style": {
"recommended": true,
"noArguments": "warn",
"noCommaOperator": "warn",
"noUselessElse": "warn",
"useAsConstAssertion": "off",
"useBlockStatements": "off",
"useConsistentArrayType": "off",
"useDefaultParameterLast": "warn",
"useEnumInitializers": "off",
"useExponentiationOperator": "warn",
"useExportType": "off",
"useFragmentSyntax": "off",
"useImportType": "off",
"useLiteralEnumMembers": "warn",
"useShorthandArrayType": "off",
"noUnusedTemplateLiteral": "off"
},
"complexity": {
"noForEach": "off",
"noExcessiveCognitiveComplexity": {
"level": "warn",
"options": {
"maxAllowedComplexity": 25
}
},
"useLiteralKeys": "off",
"useArrowFunction": "",
"useFlatMap": ""
},
"suspicious": {
"noArrayIndexKey": "",
"noExplicitAny": "",
"noImplicitAnyLet": "",
"noDoubleEquals": ""
},
"nursery": {
"all": false
}
}
},
"css": {
"linter": {
"enabled": true
},
"parser": {
"cssModules": true
}
},
"javascript": {
"parser": {
"unsafeParameterDecoratorsEnabled": true
}
}
}

```

## Links

- [Biome Configuration](https://biomejs.dev/reference/configuration/)
63 changes: 63 additions & 0 deletions docs/guides/tools/checkov.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: Checkov
sidebar_label: Checkov
description: CodeRabbit's guide to Checkov.
sidebar_position: 2
---

[Checkov](https://www.checkov.io/) is a static code analysis tool for scanning Infrastructure as Code (IaC) files for misconfigurations.

## Files

Checkov will run on files with the following files and extensions:

- `.tf`
- `.yml`
- `.yaml`
- `.json`
- `.template`
- `.bicep`
- `.hcl`
- `bower.json`
- `build.gradle`
- `build.gradle.kts`
- `go.sum`
- `gradle.properties`
- `METADATA`
- `npm-shrinkwrap.json`
- `package.json`
- `package-lock.json`
- `pom.xml`
- `requirements.txt`
- `Dockerfile`
- `.dockerfile`
- `Dockerfile.*`
- `.csproj`
- `yarn.lock`
- `Gemfile`
- `Gemfile.lock`
- `go.mod`
- `paket.dependencies`
- `paket.lock`
- `packages.config`
- `composer.json`
- `composer.lock`

## Configuration

CodeRabbit will include on the following severity levels based on the profile selected:

### Chill

- `HIGH`
- `CRITICAL`

### Assertive

- `MEDIUM`
- `HIGH`
- `CRITICAL`

## Links

- [Checkov All Resource Scans](https://www.checkov.io/5.Policy%20Index/all.html)
22 changes: 22 additions & 0 deletions docs/guides/tools/gitleaks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: Gitleaks
sidebar_label: Gitleaks
description: CodeRabbit's guide to Gitleaks.
sidebar_position: 11
---

[Gitleaks](https://gitleaks.io/) is a secret-scanner.

## Files

Gitleaks will run on all files with the following extensions.

## Configuration

Gitleaks supports the following config files:

- `gitleaks.toml`

## Links

- [Gitleaks Configuration](https://github.com/gitleaks/gitleaks#configuration)
29 changes: 29 additions & 0 deletions docs/guides/tools/golangci-lint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: golangci-lint
sidebar_label: golangci-lint
description: CodeRabbit's guide to golangci-lint.
sidebar_position: 9
---

[golangci-lint](https://golangci-lint.run/) is a fast Go linters runner.

## Files

golangci-lint will run on files with the following extensions:

- `.go`
- `go.mod`

## Configuration

golangci-lint supports the following config files:

- User-defined config file set at `reviews.tools.golangci-lint.config_file` in your project's `.coderabbit.yaml` file or setting the "Review → Tools → golangci-lint → Config File" field in CodeRabbit's settings page.
- `.golangci.yml`
- `.golangci.yaml`
- `.golangci.toml`
- `.golangci.json`

## Links

- [golangci-lint Configuration](https://golangci-lint.run/usage/configuration/)
Loading