Seed
0 0 About
Lesson 01 · Why

Don't guess.
Copy.

A coding agent can edit a Power BI report as text files. It just can't know how Desktop writes each setting. The seed project tells it.
01

Text files, unwritten rules

A Power BI project can be saved as plain text: the model in TMDL files, each page and visual in its own JSON file. That's what lets a coding agent edit a report at all. It can change 28 cards in one pass, where a person would click through each one.

The catch is the formatting. Microsoft documents the file structure, but not every formatting property: its name, where it sits, or how its value is typed. An agent that guesses writes JSON that looks right. Desktop may then ignore it, reset it on the next save, or show nothing at all.

02

Two paddings, one word

A card has two padding settings. One is on the General tab, for the visual's outer frame. The other is on the Visual tab, for the rounded box that holds the value. Both were set to 4 px on every side.

Predict first: does Desktop write the two settings the same way in the file?

setting
show

        
Predict above to compare the files.
guess differences from Desktop 4

None of these details can be worked out from the Format pane. The literal suffix is the clearest case: 4D is a decimal, 4L a whole number, and Desktop picks one per property. The only reliable source is a file Desktop has written.

03

So: show it once

The seed project is a small, separate Power BI project that uses the same theme as the real one. It holds a handful of example visuals and nothing else. Nobody reads it as a report. It's a reference library of settings, each made once by hand in Desktop.

{ } Youset it once Desktopsaves its way The seed filename, place, 4D or 4L The agentcopies it exactly 28 cardsall the same

Order doesn't change what a setting does. But a block copied in Desktop's order means the next Desktop save changes nothing, so the change history stays clean.

04

The rule, in one breath

Never let the agent guess a format. Show it once in the seed, and let it copy what Desktop wrote.

Property names, where they live, 4D or 4L, a selector or none: the seed answers all of these for certain, in one save.

Next: the seed is one of three copies, and each has its own rule.