Skip to content
GitLab

akili scaffold

Generate a starter set of YAML manifest files for a new data product. This command creates a directory with all 6 required manifests pre-populated with sensible defaults and TODO markers.

Terminal window
akili scaffold <product_name>

Arguments:

ArgumentTypeRequiredDescription
product_namestringyesName for the new product (also used as the directory name)

The command will fail if a directory with the given name already exists.

Terminal window
# Scaffold a new product
akili scaffold daily-orders
# Output:
# Scaffolded 'daily-orders' with 6 manifest files
# daily-orders/product.yaml
# daily-orders/inputs.yaml
# daily-orders/output.yaml
# daily-orders/quality.yaml
# daily-orders/serving.yaml
# daily-orders/compute.yaml

The scaffold command creates the following files:

name: "daily-orders"
namespace: default
archetype: batch
description: "TODO: describe your data product"
owner: team-data
domain: default
schedule:
cron: "0 6 * * *"
timezone: UTC
sources:
- name: primary
connection: TODO
resource: TODO
strategy: full
format: parquet
partitioning:
- column: date
type: day
checks:
- name: not_null_id
type: not_null
column: id
severity: critical
- name: row_count_positive
type: custom_sql
query: "SELECT COUNT(*) > 0 AS passed FROM {table}"
severity: warning
targets: []
# - type: lookup
# table: product_lookup
# - type: analytics
engine: duckdb
resources:
memory: 2Gi
cpu: "1"
  1. Scaffold the product: akili scaffold my-product
  2. Edit the manifest files with your product configuration
  3. Validate the manifests: akili validate ./my-product/
  4. Create the product: akili product create --name my-product --namespace default
  5. Deploy: akili product deploy my-product