@mindstudio-ai/remy 0.1.51 → 0.1.52
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.
package/dist/headless.js
CHANGED
|
@@ -406,6 +406,8 @@ ${isLspConfigured() ? `<typescript_lsp>
|
|
|
406
406
|
|
|
407
407
|
{{static/instructions.md}}
|
|
408
408
|
|
|
409
|
+
<!-- cache_breakpoint -->
|
|
410
|
+
|
|
409
411
|
<project_onboarding>
|
|
410
412
|
New projects progress through four onboarding states. The user might skip this entirely and jump straight into working on the existing scaffold (which defaults to onboardingFinished), but ideally new projects move through each phase:
|
|
411
413
|
|
|
@@ -2768,6 +2770,8 @@ function getBrowserAutomationPrompt() {
|
|
|
2768
2770
|
const appSpec = fs13.readFileSync("src/app.md", "utf-8").trim();
|
|
2769
2771
|
return `${BASE_PROMPT}
|
|
2770
2772
|
|
|
2773
|
+
<!-- cache_breakpoint -->
|
|
2774
|
+
|
|
2771
2775
|
<app_context>
|
|
2772
2776
|
${appSpec}
|
|
2773
2777
|
</app_context>`;
|
|
@@ -3570,6 +3574,7 @@ function getDesignExpertPrompt() {
|
|
|
3570
3574
|
"{{font_library}}",
|
|
3571
3575
|
getFontLibrarySample()
|
|
3572
3576
|
).replace("{{visual_design_references}}", getDesignReferencesSample()).replace("{{ui_case_studies}}", getUiInspirationSample());
|
|
3577
|
+
prompt += "\n\n<!-- cache_breakpoint -->";
|
|
3573
3578
|
if (specContext) {
|
|
3574
3579
|
prompt += `
|
|
3575
3580
|
|
|
@@ -3873,6 +3878,7 @@ function getProductVisionPrompt() {
|
|
|
3873
3878
|
const specContext = loadSpecContext();
|
|
3874
3879
|
const roadmapContext = loadRoadmapContext();
|
|
3875
3880
|
const parts = [BASE_PROMPT2, loadPlatformBrief()];
|
|
3881
|
+
parts.push("<!-- cache_breakpoint -->");
|
|
3876
3882
|
if (specContext) {
|
|
3877
3883
|
parts.push(specContext);
|
|
3878
3884
|
}
|
|
@@ -4050,6 +4056,7 @@ var codeSanityCheckTool = {
|
|
|
4050
4056
|
}
|
|
4051
4057
|
const specContext = loadSpecContext();
|
|
4052
4058
|
const parts = [BASE_PROMPT3, loadPlatformBrief()];
|
|
4059
|
+
parts.push("<!-- cache_breakpoint -->");
|
|
4053
4060
|
if (specContext) {
|
|
4054
4061
|
parts.push(specContext);
|
|
4055
4062
|
}
|
package/dist/index.js
CHANGED
|
@@ -2770,6 +2770,8 @@ function getBrowserAutomationPrompt() {
|
|
|
2770
2770
|
const appSpec = fs11.readFileSync("src/app.md", "utf-8").trim();
|
|
2771
2771
|
return `${BASE_PROMPT}
|
|
2772
2772
|
|
|
2773
|
+
<!-- cache_breakpoint -->
|
|
2774
|
+
|
|
2773
2775
|
<app_context>
|
|
2774
2776
|
${appSpec}
|
|
2775
2777
|
</app_context>`;
|
|
@@ -3685,6 +3687,7 @@ function getDesignExpertPrompt() {
|
|
|
3685
3687
|
"{{font_library}}",
|
|
3686
3688
|
getFontLibrarySample()
|
|
3687
3689
|
).replace("{{visual_design_references}}", getDesignReferencesSample()).replace("{{ui_case_studies}}", getUiInspirationSample());
|
|
3690
|
+
prompt += "\n\n<!-- cache_breakpoint -->";
|
|
3688
3691
|
if (specContext) {
|
|
3689
3692
|
prompt += `
|
|
3690
3693
|
|
|
@@ -4031,6 +4034,7 @@ function getProductVisionPrompt() {
|
|
|
4031
4034
|
const specContext = loadSpecContext();
|
|
4032
4035
|
const roadmapContext = loadRoadmapContext();
|
|
4033
4036
|
const parts = [BASE_PROMPT2, loadPlatformBrief()];
|
|
4037
|
+
parts.push("<!-- cache_breakpoint -->");
|
|
4034
4038
|
if (specContext) {
|
|
4035
4039
|
parts.push(specContext);
|
|
4036
4040
|
}
|
|
@@ -4243,6 +4247,7 @@ var init_codeSanityCheck = __esm({
|
|
|
4243
4247
|
}
|
|
4244
4248
|
const specContext = loadSpecContext();
|
|
4245
4249
|
const parts = [BASE_PROMPT3, loadPlatformBrief()];
|
|
4250
|
+
parts.push("<!-- cache_breakpoint -->");
|
|
4246
4251
|
if (specContext) {
|
|
4247
4252
|
parts.push(specContext);
|
|
4248
4253
|
}
|
|
@@ -5371,6 +5376,8 @@ ${isLspConfigured() ? `<typescript_lsp>
|
|
|
5371
5376
|
|
|
5372
5377
|
{{static/instructions.md}}
|
|
5373
5378
|
|
|
5379
|
+
<!-- cache_breakpoint -->
|
|
5380
|
+
|
|
5374
5381
|
<project_onboarding>
|
|
5375
5382
|
New projects progress through four onboarding states. The user might skip this entirely and jump straight into working on the existing scaffold (which defaults to onboardingFinished), but ideally new projects move through each phase:
|
|
5376
5383
|
|
|
@@ -19,7 +19,7 @@ The scaffold starts with these spec files that cover the full picture of the app
|
|
|
19
19
|
- **`src/interfaces/@brand/voice.md`** — voice and terminology: tone, error messages, word choices
|
|
20
20
|
- **`src/roadmap/`** — feature roadmap. One file per feature (`type: roadmap`). See "Roadmap" below.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
These are starting points, not constraints. Create as many spec files as the project needs — the `src/` folder is your workspace and every `.md` file in it becomes compilation context. If the app has substantial content (presentation slides, copy, lesson plans, menu items, quiz questions), put it in its own file (`src/content.md`, `src/slides.md`, `src/menu.md`, etc.) rather than cramming it into `app.md` or `web.md`. If the domain is complex, split `app.md` into multiple files by area (`src/billing.md`, `src/approvals.md`). Add interface specs for other interface types (`api.md`, `cron.md`, `agent.md`, etc.) if the app uses them. Organize however serves clarity — the platform reads the entire `src/` folder.
|
|
23
23
|
|
|
24
24
|
Users often care about look and feel as much as (or more than) underlying data structures. Don't treat the brand and interface specs as an afterthought — for many users, the visual identity and voice are the first things they want to get right.
|
|
25
25
|
|
|
@@ -16,6 +16,8 @@ The designer will return concrete resources: hex values, font names with CSS URL
|
|
|
16
16
|
|
|
17
17
|
When delegating, describe the design problem — where the asset will be used, what it needs to communicate, what the brand feels like. Do not specify technical details like image formats, pixel dimensions, generation techniques, or workarounds. The design expert makes those decisions.
|
|
18
18
|
|
|
19
|
+
Remember, the design agent starts from scratch each time - it has no history of previous messages you have sent it - so you need to make sure to provide all relevant context, including full context from its previous messages where it is relevant (e.g., "You proposed three different options [describe them in detail].... and the user has descided on XYZ...").
|
|
20
|
+
|
|
19
21
|
Always consult the design expert during intake and before building any new product features from the roadmap.
|
|
20
22
|
|
|
21
23
|
### Product Vision (`productVision`)
|
|
@@ -38,7 +40,7 @@ Always consult the code sanity check before writing code in initialCodegen with
|
|
|
38
40
|
|
|
39
41
|
### QA (`runAutomatedBrowserTest`)
|
|
40
42
|
|
|
41
|
-
For verifying complex stateful interactions: multi-step form submissions, auth flows, real-time updates, flows that require specific data/role setup. This spins up a full chrome browser automation — it's heavyweight. Do not use it for basic rendering or navigation checks. If you can verify something with a screenshot or by reading the code, do that instead. Run a scenario first to seed test data and set user roles. The user is able to watch QA work on their screen via a live browser preview - the cursor will move, type, etc - so you can also use this to demo functionality to the user and help them understand how to use their app.
|
|
43
|
+
For verifying complex stateful interactions: multi-step form submissions, auth flows, real-time updates, flows that require specific data/role setup. This spins up a full chrome browser automation — it's heavyweight. Do not use it for basic rendering or navigation checks. If you can verify something with a screenshot or by reading the code, do that instead. Run a scenario first to seed test data and set user roles. The user is able to watch QA work on their screen via a live browser preview - the cursor will move, type, etc - so you can also use this to demo functionality to the user and help them understand how to use their app. Don't tell the QA agent what values it should use for testing, it will figure that out on its own.
|
|
42
44
|
|
|
43
45
|
### Background Execution
|
|
44
46
|
|
|
@@ -7,7 +7,7 @@ There are two categories of animation and you should think of them separately:
|
|
|
7
7
|
- Design animations: think beautiful layout reveals, dramatic loading and success states for user onboarding, beautiful scroll-driven animations on a landing page. These are the place to show off - and if you're showing off you better get it right. Anything that looks dated or janky will be disappointing to the user. Done correctly, these animations are powerful and transformative - and when the design calls for it, you should take a risk and suggest something big, bold, and creative. Remember, the user can always modify or change things later. It's better to dream big and walk it back than to deliver something generic or bland.
|
|
8
8
|
|
|
9
9
|
### Patterns to Use
|
|
10
|
-
- CSS scroll-driven animations (`animation-timeline:
|
|
10
|
+
- CSS scroll-driven animations (`animation-timeline: view()`) (aka "scrollytelling"). Scroll driven animations that animate based on scrollport are very slick and look beautiful in landing pages. Think about how you can use them.
|
|
11
11
|
- Spring physics for natural-feeling motion
|
|
12
12
|
- Purposeful micro-interactions — scaling, color shifts, depth changes on hover/click
|
|
13
13
|
- Entrance reveals — content animating when it enters the view - can be powerful, but can very easily feel cheap if it is just sections of a page animating in on scroll, for example. Be very thoughtful and intentional when animating in this way.
|