The quickest path is to install a starter solution from the Marketplace, run the generator, and see real output land in your repository within minutes.
An AI assistant, without putting us in the middle
Roelant Vos
AI is pervasive everywhere, and it can be a huge enabler and time-saver. For us that raised an awkward question, how can we incorporate AI without being a processor of your metadata? ADL is the opposite of ‘send us your data and we’ll store it’: your design metadata stays on your machine, in your repo, and under your control. Adding an AI feature the obvious way -by proxying requests through a server- would have broken this promise.
The app runs entirely in your browser, so we’ve created a new AI Assistant where your browser calls your chosen AI provider with your own API key. The key lives in your browser’s local storage, and is not written into your project folder so it cannot accidentally end up in your git history.
It’s not a marketing gimmick, but a structural property of where the bytes actually flow: your data stays with you and your AI provider. We started with Anthropic, behind a provider abstraction so others can follow.
What you can do with the AI Assistant
The AI Assistant is wired into ADL, not bolted on top - so it can make real changes to your metadata. It’s available everywhere, scoped to what that screen is for. Here are some examples of what you can do:
- Add, rename, or remove Data Objects and columns, draw relationships, and connect objects with mappings. Or skip the clicking entirely: you can prompt Create Landing and Persistent Staging objects for Customer and Membership, with the columns and the mappings between them and the assistant will scaffold the whole approach in one step.
- Tag objects, columns, and mappings with classifications. New classification values get registered centrally so they show up everywhere. Example: Mark every column that looks like PII as Sensitive.
- Create source-to-target mappings, auto-map columns by matching names. The assistant will even create a missing object if your mapping needs one to exist first.
- Author, refine, and test templates live. Ask for improvements for the templates, and immediately see the rendered output against sample metadata. For instance: Add a WHERE clause that filters out soft-deleted rows, and show me what it generates.
- You can also generate a brand new template -including documentation- from a short description, or have the assistant write or refresh the docs for an existing one.
- Not only preview, but actually produce the output for your Data Objects, mappings, or connections by running the code generator. Example: Run generation for the Data Objects.
- Upload useful context as documents. Drop in a DDL script, a CSV or JSON sample, or even an ERD diagram, and ask the assistant to turn it into objects, columns, and relationships.
In short: you describe the outcome, the assistant does the heavy lifting, and you stay in control of the result.
The same assistant shows up scoped to whatever screen you are on. On the Templates page, it works with the templating engines and their documentation:
On the Code Preview page it works with the rendered output, comparing versions and explaining what changed:
It’s the same pattern across screens: a panel on the right, your prompt, structured tool calls, and immediate effect.
This way, the model returns actions, not prose. Instead of asking the AI to return a slightly-different-every-time blob of your data, it calls small, strongly-typed tools such as ‘add a column’, ‘create a mapping’, ‘render this template’. Those tools mutate the in-memory model that the canvas and editors are already bound to, so you watch each change happen live. Additionally, nothing the assistant does touches the disk on its own. The Save is the gate to persist the changes made by the assistant. The model proposes and applies changes in memory; you remain the only one that commits them.
In some cases, bulk or destructive operations ask for confirmation first. These guardrails are not a black box either: each screen’s assistant has a system prompt and toolset you can read and edit, so you can see exactly what’s being told to the model and change it.
How we look at these things
A few things we feel strongly about are of this approach:
- Structured tool calls beat clever prompting. The ‘AI keeps sending different shapes’ problem is not necessarily a prompt issue - it’s often an ‘ask for actions’ problem.
- Privacy as an afterthought is a rewrite; privacy as a constraint is architecture.
- It is your model, your design, your metadata - we just help you activate it faster.
- AI benefits from a combination of stochastic and deterministic approaches - it’s a balance.