akili init
Initialize a new data product in the current directory by creating an .akili/ directory with 6 scaffold YAML manifest files. This is the fastest way to start building a data product.
Synopsis
Section titled “Synopsis”akili init [--name <product-name>]Description
Section titled “Description”akili init creates the standard Akili data product directory structure in the current working directory. It generates 6 manifest templates that define every aspect of a data product:
| File | Purpose |
|---|---|
.akili/product.yaml | Product identity, metadata, schedule, tier |
.akili/sources.yaml | Source declarations and connection references |
.akili/transforms.yaml | Transform definitions (SQL or Python) |
.akili/quality.yaml | Quality checks and SLA definitions |
.akili/serving.yaml | Serving intent and materialization config |
.akili/governance.yaml | Classification and access control |
If --name is not provided, the product name defaults to the current directory name.
| Flag | Short | Default | Description |
|---|---|---|---|
--name | current directory name | Product name to use in the manifest |
Examples
Section titled “Examples”# Initialize in the current directory (uses directory name)mkdir daily-orders && cd daily-ordersakili init# Initialized data product 'daily-orders' with 6 manifest files# .akili/product.yaml# .akili/sources.yaml# .akili/transforms.yaml# .akili/quality.yaml# .akili/serving.yaml# .akili/governance.yaml
# Initialize with a custom nameakili init --name customer-segmentationGenerated Manifests
Section titled “Generated Manifests”product.yaml
Section titled “product.yaml”apiVersion: akili/v1kind: DataProductmetadata: name: daily-orders description: "" owner: "" tags: []spec: schedule: "@daily" tier: bronzesources.yaml
Section titled “sources.yaml”apiVersion: akili/v1kind: Sourcessources: []# - name: example_source# connection: my_connection# resource: public.my_tablequality.yaml
Section titled “quality.yaml”apiVersion: akili/v1kind: Qualitychecks: []# - name: not_null_check# type: not_null# column: idsla: freshness: 24h completeness: 0.99serving.yaml
Section titled “serving.yaml”apiVersion: akili/v1kind: Servingintent: analytical# Options: analytical, operational, streamingmaterialization: enabled: falsegovernance.yaml
Section titled “governance.yaml”apiVersion: akili/v1kind: Governanceclassification: internal# Options: public, internal, confidential, restrictedaccess: []# - team: data-engineering# role: ownerBehavior
Section titled “Behavior”- If
.akili/already exists, the command prints a warning and exits without modifying any files. This prevents accidental overwrites of existing manifest work. - The command is idempotent in the sense that running it twice has no effect on the second run.
- No network connection is required.
Workflow
Section titled “Workflow”After initializing, the typical workflow is:
- Edit the manifest files in
.akili/to define your data product - Validate the manifests:
akili validate .akili/ - Create the product on the platform:
akili product create --name daily-orders --namespace sales - Deploy:
akili product deploy daily-orders
Related
Section titled “Related”akili scaffold— creates a new directory with manifests (vs.initwhich works in the current directory)akili validate— validates manifest filesakili product create— registers a product on the platform