Paradime Setup and Configuration
Easily set up pre-commit hooks using the app panel or 'paradime pre-commit' command. Run checks on all files or only staged changes in your dbt™️ project
Last updated
Was this helpful?
Was this helpful?
# Auto-update the config to the latest repos' versions by executing "pre-commit autoupdate"
# For more dbt pre-commit hooks check https://docs.paradime.io/app-help/documentation/integrations/code-ide/pre-commit
repos:
# YAML formatting using Prettier
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.1.0
hooks:
- id: prettier
types: [yaml] # Only run on YAML files
additional_dependencies:
- prettier@3.1.0
args: [--write]
# Standard pre-commit hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
name: Trim Trailing Whitespace
description: Removes trailing whitespace from all files
files: ^.*\.(sql|yml|yaml|md)$
- id: end-of-file-fixer
name: Fix End of Files
description: Ensures files end with a newline
files: ^.*\.(sql|yml|yaml|md)$
- id: check-added-large-files
name: Check for Large Files
description: Prevents giant files from being committed
args: ["--maxkb=500"]
# SQL formatting using SQLFluff
- repo: https://github.com/sqlfluff/sqlfluff
rev: 3.3.0
hooks:
- id: sqlfluff-lint
name: SQLFluff Lint
description: Lints SQL files using SQLFluff
files: ^.*\.sql$
additional_dependencies: ["sqlfluff-templater-dbt"]
args: ["--dialect", "bigquery", "--templater", "dbt"]
- id: sqlfluff-fix
name: SQLFluff Fix
description: Auto-fixes SQL files using SQLFluff
files: ^.*\.sql$
additional_dependencies: ["sqlfluff-templater-dbt"]
args: ["--dialect", "bigquery", "--templater", "dbt"]
# dbt™️ specific checks
- repo: https://github.com/dbt-checkpoint/dbt-checkpoint
rev: v2.0.6
hooks:
# Model checks
- id: check-model-has-description
name: Check Model Descriptions
description: Ensures models have descriptons
- id: check-model-has-tests
name: Check Model Tests
description: Ensures models have minimum test coverage
args: ["--test-cnt", "2"]
# Script checks
- id: remove-script-semicolon
name: Remove Script Semicolon
description: Remove semicolons at the end of the script
files: models/.*\.sql$
- id: check-script-has-no-table-name
name: Check Script Table References
description: Ensure only source() or ref() macros are used for table references
files: models/.*\.sql$
- id: check-script-ref-and-source
name: Check Script References
description: Validate all ref() and source() references exist
files: models/.*\.sql$
args: [--manifest, target/manifest.json]
- id: dbt-parse
# Define what files to exclude from all hooks
exclude: |
(?x)^(
target/.*|
logs/.*|
.*/snapshots/.*|
tests/.*_test\.sql|
analysis/.*
)$paradime pre-commitpre-commit installpre-commit uninstallparadime pre-commit
# Review and fix any issues
git commit -m "Your message"git add your_files
paradime pre-commit