fix(tests): Correct Figma ingest test
This commit is contained in:
99
packages/dss-rules/README.md
Normal file
99
packages/dss-rules/README.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# @dss/rules
|
||||
|
||||
Versioned design system rules for enterprise DSS enforcement.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @dss/rules
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### In Your Project
|
||||
|
||||
```javascript
|
||||
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
|
||||
|
||||
```yaml
|
||||
- name: Validate DSS Rules
|
||||
run: |
|
||||
npx @dss/rules validate src/**/*.tsx --json > dss-report.json
|
||||
```
|
||||
|
||||
### Pre-commit Hook
|
||||
|
||||
```bash
|
||||
#!/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
|
||||
Reference in New Issue
Block a user