The development loop
Most work follows the same cycle. Write your semantic layer.lightdash generate writes a starting schema.yml for each model with an entry per column, so you edit rather than author from scratch. lightdash compile builds your project locally to confirm the YAML resolves.
Check your work before it ships. lightdash preview spins up a temporary project from your local changes so you can query real data without touching production. lightdash validate reports content that your changes would break — a chart referencing a field you renamed, for instance — and lightdash lint checks your Lightdash Code files against their schemas.
Ship it. lightdash deploy pushes the compiled project to production. In CI, the same commands run on every pull request — see setting up CI/CD.
Managing content as code
Charts, dashboards, agents, and data apps can round-trip through the CLI as well as the UI.lightdash download pulls them into your repository as files and lightdash upload sends them back, which is how you version content, review it in a pull request, or copy it between projects. See content as code.