@mindstudio-ai/remy 0.1.49 → 0.1.51
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/automatedActions/buildFromInitialSpec.md +19 -0
- package/dist/automatedActions/buildFromRoadmap.md +15 -0
- package/dist/automatedActions/publish.md +16 -0
- package/dist/automatedActions/reviseFromAnnotatedImage.md +5 -0
- package/dist/automatedActions/sync.md +23 -0
- package/dist/headless.js +12 -2
- package/dist/index.js +12 -2
- package/dist/prompt/compiled/scenarios.md +5 -1
- package/dist/prompt/static/team.md +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: buildFromInitialSpec
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
This is an automated action triggered by the user pressing "Build" in the editor after reviewing the spec.
|
|
6
|
+
|
|
7
|
+
The user has reviewed the spec and is ready to build.
|
|
8
|
+
|
|
9
|
+
Think about your approach and then get a quick sanity check from `codeSanityCheck` to make sure you aren't missing anything.
|
|
10
|
+
|
|
11
|
+
Then, build everything in one turn: methods, tables, interfaces, manifest updates, and scenarios, using the spec as the master plan.
|
|
12
|
+
|
|
13
|
+
When code generation is complete, verify your work:
|
|
14
|
+
- First, run use `runScenario` to seed test data, then use `runMethod` to confirm a method works
|
|
15
|
+
- If the app has a web frontend, check the browser logs to make sure there are no errors rendering it.
|
|
16
|
+
- Ask the `visualDesignExpert` to take a screenshot and verity that the visual design looks correct. Fix any issues it flags - we want the user's first time seeing the finished product to truly wow them.
|
|
17
|
+
- Finally, use `runAutomatedBrowserTest` to smoke-test the main UI flow. The dev database is a disposable snapshot, so don't worry about being destructive. Fix any errors before finishing.
|
|
18
|
+
|
|
19
|
+
When everything is working, use `productVision` to mark the MVP roadmap item as done, then call `setProjectOnboardingState({ state: "onboardingFinished" })`.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: buildFromRoadmap
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
This is an automated action triggered by the user pressing "Build Now" on the roadmap item {{path}}
|
|
6
|
+
|
|
7
|
+
First, review the specific item and think about how it fits with the existing spec and the existing codebase.
|
|
8
|
+
|
|
9
|
+
Then, ask the user clarifying questions about anything that is ambiguous or requires additional input. Consult the team for any design work, architecture review, or SDK guidance - even if they're just quick questions (that's what the team is there for - they want to help and feel valuable!).
|
|
10
|
+
|
|
11
|
+
Then, put together a plan to build out the feature. Present the plan to the user for their approval.
|
|
12
|
+
|
|
13
|
+
When they've approved the plan, be sure to update the spec first - remember, the spec is the source of truth about the product. Then, build everything in one turn, using the spec as the master plan.
|
|
14
|
+
|
|
15
|
+
When you're finished, verify your work, then tell`productVision` what was done so it can update the roadmap to reflect the progress. Give the user a summary of what was done.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: publish
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
This is an automated action triggered by the user pressing "Publish" in the editor.
|
|
6
|
+
|
|
7
|
+
The user wants to deploy their app. Pushing to the `main` branch triggers a production deploy.
|
|
8
|
+
|
|
9
|
+
Review the current state of the working tree — what has changed since the last commit, what's been committed since the last push, and the overall shape of recent work. Write a user-friendly changelog with `presentPublishPlan` — summarize what changed in plain language ("added vendor approval workflow", "fixed invoice totals", "updated the dashboard layout"). Reference specific code or file paths only when it helps clarity. This is what the user will see before deploying.
|
|
10
|
+
|
|
11
|
+
If approved:
|
|
12
|
+
- Stage and commit any uncommitted changes with a clean, descriptive commit message
|
|
13
|
+
- Push to main
|
|
14
|
+
- Let the user know their app is deploying
|
|
15
|
+
|
|
16
|
+
If dismissed, acknowledge and do nothing.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: sync
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
This is an automated action triggered by the user pressing "Sync" in the editor.
|
|
6
|
+
|
|
7
|
+
The user has manually edited files since the last sync. The `refs/sync-point` git ref marks the last known-good sync state. It's created using a temporary git index that captures the full working tree (including unstaged changes) as a tree object — so it represents exactly what the files looked like at sync time, not just what was committed.
|
|
8
|
+
|
|
9
|
+
To see what the user changed, run: `git diff refs/sync-point -- src/ dist/`
|
|
10
|
+
|
|
11
|
+
This compares the sync-point tree against the current working tree. Do not add `HEAD` or any other ref — the command as written diffs directly against the working tree, which is what you want.
|
|
12
|
+
|
|
13
|
+
In the diff output: lines prefixed with `-` are what was in the file at last sync. Lines prefixed with `+` are the user's current edits. Sync should bring the other side in line with the `+` side.
|
|
14
|
+
|
|
15
|
+
Analyze the changes and write a sync plan with `presentSyncPlan` — a clear markdown summary of what changed and what you intend to update. Write it for a human: describe changes in plain language ("renamed the greeting field", "added a note about error handling"), not as a list of file paths and code diffs. Reference specific code or file paths only when it helps clarity. The user will review and approve before you make changes.
|
|
16
|
+
|
|
17
|
+
If approved:
|
|
18
|
+
- If spec files (`src/`) changed, update the corresponding code in `dist/` to match
|
|
19
|
+
- If code files (`dist/`) changed, update the corresponding spec in `src/` to match
|
|
20
|
+
- If both changed, reconcile — spec is the source of truth for intent, but respect code changes that add implementation detail
|
|
21
|
+
- When all files are synced, call `clearSyncStatus`
|
|
22
|
+
|
|
23
|
+
If dismissed, acknowledge and do nothing.
|
package/dist/headless.js
CHANGED
|
@@ -1393,7 +1393,7 @@ function runCli(cmd, options) {
|
|
|
1393
1393
|
var askMindStudioSdkTool = {
|
|
1394
1394
|
definition: {
|
|
1395
1395
|
name: "askMindStudioSdk",
|
|
1396
|
-
description: "
|
|
1396
|
+
description: "@mindstudio-ai/agent SDK expert. Knows every action, model, connector, and configuration option. Returns architectural guidance and working code. Describe what you want to build, not just what API method you need. Batch related questions into a single query.",
|
|
1397
1397
|
inputSchema: {
|
|
1398
1398
|
type: "object",
|
|
1399
1399
|
properties: {
|
|
@@ -5280,7 +5280,17 @@ ${xmlParts}
|
|
|
5280
5280
|
);
|
|
5281
5281
|
}
|
|
5282
5282
|
let userMessage = parsed.text ?? "";
|
|
5283
|
-
|
|
5283
|
+
let resolved = null;
|
|
5284
|
+
try {
|
|
5285
|
+
resolved = resolveAction(userMessage);
|
|
5286
|
+
} catch (err) {
|
|
5287
|
+
emit(
|
|
5288
|
+
"completed",
|
|
5289
|
+
{ success: false, error: err.message || "Failed to resolve action" },
|
|
5290
|
+
requestId
|
|
5291
|
+
);
|
|
5292
|
+
return;
|
|
5293
|
+
}
|
|
5284
5294
|
if (resolved !== null) {
|
|
5285
5295
|
userMessage = resolved;
|
|
5286
5296
|
}
|
package/dist/index.js
CHANGED
|
@@ -1146,7 +1146,7 @@ var init_sdkConsultant = __esm({
|
|
|
1146
1146
|
askMindStudioSdkTool = {
|
|
1147
1147
|
definition: {
|
|
1148
1148
|
name: "askMindStudioSdk",
|
|
1149
|
-
description: "
|
|
1149
|
+
description: "@mindstudio-ai/agent SDK expert. Knows every action, model, connector, and configuration option. Returns architectural guidance and working code. Describe what you want to build, not just what API method you need. Batch related questions into a single query.",
|
|
1150
1150
|
inputSchema: {
|
|
1151
1151
|
type: "object",
|
|
1152
1152
|
properties: {
|
|
@@ -5876,7 +5876,17 @@ ${xmlParts}
|
|
|
5876
5876
|
);
|
|
5877
5877
|
}
|
|
5878
5878
|
let userMessage = parsed.text ?? "";
|
|
5879
|
-
|
|
5879
|
+
let resolved = null;
|
|
5880
|
+
try {
|
|
5881
|
+
resolved = resolveAction(userMessage);
|
|
5882
|
+
} catch (err) {
|
|
5883
|
+
emit(
|
|
5884
|
+
"completed",
|
|
5885
|
+
{ success: false, error: err.message || "Failed to resolve action" },
|
|
5886
|
+
requestId
|
|
5887
|
+
);
|
|
5888
|
+
return;
|
|
5889
|
+
}
|
|
5880
5890
|
if (resolved !== null) {
|
|
5881
5891
|
userMessage = resolved;
|
|
5882
5892
|
}
|
|
@@ -102,6 +102,10 @@ When a scenario runs, the platform:
|
|
|
102
102
|
|
|
103
103
|
This is deterministic — same scenario always produces the same state.
|
|
104
104
|
|
|
105
|
-
## Scenario
|
|
105
|
+
## Scenario Data
|
|
106
|
+
|
|
107
|
+
Align scenario data to the vibe of the app - construct data that feels like it fits.
|
|
108
|
+
|
|
109
|
+
### Scenario Images
|
|
106
110
|
|
|
107
111
|
When scenarios seed data that includes image URLs (profile photos, product images, cover art, etc.), ask the `visualDesignExpert` to generate a small batch of images that fit the app's aesthetic before writing the scenario code. A handful of bespoke photos make scenarios feel dramatically more real than placeholder services. Use the CDN URLs directly in your `db.push()` calls.
|
|
@@ -20,7 +20,7 @@ Always consult the design expert during intake and before building any new produ
|
|
|
20
20
|
|
|
21
21
|
### Product Vision (`productVision`)
|
|
22
22
|
|
|
23
|
-
Your product thinking partner. Owns the roadmap in `src/roadmap/`, but also the right tool any time the conversation is about what to build rather than how to build it. Roadmap operations (seeding ideas, marking items done, adding/removing features), but also strategic questions about the product's direction, what's missing, what would make it more compelling. It reads spec and roadmap files automatically. Describe the situation and let it decide what to do.
|
|
23
|
+
Your product thinking partner. Owns the roadmap in `src/roadmap/`, but also the right tool any time the conversation is about what to build rather than how to build it. Roadmap operations (seeding ideas, marking items done, adding/removing features), but also strategic questions about the product's direction, what's missing, what would make it more compelling. It reads spec and roadmap files automatically. Describe the situation and let it decide what to do. Notify `projectVision` after building new features, adding new interfaces, or other large refactors, so it can keep the roadmap up to date in the background.
|
|
24
24
|
|
|
25
25
|
### Mindstudio SDK Consultant (`askMindStudioSdk`)
|
|
26
26
|
|
|
@@ -60,7 +60,7 @@ When you receive background results:
|
|
|
60
60
|
#### When You Are Allowed to Background
|
|
61
61
|
|
|
62
62
|
You can only background the following two tasks, unless the user specifically asks you to do work in the background:
|
|
63
|
-
- `productVision` seeding the intiial roadmap after writing the spec for the first time. This task takes a while and we can allow the user to continue building while it happens in the background.
|
|
63
|
+
- `productVision` seeding the intiial roadmap after writing the spec for the first time or updating the roadmap after large work sessions. This task takes a while and we can allow the user to continue building while it happens in the background.
|
|
64
64
|
- After writing the spec, once you have finalized the shape of the app, ask `visualDesignExpert` to create an "iphone app store" style icon for the app, then set it with `setProjectMetadata({ iconUrl: ... })`
|
|
65
65
|
|
|
66
66
|
Do not background any other tasks.
|