framer-dalton 0.0.18 → 0.0.21

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.
@@ -25,8 +25,8 @@ allowed-tools: ["Bash(npx framer-dalton:*)", "Bash(npx framer-dalton@latest:*)",
25
25
  ## Workflow Loop
26
26
 
27
27
  ```bash
28
- # 1) Read page structure first
29
- npx framer-dalton read-project -s <sessionId> -q '<get page structure>' -p "/"
28
+ # 1) Read page structure first (fill in real query from Live Agent System Prompt)
29
+ npx framer-dalton read-project -s <sessionId> -q '<query to get page structure>' -p "/"
30
30
 
31
31
  # 2) Request additional targeted queries only if needed
32
32
 
@@ -46,12 +46,26 @@ npx framer-dalton project list
46
46
 
47
47
  Use that list to infer the likely project from the names and recency. If the right project is already known, use its project ID with `session new`. If there are multiple possible matches, clarify with the user. Only ask the user for a Project URL if there is no clear match. Avoid talking about the technical contents of returned data like IDs.
48
48
 
49
- Create a session:
49
+ Create a session against an existing project:
50
50
 
51
51
  ```bash
52
52
  npx framer-dalton session new "<url or id>"
53
53
  ```
54
54
 
55
+ To create a brand new empty project and connect to it:
56
+
57
+ ```bash
58
+ npx framer-dalton project new
59
+ npx framer-dalton session new "<returned project id>"
60
+ ```
61
+
62
+ To remix (duplicate) an existing project and connect to the copy:
63
+
64
+ ```bash
65
+ npx framer-dalton project remix "<url, project id, or remix link>"
66
+ npx framer-dalton session new "<returned project id>"
67
+ ```
68
+
55
69
  Note that during beta, you cannot connect to non-beta projects. If creating a session errors with a message about this, you need to move your project to beta.
56
70
 
57
71
  #### 2. Look up the API (before EVERY code execution)
@@ -65,7 +79,7 @@ npx framer-dalton docs Collection.getItems # What are the parameters and return
65
79
 
66
80
  #### 3. Execute code
67
81
 
68
- Only after checking docs, write your code to a unique file under `{{FRAMER_TEMPORARY_DIR}}/` and execute with `-f`. Name each file `<sessionId>-<short-summary>.js` where `<short-summary>` is a brief kebab-case description (e.g., `1-read-collections.js`, `1-add-team-member.js`). Files are automatically deleted after execution.
82
+ Only after checking docs, write your code to a unique file under `{{FRAMER_TEMPORARY_DIR}}/` and execute with `-f`. Name each file `<sessionId>-<short-summary>.js` where `<short-summary>` is a brief kebab-case description (e.g., `1-read-collections.js`, `1-add-team-member.js`).
69
83
 
70
84
  ```bash
71
85
  npx framer-dalton exec -s 1 -f {{FRAMER_TEMPORARY_DIR}}/1-read-collections.js
@@ -81,6 +95,11 @@ Always save results you'll need again. Don't repeat API calls.
81
95
 
82
96
  - Be concise. Don't narrate implementation details like field IDs, escaping, or internal steps. Just do the work and report what was accomplished in user-facing terms.
83
97
  - Use `framer.*` for plugin API calls. Top-level methods are not globals.
98
+ - Before making changes that add/update/delete content that the user has not clearly and explicitly requested in this conversation, inform the user of what you plan to do and why, and ask them to confirm.
99
+ - You do not need to ask for confirmation when carrying out a specific add/update/delete change that the user has already clearly requested (this counts as explicit consent).
100
+ - You do not need to explain or ask for confirmation for non-destructive calls like reading project state.
101
+ - If the exact action was not agreed upon, or you are inferring a broader change or choosing between multiple reasonable options using your own judgment, ask for confirmation.
102
+ - Always ask for confirmation before destructive actions that the user did not explicitly request - especially deletes, cleanup, resets, or broad removals inferred by the agent.
84
103
 
85
104
  ## Context Variables
86
105
 
@@ -142,11 +161,7 @@ npx framer-dalton session list
142
161
 
143
162
  ## Canvas Editing
144
163
 
145
- For design tasks, do not try to build or restyle pages with low-level node APIs. Instead, load the dynamically created project-scoped canvas skill and use the `read-project` and `apply-changes` subcommands.
146
-
147
- After session creation, load the dynamically created project-scoped skill `framer-canvas-editing-project-<projectId>` for canvas editing on the connected project. It contains the canvas editing guidance, the live agent system prompt, and the live project context for `pagePath: "/"`.
148
-
149
- Do not call `framer.startAgentConversation()` or `framer.continueAgentConversation()` with this approach.
164
+ For design tasks, do not try to build or restyle pages with low-level node APIs. Instead, after session creation, load the dynamically created project-scoped skill `framer-canvas-editing-project-<projectId>` for canvas editing on the connected project. It contains the canvas editing guidance and all related documentation for how to use the relevant methods.
150
165
 
151
166
  ## Canvas Editing: Alternative Approach (“Prompt the Framer agent”)
152
167
 
package/package.json CHANGED
@@ -1,10 +1,8 @@
1
1
  {
2
2
  "name": "framer-dalton",
3
- "version": "0.0.18",
3
+ "version": "0.0.21",
4
4
  "type": "module",
5
- "bin": {
6
- "framer-dalton": "./dist/cli.js"
7
- },
5
+ "bin": "./dist/cli.js",
8
6
  "main": "./dist/cli.js",
9
7
  "types": "./dist/cli.d.ts",
10
8
  "files": [
@@ -25,15 +23,20 @@
25
23
  "@trpc/client": "^11.9.0",
26
24
  "@trpc/server": "^11.9.0",
27
25
  "commander": "^12.1.0",
28
- "framer-api": "^0.1.4-alpha.1",
26
+ "framer-api": "0.1.7",
29
27
  "zod": "^4.3.6"
30
28
  },
31
29
  "devDependencies": {
32
30
  "@biomejs/biome": "^2.3.13",
31
+ "@framerjs/framer-events": "0.0.175",
33
32
  "@types/node": "24.10.9",
34
33
  "tsup": "^8.0.2",
35
34
  "tsx": "^4.19.0",
36
35
  "typescript": "^5.9.2",
37
36
  "vitest": "^4.0.18"
37
+ },
38
+ "packageManager": "yarn@4.13.0",
39
+ "engines": {
40
+ "node": ">=22"
38
41
  }
39
42
  }