Skip to content

Commit 25e14e5

Browse files
ilikescienceclaudedrwpow
authored
Groups and Aliases Specification Updates (#298)
* feat: Complete rewrite of groups specification with advanced features This is a comprehensive update to the groups specification that significantly expands the capabilities of design token groups while maintaining backward compatibility. The changes include: Key Features Added: - Root tokens using reserved `$root` name for base values within groups - Group inheritance via `$extends` property with deep merge semantics - Enhanced group properties including `$deprecated` and expanded `$description` - Clear distinction between tokens (has `$value`) and groups (no `$value`) - Empty groups explicitly permitted with use case justification - Comprehensive error handling and validation requirements Technical Improvements: - Aligned `$extends` with JSON Schema `$ref` semantics for consistency - Detailed processing rules for token resolution order - Type inheritance hierarchy with clear precedence rules - Circular reference detection requirements - Path construction guidelines including `$root` handling Documentation Enhancements: - Extensive examples demonstrating all new features - Migration and compatibility guidance - Implementation guidance for tool developers - Clear rationale for design decisions - Use cases covering simple to complex scenarios Breaking Changes: None - fully backward compatible Migration Path: Existing files work without modification This update positions the specification to support advanced design system workflows while maintaining the simplicity that makes design tokens accessible to all teams. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: Update technical reports with comprehensive alias/reference syntax and enhanced groups specification - Complete rewrite of aliases.md with dual syntax support (curly brace vs JSON Pointer) - Add property-level references for color components, dimensions, and typography - Expand groups.md with root tokens, type inheritance, and $extends functionality - Include detailed examples for chained references and circular reference detection - Add implementation guidance for tool authors and advanced use cases 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Resolve broken local references in technical documentation This commit resolves all but one broken local anchor references in the technical reports that were causing ReSpec linter warnings during the build process. **Cross-file Reference Fixes:** - broken references in `composite-types.md` that were incorrectly pointing to same-file anchors when they should reference other files - Updated references from `[color](#color)` to `[color](types#color)` - Updated references from `[dimension](#dimension)` to `[dimension](types#dimension)` - Fixed `$description` and `$extensions` references to point to `design-token` file - Updated groups references from `[Groups](#groups)` to `[Groups](groups)` **Inter-file Reference Corrections:** - `groups.md`: Fixed `$value`, `$type`, `$extensions` references to `design-token` - `design-token.md`: Fixed `#type-0` to `#type`, updated groups and aliases references - `types.md`: Fixed gradient reference to point to `composite-types#gradient` **Content Cleanup:** - Removed redundant nested `$type` and `$value` structures in JSON examples - Cleaned up color object examples to use proper flat structure - Removed trailing content section in `groups.md` **Build Configuration:** - Added `validate:color` script to package.json for comprehensive validation - Updated main `validate` script to include color validation The issue was identified through systematic analysis of ReSpec linter output which reported "Broken local reference found in document" but didn't specify the exact broken link. All local anchor references were audited against actual heading structures to ensure proper cross-file linking. All references now use the correct relative path format (e.g., `types#anchor`) instead of incorrect same-file format (e.g., `#anchor`) when targeting content in other markdown files. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * clarify circular references and provide examples * Fix invalid dimension Co-authored-by: Drew Powers <drew@pow.rs> * Clarify that $extends (in a group) must not reference a token. Co-authored-by: Drew Powers <drew@pow.rs> * add clarification for referencing arrays and referencing from within arrays * make root token example more self-contained * formatting and tables * add titles to examples * clarify error on circular references * convert bullets to tables * remove editors note explaining $ rationale * bézier -> Bézier for spellcheck * Apply suggestions from code review Add suggested example titles Co-authored-by: Drew Powers <drew@pow.rs> * move explanation from below aside into comments in aside --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Drew Powers <drew@pow.rs>
1 parent eb8aeaa commit 25e14e5

File tree

6 files changed

+1273
-381
lines changed

6 files changed

+1273
-381
lines changed

0 commit comments

Comments
 (0)