> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genesiscomputing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DBT Building Tools

> Automate dbt project initialization, specialized dbt agent creation, and run workflows to accelerate model delivery.

## **Overview**

### **Tool Name**

```json theme={null}
dbt_building_tools
```

### **Purpose**

DBT Building Tools accelerate dbt development by scaffolding projects, preparing specialized dbt agents, and running work from mission tasks. This enables fast, repeatable patterns for data modeling at scale.

### **Key Features & Functions**

<Steps>
  <Step title="Project initialization" icon="rocket">
    Create standardized dbt project structures and configs.
  </Step>

  <Step title="Specialized agent creation" icon="robot">
    Spin up dbt-focused data agents with the right tool access.
  </Step>

  <Step title="Task-driven execution" icon="list">
    Run dbt tasks from todos to keep work coordinated and auditable.
  </Step>
</Steps>

<Note>
  **Note:** Exact argument names may vary by deployment. The tables below describe typical fields and formats.
</Note>

## **Input Parameters for Each Function**

### **`dbt_building_tools_init_project`**

**Parameters**

| **Name** | **Definition** | **Format** |
| - | - | :-: |
| **project\_name** | Name for the new dbt project. | String |
| **adapter** | Target adapter (e.g., snowflake, bigquery, redshift). | String |
| **target\_schema** | Default schema for models. | String |
| **profiles\_source** | Location/reference to dbt profiles for credentials. | String/JSON |
| **seed\_demo\_data** | If true, populate sample structures or seeds. | Boolean |

### **`dbt_building_tools_create_bot`**

**Parameters**

| **Name** | **Definition** | **Format** |
| - | - | :-: |
| **bot\_name** | Human-friendly name for the dbt agent. | String |
| **available\_tools** | *(Legacy)* Comma-separated tool groups to grant (e.g., dbt\_action, git\_and\_file\_tools, snowflake\_tools). Prefer `default_tool_groups` + `tool_access_mode`/`tool_access_list`; legacy values migrate into durable context defaults. | String |
| **slack\_access\_open** | Whether Slack access is open to all users initially. | Boolean |
| **runner\_id** | Optional runner binding for execution. | String |

### **`dbt_building_tools_run_todo`**

**Parameters**

| **Name** | **Definition** | **Format** |
| - | - | :-: |
| **todo\_id** | The mission todo to execute (drives context). | String |
| **command** | dbt operation to perform (e.g., build, run, test, seed). | String |
| **models** | Optional selector(s). | String or List |
| **vars** | Runtime variables to pass to dbt. | JSON |
| **full\_refresh** | Whether to perform a full refresh for incremental models. | Boolean |

## **Use Cases**

* Initialize a new dbt project for a domain team
* Create a dbt-specialized agent to own model build/test tasks
* Run dbt build/test as part of a mission, tied to todos and dependencies

## **Workflow/How It Works**

1. Initialize project scaffolding for consistent structure.
2. Create a dbt agent with appropriate tool access (dbt\_action, git\_and\_file\_tools, snowflake\_tools).
3. Wire mission todos to dbt runs; record results and artifacts.
4. Iterate with PRs and CI-like patterns using Git Action Tools.

<Tip>
  Store build artifacts and docs so runs stay auditable and easily reproducible.
</Tip>

## **Integration Relevance**

* DBT Action Tools for build/test/compile operations
* Git Action Tools for versioning, diffs, and history
* Project Manager Tools to orchestrate todo execution
* Snowflake Tools for stage access and Snowpark usage when needed

## **Configuration Details**

* Standardize adapter configuration and profiles handling.
* Store run outputs and docs as artifacts for reproducibility.

## **Limitations or Notes**

* Parameter names can differ by implementation. Validate against your environment’s schema before automating.
* Long-running builds should be scheduled with adequate warehouse capacity.

## **Output**

* **Init:** Project scaffolding details (paths, profiles references)
* **Create Data Agent:** Bot id and capabilities summary
* **Run Todo:** Execution log, status, and artifacts (tests, docs, manifests)
