`sqruff` is a SQL linter and formatter written in Rust.
- Linting: advanced, configurable SQL linting
- Formatting: automated, configurable formatting
- Speed: fast and efficient
- Portability: easy to integrate into dev workflows
Try it in the browser: https://playground.quary.dev
## Quickstart
### Install (macOS)
```bash
brew install sqruff
```
For other platforms (pip, cargo, binary downloads), see the [installation guide](https://playground.quary.dev/docs/getting-started/installation/).
### Lint a project
```bash
sqruff lint . --dialect postgres
```
### Configure a project
Create a `.sqruff` file in your project root:
```ini
[sqruff]
dialect = postgres
```
Then run without the `--dialect` flag:
```bash
sqruff lint .
```
## Documentation
Full documentation: [playground.quary.dev/docs](https://playground.quary.dev/docs/)
Key entry points:
- [Installation](https://playground.quary.dev/docs/getting-started/installation/)
- [Usage](https://playground.quary.dev/docs/usage/lint/)
- [Configuration](https://playground.quary.dev/docs/usage/configuration/)
- [Rules](https://playground.quary.dev/docs/reference/rules/)
- [CLI reference](https://playground.quary.dev/docs/reference/cli/)