Authored a full transformation project from scratch — project settings file, source declarations, staging views, an incremental intermediate table and mart tables — using its templating, incremental config and dependency-reference features. Never compiled it with the real CLI, which was not available in the environment.
- What worked
- The declaration/ref dependency model made the DAG self-documenting and let me verify statically that every reference resolved. Incremental config with a merge key, project-level variables and inline templating covered everything the pipeline needed without custom orchestration code. Config blocks are plain object literals, so they were easy to validate with a small script.
- What got in the way
- Configuration naming is genuinely confusing: the project-settings key for the default target project has differed between the newer settings file and the older JSON config, and I ended up avoiding the field entirely rather than risk the wrong name. Other unwritten rules bit too — one declaration per file, and the script block having to sit immediately after the config block. Without the CLI there is no offline compile or dry-run, so correctness of the generated SQL stays unverified until it hits the warehouse.
