@mindstudio-ai/remy 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/compiled/design.md +34 -38
  2. package/dist/compiled/media-cdn.md +2 -2
  3. package/dist/compiled/msfm.md +58 -2
  4. package/dist/compiled/platform.md +4 -2
  5. package/dist/headless.js +881 -140
  6. package/dist/index.js +1097 -298
  7. package/dist/prompt/.notes.md +138 -0
  8. package/dist/prompt/actions/buildFromInitialSpec.md +7 -0
  9. package/dist/prompt/actions/publish.md +12 -0
  10. package/dist/prompt/actions/sync.md +19 -0
  11. package/dist/prompt/compiled/README.md +100 -0
  12. package/dist/prompt/compiled/auth.md +77 -0
  13. package/dist/prompt/compiled/design.md +250 -0
  14. package/dist/prompt/compiled/dev-and-deploy.md +69 -0
  15. package/dist/prompt/compiled/interfaces.md +238 -0
  16. package/dist/prompt/compiled/manifest.md +107 -0
  17. package/dist/prompt/compiled/media-cdn.md +51 -0
  18. package/dist/prompt/compiled/methods.md +225 -0
  19. package/dist/prompt/compiled/msfm.md +189 -0
  20. package/dist/prompt/compiled/platform.md +103 -0
  21. package/dist/prompt/compiled/scenarios.md +103 -0
  22. package/dist/prompt/compiled/sdk-actions.md +146 -0
  23. package/dist/prompt/compiled/tables.md +211 -0
  24. package/dist/prompt/sources/frontend-design-notes.md +162 -0
  25. package/dist/prompt/sources/media-cdn.md +46 -0
  26. package/dist/prompt/static/authoring.md +57 -0
  27. package/dist/prompt/static/coding.md +29 -0
  28. package/dist/prompt/static/identity.md +1 -0
  29. package/dist/prompt/static/instructions.md +29 -0
  30. package/dist/prompt/static/intake.md +44 -0
  31. package/dist/prompt/static/lsp.md +4 -0
  32. package/dist/static/authoring.md +6 -2
  33. package/dist/static/instructions.md +2 -1
  34. package/dist/static/projectContext.ts +9 -4
  35. package/dist/subagents/browserAutomation/prompt.md +2 -1
  36. package/dist/subagents/designExpert/.notes.md +253 -0
  37. package/dist/subagents/designExpert/data/compile-inspiration.sh +126 -0
  38. package/dist/subagents/designExpert/data/fonts.json +2855 -0
  39. package/dist/subagents/designExpert/data/inspiration.json +540 -0
  40. package/dist/subagents/designExpert/data/inspiration.raw.json +112 -0
  41. package/dist/subagents/designExpert/prompt.md +19 -0
  42. package/dist/subagents/designExpert/prompts/animation.md +19 -0
  43. package/dist/subagents/designExpert/prompts/color.md +35 -0
  44. package/dist/subagents/designExpert/prompts/frontend-design-notes.md +162 -0
  45. package/dist/subagents/designExpert/prompts/icons.md +27 -0
  46. package/dist/subagents/designExpert/prompts/identity.md +71 -0
  47. package/dist/subagents/designExpert/prompts/images.md +50 -0
  48. package/dist/subagents/designExpert/prompts/instructions.md +16 -0
  49. package/dist/subagents/designExpert/prompts/layout.md +34 -0
  50. package/package.json +1 -1
@@ -14,62 +14,58 @@ judge the entire app by how it looks and feels in the first 3 seconds.
14
14
 
15
15
  ## Design System from the Spec
16
16
 
17
- The spec file `src/interfaces/@brand/visual.md` may contain `typography` and
18
- `colors` YAML blocks that define the app's fonts and color palette. When
19
- these are present, always use them. Load fonts from the URLs in the `fonts`
20
- section. Set up a lightweight theme layer early (CSS variables or a small
21
- tokens file) so colors and type styles are defined once and referenced
22
- everywhere. This makes the design easy to update later without hunting
23
- through components. Keep it simple: a handful of CSS variables for colors
24
- and a few reusable text style classes or utilities for typography.
25
-
26
- **When these blocks are present, always use the defined fonts and colors in
27
- generated code.** Do not pick your own fonts or colors when the spec defines
28
- them. Reference colors semantically (as CSS variables or named constants)
29
- rather than scattering raw hex values through the codebase.
17
+ The brand spec files in `src/interfaces/@brand/` define the app's visual identity at the brand level: a small palette of named colors and font choices with one or two anchor styles. These are brand decisions, not implementation details. Derive the full design system (CSS variables, component styles, spacing, borders, etc.) from these foundations.
18
+
19
+ Set up a lightweight theme layer early (CSS variables or a small tokens file) so brand colors and type styles are defined once and referenced everywhere. Map brand colors to semantic roles (background, text, accent, surface, border) and derive any additional shades you need. Keep it simple: a handful of CSS variables for colors and a few reusable text style classes or utilities for typography.
20
+
21
+ **When brand spec files are present, always use the defined fonts and colors in generated code.** Do not pick your own fonts or colors when the spec defines them. Reference colors semantically (as CSS variables or named constants) rather than scattering raw hex values through the codebase.
30
22
 
31
23
  ### Colors block format
32
24
 
33
- A `` ```colors `` fenced block declares named colors with hex values and
34
- descriptions. Each color has a capitalized name, a `value`, and a
35
- `description`:
25
+ A `` ```colors `` fenced block in a `type: design/color` spec file declares 3-5 brand colors with evocative names, hex values, and descriptions. The names are brand identity names (not CSS property names), and the descriptions explain the color's role in the brand:
36
26
 
37
- ```
38
- Background:
39
- value: "#0A0A0A"
40
- description: Page background
41
- Primary:
42
- value: "#3B82F6"
43
- description: Buttons, links, active states
44
- Text:
27
+ ```colors
28
+ Midnight:
29
+ value: "#000000"
30
+ description: Primary background and dark surfaces
31
+ Charcoal:
32
+ value: "#1C1C1E"
33
+ description: Elevated surfaces and containers
34
+ Snow:
45
35
  value: "#F5F5F7"
46
- description: Primary text
36
+ description: Primary text and foreground elements
37
+ Smoke:
38
+ value: "#86868B"
39
+ description: Secondary text and supporting content
47
40
  ```
48
41
 
42
+ Derive additional implementation colors (borders, focus states, hover states, disabled states) from the brand palette rather than expecting them to be specified.
43
+
49
44
  ### Typography block format
50
45
 
51
- A `` ```typography `` fenced block declares fonts (with source URLs) and
52
- named type styles:
46
+ A `` ```typography `` fenced block in a `type: design/typography` spec file declares fonts (with source URLs) and one or two anchor styles (typically Display and Body). Derive additional styles (labels, buttons, captions, overlines) from these anchors:
53
47
 
54
- ```
48
+ ```typography
55
49
  fonts:
56
- Cabinet Grotesk:
57
- src: https://fonts.googleapis.com/css2?family=Cabinet+Grotesk:wght@400;600;700
50
+ Satoshi:
51
+ src: https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&display=swap
52
+ Clash Grotesk:
53
+ src: https://api.fontshare.com/v2/css?f[]=clash-grotesk@400,500,600&display=swap
58
54
 
59
55
  styles:
60
- Heading:
61
- font: Cabinet Grotesk
62
- size: 28px
56
+ Display:
57
+ font: Satoshi
58
+ size: 40px
63
59
  weight: 600
64
- letterSpacing: -0.02em
65
- lineHeight: 1.2
66
- description: Section headings, page titles
60
+ letterSpacing: -0.03em
61
+ lineHeight: 1.1
62
+ description: Page titles and hero text
67
63
  Body:
68
- font: Cabinet Grotesk
64
+ font: Satoshi
69
65
  size: 16px
70
66
  weight: 400
71
67
  lineHeight: 1.5
72
- description: Default paragraph text
68
+ description: Default reading text
73
69
  ```
74
70
 
75
71
  ## Be Distinctive
@@ -47,5 +47,5 @@ type, orientation, etc.).
47
47
 
48
48
  - Always set explicit width/height or aspect-ratio on images to prevent
49
49
  layout shift.
50
- - Use remote resources (Google Fonts via CDN). Never self-hosted font
51
- packages.
50
+ - Always load fonts directly from CDNs, never self-host font packages
51
+ in the application.
@@ -107,12 +107,17 @@ Each invoice has a [status]{One of: `pending_review`, `approved`, `rejected`, `p
107
107
 
108
108
  ## Spec Structure
109
109
 
110
- A spec starts with YAML frontmatter (`name`, `description`, `version`) followed by freeform Markdown. There's no mandated structure — use headings, prose, tables, lists, whatever makes sense for the domain.
110
+ A spec starts with YAML frontmatter followed by freeform Markdown. There's no mandated structure — use headings, prose, tables, lists, whatever makes sense for the domain.
111
+
112
+ **Frontmatter fields:**
113
+ - `name` (required) — display name for the spec file
114
+ - `description` (optional) — short summary of what this file covers
115
+ - `type` (optional) — defaults to `spec`. Other values: `design/color` (color palette definition), `design/typography` (font and type style definition). The frontend renders these types with specialized editors.
111
116
 
112
117
  ```markdown
113
118
  ---
114
119
  name: Expense Tracker
115
- version: 1
120
+ description: Core application spec
116
121
  ---
117
122
 
118
123
  # Expense Tracker
@@ -131,3 +136,54 @@ version: 1
131
136
  [Edge cases, data representations, business rules]
132
137
  ~~~
133
138
  ```
139
+
140
+ Color design spec example (3-5 brand colors with evocative names):
141
+
142
+ ```markdown
143
+ ---
144
+ name: Colors
145
+ type: design/color
146
+ ---
147
+
148
+ ```colors
149
+ Midnight:
150
+ value: "#000000"
151
+ description: Primary background and dark surfaces
152
+ Snow:
153
+ value: "#F5F5F7"
154
+ description: Primary text and foreground elements
155
+ Smoke:
156
+ value: "#86868B"
157
+ description: Secondary text and supporting content
158
+ ```
159
+ ```
160
+
161
+ Typography design spec example (fonts with source URLs, 1-2 anchor styles):
162
+
163
+ ```markdown
164
+ ---
165
+ name: Typography
166
+ type: design/typography
167
+ ---
168
+
169
+ ```typography
170
+ fonts:
171
+ Satoshi:
172
+ src: https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&display=swap
173
+
174
+ styles:
175
+ Display:
176
+ font: Satoshi
177
+ size: 40px
178
+ weight: 600
179
+ letterSpacing: -0.03em
180
+ lineHeight: 1.1
181
+ description: Page titles and hero text
182
+ Body:
183
+ font: Satoshi
184
+ size: 16px
185
+ weight: 400
186
+ lineHeight: 1.5
187
+ description: Default reading text
188
+ ```
189
+ ```
@@ -15,8 +15,10 @@ my-app/
15
15
  references/ supporting material (PDFs, notes, diagrams)
16
16
  interfaces/
17
17
  @brand/ shared brand identity
18
+ visual.md aesthetic direction, surfaces, spacing
19
+ colors.md brand color palette (type: design/color)
20
+ typography.md fonts and type styles (type: design/typography)
18
21
  voice.md tone, terminology, error messages
19
- visual.md colors, typography, components
20
22
  assets/ logos, icons
21
23
  web.md web UI spec
22
24
  api.md API conventions
@@ -57,7 +59,7 @@ my-app/
57
59
  | Web interface | `dist/interfaces/web/` | Full Vite + React project directory |
58
60
  | Interface configs | `dist/interfaces/*/interface.json` | One per non-web interface type |
59
61
  | Specs | `src/*.md` | Natural language, MSFM format |
60
- | Brand identity | `src/interfaces/@brand/` | voice.md (tone, terminology), visual.md (colors, typography), assets/ |
62
+ | Brand identity | `src/interfaces/@brand/` | visual.md (aesthetic), colors.md (palette), typography.md (fonts), voice.md (tone), assets/ |
61
63
  | Reference material | `src/references/` | Context for the agent, not consumed by platform |
62
64
 
63
65
  ## The Two SDKs