作成日: 2026-02-26 更新日: 2026-02-27 目的: 各dbt品質保証ツールの全チェックルール・フック・テストを説明付きで網羅的にリスト化
目次
- サマリー
- dbt-bouncer (81ルール)
- dbt-checkpoint (62フック)
- dbt-project-evaluator (29テスト)
- dbt-score (18ルール)
- カテゴリ別集計
サマリー
| ツール | 総数 | 取得元 | リポジトリ |
|---|---|---|---|
| dbt-bouncer | 81 | Checkクラス | godatadriven/dbt-bouncer |
| dbt-checkpoint | 62 | フックID | dbt-checkpoint/dbt-checkpoint |
| dbt-project-evaluator | 29 | Factモデル | dbt-labs/dbt-project-evaluator |
| dbt-score | 18 | @ruleデコレータ関数 | PicnicSupermarket/dbt-score |
| 合計 | 190 | - | - |
dbt-bouncer (81ルール)
リポジトリ: https://github.com/godatadriven/dbt-bouncer ドキュメント: https://godatadriven.github.io/dbt-bouncer/
📊 カテゴリ別内訳
- Catalog Checks (カラム): 6ルール
- Manifest - Exposures: 3ルール
- Manifest - Lineage: 3ルール
- Manifest - Macros: 6ルール
- Manifest - Metadata: 1ルール
- Manifest - Models: 36ルール
- Manifest - Seeds: 6ルール
- Manifest - Semantic Models: 1ルール
- Manifest - Snapshots: 2ルール
- Manifest - Sources: 11ルール
- Manifest - Tests: 1ルール
- Manifest - Unit Tests: 3ルール
- Run Results Checks: 2ルール
Catalog Checks - カラム (6ルール)
-
CheckColumnDescriptionPopulated
- カラムに説明が記載されている必要があります。
-
CheckColumnHasSpecifiedTest
- 指定された正規表現パターンに一致するカラムは、指定されたテストを持つ必要があります。
-
CheckColumnNameCompliesToColumnType
- 指定された正規表現の命名パターンを持つカラムは、指定された正規表現パターンまたはデータ型のリストに準拠したデータ型を持つ必要があります。
-
CheckColumnNames
- カラム名は指定された正規表現パターンに一致する必要があります。
-
CheckColumnsAreAllDocumented
- モデルのすべてのカラムは、モデルのプロパティファイル(
.ymlファイル)に含まれている必要があります。
- モデルのすべてのカラムは、モデルのプロパティファイル(
-
CheckColumnsAreDocumentedInPublicModels
- publicモデルのカラムには説明が記載されている必要があります。
Manifest Checks - Exposures (3ルール)
-
CheckExposureBasedOnModel
- エクスポージャーはモデルに依存している必要があります。
-
CheckExposureBasedOnView
- エクスポージャーはビューに基づいていてはいけません。
-
CheckExposureOnNonPublicModels
- エクスポージャーはpublicモデルのみに基づいている必要があります。
Manifest Checks - Lineage (3ルール)
-
CheckLineagePermittedUpstreamModels
- 上流モデルは、指定された
upstream_path_patternに一致するパスを持つ必要があります。
- 上流モデルは、指定された
-
CheckLineageSeedCannotBeUsed
- 指定された
include設定に一致するパスを持つモデルでは、シードを参照できません。
- 指定された
-
CheckLineageSourceCannotBeUsed
- 指定された
include設定に一致するパスを持つモデルでは、ソースを参照できません。
- 指定された
Manifest Checks - Macros (6ルール)
-
CheckMacroArgumentsDescriptionPopulated
- マクロの引数には説明が記載されている必要があります。
-
CheckMacroCodeDoesNotContainRegexpPattern
- マクロの生コードは、指定された正規表現パターンに一致してはいけません。
-
CheckMacroDescriptionPopulated
- マクロには説明が記載されている必要があります。
-
CheckMacroMaxNumberOfLines
- マクロは指定された行数を超えてはいけません。
-
CheckMacroNameMatchesFileName
- マクロ名は、マクロが含まれているファイル名と同じである必要があります。
-
CheckMacroPropertyFileLocation
- マクロのプロパティファイルは、dbtベストプラクティスで提供されているガイダンスに従う必要があります。
Manifest Checks - Metadata (1ルール)
- CheckProjectName
- dbtプロジェクトの名前が指定された正規表現に一致することを強制します。
Manifest Checks - Models (36ルール)
-
CheckModelAccess
- モデルは指定されたアクセス属性を持つ必要があります。dbt 1.7以上が必要です。
-
CheckModelCodeDoesNotContainRegexpPattern
- モデルの生コードは、指定された正規表現パターンに一致してはいけません。
-
CheckModelColumnsHaveMetaKeys
- モデルに定義されたカラムは、
meta設定で指定されたキーを持つ必要があります。
- モデルに定義されたカラムは、
-
CheckModelColumnsHaveTypes
- モデルに定義されたカラムは、
data_typeを宣言する必要があります。
- モデルに定義されたカラムは、
-
CheckModelContractEnforcedForPublicModel
- publicモデルはコントラクトが強制されている必要があります。
-
CheckModelDependsOnMacros
- モデルは指定されたマクロに依存している必要があります。
-
CheckModelDependsOnMultipleSources
- モデルは複数のソースを参照できません。
-
CheckModelDescriptionContainsRegexPattern
- モデルの説明は、指定されたパターンに一致する必要があります。
-
CheckModelDescriptionPopulated
- モデルには説明が記載されている必要があります。
-
CheckModelDirectories
- 指定されたサブディレクトリのみが許可されます。
- CheckModelDocumentationCoverage
- 説明が記載されているモデルの最小パーセンテージを設定します。
- CheckModelDocumentedInSameDirectory
- モデルは、定義されているのと同じディレクトリでドキュメント化されている必要があります(つまり、
.ymlファイルと.sqlファイルが同じディレクトリにあること)。
- CheckModelFileName
- モデルのファイル名はモデル名と一致する必要があります。
- CheckModelGrantPrivilege
- モデルは、指定されたパターンに一致する権限を付与できます。
- CheckModelGrantPrivilegeRequired
- モデルは、指定された権限を付与する必要があります。
- CheckModelHasConstraints
- テーブルモデルとインクリメンタルモデルは、指定された制約タイプが定義されている必要があります。
- CheckModelHasContractsEnforced
- モデルはコントラクトが強制されている必要があります。
- CheckModelHasExposure
- モデルはエクスポージャーを持つ必要があります。
- CheckModelHasMetaKeys
- モデルの
meta設定には、指定されたキーが含まれている必要があります。
- CheckModelHasNoUpstreamDependencies
- モデルに上流の依存関係がない場合を特定します。これはハードコードされたテーブル参照を示している可能性があります。
- CheckModelHasSemiColon
- モデルはセミコロン(
;)で終わってはいけません。
- CheckModelHasTags
- モデルは指定されたタグを持つ必要があります。
- CheckModelHasUniqueTest
- モデルはカラムの一意性テストを持つ必要があります。
- CheckModelHasUnitTests
- モデルは指定された数以上のユニットテストを持つ必要があります。
- CheckModelLatestVersionSpecified
- モデルは最新バージョンを指定する必要があります。
- CheckModelMaxChainedViews
- モデルは、テーブルでない上流の依存関係を指定された数以上持つことができません。
- CheckModelMaxFanout
- モデルは、指定された数以上の下流モデルを持つことができません。
- CheckModelMaxNumberOfLines
- モデルは指定された行数を超えてはいけません。
- CheckModelMaxUpstreamDependencies
- モデルが持つ上流の依存関係の数を制限します。
- CheckModelNames
- モデル名は指定された正規表現パターンに一致する必要があります。
- CheckModelNumberOfGrants
- モデルは指定された数の権限を持つことができます。
- CheckModelPropertyFileLocation
- モデルのプロパティファイルは、dbtベストプラクティスで提供されているガイダンスに従う必要があります。
- CheckModelSchemaName
- モデルのスキーマ名は、指定された正規表現パターンに一致する必要があります。
- CheckModelTestCoverage
- 少なくとも1つのテストを持つモデルの最小パーセンテージを設定します。
- CheckModelVersionAllowed
- 許可されたモデルバージョンのみが許可されます。
- CheckModelVersionPinnedInRef
- バージョン管理されたモデルが存在する場合、モデル参照はバージョンを指定する必要があります。
Manifest Checks - Seeds (6ルール)
-
CheckSeedColumnNames
- シードのカラム名は、指定された正規表現パターンに一致する必要があります。
-
CheckSeedColumnsAreAllDocumented
- シードCSVファイルのすべてのカラムは、シードのプロパティファイル(
.ymlファイル)に含まれている必要があります。
- シードCSVファイルのすべてのカラムは、シードのプロパティファイル(
-
CheckSeedColumnsHaveTypes
- シードに定義されたカラムは、
data_typeを宣言する必要があります。
- シードに定義されたカラムは、
-
CheckSeedDescriptionPopulated
- シードには説明が記載されている必要があります。
-
CheckSeedHasUnitTests
- シードは指定された数以上のユニットテストを持つ必要があります。
-
CheckSeedNames
- シード名は指定された正規表現パターンに一致する必要があります。
Manifest Checks - Semantic Models (1ルール)
- CheckSemanticModelBasedOnNonPublicModels
- セマンティックモデルはpublicモデルのみに基づいている必要があります。
Manifest Checks - Snapshots (2ルール)
-
CheckSnapshotHasTags
- スナップショットは指定されたタグを持つ必要があります。
-
CheckSnapshotNames
- スナップショット名は指定された正規表現パターンに一致する必要があります。
Manifest Checks - Sources (11ルール)
-
CheckSourceColumnsAreAllDocumented
- ソースのすべてのカラムは、ソースのプロパティファイル(
.ymlファイル)に含まれている必要があります。
- ソースのすべてのカラムは、ソースのプロパティファイル(
-
CheckSourceDescriptionPopulated
- ソースには説明が記載されている必要があります。
-
CheckSourceFreshnessPopulated
- ソースにはフレッシュネス設定が記載されている必要があります。
-
CheckSourceHasMetaKeys
- ソースの
meta設定には、指定されたキーが含まれている必要があります。
- ソースの
-
CheckSourceHasTags
- ソースは指定されたタグを持つ必要があります。
-
CheckSourceLoaderPopulated
- ソースにはローダー情報が記載されている必要があります。
-
CheckSourceNames
- ソース名は指定された正規表現パターンに一致する必要があります。
-
CheckSourceNotOrphaned
- ソースは少なくとも1つのモデルで参照されている必要があります。
-
CheckSourcePropertyFileLocation
- ソースのプロパティファイルは、dbtベストプラクティスで提供されているガイダンスに従う必要があります。
-
CheckSourceUsedByModelsInSameDirectory
- ソースは、ソースが定義されているのと同じディレクトリに配置されているモデルからのみ参照できます。
- CheckSourceUsedByOnlyOneModel
- 各ソースは最大1つのモデルでのみ参照できます。
Manifest Checks - Tests (1ルール)
- CheckTestHasTags
- データテストは指定されたタグを持つ必要があります。
Manifest Checks - Unit Tests (3ルール)
-
CheckUnitTestCoverage
- ユニットテストを持つモデルの最小パーセンテージを設定します。
-
CheckUnitTestExpectFormat
- ユニットテストは指定されたフォーマットのみを使用できます。
-
CheckUnitTestGivenFormats
- ユニットテストは指定されたフォーマットのみを使用できます。
Run Results Checks (2ルール)
-
CheckRunResultsMaxExecutionTime
- 各結果は最大実行時間(秒)を持つことができます。
-
CheckRunResultsMaxGigabytesBilled
- 各結果は最大課金ギガバイト数を持つことができます。
dbt-checkpoint (62フック)
リポジトリ: https://github.com/dbt-checkpoint/dbt-checkpoint ドキュメント: HOOKS.md
📊 カテゴリ別内訳
- Column Checks: 3フック
- Database Checks: 1フック
- Exposure Checks: 1フック
- Macro Checks: 3フック
- Model Checks: 23フック
- Script/SQL Checks: 6フック
- Seed Checks: 1フック
- Snapshot Checks: 1フック
- Source Checks: 14フック
- Test Checks: 2フック
- dbt Commands: 7フック
Column Checks (3フック)
-
check-column-desc-are-same
- モデル間でカラムの説明が同じであることをチェックします。
-
check-column-name-contract
- カラム名が命名規則に準拠していることをチェックします。
-
unify-column-description
- すべてのモデルでカラムの説明を統一します。
Database Checks (1フック)
- check-database-casing-consistency
- マニフェストとカタログを比較して、データベースとスキーマが同じ大文字小文字を持つことを確認します。
Exposure Checks (1フック)
- check-exposure-has-meta-keys
- エクスポージャーがメタキーを持つことをチェックします。
Macro Checks (3フック)
-
check-macro-arguments-have-desc
- マクロの引数に説明があることをチェックします。
-
check-macro-has-description
- マクロに説明があることをチェックします。
-
check-macro-has-meta-keys
- マクロがメタキーを持つことをチェックします。
Model Checks (23フック)
-
check-model-columns-have-desc
- モデルのカラムに説明があることをチェックします。
-
check-model-columns-have-meta-keys
- モデルのカラムがmeta部分にキーを持つことをチェックします。
-
check-model-has-all-columns
- モデルがプロパティファイルにすべてのカラムを持つことをチェックします。
-
check-model-has-columns-with-types
- モデルのカラムにデータ型が指定されていることをチェックします。
-
check-model-has-constraints
- モデルに制約が定義されていることをチェックします。
-
check-model-has-contract
- モデルにコントラクトが有効化されていることをチェックします。
-
check-model-has-description
- モデルに説明があることをチェックします。
-
check-model-has-generic-constraints
- モデルに汎用制約が定義されていることをチェックします。
-
check-model-has-labels-keys
- モデルがlabels部分にキーを持つことをチェックします。
-
check-model-has-meta-keys
- モデルがmeta部分にキーを持つことをチェックします。
- check-model-has-properties-file
- モデルがプロパティファイルを持つことをチェックします。
- check-model-has-tests
- モデルが指定された数のテストを持つことをチェックします。
- check-model-has-tests-by-group
- モデルがテストグループから指定された数のテストを持つことをチェックします。
- check-model-has-tests-by-name
- モデルがテスト名による指定された数のテストを持つことをチェックします。
- check-model-has-tests-by-type
- モデルがテストタイプによる指定された数のテストを持つことをチェックします。
- check-model-materialization-by-childs
- 子モデルの閾値に基づいてモデルのマテリアライゼーションをチェックします。
- check-model-name-contract
- モデル名が命名規則に準拠していることをチェックします。
- check-model-parents-and-childs
- モデルが特定の数(最大/最小)の親または子を持つことをチェックします。
- check-model-parents-database
- 親モデルが特定のデータベースを持つことをチェックします。
- check-model-parents-name-prefix
- 親モデル名が特定のプレフィックスを持つことをチェックします。
- check-model-parents-schema
- 親モデルが特定のスキーマを持つことをチェックします。
- check-model-tags
- モデルが有効なタグを持つことをチェックします。
- generate-model-properties-file
- モデルのプロパティファイルを生成します。
Script/SQL Checks (6フック)
-
check-script-has-no-table-name
- スクリプトにテーブル名がないことをチェックします(すべてのテーブルに
source()またはref()マクロを使用していること)。
- スクリプトにテーブル名がないことをチェックします(すべてのテーブルに
-
check-script-ref-and-source
- スクリプトに存在するrefとsourceのみが含まれていることをチェックします。
-
check-script-semicolon
- スクリプトにセミコロンが含まれていないことをチェックします。
-
remove-script-semicolon
- スクリプトの末尾のセミコロンを削除します。
-
replace-script-table-names
- スクリプト内のテーブル名を
source()またはref()マクロに置き換えます。
- スクリプト内のテーブル名を
Seed Checks (1フック)
- check-seed-has-meta-keys
- シードがメタキーを持つことをチェックします。
Snapshot Checks (1フック)
- check-snapshot-has-meta-keys
- スナップショットがメタキーを持つことをチェックします。
Source Checks (14フック)
-
check-source-childs
- ソースが特定の数(最大/最小)の子を持つことをチェックします。
-
check-source-columns-have-desc
- ソースのカラムに説明があることをチェックします。
-
check-source-has-all-columns
- ソースがプロパティファイルにすべてのカラムを持つことをチェックします。
-
check-source-has-description
- ソースに説明があることをチェックします。
-
check-source-has-freshness
- ソースにフレッシュネス設定があることをチェックします。
-
check-source-has-labels-keys
- ソースがlabels部分にキーを持つことをチェックします。
-
check-source-has-loader
- ソースにローダーオプションがあることをチェックします。
-
check-source-has-meta-keys
- ソースがmeta部分にキーを持つことをチェックします。
-
check-source-has-tests
- ソースが指定された数のテストを持つことをチェックします。
-
check-source-has-tests-by-group
- ソースがテストグループから指定された数のテストを持つことをチェックします。
- check-source-has-tests-by-name
- ソースがテスト名による指定された数のテストを持つことをチェックします。
- check-source-has-tests-by-type
- ソースがテストタイプによる指定された数のテストを持つことをチェックします。
- check-source-table-has-description
- ソーステーブルに説明があることをチェックします。
- check-source-tags
- ソースが有効なタグを持つことをチェックします。
- generate-missing-sources
- 欠落しているソースがある場合、このフックがソースを作成しようとします。
Test Checks (2フック)
-
check-test-has-meta-keys
- 単体テストがメタキーを持つことをチェックします。
-
check-test-tags
- テストが有効なタグを持つことをチェックします。
dbt Commands (7フック)
-
dbt-clean
dbt cleanコマンドを実行します。
-
dbt-compile
dbt compileコマンドを実行します。
-
dbt-deps
dbt depsコマンドを実行します。
-
dbt-docs-generate
dbt docs generateコマンドを実行します。
-
dbt-parse
dbt parseコマンドを実行します。
-
dbt-run
dbt runコマンドを実行します。
-
dbt-test
dbt testコマンドを実行します。
dbt-project-evaluator (29テスト)
リポジトリ: https://github.com/dbt-labs/dbt-project-evaluator ドキュメント: https://dbt-labs.github.io/dbt-project-evaluator/
📊 カテゴリ別内訳
- Documentation Tests: 5テスト
- Governance Tests: 3テスト
- Modeling Tests: 11テスト
- Performance Tests: 2テスト
- Source Tests: 5テスト
- Testing Tests: 3テスト
Documentation Tests (5テスト)
-
fct_documentation_coverage
- モデルのドキュメンテーションカバレッジ率を計算します。
-
fct_undocumented_models
- 説明が記載されていないモデルを検出します。
-
fct_undocumented_public_models
- 説明が記載されていないpublicモデルを検出します。
-
fct_undocumented_source_tables
- 説明が記載されていないソーステーブルを検出します。
-
fct_undocumented_sources
- 説明が記載されていないソースを検出します。
Governance Tests (3テスト)
-
fct_exposures_dependent_on_private_models
- publicモデルではなくprivateモデルを参照しているエクスポージャーを検出します。
-
fct_public_models_without_contract
- コントラクトが強制されていないpublicモデルを検出します。
-
fct_model_directories
- 命名規則に基づいて適切なサブディレクトリに配置されていないモデルを検出します。
Modeling Tests (11テスト)
-
fct_chained_views_dependencies
- 複数の上流ビューが連鎖しているモデルを検出します。これはクエリパフォーマンスに影響を与える可能性があります。
-
fct_direct_join_to_source
- モデルとソースの両方を参照しており、ステージングレイヤーをバイパスしているケースを検出します。
-
fct_marts_or_intermediate_dependent_on_source
- マートモデルまたは中間モデルが生のソースを直接参照しているケースを検出します。
-
fct_model_fanout
- 子を持たないモデル(未使用または終端モデルの可能性があるもの)を検出します。
-
fct_model_naming_conventions
- レイヤー規則に基づいて、不適切な(または欠如した)プレフィックスを持つモデルを検出します。
-
fct_multiple_sources_joined
- 複数のソースを参照しており、単一ソースステージングパターンに違反しているモデルを検出します。
-
fct_rejoining_of_upstream_concepts
- 親が子の直接の親であると同時に第2レベルの親でもある親子関係を検出します。
-
fct_root_models
- 直接の親が0のモデルを検出します。これはsource関数またはref関数の欠如が原因である可能性があります。
-
fct_staging_dependent_on_marts_or_intermediate
- ステージングモデルがマートモデルまたは中間モデルに依存しているケース(誤った方向)を検出します。
-
fct_staging_dependent_on_staging
- ステージングレイヤー内のモデルが互いに依存しているケースを検出します。
- fct_exposure_parents_materializations
- エクスポージャーが適切にマテリアライズされたモデル(ビューではなくテーブル)に依存していることをチェックします。
Performance Tests (2テスト)
-
fct_hard_coded_references
- ref()またはsource()を使用せずにハードコードされた参照を持つモデルを検出します。
-
fct_too_many_joins
- 過度な数のJOINを持つモデル(パフォーマンス上の懸念)を検出します。
Source Tests (5テスト)
-
fct_duplicate_sources
- プロジェクト内で複数回定義されているソースを検出します。
-
fct_source_directories
- データソースごとに適切なサブディレクトリに整理されていないソースを検出します。
-
fct_source_fanout
- 複数の直接下流モデルで使用されているソース(高ファンアウト)を検出します。
-
fct_sources_without_freshness
- フレッシュネスチェックが設定されていないソースを検出します。
-
fct_unused_sources
- 子を持たないソース(未使用のソース)を検出します。
Testing Tests (3テスト)
-
fct_missing_primary_key_tests
- 主キーテスト(uniqueとnot_null)が欠落しているモデルを検出します。
-
fct_test_coverage
- モデルのテストカバレッジ率を計算します。
-
fct_test_directories
- 適切なディレクトリに整理されていないテストを検出します。
dbt-score (18ルール)
リポジトリ: https://github.com/PicnicSupermarket/dbt-score ドキュメント: https://dbt-score.picnic.tech/
📊 カテゴリ別内訳
- Model Rules (generic.py): 8ルール
- Snapshot Rules (generic.py): 2ルール
- Seed Rules (generic.py): 3ルール
- Macro Rules (macros.py): 3ルール
- Optimization Rules (generic.py): 1ルール
- Filter Rules (filters.py): 1ルール
Model Rules (8ルール)
-
has_description
- モデルには説明が必要です。
-
columns_have_description
- モデルのすべてのカラムには説明が必要です。
-
has_owner
- モデルには所有者が必要です。
-
sql_has_reasonable_number_of_lines
- モデルのSQLクエリは長すぎてはいけません。
-
has_example_sql
- モデルのドキュメントにはサンプルクエリが必要です。
-
single_pk_defined_at_column_level
- 単一カラムの主キーは、カラム制約として定義する必要があります。
-
single_column_uniqueness_at_column_level
- 単一カラムの一意性テストは、カラムテストとして定義する必要があります。
-
has_uniqueness_test
- モデルには主キーの一意性テストが必要です。
Snapshot Rules (2ルール)
-
snapshot_has_unique_key
- スナップショットには一意キーが必要です。
-
snapshot_has_strategy
- スナップショットにはストラテジーが必要です。
Seed Rules (3ルール)
-
seed_has_description
- シードには説明が必要です。
-
seed_columns_have_description
- シードのすべてのカラムには説明が必要です。
-
seed_has_owner
- シードには所有者が必要です。
Macro Rules (3ルール)
-
macro_has_description
- マクロには説明が必要です。
-
macro_arguments_have_description
- すべてのマクロ引数には説明が必要です。
-
macro_name_follows_naming_convention
- マクロ名はスネークケースの命名規則を使用する必要があります。
Optimization Rules (1ルール)
- has_no_unused_is_incremental
- 非インクリメンタルモデルはis_incremental()を使用してはいけません。
Filter Rules (1ルール)
- is_table
- モデルがテーブルであるかをチェックするフィルタールールです(スコアリングルールではありません)。
カテゴリ別集計
全ツール横断カテゴリ別ルール数
| カテゴリ | dbt-bouncer | dbt-checkpoint | dbt-project-evaluator | dbt-score | 合計 |
|---|---|---|---|---|---|
| モデル | 36 | 23 | 11 | 8 | 78 |
| カラム | 6 | 3 | 0 | 2 | 11 |
| ソース | 11 | 14 | 5 | 0 | 30 |
| マクロ | 6 | 3 | 0 | 3 | 12 |
| テスト | 1 | 2 | 3 | 1 | 7 |
| シード | 6 | 1 | 0 | 3 | 10 |
| スナップショット | 2 | 1 | 0 | 2 | 5 |
| エクスポージャー | 3 | 1 | 1 | 0 | 5 |
| 系譜/DAG | 3 | 0 | 11 | 0 | 14 |
| 実行結果 | 2 | 0 | 0 | 0 | 2 |
| メタデータ | 1 | 0 | 0 | 0 | 1 |
| ユーティリティ | 0 | 7 | 0 | 0 | 7 |
| ガバナンス | 4 | 0 | 3 | 0 | 7 |
| その他 | 0 | 7 | 0 | 1 | 8 |
| 合計 | 81 | 62 | 34* | 20* | 190 |
*注: カテゴリ重複のため合計が異なります
カテゴリ別最強ツール
| カテゴリ | 最強ツール | ルール数 | 特徴 |
|---|---|---|---|
| モデルチェック | dbt-bouncer | 36 | 命名、ドキュメント、アクセス制御、契約等の包括的チェック |
| ソースチェック | dbt-checkpoint | 14 | フレッシュネス、テスト、メタデータの詳細チェック |
| DAG分析 | dbt-project-evaluator | 11 | 系譜、依存関係、レイヤー構造の分析 |
| 自動修正 | dbt-checkpoint | 5 | ソース生成、プロパティファイル生成、SQL整形 |
| スコアリング | dbt-score | 18 | 0-10点での定量評価、進捗追跡 |
取得方法と再現性
データ取得コマンド
dbt-bouncer
find src/dbt_bouncer/checks -name "*.py" -exec grep -h "^class Check" {} \; | wc -l
# 結果: 81dbt-checkpoint
grep "^- id:" .pre-commit-hooks.yaml | wc -l
# 結果: 62dbt-project-evaluator
find models -name "fct_*.sql" | wc -l
# 結果: 29dbt-score
grep -c "@rule" src/dbt_score/rules/*.py
# 結果: 18更新履歴
- 2026-02-27: 各ルールに説明を追加、カテゴリ別に整理、全説明を日本語に翻訳
- 2026-02-26: 初版作成、全190ルールをリスト化
関連ドキュメント: