Skip to content

docs: add DESIGN.md for sistent design system#1458

Merged
leecalcote merged 2 commits intomasterfrom
copilot/design-md
May 4, 2026
Merged

docs: add DESIGN.md for sistent design system#1458
leecalcote merged 2 commits intomasterfrom
copilot/design-md

Conversation

@miacycle
Copy link
Copy Markdown
Contributor

Summary

  • add a self-contained DESIGN.md at the project root
  • capture Sistent's light and dark visual system in YAML design tokens and supporting prose
  • include tokens for color, typography, spacing, radii, motion, gradients, shadows, elevation, and representative components

Notes

  • the file was aligned to the actual rendered component styles from the local package output
  • design.md lint reports no errors; remaining warnings reflect existing low-contrast teal/white and ribbon treatments already present in the shipped UI

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 30, 2026 03:37
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the DESIGN.md file, which outlines the 'Sistent' design system, including its visual identity, color palettes, typography, and component specifications for both light and dark modes. The review feedback highlights several opportunities for improvement: consolidating redundant corner radius tokens, replacing hardcoded color and gradient values with defined tokens for better maintainability, and addressing inconsistencies between the stated 8px grid principle and actual padding values. Additionally, a discrepancy was noted between the documentation's description of card effects and the current token definitions.

Comment thread DESIGN.md
Comment on lines +91 to +92
xl: 15px
xxl: 16px
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Having both 15px and 16px as distinct corner radius tokens is likely redundant. In a consistent design system, these would typically be consolidated into a single value (e.g., 16px) to avoid micro-variations that are difficult to distinguish visually.

Comment thread DESIGN.md Outdated
rounded: "{rounded.xs}"
size: 20px
modal-header-light:
backgroundColor: "linear-gradient(90deg, #477E96 0%, #455A64 100%)"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This hardcoded gradient string matches the gradients.tint-light token defined on line 143. Referencing the token directly improves maintainability.

Suggested change
backgroundColor: "linear-gradient(90deg, #477E96 0%, #455A64 100%)"
backgroundColor: "{gradients.tint-light}"

Comment thread DESIGN.md Outdated
height: 52px
padding: 11px 16px
modal-header-dark:
backgroundColor: "linear-gradient(90deg, #28353A 0%, #3D4F57 100%)"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This hardcoded gradient string matches the gradients.tint-dark token defined on line 144. Referencing the token directly improves maintainability.

Suggested change
backgroundColor: "linear-gradient(90deg, #28353A 0%, #3D4F57 100%)"
backgroundColor: "{gradients.tint-dark}"

Comment thread DESIGN.md Outdated
height: 52px
padding: 11px 16px
panel-floating-light:
backgroundColor: "rgba(234, 237, 238, 0.5)"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This hardcoded color value matches the effects.panel-blur-light token defined on line 149. Referencing the token directly improves maintainability.

Suggested change
backgroundColor: "rgba(234, 237, 238, 0.5)"
backgroundColor: "{effects.panel-blur-light}"

Comment thread DESIGN.md Outdated
rounded: "{rounded.lg}"
padding: "{spacing.xl}"
panel-floating-dark:
backgroundColor: "rgba(0, 13, 18, 0.5)"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This hardcoded color value matches the effects.panel-blur-dark token defined on line 150. Referencing the token directly improves maintainability.

Suggested change
backgroundColor: "rgba(0, 13, 18, 0.5)"
backgroundColor: "{effects.panel-blur-dark}"

Comment thread DESIGN.md
Comment on lines +329 to +335
Spacing follows a clear **8px grid**. The most common working values are `16px`, `20px`, and `24px`, with `12px` used for more compact interactive padding and `32px` reserved for larger layout separation.

The system generally prefers compact, information-dense arrangement over expansive marketing whitespace. That said, it avoids feeling cramped by keeping horizontal padding predictable and by separating structural chrome from content with tonal layers instead of large gutters.

- **Buttons and tabs** commonly use `16px` horizontal padding.
- **Modal headers** and action bars land on `11px 16px` and `20px 16px` style rhythms.
- **Panels and cards** stay tidy; they read as tools, not canvas art.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is an inconsistency between the stated design principle and the documented values. While line 329 claims a "clear 8px grid", the prose on line 334 mentions 11px and 20px rhythms, and several component tokens (e.g., lines 177, 235, 253) use off-grid values like 6px, 11px, and 14px. Consider aligning these to the 8px grid or clarifying the exceptions.

Comment thread DESIGN.md

Depth in Sistent is subtle. Most surfaces separate through **tone**, **border**, and **surface step**, not through large shadows. This keeps tables, cards, and forms feeling crisp and controlled.

- **Standard cards** use a very faint radial wash rather than dramatic dropshadow.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The prose states that standard cards use a "very faint radial wash", but the card-standard-light and card-standard-dark component tokens (lines 208-217) do not include the card-wash effect defined on line 148. This creates a discrepancy between the documentation and the token definitions.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a root-level design reference document for Sistent, combining a YAML token set (light/dark foundations + representative component tokens) with prose describing usage guidance and visual principles.

Changes:

  • Introduces DESIGN.md containing a YAML token catalog for colors, typography, spacing, radii, motion, gradients, shadows, elevation, effects, and sample component recipes.
  • Adds narrative sections describing palette intent, typographic hierarchy, layout/spacing rules, elevation usage, shapes, and component guidance (buttons, tabs, inputs, cards/panels).
  • Includes a “Do’s and Don’ts” checklist for consistent application of the system.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread DESIGN.md
---
version: alpha
name: Sistent
description: Open-source dashboard and component-system visual identity with a neutral application shell, teal brand actions, saffron CTAs, and a first-class dark mode.
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The design tokens are currently placed in YAML front matter. On GitHub this renders as plain text (no YAML syntax highlighting), and in some Markdown pipelines front matter is treated as metadata rather than content, which can make the token section harder to consume as documentation. If this file is meant to be read directly in the repo, consider moving the token YAML into a fenced ```yaml block (or duplicating it there) and keeping front matter for page metadata only.

Suggested change
description: Open-source dashboard and component-system visual identity with a neutral application shell, teal brand actions, saffron CTAs, and a first-class dark mode.
description: Open-source dashboard and component-system visual identity with a neutral application shell, teal brand actions, saffron CTAs, and a first-class dark mode.
---
## Design tokens
```yaml

Copilot uses AI. Check for mistakes.
Comment thread DESIGN.md Outdated
Comment on lines +34 to +81
text-h1-bold:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 3.25rem
fontWeight: "700"
lineHeight: 4rem
letterSpacing: -0.02em
text-h2-medium:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 2rem
fontWeight: "500"
lineHeight: 2.5rem
text-h3-medium:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 1.5rem
fontWeight: "500"
lineHeight: 2.25rem
text-b1-regular:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 1rem
fontWeight: "400"
lineHeight: 1.75rem
text-b2-semibold:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 1rem
fontWeight: "600"
lineHeight: 1.75rem
text-b3-regular:
fontFamily: "Open Sans, sans-serif"
fontSize: 0.875rem
fontWeight: "400"
lineHeight: 1.5rem
text-l1-bold:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 0.75rem
fontWeight: "700"
lineHeight: 1rem
letterSpacing: 0.02em
text-l2-regular:
fontFamily: "Open Sans, sans-serif"
fontSize: 0.75rem
fontWeight: "400"
lineHeight: 1.5rem
text-c1-regular:
fontFamily: "Consolas, monospace"
fontSize: 0.75rem
fontWeight: "400"
lineHeight: 1.5rem
text-c2-regular:
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Token naming here (e.g., typography.text-h1-bold, text-b2-semibold) uses kebab-case, but the codebase’s theme typography variants are camelCase (e.g., textH1Bold, textB2SemiBold in src/theme/typography.ts). If these tokens are intended to map to the implemented theme, it would help to either align the names with the actual variant keys or add an explicit mapping section to prevent consumers from using non-existent token names.

Suggested change
text-h1-bold:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 3.25rem
fontWeight: "700"
lineHeight: 4rem
letterSpacing: -0.02em
text-h2-medium:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 2rem
fontWeight: "500"
lineHeight: 2.5rem
text-h3-medium:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 1.5rem
fontWeight: "500"
lineHeight: 2.25rem
text-b1-regular:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 1rem
fontWeight: "400"
lineHeight: 1.75rem
text-b2-semibold:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 1rem
fontWeight: "600"
lineHeight: 1.75rem
text-b3-regular:
fontFamily: "Open Sans, sans-serif"
fontSize: 0.875rem
fontWeight: "400"
lineHeight: 1.5rem
text-l1-bold:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 0.75rem
fontWeight: "700"
lineHeight: 1rem
letterSpacing: 0.02em
text-l2-regular:
fontFamily: "Open Sans, sans-serif"
fontSize: 0.75rem
fontWeight: "400"
lineHeight: 1.5rem
text-c1-regular:
fontFamily: "Consolas, monospace"
fontSize: 0.75rem
fontWeight: "400"
lineHeight: 1.5rem
text-c2-regular:
textH1Bold:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 3.25rem
fontWeight: "700"
lineHeight: 4rem
letterSpacing: -0.02em
textH2Medium:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 2rem
fontWeight: "500"
lineHeight: 2.5rem
textH3Medium:
fontFamily: "Qanelas Soft Regular, Roboto, Helvetica, Arial, sans-serif"
fontSize: 1.5rem
fontWeight: "500"
lineHeight: 2.25rem
textB1Regular:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 1rem
fontWeight: "400"
lineHeight: 1.75rem
textB2SemiBold:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 1rem
fontWeight: "600"
lineHeight: 1.75rem
textB3Regular:
fontFamily: "Open Sans, sans-serif"
fontSize: 0.875rem
fontWeight: "400"
lineHeight: 1.5rem
textL1Bold:
fontFamily: "Qanelas Soft Regular, Open Sans, sans-serif"
fontSize: 0.75rem
fontWeight: "700"
lineHeight: 1rem
letterSpacing: 0.02em
textL2Regular:
fontFamily: "Open Sans, sans-serif"
fontSize: 0.75rem
fontWeight: "400"
lineHeight: 1.5rem
textC1Regular:
fontFamily: "Consolas, monospace"
fontSize: 0.75rem
fontWeight: "400"
lineHeight: 1.5rem
textC2Regular:

Copilot uses AI. Check for mistakes.
@ritzorama
Copy link
Copy Markdown
Contributor

@copilot @gemini-review-assist this design.md file must adhere to the DESIGN.md specification - https://github.com/google-labs-code/design.md

Copy link
Copy Markdown
Contributor

Copilot AI commented May 3, 2026

@copilot @gemini-review-assist this design.md file must adhere to the DESIGN.md specification - https://github.com/google-labs-code/design.md

Updated in c76a423. The file now keeps YAML front matter as the normative token source required by the DESIGN.md spec, and the typography token keys/component references are aligned with Sistent’s implemented theme variant names. Screenshot: N/A — docs-only change.

Copilot AI requested a review from ritzorama May 3, 2026 20:23
@leecalcote leecalcote merged commit 3ebdec4 into master May 4, 2026
3 of 4 checks passed
@leecalcote leecalcote deleted the copilot/design-md branch May 4, 2026 02:25
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.

6 participants