Metadata-Version: 2.4
Name: sarj-sql-lint
Version: 0.1.0
Summary: Custom SQL lint rules for Postgres migrations — sqlfluff + pygrep, pre-commit-friendly.
Project-URL: Homepage, https://github.com/sarj-ai/linting/tree/main/packages/sql
Project-URL: Repository, https://github.com/sarj-ai/linting
Project-URL: Issues, https://github.com/sarj-ai/linting/issues
Author: sarj-ai
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.13
Requires-Dist: sqlfluff>=3.0
Description-Content-Type: text/markdown

# sarj-sql-lint

Custom SQL lint rules for Postgres migrations. AST-based via [sqlfluff](https://sqlfluff.com) for the SARJ101 rule + zero-dependency pygrep regex hooks for migration-hygiene checks. Designed for pre-commit.

```bash
uv tool install sarj-sql-lint
```

## Pre-commit

```yaml
- repo: https://github.com/sarj-ai/linting
  rev: sql-v0.1.0
  hooks:
    - id: sarj-enforce-timestamptz
      files: '\.sql$'
    - id: sarj-ban-postgres-enums
      files: '\.sql$'
    - id: sarj-ban-create-trigger
      files: '\.sql$'
    - id: sarj-prefer-text-over-varchar
      files: '\.sql$'
```

## CLI

```bash
sarj-sql-lint check --rule enforce-timestamptz svcs/db/db/migrations/*.sql
sarj-sql-lint list-rules
```

Diagnostic format is `path:line:col: CODE message` — Ruff-compatible.

Each rule's source under `src/sarj_sql_lint/rules/` carries its own `description` and diagnostic message.
