Skip to content

feat(schema): Subcomponent.source — Figma node identity (ADR-060)#173

Merged
nathanacurtis merged 3 commits into
release/schema-0.27.0-cli-0.23.0from
060-subcomponent-source-metadata
Jun 27, 2026
Merged

feat(schema): Subcomponent.source — Figma node identity (ADR-060)#173
nathanacurtis merged 3 commits into
release/schema-0.27.0-cli-0.23.0from
060-subcomponent-source-metadata

Conversation

@nathanacurtis

Copy link
Copy Markdown
Member

Summary

  • Adds optional source?: SubcomponentSource to Subcomponent, carrying pageId, nodeId, and nodeType from the originating Figma node
  • Adds and exports SubcomponentSource type
  • Enables reverse-direction tools (spec → Figma writers) to resolve SubcomponentRef entries to Figma nodes without side-channels
  • No version bump — ships within 0.27.0

Gates

  • tsc -p tsconfig.build.json --noEmit — clean
  • validate-schema.sh — 5/5 passed
  • tests/Subcomponent.test-d.ts — clean

Test plan

  • Review packages/schema/types/Subcomponent.tsSubcomponentSource type and updated Subcomponent intersection
  • Review packages/schema/schema/component.schema.json — new SubcomponentSource definition, updated Subcomponent
  • Review packages/schema/tests/Subcomponent.test-d.ts
  • Review packages/schema/CHANGELOG.md entry under [0.27.0]
  • Review site/src/content/docs/schema/subcomponents.md doc update

Closes ADR-060.

🤖 Generated with Claude Code

nathanacurtis and others added 3 commits June 27, 2026 07:52
…elease

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds optional source?: SubcomponentSource to Subcomponent, carrying
pageId/nodeId/nodeType from the originating Figma node. Enables
reverse-direction tools to resolve SubcomponentRef entries to Figma
nodes without side-channels. No version bump — ships within 0.27.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nathanacurtis nathanacurtis force-pushed the 060-subcomponent-source-metadata branch from dde22c7 to fc06ec5 Compare June 27, 2026 11:52
@nathanacurtis nathanacurtis merged commit fd9ec1c into release/schema-0.27.0-cli-0.23.0 Jun 27, 2026
@nathanacurtis nathanacurtis deleted the 060-subcomponent-source-metadata branch June 27, 2026 11:52
nathanacurtis added a commit that referenced this pull request Jul 1, 2026
…li v0.23.0 (#176)

* chore: start @directededges/specs-schema v0.27.0 development

* chore: start @directededges/specs-cli v0.23.0 development

* docs: explain why a second data source is useful

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(config): rename Data Sources page to sources, restructure with field sections

- Rename page title and sidebar label to `sources` (pill style)
- Remove redundant section header; lift subsections to top level
- Add intro prose explaining what sources is and the alias naming model
- Add per-field sections for alias, key, and data with type metadata
- Add bulleted list of scenarios that warrant a second source

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* adr(index): claim 059-border-style

* feat(schema): add strokeDashPattern to Styles (ADR-059) (#171)

* adr(index): claim 059-border-style

* feat(schema): add strokeDashPattern to Styles (ADR-059)

Add StrokeDashPattern { dash, gap } structural type and strokeDashPattern?: StrokeDashPattern | null field to Styles. Presence = dashed stroke; null/absent = solid. Not token-bindable. Bumps schema 0.27.0 → 0.28.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(cli): revert file: dep paths to published version ranges

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(schema): align version and changelog with release/schema-0.27.0 target

Revert premature 0.28.0 bump — strokeDashPattern folds into the active 0.27.0
release. Collapse the duplicate 0.28.0 changelog entry into 0.27.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(schema): correct version references 0.28.0 → 0.27.0 in ADR and types

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(agents): default ADR PR target to existing release branch

accept and create agents now use the active origin/release/* branch directly
rather than constructing a branch name from the ADR semver bump.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(adr): draft ADR-060 — Subcomponent.source for Figma source identity

Add optional source field to Subcomponent carrying pageId/nodeId/nodeType,
enabling reverse-direction tools to resolve SubcomponentRef entries to Figma
nodes without side-channels. MINOR bump (additive, optional field).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(schema): Subcomponent.source — Figma node identity (ADR-060) (#173)

* fix(adr-060): correct semver — no version bump, ships within 0.27.x release

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(schema): add Subcomponent.source for Figma node identity (ADR-060)

Adds optional source?: SubcomponentSource to Subcomponent, carrying
pageId/nodeId/nodeType from the originating Figma node. Enables
reverse-direction tools to resolve SubcomponentRef entries to Figma
nodes without side-channels. No version bump — ships within 0.27.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(adr-060): mark ACCEPTED, update INDEX

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(config): wire up orphaned color/states pages, polish color intro

Both pages existed but weren't registered in the sidebar, making them
undiscoverable. Also rewrites the color page's weak intro and
restructures Options into Default/Values sections with a table.

* docs(site): add "How Specs fits in your workflow" homepage section

Adds a workflow diagram and concise bullets covering the plugin,
fetch/scan/generate, the in-development write bridge, transform, and
analyze.

* release: @directededges/specs-schema v0.27.0

* docs(site): update workflow diagram with prototypes and write-bridge loop

* release: @directededges/specs-cli v0.23.0

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant