THE DATA PLATFORMAGENTS CAN READ
One declared model that humans and coding agents can understand, build on, and operate together.
and go
Daana CLI is a declarative data modeling engine.
Define your business entities, relationships, and transformations in YAML. Daana handles consolidation, historization, deduplication, testing, lineage, and change tracking, and runs in your platform - BigQuery, Snowflake, Postgres, DuckDB, or any analytical database. No complex setup, no heavy frameworks.
# Start modeling model: id: "MY_DATA_MODEL" name: "MY_DATA_MODEL" definition: "A comprehensive business data model" description: "Defines entities and relationships" entities: # ... entity definitions relationships: # ... relationship definitions
`daana-cli init` creates project structure
3-Layered
Architecture
Describe your sources, define your business concepts, and declare your metrics. Daana connects the layers and generates the pipelines.
Connected data.
Connected context.
Knowing where a field came from is only part of the picture. Daana connects the data path with definitions at every layer, so humans and agents can understand both how data moves and what it means.
FROM SOURCE TO METRIC
Illustrative example · subscription lifecycleThe account's status after a change. Its contract describes the possible states, including CHURNED.
account_status_changed
new_status
Contract field · STRING · REQUIRED
The subscription's lifecycle state, recorded at the time it changed. The mapping connects the source status to this business definition.
SUBSCRIPTION
subscription_status
Mapped from new_status · effective at the source event time
Monthly churn events: count subscription events that enter the CHURNED state, grouped by the month in which the change happened.
fact_subscription_event
Monthly churn events
Event count · grouped by event month
Every "talk to your data" demo works until the second question. The agent guessed a join, or picked the wrong meaning of active, and nobody can say why the number moved. There was no model to read. Here there is.
- A question lands as a metric definition.
- The business concepts it needs already carry definitions.
- The mappings already say how each one is computed from the source contract.
- The agent builds the answer from that, and every number it shows traces back to the field it came from.
Business question to working prototype in hours, and you can see why the number is what it is.
Understand a metric
Trace a number through its business definition, mapping, and source contract.
Assess a change
Follow the connections to see which business concepts and metrics depend on a source field.
Diagnose a mismatch
Compare the definitions, mappings, and run history to locate what needs correcting.
Less time reconstructing the platform.
More time building and operating it.
WAITLIST
Role
Data Engineer
Analytics Engineer
Platform Lead
Other
Favorite Platform
BigQuery
Snowflake
Postgres
DuckDB
Other