# dbt-sugar audit

## dbt-sugar audit

The `audit` task allows you to get quick statistics about the documentation and testing coverage of your dbt project. It comes in two flavours: project- and model-level. For both flavours we report **documentation coverage** (the percentage of documented vs undocumented columns) and **test coverage** (the percentage of columns with *at least one test* on them). At the project-level we roll up those proportions across models to give you a summary of the state of the project and you can dig in more by running `dbt-sugar audit`  on a specific model.

{% hint style="success" %}
**New in `v0.1.0.`** \
You can now make audit generate placeholders for all your models first so that it is 100% accurate, by adding the `--boostrap` CLI runtime argument.&#x20;

**NOTE:** this has a side effect of generating a potentially large number of file changes and will be slower as calls have to be made to your database's information schema.
{% endhint %}

### project-level audit

You can get a high-level overview of your dbt project's documentation and test coverage. You can get it by running the following command:

```
dbt-sugar audit --syrup jaffle_shop
```

and you should get a report that looks something like this:

```
       ____    __
  ____/ / /_  / /_      _______  ______ _____ ______
 / __  / __ \/ __/_____/ ___/ / / / __ `/ __ `/ ___/
/ /_/ / /_/ / /_/_____(__  ) /_/ / /_/ / /_/ / /
\__,_/_.___/\__/     /____/\__,_/\__, /\__,_/_/
                                /____/

Getting sweetness out of the cupboard 🍬!

[04/11/21 21:48:26] Running audit of dbt project in ./test_dbt_project/jaffle_shop.

    Documentation Coverage

     Model Name   % coverage
 ────────────────────────────
      customers         40.0
         orders         55.6
  stg_customers        100.0
     stg_orders        100.0
   stg_payments          0.0

          Total         40.0

        Test Coverage

     Model Name   % coverage
 ────────────────────────────
      customers         20.0
         orders         33.3
  stg_customers        100.0
     stg_orders        100.0
   stg_payments        100.0

          Total         47.4
```

### model-level audit

While the project-level audit is a quick way to get an overview of the documentation and test coverage quality of your models you may want to drill down on one specific model to get an output **at the column level**. To do so, you run the following command:

```
dbt-sugar audit -m orders --syrup jaffle_shop
```

and you will get a report that looks like this:

```
       ____    __
  ____/ / /_  / /_      _______  ______ _____ ______
 / __  / __ \/ __/_____/ ___/ / / / __ `/ __ `/ ___/
/ /_/ / /_/ / /_/_____(__  ) /_/ / /_/ / /_/ / /
\__,_/_.___/\__/     /____/\__,_/\__, /\__,_/_/
                                /____/

Getting sweetness out of the cupboard 🍬!

[04/11/21 21:51:25] Running audit of model orders.

       Documentation Coverage

  Undocumented Columns   % coverage
 ───────────────────────────────────
  bank_transfer_amount
         coupon_amount
    credit_card_amount
      gift_card_amount

                 Total         55.6

            Test Coverage

      Untested Columns   % coverage
 ───────────────────────────────────
  bank_transfer_amount
         coupon_amount
    credit_card_amount
           customer_id
      gift_card_amount
            order_date

                 Total         33.3
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bitpicky.gitbook.io/dbt-sugar/commands/dbt-sugar-audit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
