What can be documented
Documentation in Grails does not hang off a place: it hangs off a thing. A block always belongs to a concrete entity, and that is what makes a component’s documentation show up next to the component, survive a rename, and disappear if the component is deleted.
The eight
| Entity | Where it comes from | Documented from |
|---|---|---|
| Component | synced from Figma | the component panel, or Docs → Library |
| Token | synced from Figma | the token panel, or Docs → Library |
| Style | synced from Figma | the style panel, or Docs → Library |
| Token collection | synced from Figma | the collection panel |
| Screen | synced from Figma | the screen panel |
| Flow | you create it in Grails | the flow panel |
| Project | exists as long as the team does | Docs |
| Page | you write it | Docs → Pages |
The split that matters: synced and your own
The first five come from Figma, and that decides their lifetime. They appear when someone syncs and disappear when they leave the file. Their documentation follows them: if a component is deleted in Figma, what you wrote about it goes to the trash — and if it comes back, it comes back with its documentation, not blank.
The last three exist because someone decided they should. A flow, the project and a page do not depend on any sync, so their documentation cannot be orphaned.
What is documented and what is synced are not the same
A component brings its name, variants, props and thumbnail from Figma. None of that is documentation — it is the spec, and it updates on its own.
Documentation is what a person knows and the Figma file does not say: why this component exists, when not to use it, what broke the last time someone used it wrong. That is the part that cannot be synced, and the only one that is lost if nobody writes it.
⇢ Documentation blocks — the ten shapes what you write can take, and how to pick between them.