CLI

The BoringData CLI is a tool for generating boilerplate code and adding integration/pipelines to your stack.

This document provides a comprehensive overview of all available commands.

Installation

uv tool install git+ssh://[email protected]/boringdata/boringdata-cli.git --python 3.12

Table of Contents

AWS Commands

Commands for managing AWS resources with BoringData.

aws bucket

Create a new S3 bucket configuration with versioning and encryption.

Arguments:

  • bucket-name: Name of the S3 bucket to create (required)

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

aws lambda

Create a new AWS Lambda function with optional triggers.

Arguments:

  • lambda-name: Name of the Lambda function to create (required)

  • --output-folder: Directory where files will be created (default: current directory)

  • --trigger: Comma-separated list of triggers to enable. Options: 'sqs', 'cron'

Example:

Files Created:

aws step-function

Create a new AWS Step Function configuration for orchestration.

Arguments:

  • type: Type of step function to create (required). Options: lambda-dbt

  • --source-name: Name of the source Lambda/ECS task (required for lambda-dbt and ecs-dbt types)

  • --dbt-command: DBT command to execute (default: "run")

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

DBT Commands

Commands for managing dbt projects with BoringData.

dbt init

Initialize a new dbt project with configuration.

Arguments:

  • --output-folder: Directory where files will be created (default: current directory)

  • --target: Target of the project: snowflake or athena (default: snowflake)

Example:

Files Created:

dbt import-source

Import sources and generate corresponding dbt models.

Arguments:

  • --source: Path to the source YAML file or folder <source_name>-schema (required)

  • --output-folder: Directory where files will be created (default: current directory)

  • --schema-name: Name of the DB schema where sources are stored (default: LANDING)

  • --target: Target of the dbt project (snowflake, athena)

Example:

Files Created:

DLT Commands

Commands for managing DLT pipelines with BoringData.

dlt add-source

Add a new DLT source using Lambda function.

Arguments:

  • connector-name: Name of the DLT connector to use (required)

  • --source-name: Name of your source, defaults to connector_name

  • --destination: Destination to use for the lambda (s3 or iceberg) (default: s3)

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

dlt get-schema

Get the destination table schema of the DLT pipeline.

Arguments:

  • source-name: Name of your source (required)

  • --engine: Target typing format: arrow or snowflake (default: arrow)

  • --target: Target output format: yaml or pyiceberg (default: yaml)

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created (for yaml target):

Files Created (for pyiceberg target):

Snowflake Commands

Commands for managing Snowflake resources with BoringData.

snowflake tf-module

Generate a Terraform Snowflake module for database and warehouse management.

Arguments:

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

Project Commands

Commands for managing project-level resources with BoringData.

project init

Initialize a new BoringData project with infrastructure as code.

Arguments:

  • project-type: Type of project to create (required). Options: 'aws', 'aws-snowflake'

  • --local-state: Use local state instead of remote state in S3 (default: remote S3 state)

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

Terragrunt Commands

Commands for managing Terragrunt configurations with BoringData.

terragrunt init

Initialize a new Terragrunt directory by generating the root.hcl file.

Arguments:

  • --local-state: Use local state instead of remote state in S3 (default: False)

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

terragrunt add-module

Add a new Terragrunt module configuration.

Arguments:

  • --module-path: Relative path to the module from --output-folder (required)

  • --output-folder: Directory where terragrunt.hcl file will be created (default: current directory)

Example:

Files Created:

GitHub Commands

Commands for managing GitHub workflows with BoringData.

github init

Initialize GitHub workflows for CI/CD.

Arguments:

  • --template-type: Type of template to use (aws or aws-snowflake) (default: aws)

  • --output-folder: Directory where files will be created (default: current directory)

Example:

Files Created:

Last updated