|
1 | 1 | # Engramma |
2 | 2 |
|
3 | | -A web-based editor and converter to manage design tokens, visualize them in a tree structure, and export them as CSS variables or JSON format. |
| 3 | +A web-based design tokens editor and converter for building design systems. Create, preview, and export design tokens in standard formats with preview of colors, typography, spacing, and more. |
4 | 4 |
|
5 | 5 |  |
6 | 6 |
|
| 7 | +## Quick start |
| 8 | + |
| 9 | +Open [engramma.dev](https://engramma.dev) and use the menu (top-left): |
| 10 | + |
| 11 | +- **New Project** → start empty, or import your tokens |
| 12 | +- **Export tokens** → copy JSON / CSS / SCSS output |
| 13 | +- **Share URL** → copies a link that contains your current token data (handy for sharing a draft) |
| 14 | + |
| 15 | +### Importing tokens |
| 16 | + |
| 17 | +Menu → **New Project** → Import tab, then paste/upload: |
| 18 | + |
| 19 | +- **JSON (DTCG 2025 specification)**: latest stable specification |
| 20 | +- **JSON (DTCG 2022 draft)**: legacy, less strict format |
| 21 | +- **CSS variables**: paste a `:root { --token-name: ... }` block and import |
| 22 | + |
| 23 | +## What you can model |
| 24 | + |
| 25 | +Engramma supports these token types: |
| 26 | + |
| 27 | +- `color` |
| 28 | +- `dimension` (px/rem) |
| 29 | +- `duration` (ms/s) |
| 30 | +- `number` |
| 31 | +- `fontFamily` |
| 32 | +- `fontWeight` |
| 33 | +- `cubicBezier` |
| 34 | +- `strokeStyle` |
| 35 | +- `border` |
| 36 | +- `shadow` |
| 37 | +- `transition` |
| 38 | +- `typography` |
| 39 | +- `gradient` |
| 40 | + |
| 41 | +## Aliases / references |
| 42 | + |
| 43 | +Aliases enable a flexible, maintainable token system by creating semantic layers. Instead of scattering raw values throughout your tokens, you can: |
| 44 | + |
| 45 | +- **Build semantic themes**: Map abstract properties (like a brand color) to meaningful UI concepts (like "background-primary"), making tokens reusable across products or brands |
| 46 | +- **Support design variations**: Create multiple themes (dark mode, seasonal campaigns, sub-brands, white-label variants) by aliasing to different base values while keeping components unchanged |
| 47 | +- **Reduce duplication**: Share common token values across your system without repeating them |
| 48 | + |
| 49 | +Composite tokens can reference other tokens in their parts (e.g. color in shadow or gradient). |
| 50 | + |
| 51 | +## Export formats |
| 52 | + |
| 53 | +Menu → **Export tokens**: |
| 54 | + |
| 55 | +- **JSON**: DTCG-shaped output (good for storing in git or feeding other tools) |
| 56 | +- **CSS**: CSS custom properties (`--token-name: ...;`) |
| 57 | +- **SCSS**: SCSS variables |
| 58 | + |
| 59 | +If you use aliases, the exporters keep them as references/`var()` where possible instead of flattening everything. |
| 60 | + |
7 | 61 | ## License |
8 | 62 |
|
9 | | -See LICENSE file for details. |
| 63 | +This project is licensed under the [MIT License](./LICENSE). |
0 commit comments