54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
|
## Design System
|
||
|
|
||
|
The design system contains dimensions, colors and color modes in Figma. Because the amount of these variables makes it
|
||
|
hard to reflect the changes manually it is a better use of time to automate it.
|
||
|
|
||
|
## AI Automation
|
||
|
|
||
|
The idea is to output the variables into a json and then have AI (i.e. chatgpt) generate kotlin code from it.
|
||
|
|
||
|
## Figma variables into json
|
||
|
|
||
|
Use [Variables Exporter For Dev Mode](https://www.figma.com/community/plugin/1306814436222162088) figma plugin. It
|
||
|
outputs all variables into a simple structured json.
|
||
|
|
||
|
## Json variables into kotlin
|
||
|
|
||
|
# AI Prompt for color palette
|
||
|
|
||
|
- the more descriptive and exhaustive the prompt is the better
|
||
|
|
||
|
Example Prompt:
|
||
|
|
||
|
```
|
||
|
System:
|
||
|
You are an expert Android Developer and you are able to understand kotlin & json.
|
||
|
|
||
|
Task:
|
||
|
Your task is to convert given json into kotlin code. In the next message you will be given a json file and
|
||
|
then you will execute your task.
|
||
|
|
||
|
Details:
|
||
|
Convert colors represented in json to jetpack compose colors. Create a data class for each nested object, except the
|
||
|
lowest level one with $type and $value - truncate this lowest level object into $value only. Do not populate them
|
||
|
by actual colors, just create an exhaustive list of data classes
|
||
|
|
||
|
Notes:
|
||
|
- always output variables in kotlin compatible way
|
||
|
- examples: 'button-background'='buttonBackground'
|
||
|
```
|
||
|
|
||
|
# AI Prompt for light theme
|
||
|
|
||
|
```
|
||
|
Populate this data structure by the colors from given json. Output a variable 'val LightZashiColorModes =
|
||
|
ZashiColorModes(...)'.
|
||
|
```
|
||
|
|
||
|
# AI Prompt for dark theme
|
||
|
|
||
|
```
|
||
|
Populate this data structure by the colors from given json. Output a variable 'val DarkZashiColorModes =
|
||
|
ZashiColorModes(...)'.
|
||
|
```
|