Skip to content

Spec Layer v6.0.0

Choose a tag to compare

@sandroleks sandroleks released this 24 Sep 13:51
· 40 commits to main since this release
2230550

Plugin 6.0.0 ships everything merged since 5.1.0 (#59 to #89). It pairs with spec-layer@0.11.0 on npm: pull with npx spec-layer@latest.

This is a major release because every existing document asks to be updated once. EXTRACTOR_VERSION moves from '2' to '3', so a component doc built by 5.1.0 or earlier reads "Rebuild needed", and a foundation doc built by 5.1.0 reads "Update available" with one "New layout" item. The proxy still accepts the prose requests 5.1.0 sends, so a plugin that has not updated keeps generating.

Highlights

Documents

  • Component documents read as authored pages. The component's own Figma description becomes the overview, a Properties table replaces the Configuration section, and empty sections are left out, with the result saying so.
  • AI writing is one structured call per component. When to use and Do and don't answer different questions, and rebuilding a doc written by an earlier version fills in only what is missing.
  • Foundation docs draw number tokens to scale, show text styles as specimens, carry reference names, and get one overview per collection. Effect styles are a new foundation source, with their own row, document and Copy for AI target.
  • Stale docs are explained once, in a banner, and "Update all docs" now rebuilds docs made by an earlier version.

Copy for AI and outputs

  • Components can copy, snapshot and pull as Markdown as well as YAML. Choose the format in Settings, or use spec-layer pull --component-format md.
  • The DTCG output describes itself: a census of what each file holds, a hash of the options that produced it, and a sidecar recording each value's transform and what each alias resolves to. A reference is written only into a file where it resolves, and a token that is also a group is omitted and reported rather than dropped silently.
  • Foundation Context artifacts are stamped with schema 5.1.1, which pins the envelope, diagnostics and statistics. spec-layer.com/schemas serves it.

Publishing

  • Published libraries have a semantic version. Every changed publish is diffed over Figma facts, and the Publish screen proposes the minimum bump, which you can raise but never lower. Token bindings are diffed per variant, and a Version history pane lists what changed.
  • Every doc frame carries a publish pill. Publish refuses a file with nothing in it, and a library can be downloaded as a self-contained agent skill.

Reliability

  • The Library always replies to a refresh, says so when it could not read part of the file, and only one canvas build runs at a time. Publish and Library show only what they actually know.
  • Proxy hardening: one origin, request bodies capped as they stream in, atomic publishes, and a response cache per key.

The full list, including the CLI 0.9.0 to 0.11.0 changes, is in the changelog.

Known limits

  • The manual Figma test matrix in packages/plugin/TESTING.md has no recorded run for this release. Rows 16 to 36 cover the new documents and none has been run, so unit tests are the only evidence for how they draw.
  • The real size and paste behaviour of the DTCG clipboard has not been measured in Figma.
  • The first publish of an existing library from 6.0.0 records one patch version with no listed changes, because the library bundle hashes the new 5.1.1 envelope.
  • An artifact from 5.1.0 still says schema 5.1.0 and validates against the 5.1.0 download, not v5.json. spec-layer pull accepts both.
  • The setup command the plugin copies still passes the pull key on the command line. CLI 0.11.0 can read it from stdin with --key -, but the plugin does not use that yet.