Some checks are pending
DSS Project Analysis / dss-context-update (push) Waiting to run
This reverts commit 9dbd56271e.
@dss/rules
Versioned design system rules for enterprise DSS enforcement.
Installation
npm install @dss/rules
Usage
In Your Project
const rules = require('@dss/rules');
// Load all rules
const allRules = rules.loadRules();
// Get specific category
const colorRules = rules.getRulesByCategory('colors');
// Validate a value
const result = rules.validateValue('colors/no-hardcoded-colors', '#ff0000');
// { valid: false, violations: [...] }
// Get required tokens
const required = rules.getRequiredTokens();
// { colors: ['colors.primary', ...], spacing: [...] }
In CI/CD Pipeline
- name: Validate DSS Rules
run: |
npx @dss/rules validate src/**/*.tsx --json > dss-report.json
Pre-commit Hook
#!/bin/bash
npx @dss/rules validate $(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(tsx?|jsx?|css|scss)$')
Rule Categories
| Category | Description |
|---|---|
colors |
Color token usage, semantic naming, contrast |
spacing |
Spacing scale compliance, consistent values |
typography |
Font size scale, semantic elements |
components |
Component usage, prop requirements |
accessibility |
WCAG 2.1 AA compliance |
Rule Severities
- error: Blocks CI pipeline, must fix
- warning: Advisory, should fix
- info: Suggestion, optional
Version Policy
Rules follow semantic versioning:
- MAJOR: Breaking changes (new errors that may fail existing code)
- MINOR: New rules added as warnings
- PATCH: Bug fixes, documentation
Projects should pin to minor version: @dss/rules@^1.0.0
API Reference
loadRules()
Returns all rule sets organized by category.
getRulesByCategory(category)
Returns rules for a specific category.
getAllRuleIds()
Returns array of all rule IDs in format category/rule-id.
getRule(ruleId)
Returns a specific rule definition.
validateValue(ruleId, value)
Validates a value against rule patterns.
getRequiredTokens()
Returns required tokens organized by category.
getCIConfig()
Returns configuration object for CI pipelines.
License
MIT