You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update `skills/` and the Cursor generator here, then export `plugins/cursor/`:
126
+
Update `skills/` and the Cursor generator here, then verify the generated output:
127
127
128
128
```bash
129
129
pnpm build
130
130
pnpm verify
131
-
pnpm export:cursor
131
+
pnpm export:cursor -- --dry-run
132
132
```
133
133
134
-
The export command runs `git subtree split --prefix=plugins/cursor`and pushes the result to `Automattic/wordpress-cursor-plugin` on `sync/from-build-with-wordpress`. Open or update a PR from that branch into the standalone repo's `main` branch, then submit the standalone repo to Cursor.
134
+
The dry run prints the exact subtree split and push commands without creating a split branch, pushing to the standalone repository, or mutating the standalone checkout.
135
135
136
-
For a dry run:
136
+
When maintainers are ready to update the standalone repository, run the non-dry-run export from a clean source worktree:
137
137
138
138
```bash
139
-
pnpm export:cursor -- --dry-run
139
+
pnpm export:cursor
140
140
```
141
+
142
+
The export command runs `git subtree split --prefix=plugins/cursor` and pushes the result to `Automattic/wordpress-cursor-plugin` on `sync/from-build-with-wordpress`. Open or update a PR from that branch into the standalone repo's `main` branch.
143
+
144
+
Before submitting or updating the Cursor listing, confirm the standalone branch includes the expected generated files, review `.cursor-plugin/plugin.json` listing metadata, verify the README and MCP setup match the generated source, and submit to Cursor only after the standalone repository PR is accepted.
Copy file name to clipboardExpand all lines: docs/contributor-workflows.md
+15-4Lines changed: 15 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,20 +100,31 @@ Expected MCP server names are:
100
100
101
101
Cursor output has an additional publishing workflow because Cursor consumes a standalone plugin repository.
102
102
103
+
Reviewable dry run:
104
+
103
105
```bash
104
106
pnpm build
105
107
pnpm verify
106
-
pnpm export:cursor
108
+
pnpm export:cursor -- --dry-run
107
109
```
108
110
109
-
Dry run:
111
+
The dry run prints the subtree split, push target, and cleanup command without creating a local split branch, pushing to the standalone repository, or touching a standalone checkout.
112
+
113
+
Maintainer export:
110
114
111
115
```bash
112
-
pnpm export:cursor -- --dry-run
116
+
pnpm export:cursor
113
117
```
114
118
115
119
The export script pushes a subtree split of `plugins/cursor` to `Automattic/wordpress-cursor-plugin` on `sync/from-build-with-wordpress`. Open or update a pull request from that branch to the standalone repository's `main` branch.
116
120
121
+
Before submitting or updating the Cursor listing:
122
+
123
+
1. Confirm the standalone branch contains `.cursor-plugin/plugin.json`, `README.md`, `mcp.json`, `rules/wordpress-studio.mdc`, and the generated `skills/` tree.
124
+
2. Review `.cursor-plugin/plugin.json` for the listing-facing `name`, `displayName`, `version`, `description`, `author`, `homepage`, `repository`, `license`, `keywords`, `rules`, `skills`, and `mcpServers` fields.
125
+
3. Confirm the standalone README describes the generated package, export source of truth, and MCP setup.
126
+
4. Submit to Cursor only after the standalone repository PR is accepted.
127
+
117
128
## Manual smoke testing
118
129
119
130
After verification passes, manually test representative generated output when the change affects runtime behavior:
@@ -165,7 +176,7 @@ Before requesting review:
165
176
-[ ]`pnpm verify` passes locally or in CI.
166
177
-[ ] Generated package diffs are expected and bounded.
167
178
-[ ] Documentation is updated for public contracts, setup commands, generated files, or integration behavior.
168
-
-[ ] Cursor export has been run or intentionally not run when `plugins/cursor/` changes.
179
+
-[ ] Cursor export dry run has been run when `plugins/cursor/` changes, and non-dry-run export is intentionally run or intentionally deferred.
Copy file name to clipboardExpand all lines: docs/generated-outputs.md
+17-6Lines changed: 17 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -172,26 +172,37 @@ The verifier checks generated files rather than source style. It should fail whe
172
172
173
173
When adding a new surface, add generator code and a verification function in the same change. The verification function should prove the public files that users or agent marketplaces consume.
174
174
175
-
## Cursor export contract
175
+
## Cursor export and listing contract
176
176
177
177
Cursor requires a standalone plugin repository. Build with WordPress remains the source of truth and exports `plugins/cursor/` to `Automattic/wordpress-cursor-plugin`.
178
178
179
-
Normal export:
179
+
Reviewable dry run:
180
180
181
181
```bash
182
182
pnpm build
183
183
pnpm verify
184
-
pnpm export:cursor
184
+
pnpm export:cursor -- --dry-run
185
185
```
186
186
187
-
Dry run:
187
+
The dry run prints the subtree split, push target, and cleanup command without creating a local split branch, pushing to the standalone repository, or touching a standalone checkout.
188
+
189
+
Maintainer export:
188
190
189
191
```bash
190
-
pnpm export:cursor -- --dry-run
192
+
pnpm export:cursor
191
193
```
192
194
193
195
The export script uses `git subtree split --prefix=plugins/cursor` and pushes the result to the standalone repository branch `sync/from-build-with-wordpress`. Open or update a pull request from that branch into the standalone repository's `main` branch.
194
196
197
+
Listing/submission checklist:
198
+
199
+
1. Confirm `pnpm build` and `pnpm verify` pass in Build with WordPress.
200
+
2. Confirm `pnpm export:cursor -- --dry-run` prints the expected `plugins/cursor` subtree split and `sync/from-build-with-wordpress` push target.
201
+
3. Confirm the exported branch contains `.cursor-plugin/plugin.json`, `README.md`, `mcp.json`, `rules/wordpress-studio.mdc`, and every shared skill under `skills/`.
202
+
4. Review Cursor listing metadata in `.cursor-plugin/plugin.json`: `name`, `displayName`, `version`, `description`, `author`, `homepage`, `repository`, `license`, `keywords`, `rules`, `skills`, and `mcpServers`.
203
+
5. Open or update the standalone repository PR and wait for review before submitting or updating the Cursor listing.
204
+
6. Submit to Cursor only from the accepted standalone repository state, not from unreviewed generated output.
205
+
195
206
## Maintenance checklist
196
207
197
208
Before opening a generated-output pull request:
@@ -201,7 +212,7 @@ Before opening a generated-output pull request:
201
212
3. Run `pnpm build`.
202
213
4. Run `pnpm verify`.
203
214
5. Inspect generated package diffs for unexpected churn.
204
-
6. If Cursor output changed, run the Cursor export flow when maintainers are ready to update the standalone plugin repository.
215
+
6. If Cursor output changed, run the dry-run Cursor export flow for review and the non-dry-run export only when maintainers are ready to update the standalone plugin repository.
Build with WordPress is the source of truth for this generated package. The standalone Cursor plugin repository is https://github.com/Automattic/wordpress-cursor-plugin and should be updated through the repository export script, not by manually editing exported files.
17
+
18
+
From the source repository, verify the generated output first:
19
+
20
+
```bash
21
+
pnpm build
22
+
pnpm verify
23
+
pnpm export:cursor -- --dry-run
24
+
```
25
+
26
+
When maintainers are ready to update the standalone repository, run `pnpm export:cursor` from a clean source worktree. The exporter creates a subtree split of `plugins/cursor/` and pushes it to `sync/from-build-with-wordpress` in the standalone repository.
27
+
28
+
Before submitting or updating the Cursor listing, confirm the exported standalone branch contains the expected `.cursor-plugin/plugin.json`, `README.md`, `mcp.json`, `rules/wordpress-studio.mdc`, and full `skills/` tree; review the listing-facing manifest fields for name, display name, version, description, author, homepage, repository, license, and keywords; then open or update the standalone repository pull request for review. Submit to Cursor only after the standalone repository PR is accepted.
29
+
14
30
It ships the shared skills from this repo so all supported surfaces stay aligned while we iterate on surface-specific packaging details.
Build with WordPress is the source of truth for this generated package. The standalone Cursor plugin repository is https://github.com/Automattic/wordpress-cursor-plugin and should be updated through the repository export script, not by manually editing exported files.
2032
+
2033
+
From the source repository, verify the generated output first:
2034
+
2035
+
\`\`\`bash
2036
+
pnpm build
2037
+
pnpm verify
2038
+
pnpm export:cursor -- --dry-run
2039
+
\`\`\`
2040
+
2041
+
When maintainers are ready to update the standalone repository, run \`pnpm export:cursor\` from a clean source worktree. The exporter creates a subtree split of \`plugins/cursor/\` and pushes it to \`sync/from-build-with-wordpress\` in the standalone repository.
2042
+
2043
+
Before submitting or updating the Cursor listing, confirm the exported standalone branch contains the expected \`.cursor-plugin/plugin.json\`, \`README.md\`, \`mcp.json\`, \`rules/wordpress-studio.mdc\`, and full \`skills/\` tree; review the listing-facing manifest fields for name, display name, version, description, author, homepage, repository, license, and keywords; then open or update the standalone repository pull request for review. Submit to Cursor only after the standalone repository PR is accepted.`,
0 commit comments