@loopress/cli 0.29.0 → 0.31.0

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 (154) hide show
  1. package/README.md +1369 -360
  2. package/dist/commands/acf/push.js +2 -1
  3. package/dist/commands/composer/push.d.ts +1 -0
  4. package/dist/commands/composer/push.js +13 -0
  5. package/dist/commands/content/copy.d.ts +28 -0
  6. package/dist/commands/content/copy.js +97 -0
  7. package/dist/commands/cpt/diff.js +5 -0
  8. package/dist/commands/cpt/list.d.ts +2 -0
  9. package/dist/commands/cpt/list.js +4 -0
  10. package/dist/commands/cpt/pull.d.ts +2 -0
  11. package/dist/commands/cpt/pull.js +4 -0
  12. package/dist/commands/cpt/push.d.ts +2 -0
  13. package/dist/commands/cpt/push.js +4 -0
  14. package/dist/commands/cpt/rm.d.ts +2 -0
  15. package/dist/commands/cpt/rm.js +3 -0
  16. package/dist/commands/cpt/rollback.js +5 -0
  17. package/dist/commands/dev.js +14 -4
  18. package/dist/commands/diff.js +1 -1
  19. package/dist/commands/doctor.d.ts +2 -0
  20. package/dist/commands/doctor.js +57 -2
  21. package/dist/commands/form/push.js +4 -1
  22. package/dist/commands/meta/diff.d.ts +2 -0
  23. package/dist/commands/meta/diff.js +5 -0
  24. package/dist/commands/meta/list.d.ts +19 -0
  25. package/dist/commands/meta/list.js +21 -0
  26. package/dist/commands/meta/pull.d.ts +2 -0
  27. package/dist/commands/meta/pull.js +4 -0
  28. package/dist/commands/meta/push.d.ts +2 -0
  29. package/dist/commands/meta/push.js +4 -0
  30. package/dist/commands/meta/rm.d.ts +2 -0
  31. package/dist/commands/meta/rm.js +3 -0
  32. package/dist/commands/meta/rollback.d.ts +2 -0
  33. package/dist/commands/meta/rollback.js +5 -0
  34. package/dist/commands/option/list.js +2 -8
  35. package/dist/commands/option/push.js +4 -2
  36. package/dist/commands/page/push.js +3 -2
  37. package/dist/commands/pattern/diff.d.ts +2 -0
  38. package/dist/commands/pattern/diff.js +5 -0
  39. package/dist/commands/pattern/list.d.ts +2 -0
  40. package/dist/commands/pattern/list.js +3 -0
  41. package/dist/commands/pattern/pull.d.ts +2 -0
  42. package/dist/commands/pattern/pull.js +4 -0
  43. package/dist/commands/pattern/push.d.ts +2 -0
  44. package/dist/commands/pattern/push.js +4 -0
  45. package/dist/commands/pattern/rm.d.ts +2 -0
  46. package/dist/commands/pattern/rm.js +3 -0
  47. package/dist/commands/pattern/rollback.d.ts +2 -0
  48. package/dist/commands/pattern/rollback.js +5 -0
  49. package/dist/commands/plugin/audit.js +43 -25
  50. package/dist/commands/project/config.d.ts +1 -0
  51. package/dist/commands/project/config.js +20 -1
  52. package/dist/commands/project/list.d.ts +1 -1
  53. package/dist/commands/project/list.js +6 -6
  54. package/dist/commands/project/pull.js +11 -8
  55. package/dist/commands/project/push.js +23 -18
  56. package/dist/commands/project/remove.js +1 -1
  57. package/dist/commands/project/switch.d.ts +0 -1
  58. package/dist/commands/project/switch.js +16 -36
  59. package/dist/commands/promote.d.ts +1 -0
  60. package/dist/commands/promote.js +7 -3
  61. package/dist/commands/pull.d.ts +2 -1
  62. package/dist/commands/pull.js +31 -6
  63. package/dist/commands/push.d.ts +4 -2
  64. package/dist/commands/push.js +51 -19
  65. package/dist/commands/role/diff.d.ts +2 -0
  66. package/dist/commands/role/diff.js +5 -0
  67. package/dist/commands/role/list.d.ts +2 -0
  68. package/dist/commands/role/list.js +4 -0
  69. package/dist/commands/role/pull.d.ts +2 -0
  70. package/dist/commands/role/pull.js +4 -0
  71. package/dist/commands/role/push.d.ts +2 -0
  72. package/dist/commands/role/push.js +4 -0
  73. package/dist/commands/role/rm.d.ts +2 -0
  74. package/dist/commands/role/rm.js +3 -0
  75. package/dist/commands/role/rollback.d.ts +2 -0
  76. package/dist/commands/role/rollback.js +5 -0
  77. package/dist/commands/snippet/push.d.ts +1 -0
  78. package/dist/commands/snippet/push.js +24 -3
  79. package/dist/commands/status.d.ts +2 -3
  80. package/dist/commands/status.js +21 -53
  81. package/dist/commands/taxonomy/diff.d.ts +2 -0
  82. package/dist/commands/taxonomy/diff.js +5 -0
  83. package/dist/commands/taxonomy/list.d.ts +2 -0
  84. package/dist/commands/taxonomy/list.js +5 -0
  85. package/dist/commands/taxonomy/pull.d.ts +2 -0
  86. package/dist/commands/taxonomy/pull.js +4 -0
  87. package/dist/commands/taxonomy/push.d.ts +2 -0
  88. package/dist/commands/taxonomy/push.js +4 -0
  89. package/dist/commands/taxonomy/rm.d.ts +2 -0
  90. package/dist/commands/taxonomy/rm.js +3 -0
  91. package/dist/commands/taxonomy/rollback.d.ts +2 -0
  92. package/dist/commands/taxonomy/rollback.js +5 -0
  93. package/dist/commands/theme/template/push.d.ts +2 -0
  94. package/dist/commands/theme/template/push.js +26 -5
  95. package/dist/commands/theme/version/pull.js +6 -1
  96. package/dist/config/project-config.manager.d.ts +3 -3
  97. package/dist/config/project-config.manager.js +22 -31
  98. package/dist/hooks/finally.js +11 -3
  99. package/dist/lib/api-client.js +2 -1
  100. package/dist/lib/app-build.js +3 -1
  101. package/dist/lib/base.d.ts +2 -2
  102. package/dist/lib/base.js +33 -38
  103. package/dist/lib/declared-type-command.d.ts +35 -0
  104. package/dist/lib/declared-type-command.js +192 -0
  105. package/dist/lib/dev-watch.d.ts +1 -1
  106. package/dist/lib/dev-watch.js +7 -3
  107. package/dist/lib/diff-command.d.ts +2 -0
  108. package/dist/lib/diff-command.js +24 -3
  109. package/dist/lib/github-release.js +4 -0
  110. package/dist/lib/load-snippets.js +4 -0
  111. package/dist/lib/local-callback-server.js +3 -1
  112. package/dist/lib/php-files-command.d.ts +8 -0
  113. package/dist/lib/php-files-command.js +5 -0
  114. package/dist/lib/push-command.d.ts +5 -2
  115. package/dist/lib/push-command.js +96 -15
  116. package/dist/lib/put-or-create.js +3 -4
  117. package/dist/lib/resource-state.js +38 -85
  118. package/dist/lib/rollback-command.js +9 -2
  119. package/dist/lib/rollback-materialize.js +13 -24
  120. package/dist/lib/spinner.d.ts +2 -0
  121. package/dist/lib/spinner.js +72 -0
  122. package/dist/lib/temp-admin.d.ts +10 -1
  123. package/dist/lib/temp-admin.js +27 -2
  124. package/dist/lib/validate-local.js +40 -12
  125. package/dist/lib/wp-client.d.ts +1 -0
  126. package/dist/lib/wp-client.js +21 -2
  127. package/dist/lib/wp-site-diagnostic.js +3 -2
  128. package/dist/types/global-config.generated.d.ts +1 -5
  129. package/dist/types/project-config.generated.d.ts +28 -4
  130. package/dist/types/snippet.d.ts +1 -0
  131. package/dist/utils/composer.js +2 -1
  132. package/dist/utils/declared-type-format.d.ts +52 -0
  133. package/dist/utils/declared-type-format.js +233 -0
  134. package/dist/utils/resource-dirs.d.ts +9 -3
  135. package/dist/utils/resource-dirs.js +16 -4
  136. package/dist/utils/template-format.d.ts +1 -0
  137. package/dist/utils/theme-css.d.ts +19 -0
  138. package/dist/utils/theme-css.js +100 -0
  139. package/oclif.manifest.json +3294 -1213
  140. package/package.json +32 -16
  141. package/schemas/global-config.schema.json +2 -6
  142. package/schemas/project-config.schema.json +37 -7
  143. package/dist/commands/seo/diff.js +0 -5
  144. package/dist/commands/seo/list.d.ts +0 -18
  145. package/dist/commands/seo/list.js +0 -58
  146. package/dist/commands/seo/pull.d.ts +0 -24
  147. package/dist/commands/seo/pull.js +0 -89
  148. package/dist/commands/seo/push.d.ts +0 -29
  149. package/dist/commands/seo/push.js +0 -178
  150. package/dist/commands/seo/rollback.js +0 -5
  151. package/dist/utils/seo-format.d.ts +0 -29
  152. package/dist/utils/seo-format.js +0 -18
  153. /package/dist/commands/{seo → cpt}/diff.d.ts +0 -0
  154. /package/dist/commands/{seo → cpt}/rollback.d.ts +0 -0
package/README.md CHANGED
@@ -21,7 +21,7 @@ $ npm install -g @loopress/cli
21
21
  $ lps COMMAND
22
22
  running command...
23
23
  $ lps (--version)
24
- @loopress/cli/0.29.0 linux-x64 node-v24.21.0
24
+ @loopress/cli/0.31.0 linux-x64 node-v24.21.0
25
25
  $ lps --help [COMMAND]
26
26
  USAGE
27
27
  $ lps COMMAND
@@ -67,6 +67,14 @@ report.
67
67
  * [`lps composer init`](#lps-composer-init)
68
68
  * [`lps composer pull`](#lps-composer-pull)
69
69
  * [`lps composer push`](#lps-composer-push)
70
+ * [`lps content copy FROM`](#lps-content-copy-from)
71
+ * [`lps cpt diff [PATH]`](#lps-cpt-diff-path)
72
+ * [`lps cpt list`](#lps-cpt-list)
73
+ * [`lps cpt pull [PATH]`](#lps-cpt-pull-path)
74
+ * [`lps cpt push [PATH]`](#lps-cpt-push-path)
75
+ * [`lps cpt remove SLUG`](#lps-cpt-remove-slug)
76
+ * [`lps cpt rm SLUG`](#lps-cpt-rm-slug)
77
+ * [`lps cpt rollback [PATH]`](#lps-cpt-rollback-path)
70
78
  * [`lps dev`](#lps-dev)
71
79
  * [`lps diff`](#lps-diff)
72
80
  * [`lps doctor`](#lps-doctor)
@@ -91,6 +99,13 @@ report.
91
99
  * [`lps menu pull [PATH]`](#lps-menu-pull-path)
92
100
  * [`lps menu push [PATH]`](#lps-menu-push-path)
93
101
  * [`lps menu rollback [PATH]`](#lps-menu-rollback-path)
102
+ * [`lps meta diff [PATH]`](#lps-meta-diff-path)
103
+ * [`lps meta list`](#lps-meta-list)
104
+ * [`lps meta pull [PATH]`](#lps-meta-pull-path)
105
+ * [`lps meta push [PATH]`](#lps-meta-push-path)
106
+ * [`lps meta remove SLUG`](#lps-meta-remove-slug)
107
+ * [`lps meta rm SLUG`](#lps-meta-rm-slug)
108
+ * [`lps meta rollback [PATH]`](#lps-meta-rollback-path)
94
109
  * [`lps option add NAME`](#lps-option-add-name)
95
110
  * [`lps option diff [PATH]`](#lps-option-diff-path)
96
111
  * [`lps option list`](#lps-option-list)
@@ -101,6 +116,13 @@ report.
101
116
  * [`lps page diff [PATH]`](#lps-page-diff-path)
102
117
  * [`lps page list`](#lps-page-list)
103
118
  * [`lps page push [SLUG]`](#lps-page-push-slug)
119
+ * [`lps pattern diff [PATH]`](#lps-pattern-diff-path)
120
+ * [`lps pattern list`](#lps-pattern-list)
121
+ * [`lps pattern pull [PATH]`](#lps-pattern-pull-path)
122
+ * [`lps pattern push [PATH]`](#lps-pattern-push-path)
123
+ * [`lps pattern remove SLUG`](#lps-pattern-remove-slug)
124
+ * [`lps pattern rm SLUG`](#lps-pattern-rm-slug)
125
+ * [`lps pattern rollback [PATH]`](#lps-pattern-rollback-path)
104
126
  * [`lps plugin add SLUG`](#lps-plugin-add-slug)
105
127
  * [`lps plugin audit`](#lps-plugin-audit)
106
128
  * [`lps plugin pull`](#lps-plugin-pull)
@@ -116,11 +138,13 @@ report.
116
138
  * [`lps promote FROM TO`](#lps-promote-from-to)
117
139
  * [`lps pull`](#lps-pull)
118
140
  * [`lps push`](#lps-push)
119
- * [`lps seo diff [PATH]`](#lps-seo-diff-path)
120
- * [`lps seo list`](#lps-seo-list)
121
- * [`lps seo pull [PATH]`](#lps-seo-pull-path)
122
- * [`lps seo push [PATH]`](#lps-seo-push-path)
123
- * [`lps seo rollback [PATH]`](#lps-seo-rollback-path)
141
+ * [`lps role diff [PATH]`](#lps-role-diff-path)
142
+ * [`lps role list`](#lps-role-list)
143
+ * [`lps role pull [PATH]`](#lps-role-pull-path)
144
+ * [`lps role push [PATH]`](#lps-role-push-path)
145
+ * [`lps role remove SLUG`](#lps-role-remove-slug)
146
+ * [`lps role rm SLUG`](#lps-role-rm-slug)
147
+ * [`lps role rollback [PATH]`](#lps-role-rollback-path)
124
148
  * [`lps snippet diff [PATH]`](#lps-snippet-diff-path)
125
149
  * [`lps snippet list`](#lps-snippet-list)
126
150
  * [`lps snippet publish [PATH]`](#lps-snippet-publish-path)
@@ -128,6 +152,13 @@ report.
128
152
  * [`lps snippet push [PATH]`](#lps-snippet-push-path)
129
153
  * [`lps snippet rollback [PATH]`](#lps-snippet-rollback-path)
130
154
  * [`lps status`](#lps-status)
155
+ * [`lps taxonomy diff [PATH]`](#lps-taxonomy-diff-path)
156
+ * [`lps taxonomy list`](#lps-taxonomy-list)
157
+ * [`lps taxonomy pull [PATH]`](#lps-taxonomy-pull-path)
158
+ * [`lps taxonomy push [PATH]`](#lps-taxonomy-push-path)
159
+ * [`lps taxonomy remove SLUG`](#lps-taxonomy-remove-slug)
160
+ * [`lps taxonomy rm SLUG`](#lps-taxonomy-rm-slug)
161
+ * [`lps taxonomy rollback [PATH]`](#lps-taxonomy-rollback-path)
131
162
  * [`lps telemetry disable`](#lps-telemetry-disable)
132
163
  * [`lps telemetry enable`](#lps-telemetry-enable)
133
164
  * [`lps theme add SLUG`](#lps-theme-add-slug)
@@ -158,7 +189,7 @@ ARGUMENTS
158
189
 
159
190
  FLAGS
160
191
  --against=<value> Compare the primary environment against this second environment instead of against local files
161
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
192
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
162
193
 
163
194
  GLOBAL FLAGS
164
195
  --json Format output as json.
@@ -175,7 +206,7 @@ EXAMPLES
175
206
  $ lps acf diff --env staging --against production
176
207
  ```
177
208
 
178
- _See code: [src/commands/acf/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/acf/diff.ts)_
209
+ _See code: [src/commands/acf/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/acf/diff.ts)_
179
210
 
180
211
  ## `lps acf list`
181
212
 
@@ -186,7 +217,7 @@ USAGE
186
217
  $ lps acf list [--json] [--env <value>] [--type field-groups|post-types|taxonomies|options-pages...]
187
218
 
188
219
  FLAGS
189
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
220
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
190
221
  --type=<option>... Limit to specific ACF object types
191
222
  <options: field-groups|post-types|taxonomies|options-pages>
192
223
 
@@ -202,7 +233,7 @@ EXAMPLES
202
233
  $ lps acf list --type field-groups
203
234
  ```
204
235
 
205
- _See code: [src/commands/acf/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/acf/list.ts)_
236
+ _See code: [src/commands/acf/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/acf/list.ts)_
206
237
 
207
238
  ## `lps acf pull [PATH]`
208
239
 
@@ -219,7 +250,7 @@ ARGUMENTS
219
250
  FLAGS
220
251
  -d, --dry-run Show what would change without making changes
221
252
  -y, --yes Answer yes to confirmation prompts
222
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
253
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
223
254
  --type=<option>... Limit to specific ACF object types
224
255
  <options: field-groups|post-types|taxonomies|options-pages>
225
256
 
@@ -235,7 +266,7 @@ EXAMPLES
235
266
  $ lps acf pull --type field-groups
236
267
  ```
237
268
 
238
- _See code: [src/commands/acf/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/acf/pull.ts)_
269
+ _See code: [src/commands/acf/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/acf/pull.ts)_
239
270
 
240
271
  ## `lps acf push [PATH]`
241
272
 
@@ -243,7 +274,7 @@ Push ACF field groups, post types, taxonomies, and options pages to WordPress
243
274
 
244
275
  ```
245
276
  USAGE
246
- $ lps acf push [PATH] [--json] [--env <value>] [-d] [-y] [--type
277
+ $ lps acf push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y] [--type
247
278
  field-groups|post-types|taxonomies|options-pages...]
248
279
 
249
280
  ARGUMENTS
@@ -252,7 +283,8 @@ ARGUMENTS
252
283
  FLAGS
253
284
  -d, --dry-run Show what would change without making changes
254
285
  -y, --yes Answer yes to confirmation prompts
255
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
286
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
287
+ --overwrite Push even over changes made on the site outside Loopress since your last push
256
288
  --type=<option>... Limit to specific ACF object types
257
289
  <options: field-groups|post-types|taxonomies|options-pages>
258
290
 
@@ -268,7 +300,7 @@ EXAMPLES
268
300
  $ lps acf push --type field-groups
269
301
  ```
270
302
 
271
- _See code: [src/commands/acf/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/acf/push.ts)_
303
+ _See code: [src/commands/acf/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/acf/push.ts)_
272
304
 
273
305
  ## `lps acf rollback [PATH]`
274
306
 
@@ -284,7 +316,7 @@ ARGUMENTS
284
316
  FLAGS
285
317
  -d, --dry-run Show what would change without making changes
286
318
  -y, --yes Answer yes to confirmation prompts
287
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
319
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
288
320
  --list List available snapshots instead of rolling back
289
321
  --to=<value> Roll back to this snapshot id instead of the most recent one
290
322
 
@@ -305,7 +337,7 @@ EXAMPLES
305
337
  $ lps acf rollback --dry-run
306
338
  ```
307
339
 
308
- _See code: [src/commands/acf/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/acf/rollback.ts)_
340
+ _See code: [src/commands/acf/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/acf/rollback.ts)_
309
341
 
310
342
  ## `lps api diff [PATH]`
311
343
 
@@ -320,7 +352,7 @@ ARGUMENTS
320
352
 
321
353
  FLAGS
322
354
  --against=<value> Compare the primary environment against this second environment instead of against local files
323
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
355
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
324
356
 
325
357
  GLOBAL FLAGS
326
358
  --json Format output as json.
@@ -337,7 +369,7 @@ EXAMPLES
337
369
  $ lps api diff --env staging --against production
338
370
  ```
339
371
 
340
- _See code: [src/commands/api/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/diff.ts)_
372
+ _See code: [src/commands/api/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/diff.ts)_
341
373
 
342
374
  ## `lps api list`
343
375
 
@@ -348,7 +380,7 @@ USAGE
348
380
  $ lps api list [--json] [--env <value>]
349
381
 
350
382
  FLAGS
351
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
383
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
352
384
 
353
385
  GLOBAL FLAGS
354
386
  --json Format output as json.
@@ -360,7 +392,7 @@ EXAMPLES
360
392
  $ lps api list
361
393
  ```
362
394
 
363
- _See code: [src/commands/api/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/list.ts)_
395
+ _See code: [src/commands/api/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/list.ts)_
364
396
 
365
397
  ## `lps api publish [PATH]`
366
398
 
@@ -383,7 +415,7 @@ EXAMPLES
383
415
  $ lps api publish ./api
384
416
  ```
385
417
 
386
- _See code: [src/commands/api/publish.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/publish.ts)_
418
+ _See code: [src/commands/api/publish.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/publish.ts)_
387
419
 
388
420
  ## `lps api pull [PATH]`
389
421
 
@@ -399,7 +431,7 @@ ARGUMENTS
399
431
  FLAGS
400
432
  -d, --dry-run Show what would change without making changes
401
433
  -y, --yes Answer yes to confirmation prompts
402
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
434
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
403
435
 
404
436
  GLOBAL FLAGS
405
437
  --json Format output as json.
@@ -413,7 +445,7 @@ EXAMPLES
413
445
  $ lps api pull --path ./api
414
446
  ```
415
447
 
416
- _See code: [src/commands/api/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/pull.ts)_
448
+ _See code: [src/commands/api/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/pull.ts)_
417
449
 
418
450
  ## `lps api push [PATH]`
419
451
 
@@ -421,7 +453,7 @@ Push custom API route files to WordPress
421
453
 
422
454
  ```
423
455
  USAGE
424
- $ lps api push [PATH] [--json] [--env <value>] [-d] [-y] [--prune]
456
+ $ lps api push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y] [--prune]
425
457
 
426
458
  ARGUMENTS
427
459
  [PATH] Path to api directory (overrides project config)
@@ -429,7 +461,8 @@ ARGUMENTS
429
461
  FLAGS
430
462
  -d, --dry-run Show what would change without making changes
431
463
  -y, --yes Answer yes to confirmation prompts
432
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
464
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
465
+ --overwrite Push even over changes made on the site outside Loopress since your last push
433
466
  --prune Delete server-side route files not present locally after pushing
434
467
 
435
468
  GLOBAL FLAGS
@@ -446,7 +479,7 @@ EXAMPLES
446
479
  $ lps api push --prune
447
480
  ```
448
481
 
449
- _See code: [src/commands/api/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/push.ts)_
482
+ _See code: [src/commands/api/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/push.ts)_
450
483
 
451
484
  ## `lps api remove FILENAME`
452
485
 
@@ -462,7 +495,7 @@ ARGUMENTS
462
495
  FLAGS
463
496
  -d, --dry-run Show what would change without making changes
464
497
  -y, --yes Answer yes to confirmation prompts
465
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
498
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
466
499
 
467
500
  GLOBAL FLAGS
468
501
  --json Format output as json.
@@ -493,7 +526,7 @@ ARGUMENTS
493
526
  FLAGS
494
527
  -d, --dry-run Show what would change without making changes
495
528
  -y, --yes Answer yes to confirmation prompts
496
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
529
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
497
530
 
498
531
  GLOBAL FLAGS
499
532
  --json Format output as json.
@@ -510,7 +543,7 @@ EXAMPLES
510
543
  $ lps api remove hello --yes
511
544
  ```
512
545
 
513
- _See code: [src/commands/api/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/rm.ts)_
546
+ _See code: [src/commands/api/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/rm.ts)_
514
547
 
515
548
  ## `lps api rollback [PATH]`
516
549
 
@@ -526,7 +559,7 @@ ARGUMENTS
526
559
  FLAGS
527
560
  -d, --dry-run Show what would change without making changes
528
561
  -y, --yes Answer yes to confirmation prompts
529
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
562
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
530
563
  --list List available snapshots instead of rolling back
531
564
  --to=<value> Roll back to this snapshot id instead of the most recent one
532
565
 
@@ -546,7 +579,7 @@ EXAMPLES
546
579
  $ lps api rollback --dry-run
547
580
  ```
548
581
 
549
- _See code: [src/commands/api/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/api/rollback.ts)_
582
+ _See code: [src/commands/api/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/api/rollback.ts)_
550
583
 
551
584
  ## `lps app list`
552
585
 
@@ -557,7 +590,7 @@ USAGE
557
590
  $ lps app list [--json] [--env <value>]
558
591
 
559
592
  FLAGS
560
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
593
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
561
594
 
562
595
  GLOBAL FLAGS
563
596
  --json Format output as json.
@@ -569,7 +602,7 @@ EXAMPLES
569
602
  $ lps app list
570
603
  ```
571
604
 
572
- _See code: [src/commands/app/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/app/list.ts)_
605
+ _See code: [src/commands/app/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/app/list.ts)_
573
606
 
574
607
  ## `lps app pull [PATH]`
575
608
 
@@ -585,7 +618,7 @@ ARGUMENTS
585
618
  FLAGS
586
619
  -d, --dry-run Show what would change without making changes
587
620
  -y, --yes Answer yes to confirmation prompts
588
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
621
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
589
622
 
590
623
  GLOBAL FLAGS
591
624
  --json Format output as json.
@@ -597,7 +630,7 @@ EXAMPLES
597
630
  $ lps app pull
598
631
  ```
599
632
 
600
- _See code: [src/commands/app/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/app/pull.ts)_
633
+ _See code: [src/commands/app/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/app/pull.ts)_
601
634
 
602
635
  ## `lps app push [NAME]`
603
636
 
@@ -605,7 +638,7 @@ Build and push single-page app bundles to WordPress. Each app is an `apps/<name>
605
638
 
606
639
  ```
607
640
  USAGE
608
- $ lps app push [NAME] [--json] [--env <value>] [--build] [-d] [-y]
641
+ $ lps app push [NAME] [--json] [--env <value>] [--overwrite] [--build] [-d] [-y]
609
642
 
610
643
  ARGUMENTS
611
644
  [NAME] Push only this app (defaults to every app in the directory)
@@ -614,7 +647,8 @@ FLAGS
614
647
  -d, --dry-run Show what would change without making changes
615
648
  -y, --yes Answer yes to confirmation prompts
616
649
  --[no-]build Run the app's package.json build script before pushing
617
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
650
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
651
+ --overwrite Push even over changes made on the site outside Loopress since your last push
618
652
 
619
653
  GLOBAL FLAGS
620
654
  --json Format output as json.
@@ -632,7 +666,7 @@ EXAMPLES
632
666
  $ lps app push --no-build
633
667
  ```
634
668
 
635
- _See code: [src/commands/app/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/app/push.ts)_
669
+ _See code: [src/commands/app/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/app/push.ts)_
636
670
 
637
671
  ## `lps app remove NAME`
638
672
 
@@ -648,7 +682,7 @@ ARGUMENTS
648
682
  FLAGS
649
683
  -d, --dry-run Show what would change without making changes
650
684
  -y, --yes Answer yes to confirmation prompts
651
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
685
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
652
686
 
653
687
  GLOBAL FLAGS
654
688
  --json Format output as json.
@@ -661,7 +695,7 @@ EXAMPLES
661
695
  $ lps app remove search
662
696
  ```
663
697
 
664
- _See code: [src/commands/app/remove.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/app/remove.ts)_
698
+ _See code: [src/commands/app/remove.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/app/remove.ts)_
665
699
 
666
700
  ## `lps composer init`
667
701
 
@@ -673,7 +707,7 @@ USAGE
673
707
 
674
708
  FLAGS
675
709
  -d, --dry-run Show what would change without making changes
676
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
710
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
677
711
 
678
712
  DESCRIPTION
679
713
  Create a composer.json wired to WPackagist for installing WordPress.org plugins and themes
@@ -684,7 +718,7 @@ EXAMPLES
684
718
  $ lps composer init --dry-run
685
719
  ```
686
720
 
687
- _See code: [src/commands/composer/init.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/composer/init.ts)_
721
+ _See code: [src/commands/composer/init.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/composer/init.ts)_
688
722
 
689
723
  ## `lps composer pull`
690
724
 
@@ -696,7 +730,7 @@ USAGE
696
730
 
697
731
  FLAGS
698
732
  -d, --dry-run Show what would change without making changes
699
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
733
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
700
734
 
701
735
  GLOBAL FLAGS
702
736
  --json Format output as json.
@@ -710,7 +744,7 @@ EXAMPLES
710
744
  $ lps composer pull --dry-run
711
745
  ```
712
746
 
713
- _See code: [src/commands/composer/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/composer/pull.ts)_
747
+ _See code: [src/commands/composer/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/composer/pull.ts)_
714
748
 
715
749
  ## `lps composer push`
716
750
 
@@ -718,13 +752,14 @@ Push composer.json to WordPress and run Composer to resolve and install dependen
718
752
 
719
753
  ```
720
754
  USAGE
721
- $ lps composer push [--json] [--env <value>] [-d] [-y] [--force]
755
+ $ lps composer push [--json] [--env <value>] [--overwrite] [-d] [-y] [--force]
722
756
 
723
757
  FLAGS
724
758
  -d, --dry-run Show what would change without making changes
725
759
  -y, --yes Answer yes to confirmation prompts
726
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
760
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
727
761
  --force Allow downgrades and take over plugins/themes installed outside Loopress
762
+ --overwrite Push even over changes made on the site outside Loopress since your last push
728
763
 
729
764
  GLOBAL FLAGS
730
765
  --json Format output as json.
@@ -738,7 +773,255 @@ EXAMPLES
738
773
  $ lps composer push --dry-run
739
774
  ```
740
775
 
741
- _See code: [src/commands/composer/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/composer/push.ts)_
776
+ _See code: [src/commands/composer/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/composer/push.ts)_
777
+
778
+ ## `lps content copy FROM`
779
+
780
+ Replace the local site's content (posts, pages, public custom post types, terms) with the content of <from>, then push the project to the local site so tracked configuration wins. Media stay served by <from>, users, comments and orders are never copied.
781
+
782
+ ```
783
+ USAGE
784
+ $ lps content copy FROM [--json] [-d] [-y]
785
+
786
+ ARGUMENTS
787
+ FROM Environment to copy the content from
788
+
789
+ FLAGS
790
+ -d, --dry-run Show what would change without making changes
791
+ -y, --yes Answer yes to confirmation prompts
792
+
793
+ GLOBAL FLAGS
794
+ --json Format output as json.
795
+
796
+ DESCRIPTION
797
+ Replace the local site's content (posts, pages, public custom post types, terms) with the content of <from>, then push
798
+ the project to the local site so tracked configuration wins. Media stay served by <from>, users, comments and orders
799
+ are never copied.
800
+
801
+ EXAMPLES
802
+ $ lps content copy production
803
+
804
+ $ lps content copy staging --dry-run
805
+ ```
806
+
807
+ _See code: [src/commands/content/copy.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/content/copy.ts)_
808
+
809
+ ## `lps cpt diff [PATH]`
810
+
811
+ Show what differs in custom post types between your local cpt/ files and a WordPress environment, or between two environments
812
+
813
+ ```
814
+ USAGE
815
+ $ lps cpt diff [PATH] [--json] [--env <value>] [--against <value>]
816
+
817
+ ARGUMENTS
818
+ [PATH] Path to cpt directory (overrides project config)
819
+
820
+ FLAGS
821
+ --against=<value> Compare the primary environment against this second environment instead of against local files
822
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
823
+
824
+ GLOBAL FLAGS
825
+ --json Format output as json.
826
+
827
+ DESCRIPTION
828
+ Show what differs in custom post types between your local cpt/ files and a WordPress environment, or between two
829
+ environments
830
+
831
+ EXAMPLES
832
+ $ lps cpt diff
833
+
834
+ $ lps cpt diff --env staging
835
+
836
+ $ lps cpt diff --env staging --against production
837
+ ```
838
+
839
+ _See code: [src/commands/cpt/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/cpt/diff.ts)_
840
+
841
+ ## `lps cpt list`
842
+
843
+ List the post types registered on WordPress and where each comes from (Loopress, WordPress, ACF, CPT UI, a theme or plugin). Only Loopress ones are pulled and pushed.
844
+
845
+ ```
846
+ USAGE
847
+ $ lps cpt list [--json] [--env <value>]
848
+
849
+ FLAGS
850
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
851
+
852
+ GLOBAL FLAGS
853
+ --json Format output as json.
854
+
855
+ DESCRIPTION
856
+ List the post types registered on WordPress and where each comes from (Loopress, WordPress, ACF, CPT UI, a theme or
857
+ plugin). Only Loopress ones are pulled and pushed.
858
+
859
+ EXAMPLES
860
+ $ lps cpt list
861
+ ```
862
+
863
+ _See code: [src/commands/cpt/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/cpt/list.ts)_
864
+
865
+ ## `lps cpt pull [PATH]`
866
+
867
+ Pull the custom post types Loopress manages on WordPress into cpt/<slug>.json files. Post types registered by a theme or another plugin are never pulled, see `lps cpt list`.
868
+
869
+ ```
870
+ USAGE
871
+ $ lps cpt pull [PATH] [--json] [--env <value>] [-d] [-y]
872
+
873
+ ARGUMENTS
874
+ [PATH] Path to the cpt directory (overrides project config)
875
+
876
+ FLAGS
877
+ -d, --dry-run Show what would change without making changes
878
+ -y, --yes Answer yes to confirmation prompts
879
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
880
+
881
+ GLOBAL FLAGS
882
+ --json Format output as json.
883
+
884
+ DESCRIPTION
885
+ Pull the custom post types Loopress manages on WordPress into cpt/<slug>.json files. Post types registered by a theme
886
+ or another plugin are never pulled, see `lps cpt list`.
887
+
888
+ EXAMPLES
889
+ $ lps cpt pull
890
+ ```
891
+
892
+ _See code: [src/commands/cpt/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/cpt/pull.ts)_
893
+
894
+ ## `lps cpt push [PATH]`
895
+
896
+ Push local custom post types (cpt/<slug>.json, register_post_type() arguments) to WordPress. Create or update only, never deletes a post type: use `lps cpt rm` for that.
897
+
898
+ ```
899
+ USAGE
900
+ $ lps cpt push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
901
+
902
+ ARGUMENTS
903
+ [PATH] Path to the cpt directory (overrides project config)
904
+
905
+ FLAGS
906
+ -d, --dry-run Show what would change without making changes
907
+ -y, --yes Answer yes to confirmation prompts
908
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
909
+ --overwrite Push even over changes made on the site outside Loopress since your last push
910
+
911
+ GLOBAL FLAGS
912
+ --json Format output as json.
913
+
914
+ DESCRIPTION
915
+ Push local custom post types (cpt/<slug>.json, register_post_type() arguments) to WordPress. Create or update only,
916
+ never deletes a post type: use `lps cpt rm` for that.
917
+
918
+ EXAMPLES
919
+ $ lps cpt push
920
+ ```
921
+
922
+ _See code: [src/commands/cpt/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/cpt/push.ts)_
923
+
924
+ ## `lps cpt remove SLUG`
925
+
926
+ Stop registering a Loopress custom post type on WordPress. Its posts are kept in the database, hidden until the post type is pushed again.
927
+
928
+ ```
929
+ USAGE
930
+ $ lps cpt remove SLUG [--json] [--env <value>] [-d] [-y]
931
+
932
+ ARGUMENTS
933
+ SLUG The post type slug, its cpt/ file name without .json
934
+
935
+ FLAGS
936
+ -d, --dry-run Show what would change without making changes
937
+ -y, --yes Answer yes to confirmation prompts
938
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
939
+
940
+ GLOBAL FLAGS
941
+ --json Format output as json.
942
+
943
+ DESCRIPTION
944
+ Stop registering a Loopress custom post type on WordPress. Its posts are kept in the database, hidden until the post
945
+ type is pushed again.
946
+
947
+ ALIASES
948
+ $ lps cpt remove
949
+
950
+ EXAMPLES
951
+ $ lps cpt rm <slug>
952
+
953
+ $ lps cpt remove <slug> --yes
954
+ ```
955
+
956
+ ## `lps cpt rm SLUG`
957
+
958
+ Stop registering a Loopress custom post type on WordPress. Its posts are kept in the database, hidden until the post type is pushed again.
959
+
960
+ ```
961
+ USAGE
962
+ $ lps cpt rm SLUG [--json] [--env <value>] [-d] [-y]
963
+
964
+ ARGUMENTS
965
+ SLUG The post type slug, its cpt/ file name without .json
966
+
967
+ FLAGS
968
+ -d, --dry-run Show what would change without making changes
969
+ -y, --yes Answer yes to confirmation prompts
970
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
971
+
972
+ GLOBAL FLAGS
973
+ --json Format output as json.
974
+
975
+ DESCRIPTION
976
+ Stop registering a Loopress custom post type on WordPress. Its posts are kept in the database, hidden until the post
977
+ type is pushed again.
978
+
979
+ ALIASES
980
+ $ lps cpt remove
981
+
982
+ EXAMPLES
983
+ $ lps cpt rm <slug>
984
+
985
+ $ lps cpt remove <slug> --yes
986
+ ```
987
+
988
+ _See code: [src/commands/cpt/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/cpt/rm.ts)_
989
+
990
+ ## `lps cpt rollback [PATH]`
991
+
992
+ Restore custom post types to a snapshot taken automatically before an earlier `lps cpt push`
993
+
994
+ ```
995
+ USAGE
996
+ $ lps cpt rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
997
+
998
+ ARGUMENTS
999
+ [PATH] Path to cpt directory (overrides project config)
1000
+
1001
+ FLAGS
1002
+ -d, --dry-run Show what would change without making changes
1003
+ -y, --yes Answer yes to confirmation prompts
1004
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1005
+ --list List available snapshots instead of rolling back
1006
+ --to=<value> Roll back to this snapshot id instead of the most recent one
1007
+
1008
+ GLOBAL FLAGS
1009
+ --json Format output as json.
1010
+
1011
+ DESCRIPTION
1012
+ Restore custom post types to a snapshot taken automatically before an earlier `lps cpt push`
1013
+
1014
+ EXAMPLES
1015
+ $ lps cpt rollback
1016
+
1017
+ $ lps cpt rollback --list
1018
+
1019
+ $ lps cpt rollback --to 1732000000000
1020
+
1021
+ $ lps cpt rollback --dry-run
1022
+ ```
1023
+
1024
+ _See code: [src/commands/cpt/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/cpt/rollback.ts)_
742
1025
 
743
1026
  ## `lps dev`
744
1027
 
@@ -749,9 +1032,10 @@ USAGE
749
1032
  $ lps dev [--only <value>] [--skip <value>]
750
1033
 
751
1034
  FLAGS
752
- --only=<value> Only watch these resource types (comma-separated): snippets, templates, parts, pages, api, hooks,
753
- plugins
754
- --skip=<value> Skip these resource types (comma-separated): snippets, templates, parts, pages, api, hooks, plugins
1035
+ --only=<value> Only watch these resource types (comma-separated): snippets, templates, parts, css, blocks, pages,
1036
+ api, hooks, plugins
1037
+ --skip=<value> Skip these resource types (comma-separated): snippets, templates, parts, css, blocks, pages, api,
1038
+ hooks, plugins
755
1039
 
756
1040
  DESCRIPTION
757
1041
  Watch project files and push changes to the local WordPress instance as they happen. Always targets the "local"
@@ -765,34 +1049,37 @@ EXAMPLES
765
1049
  $ lps dev --skip=plugins
766
1050
  ```
767
1051
 
768
- _See code: [src/commands/dev.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/dev.ts)_
1052
+ _See code: [src/commands/dev.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/dev.ts)_
769
1053
 
770
1054
  ## `lps diff`
771
1055
 
772
- Show what differs between your local tracked files and a WordPress environment, or between two environments. Covers snippets, forms, ACF, API routes, Hooks, templates, template parts, pages, SEO, Options, Menus, Theme styles, and Composer. Plugins and themes have their own `lps plugin status` / `lps theme status`. Exit code: 0 in sync, 1 on drift, 2 when a resource could not be compared, so it doubles as a CI drift gate.
1056
+ Show what differs between your local tracked files and a WordPress environment, or between two environments. Covers snippets, forms, ACF, API routes, Hooks, templates, template parts, pages, Options, Menus, Theme styles, and Composer. Plugins and themes have their own `lps plugin status` / `lps theme status`. Exit code: 0 in sync, 1 on drift, 2 when a resource could not be compared, so it doubles as a CI drift gate.
773
1057
 
774
1058
  ```
775
1059
  USAGE
776
1060
  $ lps diff [--json] [--env <value>] [--against <value>] [--only
777
- snippet|form|acf|api|hook|template|part|page|seo|menu|option|theme-styles|composer...] [--skip
778
- snippet|form|acf|api|hook|template|part|page|seo|menu|option|theme-styles|composer...]
1061
+ snippet|form|acf|api|hook|template|part|page|menu|cpt|taxonomy|meta|role|pattern|option|theme-styles|composer...]
1062
+ [--skip
1063
+ snippet|form|acf|api|hook|template|part|page|menu|cpt|taxonomy|meta|role|pattern|option|theme-styles|composer...]
779
1064
 
780
1065
  FLAGS
781
1066
  --against=<value> Compare the primary environment against this second environment instead of against local files
782
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1067
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
783
1068
  --only=<option>... Only compare these resources
784
- <options: snippet|form|acf|api|hook|template|part|page|seo|menu|option|theme-styles|composer>
1069
+ <options: snippet|form|acf|api|hook|template|part|page|menu|cpt|taxonomy|meta|role|pattern|option|
1070
+ theme-styles|composer>
785
1071
  --skip=<option>... Compare every resource except these
786
- <options: snippet|form|acf|api|hook|template|part|page|seo|menu|option|theme-styles|composer>
1072
+ <options: snippet|form|acf|api|hook|template|part|page|menu|cpt|taxonomy|meta|role|pattern|option|
1073
+ theme-styles|composer>
787
1074
 
788
1075
  GLOBAL FLAGS
789
1076
  --json Format output as json.
790
1077
 
791
1078
  DESCRIPTION
792
1079
  Show what differs between your local tracked files and a WordPress environment, or between two environments. Covers
793
- snippets, forms, ACF, API routes, Hooks, templates, template parts, pages, SEO, Options, Menus, Theme styles, and
794
- Composer. Plugins and themes have their own `lps plugin status` / `lps theme status`. Exit code: 0 in sync, 1 on
795
- drift, 2 when a resource could not be compared, so it doubles as a CI drift gate.
1080
+ snippets, forms, ACF, API routes, Hooks, templates, template parts, pages, Options, Menus, Theme styles, and Composer.
1081
+ Plugins and themes have their own `lps plugin status` / `lps theme status`. Exit code: 0 in sync, 1 on drift, 2 when a
1082
+ resource could not be compared, so it doubles as a CI drift gate.
796
1083
 
797
1084
  EXAMPLES
798
1085
  $ lps diff
@@ -806,7 +1093,7 @@ EXAMPLES
806
1093
  $ lps diff --skip composer
807
1094
  ```
808
1095
 
809
- _See code: [src/commands/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/diff.ts)_
1096
+ _See code: [src/commands/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/diff.ts)_
810
1097
 
811
1098
  ## `lps doctor`
812
1099
 
@@ -817,7 +1104,7 @@ USAGE
817
1104
  $ lps doctor [--json] [--env <value>]
818
1105
 
819
1106
  FLAGS
820
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1107
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
821
1108
 
822
1109
  GLOBAL FLAGS
823
1110
  --json Format output as json.
@@ -831,7 +1118,7 @@ EXAMPLES
831
1118
  $ lps doctor --env production
832
1119
  ```
833
1120
 
834
- _See code: [src/commands/doctor.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/doctor.ts)_
1121
+ _See code: [src/commands/doctor.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/doctor.ts)_
835
1122
 
836
1123
  ## `lps form diff [PATH]`
837
1124
 
@@ -846,7 +1133,7 @@ ARGUMENTS
846
1133
 
847
1134
  FLAGS
848
1135
  --against=<value> Compare the primary environment against this second environment instead of against local files
849
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1136
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
850
1137
 
851
1138
  GLOBAL FLAGS
852
1139
  --json Format output as json.
@@ -862,7 +1149,7 @@ EXAMPLES
862
1149
  $ lps form diff --env staging --against production
863
1150
  ```
864
1151
 
865
- _See code: [src/commands/form/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/form/diff.ts)_
1152
+ _See code: [src/commands/form/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/form/diff.ts)_
866
1153
 
867
1154
  ## `lps form list`
868
1155
 
@@ -873,7 +1160,7 @@ USAGE
873
1160
  $ lps form list [--json] [--env <value>]
874
1161
 
875
1162
  FLAGS
876
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1163
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
877
1164
 
878
1165
  GLOBAL FLAGS
879
1166
  --json Format output as json.
@@ -885,7 +1172,7 @@ EXAMPLES
885
1172
  $ lps form list
886
1173
  ```
887
1174
 
888
- _See code: [src/commands/form/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/form/list.ts)_
1175
+ _See code: [src/commands/form/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/form/list.ts)_
889
1176
 
890
1177
  ## `lps form pull [PATH]`
891
1178
 
@@ -901,7 +1188,7 @@ ARGUMENTS
901
1188
  FLAGS
902
1189
  -d, --dry-run Show what would change without making changes
903
1190
  -y, --yes Answer yes to confirmation prompts
904
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1191
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
905
1192
 
906
1193
  GLOBAL FLAGS
907
1194
  --json Format output as json.
@@ -913,7 +1200,7 @@ EXAMPLES
913
1200
  $ lps form pull
914
1201
  ```
915
1202
 
916
- _See code: [src/commands/form/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/form/pull.ts)_
1203
+ _See code: [src/commands/form/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/form/pull.ts)_
917
1204
 
918
1205
  ## `lps form push [PATH]`
919
1206
 
@@ -921,7 +1208,7 @@ Push forms to WordPress. Local files created or updated remotely are renamed on
921
1208
 
922
1209
  ```
923
1210
  USAGE
924
- $ lps form push [PATH] [--json] [--env <value>] [-d] [-y] [--allow-notifications]
1211
+ $ lps form push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y] [--allow-notifications]
925
1212
 
926
1213
  ARGUMENTS
927
1214
  [PATH] Path to forms directory (overrides project config)
@@ -932,7 +1219,8 @@ FLAGS
932
1219
  --allow-notifications Also push each form's notification and confirmation settings (recipients, sender,
933
1220
  messages). Off by default: the server keeps its own so a stray push can't redirect
934
1221
  submissions.
935
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1222
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1223
+ --overwrite Push even over changes made on the site outside Loopress since your last push
936
1224
 
937
1225
  GLOBAL FLAGS
938
1226
  --json Format output as json.
@@ -947,7 +1235,7 @@ EXAMPLES
947
1235
  $ lps form push --allow-notifications
948
1236
  ```
949
1237
 
950
- _See code: [src/commands/form/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/form/push.ts)_
1238
+ _See code: [src/commands/form/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/form/push.ts)_
951
1239
 
952
1240
  ## `lps form rollback [PATH]`
953
1241
 
@@ -963,7 +1251,7 @@ ARGUMENTS
963
1251
  FLAGS
964
1252
  -d, --dry-run Show what would change without making changes
965
1253
  -y, --yes Answer yes to confirmation prompts
966
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1254
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
967
1255
  --list List available snapshots instead of rolling back
968
1256
  --to=<value> Roll back to this snapshot id instead of the most recent one
969
1257
 
@@ -983,7 +1271,7 @@ EXAMPLES
983
1271
  $ lps form rollback --dry-run
984
1272
  ```
985
1273
 
986
- _See code: [src/commands/form/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/form/rollback.ts)_
1274
+ _See code: [src/commands/form/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/form/rollback.ts)_
987
1275
 
988
1276
  ## `lps help [COMMAND]`
989
1277
 
@@ -1003,7 +1291,7 @@ DESCRIPTION
1003
1291
  Display help for lps.
1004
1292
  ```
1005
1293
 
1006
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/7.0.2/src/commands/help.ts)_
1294
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/7.0.4/src/commands/help.ts)_
1007
1295
 
1008
1296
  ## `lps hook diff [PATH]`
1009
1297
 
@@ -1018,7 +1306,7 @@ ARGUMENTS
1018
1306
 
1019
1307
  FLAGS
1020
1308
  --against=<value> Compare the primary environment against this second environment instead of against local files
1021
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1309
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1022
1310
 
1023
1311
  GLOBAL FLAGS
1024
1312
  --json Format output as json.
@@ -1034,7 +1322,7 @@ EXAMPLES
1034
1322
  $ lps hook diff --env staging --against production
1035
1323
  ```
1036
1324
 
1037
- _See code: [src/commands/hook/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/hook/diff.ts)_
1325
+ _See code: [src/commands/hook/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/hook/diff.ts)_
1038
1326
 
1039
1327
  ## `lps hook list`
1040
1328
 
@@ -1045,7 +1333,7 @@ USAGE
1045
1333
  $ lps hook list [--json] [--env <value>]
1046
1334
 
1047
1335
  FLAGS
1048
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1336
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1049
1337
 
1050
1338
  GLOBAL FLAGS
1051
1339
  --json Format output as json.
@@ -1057,7 +1345,7 @@ EXAMPLES
1057
1345
  $ lps hook list
1058
1346
  ```
1059
1347
 
1060
- _See code: [src/commands/hook/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/hook/list.ts)_
1348
+ _See code: [src/commands/hook/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/hook/list.ts)_
1061
1349
 
1062
1350
  ## `lps hook pull [PATH]`
1063
1351
 
@@ -1073,7 +1361,7 @@ ARGUMENTS
1073
1361
  FLAGS
1074
1362
  -d, --dry-run Show what would change without making changes
1075
1363
  -y, --yes Answer yes to confirmation prompts
1076
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1364
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1077
1365
 
1078
1366
  GLOBAL FLAGS
1079
1367
  --json Format output as json.
@@ -1087,7 +1375,7 @@ EXAMPLES
1087
1375
  $ lps hook pull --path ./hooks
1088
1376
  ```
1089
1377
 
1090
- _See code: [src/commands/hook/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/hook/pull.ts)_
1378
+ _See code: [src/commands/hook/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/hook/pull.ts)_
1091
1379
 
1092
1380
  ## `lps hook push [PATH]`
1093
1381
 
@@ -1095,7 +1383,7 @@ Push hook files (actions, filters, cron) to WordPress
1095
1383
 
1096
1384
  ```
1097
1385
  USAGE
1098
- $ lps hook push [PATH] [--json] [--env <value>] [-d] [-y] [--prune]
1386
+ $ lps hook push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y] [--prune]
1099
1387
 
1100
1388
  ARGUMENTS
1101
1389
  [PATH] Path to hooks directory (overrides project config)
@@ -1103,7 +1391,8 @@ ARGUMENTS
1103
1391
  FLAGS
1104
1392
  -d, --dry-run Show what would change without making changes
1105
1393
  -y, --yes Answer yes to confirmation prompts
1106
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1394
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1395
+ --overwrite Push even over changes made on the site outside Loopress since your last push
1107
1396
  --prune Delete server-side hook files not present locally after pushing
1108
1397
 
1109
1398
  GLOBAL FLAGS
@@ -1120,7 +1409,7 @@ EXAMPLES
1120
1409
  $ lps hook push --prune
1121
1410
  ```
1122
1411
 
1123
- _See code: [src/commands/hook/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/hook/push.ts)_
1412
+ _See code: [src/commands/hook/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/hook/push.ts)_
1124
1413
 
1125
1414
  ## `lps hook remove FILENAME`
1126
1415
 
@@ -1136,7 +1425,7 @@ ARGUMENTS
1136
1425
  FLAGS
1137
1426
  -d, --dry-run Show what would change without making changes
1138
1427
  -y, --yes Answer yes to confirmation prompts
1139
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1428
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1140
1429
 
1141
1430
  GLOBAL FLAGS
1142
1431
  --json Format output as json.
@@ -1167,7 +1456,7 @@ ARGUMENTS
1167
1456
  FLAGS
1168
1457
  -d, --dry-run Show what would change without making changes
1169
1458
  -y, --yes Answer yes to confirmation prompts
1170
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1459
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1171
1460
 
1172
1461
  GLOBAL FLAGS
1173
1462
  --json Format output as json.
@@ -1184,7 +1473,7 @@ EXAMPLES
1184
1473
  $ lps hook remove hello --yes
1185
1474
  ```
1186
1475
 
1187
- _See code: [src/commands/hook/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/hook/rm.ts)_
1476
+ _See code: [src/commands/hook/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/hook/rm.ts)_
1188
1477
 
1189
1478
  ## `lps hook rollback [PATH]`
1190
1479
 
@@ -1200,7 +1489,7 @@ ARGUMENTS
1200
1489
  FLAGS
1201
1490
  -d, --dry-run Show what would change without making changes
1202
1491
  -y, --yes Answer yes to confirmation prompts
1203
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1492
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1204
1493
  --list List available snapshots instead of rolling back
1205
1494
  --to=<value> Roll back to this snapshot id instead of the most recent one
1206
1495
 
@@ -1220,7 +1509,7 @@ EXAMPLES
1220
1509
  $ lps hook rollback --dry-run
1221
1510
  ```
1222
1511
 
1223
- _See code: [src/commands/hook/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/hook/rollback.ts)_
1512
+ _See code: [src/commands/hook/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/hook/rollback.ts)_
1224
1513
 
1225
1514
  ## `lps init`
1226
1515
 
@@ -1237,7 +1526,7 @@ EXAMPLES
1237
1526
  $ lps init
1238
1527
  ```
1239
1528
 
1240
- _See code: [src/commands/init.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/init.ts)_
1529
+ _See code: [src/commands/init.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/init.ts)_
1241
1530
 
1242
1531
  ## `lps login`
1243
1532
 
@@ -1254,7 +1543,7 @@ EXAMPLES
1254
1543
  $ lps login
1255
1544
  ```
1256
1545
 
1257
- _See code: [src/commands/login.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/login.ts)_
1546
+ _See code: [src/commands/login.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/login.ts)_
1258
1547
 
1259
1548
  ## `lps logout`
1260
1549
 
@@ -1271,7 +1560,7 @@ EXAMPLES
1271
1560
  $ lps logout
1272
1561
  ```
1273
1562
 
1274
- _See code: [src/commands/logout.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/logout.ts)_
1563
+ _See code: [src/commands/logout.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/logout.ts)_
1275
1564
 
1276
1565
  ## `lps menu diff [PATH]`
1277
1566
 
@@ -1286,7 +1575,7 @@ ARGUMENTS
1286
1575
 
1287
1576
  FLAGS
1288
1577
  --against=<value> Compare the primary environment against this second environment instead of against local files
1289
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1578
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1290
1579
 
1291
1580
  GLOBAL FLAGS
1292
1581
  --json Format output as json.
@@ -1303,7 +1592,7 @@ EXAMPLES
1303
1592
  $ lps menu diff --env staging --against production
1304
1593
  ```
1305
1594
 
1306
- _See code: [src/commands/menu/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/menu/diff.ts)_
1595
+ _See code: [src/commands/menu/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/menu/diff.ts)_
1307
1596
 
1308
1597
  ## `lps menu list`
1309
1598
 
@@ -1314,7 +1603,7 @@ USAGE
1314
1603
  $ lps menu list [--json] [--env <value>]
1315
1604
 
1316
1605
  FLAGS
1317
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1606
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1318
1607
 
1319
1608
  GLOBAL FLAGS
1320
1609
  --json Format output as json.
@@ -1326,7 +1615,7 @@ EXAMPLES
1326
1615
  $ lps menu list
1327
1616
  ```
1328
1617
 
1329
- _See code: [src/commands/menu/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/menu/list.ts)_
1618
+ _See code: [src/commands/menu/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/menu/list.ts)_
1330
1619
 
1331
1620
  ## `lps menu pull [PATH]`
1332
1621
 
@@ -1342,7 +1631,7 @@ ARGUMENTS
1342
1631
  FLAGS
1343
1632
  -d, --dry-run Show what would change without making changes
1344
1633
  -y, --yes Answer yes to confirmation prompts
1345
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1634
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1346
1635
 
1347
1636
  GLOBAL FLAGS
1348
1637
  --json Format output as json.
@@ -1354,7 +1643,7 @@ EXAMPLES
1354
1643
  $ lps menu pull
1355
1644
  ```
1356
1645
 
1357
- _See code: [src/commands/menu/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/menu/pull.ts)_
1646
+ _See code: [src/commands/menu/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/menu/pull.ts)_
1358
1647
 
1359
1648
  ## `lps menu push [PATH]`
1360
1649
 
@@ -1362,7 +1651,7 @@ Push local nav menus and the active theme menu locations to WordPress. Each menu
1362
1651
 
1363
1652
  ```
1364
1653
  USAGE
1365
- $ lps menu push [PATH] [--json] [--env <value>] [-d] [-y]
1654
+ $ lps menu push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
1366
1655
 
1367
1656
  ARGUMENTS
1368
1657
  [PATH] Path to menus directory (overrides project config)
@@ -1370,7 +1659,8 @@ ARGUMENTS
1370
1659
  FLAGS
1371
1660
  -d, --dry-run Show what would change without making changes
1372
1661
  -y, --yes Answer yes to confirmation prompts
1373
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1662
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1663
+ --overwrite Push even over changes made on the site outside Loopress since your last push
1374
1664
 
1375
1665
  GLOBAL FLAGS
1376
1666
  --json Format output as json.
@@ -1384,7 +1674,7 @@ EXAMPLES
1384
1674
  $ lps menu push
1385
1675
  ```
1386
1676
 
1387
- _See code: [src/commands/menu/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/menu/push.ts)_
1677
+ _See code: [src/commands/menu/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/menu/push.ts)_
1388
1678
 
1389
1679
  ## `lps menu rollback [PATH]`
1390
1680
 
@@ -1400,7 +1690,7 @@ ARGUMENTS
1400
1690
  FLAGS
1401
1691
  -d, --dry-run Show what would change without making changes
1402
1692
  -y, --yes Answer yes to confirmation prompts
1403
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1693
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1404
1694
  --list List available snapshots instead of rolling back
1405
1695
  --to=<value> Roll back to this snapshot id instead of the most recent one
1406
1696
 
@@ -1420,207 +1710,204 @@ EXAMPLES
1420
1710
  $ lps menu rollback --dry-run
1421
1711
  ```
1422
1712
 
1423
- _See code: [src/commands/menu/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/menu/rollback.ts)_
1713
+ _See code: [src/commands/menu/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/menu/rollback.ts)_
1424
1714
 
1425
- ## `lps option add NAME`
1715
+ ## `lps meta diff [PATH]`
1426
1716
 
1427
- Fetch a WordPress option by name and start tracking it locally. Run `lps option list` first to find the name: this copies a raw value across environments, verify it does not embed post/user IDs before pushing it elsewhere.
1717
+ Show what differs in post meta keys between your local meta/ files and a WordPress environment, or between two environments
1428
1718
 
1429
1719
  ```
1430
1720
  USAGE
1431
- $ lps option add NAME [--json] [--env <value>] [-d] [--path <value>]
1721
+ $ lps meta diff [PATH] [--json] [--env <value>] [--against <value>]
1432
1722
 
1433
1723
  ARGUMENTS
1434
- NAME Option name to start tracking (see `lps option list`)
1724
+ [PATH] Path to meta directory (overrides project config)
1435
1725
 
1436
1726
  FLAGS
1437
- -d, --dry-run Show what would change without making changes
1438
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1439
- --path=<value> Path to options directory (overrides project config)
1727
+ --against=<value> Compare the primary environment against this second environment instead of against local files
1728
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1440
1729
 
1441
1730
  GLOBAL FLAGS
1442
1731
  --json Format output as json.
1443
1732
 
1444
1733
  DESCRIPTION
1445
- Fetch a WordPress option by name and start tracking it locally. Run `lps option list` first to find the name: this
1446
- copies a raw value across environments, verify it does not embed post/user IDs before pushing it elsewhere.
1734
+ Show what differs in post meta keys between your local meta/ files and a WordPress environment, or between two
1735
+ environments
1447
1736
 
1448
1737
  EXAMPLES
1449
- $ lps option add wpseo_titles
1738
+ $ lps meta diff
1450
1739
 
1451
- $ lps option add siteurl
1740
+ $ lps meta diff --env staging
1741
+
1742
+ $ lps meta diff --env staging --against production
1452
1743
  ```
1453
1744
 
1454
- _See code: [src/commands/option/add.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/add.ts)_
1745
+ _See code: [src/commands/meta/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/meta/diff.ts)_
1455
1746
 
1456
- ## `lps option diff [PATH]`
1747
+ ## `lps meta list`
1457
1748
 
1458
- Show what differs, for locally tracked options, between your local files and a WordPress environment, or between two environments
1749
+ List the meta keys registered for each post type on WordPress (with register_post_meta()), and whether Loopress declares them. Only Loopress ones are pulled and pushed.
1459
1750
 
1460
1751
  ```
1461
1752
  USAGE
1462
- $ lps option diff [PATH] [--json] [--env <value>] [--against <value>]
1463
-
1464
- ARGUMENTS
1465
- [PATH] Path to options directory (overrides project config)
1753
+ $ lps meta list [--json] [--env <value>]
1466
1754
 
1467
1755
  FLAGS
1468
- --against=<value> Compare the primary environment against this second environment instead of against local files
1469
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1756
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1470
1757
 
1471
1758
  GLOBAL FLAGS
1472
1759
  --json Format output as json.
1473
1760
 
1474
1761
  DESCRIPTION
1475
- Show what differs, for locally tracked options, between your local files and a WordPress environment, or between two
1476
- environments
1762
+ List the meta keys registered for each post type on WordPress (with register_post_meta()), and whether Loopress
1763
+ declares them. Only Loopress ones are pulled and pushed.
1477
1764
 
1478
1765
  EXAMPLES
1479
- $ lps option diff
1480
-
1481
- $ lps option diff --env staging
1482
-
1483
- $ lps option diff --env staging --against production
1766
+ $ lps meta list
1484
1767
  ```
1485
1768
 
1486
- _See code: [src/commands/option/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/diff.ts)_
1769
+ _See code: [src/commands/meta/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/meta/list.ts)_
1487
1770
 
1488
- ## `lps option list`
1771
+ ## `lps meta pull [PATH]`
1489
1772
 
1490
- List WordPress option names currently on the site (names and autoload only, never values). CORE flags a WordPress-native default (certain); SOURCE? is a best-effort guessed plugin slug, found by name or by scanning active plugins' own PHP source (uncertain unless confirmed, occasionally wrong or blank, never trust it over CORE); PLUGIN is that slug's own declared display name, a label only, no confidence of its own. Use this to find the name of the option you want, then `lps option add <name>` to track it.
1773
+ Pull the post meta keys Loopress manages on WordPress into meta/<post-type>.json files, never their values. Keys registered by a theme or another plugin are never pulled, see `lps meta list`.
1491
1774
 
1492
1775
  ```
1493
1776
  USAGE
1494
- $ lps option list [--json] [--env <value>] [--no-core]
1777
+ $ lps meta pull [PATH] [--json] [--env <value>] [-d] [-y]
1778
+
1779
+ ARGUMENTS
1780
+ [PATH] Path to the meta directory (overrides project config)
1495
1781
 
1496
1782
  FLAGS
1497
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1498
- --no-core Exclude WordPress-native default options and the CORE column from the output, including --json
1783
+ -d, --dry-run Show what would change without making changes
1784
+ -y, --yes Answer yes to confirmation prompts
1785
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1499
1786
 
1500
1787
  GLOBAL FLAGS
1501
1788
  --json Format output as json.
1502
1789
 
1503
1790
  DESCRIPTION
1504
- List WordPress option names currently on the site (names and autoload only, never values). CORE flags a
1505
- WordPress-native default (certain); SOURCE? is a best-effort guessed plugin slug, found by name or by scanning active
1506
- plugins' own PHP source (uncertain unless confirmed, occasionally wrong or blank, never trust it over CORE); PLUGIN is
1507
- that slug's own declared display name, a label only, no confidence of its own. Use this to find the name of the option
1508
- you want, then `lps option add <name>` to track it.
1791
+ Pull the post meta keys Loopress manages on WordPress into meta/<post-type>.json files, never their values. Keys
1792
+ registered by a theme or another plugin are never pulled, see `lps meta list`.
1509
1793
 
1510
1794
  EXAMPLES
1511
- $ lps option list
1512
-
1513
- $ lps option list --no-core
1795
+ $ lps meta pull
1514
1796
  ```
1515
1797
 
1516
- _See code: [src/commands/option/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/list.ts)_
1798
+ _See code: [src/commands/meta/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/meta/pull.ts)_
1517
1799
 
1518
- ## `lps option pull [PATH]`
1800
+ ## `lps meta push [PATH]`
1519
1801
 
1520
- Refresh locally tracked options from WordPress. Options not yet tracked are never pulled, run `lps option add <name>` for those first.
1802
+ Push local post meta keys (meta/<post-type>.json, each key mapped to its register_post_meta() arguments) to WordPress. Create or update only, never deletes (use `lps meta rm`), never touches meta values.
1521
1803
 
1522
1804
  ```
1523
1805
  USAGE
1524
- $ lps option pull [PATH] [--json] [--env <value>] [-d] [-y]
1806
+ $ lps meta push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
1525
1807
 
1526
1808
  ARGUMENTS
1527
- [PATH] Path to options directory (overrides project config)
1809
+ [PATH] Path to the meta directory (overrides project config)
1528
1810
 
1529
1811
  FLAGS
1530
1812
  -d, --dry-run Show what would change without making changes
1531
1813
  -y, --yes Answer yes to confirmation prompts
1532
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1814
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1815
+ --overwrite Push even over changes made on the site outside Loopress since your last push
1533
1816
 
1534
1817
  GLOBAL FLAGS
1535
1818
  --json Format output as json.
1536
1819
 
1537
1820
  DESCRIPTION
1538
- Refresh locally tracked options from WordPress. Options not yet tracked are never pulled, run `lps option add <name>`
1539
- for those first.
1821
+ Push local post meta keys (meta/<post-type>.json, each key mapped to its register_post_meta() arguments) to WordPress.
1822
+ Create or update only, never deletes (use `lps meta rm`), never touches meta values.
1540
1823
 
1541
1824
  EXAMPLES
1542
- $ lps option pull
1825
+ $ lps meta push
1543
1826
  ```
1544
1827
 
1545
- _See code: [src/commands/option/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/pull.ts)_
1828
+ _See code: [src/commands/meta/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/meta/push.ts)_
1546
1829
 
1547
- ## `lps option push [PATH]`
1830
+ ## `lps meta remove SLUG`
1548
1831
 
1549
- Push locally tracked, non-readonly options to WordPress (upsert only, never deletes an untracked option). Options marked "readonly": true in their local file are skipped, edit the file to override.
1832
+ Stop registering the Loopress meta keys of one post type (its meta/<post-type>.json file) on WordPress. Their values are kept in the database.
1550
1833
 
1551
1834
  ```
1552
1835
  USAGE
1553
- $ lps option push [PATH] [--json] [--env <value>] [-d] [-y]
1836
+ $ lps meta remove SLUG [--json] [--env <value>] [-d] [-y]
1554
1837
 
1555
1838
  ARGUMENTS
1556
- [PATH] Path to options directory (overrides project config)
1839
+ SLUG The post meta slug, its meta/ file name without .json
1557
1840
 
1558
1841
  FLAGS
1559
1842
  -d, --dry-run Show what would change without making changes
1560
1843
  -y, --yes Answer yes to confirmation prompts
1561
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1844
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1562
1845
 
1563
1846
  GLOBAL FLAGS
1564
1847
  --json Format output as json.
1565
1848
 
1566
1849
  DESCRIPTION
1567
- Push locally tracked, non-readonly options to WordPress (upsert only, never deletes an untracked option). Options
1568
- marked "readonly": true in their local file are skipped, edit the file to override.
1850
+ Stop registering the Loopress meta keys of one post type (its meta/<post-type>.json file) on WordPress. Their values
1851
+ are kept in the database.
1852
+
1853
+ ALIASES
1854
+ $ lps meta remove
1569
1855
 
1570
1856
  EXAMPLES
1571
- $ lps option push
1572
- ```
1857
+ $ lps meta rm <slug>
1573
1858
 
1574
- _See code: [src/commands/option/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/push.ts)_
1859
+ $ lps meta remove <slug> --yes
1860
+ ```
1575
1861
 
1576
- ## `lps option remove NAME`
1862
+ ## `lps meta rm SLUG`
1577
1863
 
1578
- Stop tracking an option locally and delete it from WordPress. Local untracking always happens (git-reversible); pass --local-only to skip the WordPress delete and only stop tracking.
1864
+ Stop registering the Loopress meta keys of one post type (its meta/<post-type>.json file) on WordPress. Their values are kept in the database.
1579
1865
 
1580
1866
  ```
1581
1867
  USAGE
1582
- $ lps option remove NAME [--json] [--env <value>] [-d] [-y] [--local-only] [--path <value>]
1868
+ $ lps meta rm SLUG [--json] [--env <value>] [-d] [-y]
1583
1869
 
1584
1870
  ARGUMENTS
1585
- NAME Option name to stop tracking
1871
+ SLUG The post meta slug, its meta/ file name without .json
1586
1872
 
1587
1873
  FLAGS
1588
- -d, --dry-run Show what would change without making changes
1589
- -y, --yes Answer yes to confirmation prompts
1590
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1591
- --local-only Untrack locally without deleting the option on WordPress
1592
- --path=<value> Path to options directory (overrides project config)
1874
+ -d, --dry-run Show what would change without making changes
1875
+ -y, --yes Answer yes to confirmation prompts
1876
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1593
1877
 
1594
1878
  GLOBAL FLAGS
1595
1879
  --json Format output as json.
1596
1880
 
1597
1881
  DESCRIPTION
1598
- Stop tracking an option locally and delete it from WordPress. Local untracking always happens (git-reversible); pass
1599
- --local-only to skip the WordPress delete and only stop tracking.
1882
+ Stop registering the Loopress meta keys of one post type (its meta/<post-type>.json file) on WordPress. Their values
1883
+ are kept in the database.
1884
+
1885
+ ALIASES
1886
+ $ lps meta remove
1600
1887
 
1601
1888
  EXAMPLES
1602
- $ lps option remove wpseo_titles
1889
+ $ lps meta rm <slug>
1603
1890
 
1604
- $ lps option remove wpseo_titles --local-only
1891
+ $ lps meta remove <slug> --yes
1605
1892
  ```
1606
1893
 
1607
- _See code: [src/commands/option/remove.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/remove.ts)_
1894
+ _See code: [src/commands/meta/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/meta/rm.ts)_
1608
1895
 
1609
- ## `lps option rollback [PATH]`
1896
+ ## `lps meta rollback [PATH]`
1610
1897
 
1611
- Restore tracked options to a snapshot taken automatically before an earlier `lps option push`
1898
+ Restore post meta keys to a snapshot taken automatically before an earlier `lps meta push`
1612
1899
 
1613
1900
  ```
1614
1901
  USAGE
1615
- $ lps option rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
1902
+ $ lps meta rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
1616
1903
 
1617
1904
  ARGUMENTS
1618
- [PATH] Path to options directory (overrides project config)
1905
+ [PATH] Path to meta directory (overrides project config)
1619
1906
 
1620
1907
  FLAGS
1621
1908
  -d, --dry-run Show what would change without making changes
1622
1909
  -y, --yes Answer yes to confirmation prompts
1623
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1910
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1624
1911
  --list List available snapshots instead of rolling back
1625
1912
  --to=<value> Roll back to this snapshot id instead of the most recent one
1626
1913
 
@@ -1628,106 +1915,545 @@ GLOBAL FLAGS
1628
1915
  --json Format output as json.
1629
1916
 
1630
1917
  DESCRIPTION
1631
- Restore tracked options to a snapshot taken automatically before an earlier `lps option push`
1918
+ Restore post meta keys to a snapshot taken automatically before an earlier `lps meta push`
1632
1919
 
1633
1920
  EXAMPLES
1634
- $ lps option rollback
1921
+ $ lps meta rollback
1635
1922
 
1636
- $ lps option rollback --list
1923
+ $ lps meta rollback --list
1637
1924
 
1638
- $ lps option rollback --to 1732000000000
1925
+ $ lps meta rollback --to 1732000000000
1639
1926
 
1640
- $ lps option rollback --dry-run
1927
+ $ lps meta rollback --dry-run
1641
1928
  ```
1642
1929
 
1643
- _See code: [src/commands/option/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/option/rollback.ts)_
1930
+ _See code: [src/commands/meta/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/meta/rollback.ts)_
1644
1931
 
1645
- ## `lps page diff [PATH]`
1932
+ ## `lps option add NAME`
1933
+
1934
+ Fetch a WordPress option by name and start tracking it locally. Run `lps option list` first to find the name: this copies a raw value across environments, verify it does not embed post/user IDs before pushing it elsewhere.
1935
+
1936
+ ```
1937
+ USAGE
1938
+ $ lps option add NAME [--json] [--env <value>] [-d] [--path <value>]
1939
+
1940
+ ARGUMENTS
1941
+ NAME Option name to start tracking (see `lps option list`)
1942
+
1943
+ FLAGS
1944
+ -d, --dry-run Show what would change without making changes
1945
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1946
+ --path=<value> Path to options directory (overrides project config)
1947
+
1948
+ GLOBAL FLAGS
1949
+ --json Format output as json.
1950
+
1951
+ DESCRIPTION
1952
+ Fetch a WordPress option by name and start tracking it locally. Run `lps option list` first to find the name: this
1953
+ copies a raw value across environments, verify it does not embed post/user IDs before pushing it elsewhere.
1954
+
1955
+ EXAMPLES
1956
+ $ lps option add wpseo_titles
1957
+
1958
+ $ lps option add siteurl
1959
+ ```
1960
+
1961
+ _See code: [src/commands/option/add.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/add.ts)_
1962
+
1963
+ ## `lps option diff [PATH]`
1964
+
1965
+ Show what differs, for locally tracked options, between your local files and a WordPress environment, or between two environments
1966
+
1967
+ ```
1968
+ USAGE
1969
+ $ lps option diff [PATH] [--json] [--env <value>] [--against <value>]
1970
+
1971
+ ARGUMENTS
1972
+ [PATH] Path to options directory (overrides project config)
1973
+
1974
+ FLAGS
1975
+ --against=<value> Compare the primary environment against this second environment instead of against local files
1976
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1977
+
1978
+ GLOBAL FLAGS
1979
+ --json Format output as json.
1980
+
1981
+ DESCRIPTION
1982
+ Show what differs, for locally tracked options, between your local files and a WordPress environment, or between two
1983
+ environments
1984
+
1985
+ EXAMPLES
1986
+ $ lps option diff
1987
+
1988
+ $ lps option diff --env staging
1989
+
1990
+ $ lps option diff --env staging --against production
1991
+ ```
1992
+
1993
+ _See code: [src/commands/option/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/diff.ts)_
1994
+
1995
+ ## `lps option list`
1996
+
1997
+ List WordPress option names currently on the site (names and autoload only, never values). CORE flags a WordPress-native default (certain); SOURCE? is a best-effort guessed plugin slug, found by name or by scanning active plugins' own PHP source (uncertain unless confirmed, occasionally wrong or blank, never trust it over CORE); PLUGIN is that slug's own declared display name, a label only, no confidence of its own. Use this to find the name of the option you want, then `lps option add <name>` to track it.
1998
+
1999
+ ```
2000
+ USAGE
2001
+ $ lps option list [--json] [--env <value>] [--no-core]
2002
+
2003
+ FLAGS
2004
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2005
+ --no-core Exclude WordPress-native default options and the CORE column from the output, including --json
2006
+
2007
+ GLOBAL FLAGS
2008
+ --json Format output as json.
2009
+
2010
+ DESCRIPTION
2011
+ List WordPress option names currently on the site (names and autoload only, never values). CORE flags a
2012
+ WordPress-native default (certain); SOURCE? is a best-effort guessed plugin slug, found by name or by scanning active
2013
+ plugins' own PHP source (uncertain unless confirmed, occasionally wrong or blank, never trust it over CORE); PLUGIN is
2014
+ that slug's own declared display name, a label only, no confidence of its own. Use this to find the name of the option
2015
+ you want, then `lps option add <name>` to track it.
2016
+
2017
+ EXAMPLES
2018
+ $ lps option list
2019
+
2020
+ $ lps option list --no-core
2021
+ ```
2022
+
2023
+ _See code: [src/commands/option/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/list.ts)_
2024
+
2025
+ ## `lps option pull [PATH]`
2026
+
2027
+ Refresh locally tracked options from WordPress. Options not yet tracked are never pulled, run `lps option add <name>` for those first.
2028
+
2029
+ ```
2030
+ USAGE
2031
+ $ lps option pull [PATH] [--json] [--env <value>] [-d] [-y]
2032
+
2033
+ ARGUMENTS
2034
+ [PATH] Path to options directory (overrides project config)
2035
+
2036
+ FLAGS
2037
+ -d, --dry-run Show what would change without making changes
2038
+ -y, --yes Answer yes to confirmation prompts
2039
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2040
+
2041
+ GLOBAL FLAGS
2042
+ --json Format output as json.
2043
+
2044
+ DESCRIPTION
2045
+ Refresh locally tracked options from WordPress. Options not yet tracked are never pulled, run `lps option add <name>`
2046
+ for those first.
2047
+
2048
+ EXAMPLES
2049
+ $ lps option pull
2050
+ ```
2051
+
2052
+ _See code: [src/commands/option/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/pull.ts)_
2053
+
2054
+ ## `lps option push [PATH]`
2055
+
2056
+ Push locally tracked, non-readonly options to WordPress (upsert only, never deletes an untracked option). Options marked "readonly": true in their local file are skipped, edit the file to override.
2057
+
2058
+ ```
2059
+ USAGE
2060
+ $ lps option push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
2061
+
2062
+ ARGUMENTS
2063
+ [PATH] Path to options directory (overrides project config)
2064
+
2065
+ FLAGS
2066
+ -d, --dry-run Show what would change without making changes
2067
+ -y, --yes Answer yes to confirmation prompts
2068
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2069
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2070
+
2071
+ GLOBAL FLAGS
2072
+ --json Format output as json.
2073
+
2074
+ DESCRIPTION
2075
+ Push locally tracked, non-readonly options to WordPress (upsert only, never deletes an untracked option). Options
2076
+ marked "readonly": true in their local file are skipped, edit the file to override.
2077
+
2078
+ EXAMPLES
2079
+ $ lps option push
2080
+ ```
2081
+
2082
+ _See code: [src/commands/option/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/push.ts)_
2083
+
2084
+ ## `lps option remove NAME`
2085
+
2086
+ Stop tracking an option locally and delete it from WordPress. Local untracking always happens (git-reversible); pass --local-only to skip the WordPress delete and only stop tracking.
2087
+
2088
+ ```
2089
+ USAGE
2090
+ $ lps option remove NAME [--json] [--env <value>] [-d] [-y] [--local-only] [--path <value>]
2091
+
2092
+ ARGUMENTS
2093
+ NAME Option name to stop tracking
2094
+
2095
+ FLAGS
2096
+ -d, --dry-run Show what would change without making changes
2097
+ -y, --yes Answer yes to confirmation prompts
2098
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2099
+ --local-only Untrack locally without deleting the option on WordPress
2100
+ --path=<value> Path to options directory (overrides project config)
2101
+
2102
+ GLOBAL FLAGS
2103
+ --json Format output as json.
2104
+
2105
+ DESCRIPTION
2106
+ Stop tracking an option locally and delete it from WordPress. Local untracking always happens (git-reversible); pass
2107
+ --local-only to skip the WordPress delete and only stop tracking.
2108
+
2109
+ EXAMPLES
2110
+ $ lps option remove wpseo_titles
2111
+
2112
+ $ lps option remove wpseo_titles --local-only
2113
+ ```
2114
+
2115
+ _See code: [src/commands/option/remove.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/remove.ts)_
2116
+
2117
+ ## `lps option rollback [PATH]`
2118
+
2119
+ Restore tracked options to a snapshot taken automatically before an earlier `lps option push`
2120
+
2121
+ ```
2122
+ USAGE
2123
+ $ lps option rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
2124
+
2125
+ ARGUMENTS
2126
+ [PATH] Path to options directory (overrides project config)
2127
+
2128
+ FLAGS
2129
+ -d, --dry-run Show what would change without making changes
2130
+ -y, --yes Answer yes to confirmation prompts
2131
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2132
+ --list List available snapshots instead of rolling back
2133
+ --to=<value> Roll back to this snapshot id instead of the most recent one
2134
+
2135
+ GLOBAL FLAGS
2136
+ --json Format output as json.
2137
+
2138
+ DESCRIPTION
2139
+ Restore tracked options to a snapshot taken automatically before an earlier `lps option push`
2140
+
2141
+ EXAMPLES
2142
+ $ lps option rollback
2143
+
2144
+ $ lps option rollback --list
2145
+
2146
+ $ lps option rollback --to 1732000000000
2147
+
2148
+ $ lps option rollback --dry-run
2149
+ ```
2150
+
2151
+ _See code: [src/commands/option/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/option/rollback.ts)_
2152
+
2153
+ ## `lps page diff [PATH]`
1646
2154
 
1647
2155
  Show what differs in static pages between your local files and a WordPress environment, or between two environments
1648
2156
 
1649
2157
  ```
1650
2158
  USAGE
1651
- $ lps page diff [PATH] [--json] [--env <value>] [--against <value>]
2159
+ $ lps page diff [PATH] [--json] [--env <value>] [--against <value>]
2160
+
2161
+ ARGUMENTS
2162
+ [PATH] Path to pages directory (overrides project config)
2163
+
2164
+ FLAGS
2165
+ --against=<value> Compare the primary environment against this second environment instead of against local files
2166
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2167
+
2168
+ GLOBAL FLAGS
2169
+ --json Format output as json.
2170
+
2171
+ DESCRIPTION
2172
+ Show what differs in static pages between your local files and a WordPress environment, or between two environments
2173
+
2174
+ EXAMPLES
2175
+ $ lps page diff
2176
+
2177
+ $ lps page diff --env staging
2178
+
2179
+ $ lps page diff --env staging --against production
2180
+ ```
2181
+
2182
+ _See code: [src/commands/page/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/page/diff.ts)_
2183
+
2184
+ ## `lps page list`
2185
+
2186
+ List the static pages managed by Loopress on WordPress
2187
+
2188
+ ```
2189
+ USAGE
2190
+ $ lps page list [--json] [--env <value>]
2191
+
2192
+ FLAGS
2193
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2194
+
2195
+ GLOBAL FLAGS
2196
+ --json Format output as json.
2197
+
2198
+ DESCRIPTION
2199
+ List the static pages managed by Loopress on WordPress
2200
+
2201
+ EXAMPLES
2202
+ $ lps page list
2203
+ ```
2204
+
2205
+ _See code: [src/commands/page/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/page/list.ts)_
2206
+
2207
+ ## `lps page push [SLUG]`
2208
+
2209
+ Push static HTML pages (pages/<slug>.html) to WordPress. The `status` header (draft or publish, draft by default) is applied on every push.
2210
+
2211
+ ```
2212
+ USAGE
2213
+ $ lps page push [SLUG] [--json] [--env <value>] [--overwrite] [-d] [-y]
2214
+
2215
+ ARGUMENTS
2216
+ [SLUG] Push only this page (its file name without .html). Pushes every page when omitted.
2217
+
2218
+ FLAGS
2219
+ -d, --dry-run Show what would change without making changes
2220
+ -y, --yes Answer yes to confirmation prompts
2221
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2222
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2223
+
2224
+ GLOBAL FLAGS
2225
+ --json Format output as json.
2226
+
2227
+ DESCRIPTION
2228
+ Push static HTML pages (pages/<slug>.html) to WordPress. The `status` header (draft or publish, draft by default) is
2229
+ applied on every push.
2230
+
2231
+ EXAMPLES
2232
+ $ lps page push
2233
+
2234
+ $ lps page push legal-notice
2235
+
2236
+ $ lps page push --dry-run
2237
+ ```
2238
+
2239
+ _See code: [src/commands/page/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/page/push.ts)_
2240
+
2241
+ ## `lps pattern diff [PATH]`
2242
+
2243
+ Show what differs in block patterns between your local patterns/ files and a WordPress environment, or between two environments
2244
+
2245
+ ```
2246
+ USAGE
2247
+ $ lps pattern diff [PATH] [--json] [--env <value>] [--against <value>]
2248
+
2249
+ ARGUMENTS
2250
+ [PATH] Path to patterns directory (overrides project config)
2251
+
2252
+ FLAGS
2253
+ --against=<value> Compare the primary environment against this second environment instead of against local files
2254
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2255
+
2256
+ GLOBAL FLAGS
2257
+ --json Format output as json.
2258
+
2259
+ DESCRIPTION
2260
+ Show what differs in block patterns between your local patterns/ files and a WordPress environment, or between two
2261
+ environments
2262
+
2263
+ EXAMPLES
2264
+ $ lps pattern diff
2265
+
2266
+ $ lps pattern diff --env staging
2267
+
2268
+ $ lps pattern diff --env staging --against production
2269
+ ```
2270
+
2271
+ _See code: [src/commands/pattern/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pattern/diff.ts)_
2272
+
2273
+ ## `lps pattern list`
2274
+
2275
+ List the block patterns registered on WordPress by Loopress, the theme and plugins (not WordPress core). Only Loopress ones are pulled and pushed.
2276
+
2277
+ ```
2278
+ USAGE
2279
+ $ lps pattern list [--json] [--env <value>]
2280
+
2281
+ FLAGS
2282
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2283
+
2284
+ GLOBAL FLAGS
2285
+ --json Format output as json.
2286
+
2287
+ DESCRIPTION
2288
+ List the block patterns registered on WordPress by Loopress, the theme and plugins (not WordPress core). Only Loopress
2289
+ ones are pulled and pushed.
2290
+
2291
+ EXAMPLES
2292
+ $ lps pattern list
2293
+ ```
2294
+
2295
+ _See code: [src/commands/pattern/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pattern/list.ts)_
2296
+
2297
+ ## `lps pattern pull [PATH]`
2298
+
2299
+ Pull the block patterns Loopress manages on WordPress into patterns/<slug>.html files. Patterns registered by the theme or a plugin are never pulled, see `lps pattern list`.
2300
+
2301
+ ```
2302
+ USAGE
2303
+ $ lps pattern pull [PATH] [--json] [--env <value>] [-d] [-y]
2304
+
2305
+ ARGUMENTS
2306
+ [PATH] Path to the patterns directory (overrides project config)
2307
+
2308
+ FLAGS
2309
+ -d, --dry-run Show what would change without making changes
2310
+ -y, --yes Answer yes to confirmation prompts
2311
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2312
+
2313
+ GLOBAL FLAGS
2314
+ --json Format output as json.
2315
+
2316
+ DESCRIPTION
2317
+ Pull the block patterns Loopress manages on WordPress into patterns/<slug>.html files. Patterns registered by the
2318
+ theme or a plugin are never pulled, see `lps pattern list`.
2319
+
2320
+ EXAMPLES
2321
+ $ lps pattern pull
2322
+ ```
2323
+
2324
+ _See code: [src/commands/pattern/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pattern/pull.ts)_
2325
+
2326
+ ## `lps pattern push [PATH]`
2327
+
2328
+ Push local block patterns (patterns/<slug>.html, block markup under a title/categories header) to WordPress, registered as loopress/<slug>. Create or update only, never deletes a pattern (use `lps pattern rm`).
2329
+
2330
+ ```
2331
+ USAGE
2332
+ $ lps pattern push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
1652
2333
 
1653
2334
  ARGUMENTS
1654
- [PATH] Path to pages directory (overrides project config)
2335
+ [PATH] Path to the patterns directory (overrides project config)
1655
2336
 
1656
2337
  FLAGS
1657
- --against=<value> Compare the primary environment against this second environment instead of against local files
1658
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2338
+ -d, --dry-run Show what would change without making changes
2339
+ -y, --yes Answer yes to confirmation prompts
2340
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2341
+ --overwrite Push even over changes made on the site outside Loopress since your last push
1659
2342
 
1660
2343
  GLOBAL FLAGS
1661
2344
  --json Format output as json.
1662
2345
 
1663
2346
  DESCRIPTION
1664
- Show what differs in static pages between your local files and a WordPress environment, or between two environments
2347
+ Push local block patterns (patterns/<slug>.html, block markup under a title/categories header) to WordPress,
2348
+ registered as loopress/<slug>. Create or update only, never deletes a pattern (use `lps pattern rm`).
1665
2349
 
1666
2350
  EXAMPLES
1667
- $ lps page diff
2351
+ $ lps pattern push
2352
+ ```
1668
2353
 
1669
- $ lps page diff --env staging
2354
+ _See code: [src/commands/pattern/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pattern/push.ts)_
2355
+
2356
+ ## `lps pattern remove SLUG`
2357
+
2358
+ Stop registering a Loopress block pattern on WordPress. A wp:pattern reference to it renders nothing, copies already inserted in posts stay.
1670
2359
 
1671
- $ lps page diff --env staging --against production
1672
2360
  ```
2361
+ USAGE
2362
+ $ lps pattern remove SLUG [--json] [--env <value>] [-d] [-y]
1673
2363
 
1674
- _See code: [src/commands/page/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/page/diff.ts)_
2364
+ ARGUMENTS
2365
+ SLUG The pattern slug, its patterns/ file name without .html
1675
2366
 
1676
- ## `lps page list`
2367
+ FLAGS
2368
+ -d, --dry-run Show what would change without making changes
2369
+ -y, --yes Answer yes to confirmation prompts
2370
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1677
2371
 
1678
- List the static pages managed by Loopress on WordPress
2372
+ GLOBAL FLAGS
2373
+ --json Format output as json.
2374
+
2375
+ DESCRIPTION
2376
+ Stop registering a Loopress block pattern on WordPress. A wp:pattern reference to it renders nothing, copies already
2377
+ inserted in posts stay.
2378
+
2379
+ ALIASES
2380
+ $ lps pattern remove
2381
+
2382
+ EXAMPLES
2383
+ $ lps pattern rm <slug>
2384
+
2385
+ $ lps pattern remove <slug> --yes
2386
+ ```
2387
+
2388
+ ## `lps pattern rm SLUG`
2389
+
2390
+ Stop registering a Loopress block pattern on WordPress. A wp:pattern reference to it renders nothing, copies already inserted in posts stay.
1679
2391
 
1680
2392
  ```
1681
2393
  USAGE
1682
- $ lps page list [--json] [--env <value>]
2394
+ $ lps pattern rm SLUG [--json] [--env <value>] [-d] [-y]
2395
+
2396
+ ARGUMENTS
2397
+ SLUG The pattern slug, its patterns/ file name without .html
1683
2398
 
1684
2399
  FLAGS
1685
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2400
+ -d, --dry-run Show what would change without making changes
2401
+ -y, --yes Answer yes to confirmation prompts
2402
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1686
2403
 
1687
2404
  GLOBAL FLAGS
1688
2405
  --json Format output as json.
1689
2406
 
1690
2407
  DESCRIPTION
1691
- List the static pages managed by Loopress on WordPress
2408
+ Stop registering a Loopress block pattern on WordPress. A wp:pattern reference to it renders nothing, copies already
2409
+ inserted in posts stay.
2410
+
2411
+ ALIASES
2412
+ $ lps pattern remove
1692
2413
 
1693
2414
  EXAMPLES
1694
- $ lps page list
2415
+ $ lps pattern rm <slug>
2416
+
2417
+ $ lps pattern remove <slug> --yes
1695
2418
  ```
1696
2419
 
1697
- _See code: [src/commands/page/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/page/list.ts)_
2420
+ _See code: [src/commands/pattern/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pattern/rm.ts)_
1698
2421
 
1699
- ## `lps page push [SLUG]`
2422
+ ## `lps pattern rollback [PATH]`
1700
2423
 
1701
- Push static HTML pages (pages/<slug>.html) to WordPress. The `status` header (draft or publish, draft by default) is applied on every push.
2424
+ Restore block patterns to a snapshot taken automatically before an earlier `lps pattern push`
1702
2425
 
1703
2426
  ```
1704
2427
  USAGE
1705
- $ lps page push [SLUG] [--json] [--env <value>] [-d] [-y]
2428
+ $ lps pattern rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
1706
2429
 
1707
2430
  ARGUMENTS
1708
- [SLUG] Push only this page (its file name without .html). Pushes every page when omitted.
2431
+ [PATH] Path to patterns directory (overrides project config)
1709
2432
 
1710
2433
  FLAGS
1711
2434
  -d, --dry-run Show what would change without making changes
1712
2435
  -y, --yes Answer yes to confirmation prompts
1713
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2436
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2437
+ --list List available snapshots instead of rolling back
2438
+ --to=<value> Roll back to this snapshot id instead of the most recent one
1714
2439
 
1715
2440
  GLOBAL FLAGS
1716
2441
  --json Format output as json.
1717
2442
 
1718
2443
  DESCRIPTION
1719
- Push static HTML pages (pages/<slug>.html) to WordPress. The `status` header (draft or publish, draft by default) is
1720
- applied on every push.
2444
+ Restore block patterns to a snapshot taken automatically before an earlier `lps pattern push`
1721
2445
 
1722
2446
  EXAMPLES
1723
- $ lps page push
2447
+ $ lps pattern rollback
1724
2448
 
1725
- $ lps page push legal-notice
2449
+ $ lps pattern rollback --list
1726
2450
 
1727
- $ lps page push --dry-run
2451
+ $ lps pattern rollback --to 1732000000000
2452
+
2453
+ $ lps pattern rollback --dry-run
1728
2454
  ```
1729
2455
 
1730
- _See code: [src/commands/page/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/page/push.ts)_
2456
+ _See code: [src/commands/pattern/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pattern/rollback.ts)_
1731
2457
 
1732
2458
  ## `lps plugin add SLUG`
1733
2459
 
@@ -1742,7 +2468,7 @@ ARGUMENTS
1742
2468
 
1743
2469
  FLAGS
1744
2470
  -d, --dry-run Show what would change without making changes
1745
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2471
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1746
2472
  --version=<value> Exact version to pin (default: "latest", tracked on every push)
1747
2473
 
1748
2474
  GLOBAL FLAGS
@@ -1759,7 +2485,7 @@ EXAMPLES
1759
2485
  $ lps plugin add contact-form-7 --dry-run
1760
2486
  ```
1761
2487
 
1762
- _See code: [src/commands/plugin/add.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/plugin/add.ts)_
2488
+ _See code: [src/commands/plugin/add.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/plugin/add.ts)_
1763
2489
 
1764
2490
  ## `lps plugin audit`
1765
2491
 
@@ -1770,7 +2496,7 @@ USAGE
1770
2496
  $ lps plugin audit [--json] [--env <value>]
1771
2497
 
1772
2498
  FLAGS
1773
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2499
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1774
2500
 
1775
2501
  GLOBAL FLAGS
1776
2502
  --json Format output as json.
@@ -1782,7 +2508,7 @@ EXAMPLES
1782
2508
  $ lps plugin audit
1783
2509
  ```
1784
2510
 
1785
- _See code: [src/commands/plugin/audit.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/plugin/audit.ts)_
2511
+ _See code: [src/commands/plugin/audit.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/plugin/audit.ts)_
1786
2512
 
1787
2513
  ## `lps plugin pull`
1788
2514
 
@@ -1795,7 +2521,7 @@ USAGE
1795
2521
  FLAGS
1796
2522
  -d, --dry-run Show what would change without making changes
1797
2523
  -y, --yes Answer yes to confirmation prompts
1798
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2524
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1799
2525
  --plugin=<value>... Start tracking this installed plugin too, without asking (repeatable)
1800
2526
 
1801
2527
  GLOBAL FLAGS
@@ -1812,7 +2538,7 @@ EXAMPLES
1812
2538
  $ lps plugin pull --env production --plugin query-monitor
1813
2539
  ```
1814
2540
 
1815
- _See code: [src/commands/plugin/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/plugin/pull.ts)_
2541
+ _See code: [src/commands/plugin/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/plugin/pull.ts)_
1816
2542
 
1817
2543
  ## `lps plugin push`
1818
2544
 
@@ -1820,15 +2546,16 @@ Install plugins on WordPress to match loopress.json (or composer.json), via Comp
1820
2546
 
1821
2547
  ```
1822
2548
  USAGE
1823
- $ lps plugin push [--json] [--env <value>] [-d] [-y] [--activate] [--force] [--prune]
2549
+ $ lps plugin push [--json] [--env <value>] [--overwrite] [-d] [-y] [--activate] [--force] [--prune]
1824
2550
 
1825
2551
  FLAGS
1826
2552
  -d, --dry-run Show what would change without making changes
1827
2553
  -y, --yes Answer yes to confirmation prompts
1828
2554
  --activate composer.json projects only: activate every plugin it declares. Without it, plugins keep their
1829
2555
  current state and new ones stay inactive
1830
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2556
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1831
2557
  --force Allow downgrades and let Loopress take over plugins installed outside it (replaces their files)
2558
+ --overwrite Push even over changes made on the site outside Loopress since your last push
1832
2559
  --prune Deactivate plugins that are active on the site but absent from loopress.json (or composer.json)
1833
2560
 
1834
2561
  GLOBAL FLAGS
@@ -1845,7 +2572,7 @@ EXAMPLES
1845
2572
  $ lps plugin push --force --prune
1846
2573
  ```
1847
2574
 
1848
- _See code: [src/commands/plugin/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/plugin/push.ts)_
2575
+ _See code: [src/commands/plugin/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/plugin/push.ts)_
1849
2576
 
1850
2577
  ## `lps plugin status`
1851
2578
 
@@ -1856,7 +2583,7 @@ USAGE
1856
2583
  $ lps plugin status [--json] [--env <value>]
1857
2584
 
1858
2585
  FLAGS
1859
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2586
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1860
2587
 
1861
2588
  GLOBAL FLAGS
1862
2589
  --json Format output as json.
@@ -1868,7 +2595,7 @@ EXAMPLES
1868
2595
  $ lps plugin status
1869
2596
  ```
1870
2597
 
1871
- _See code: [src/commands/plugin/status.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/plugin/status.ts)_
2598
+ _See code: [src/commands/plugin/status.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/plugin/status.ts)_
1872
2599
 
1873
2600
  ## `lps project config`
1874
2601
 
@@ -1886,7 +2613,7 @@ EXAMPLES
1886
2613
  $ lps project config
1887
2614
  ```
1888
2615
 
1889
- _See code: [src/commands/project/config.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/config.ts)_
2616
+ _See code: [src/commands/project/config.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/config.ts)_
1890
2617
 
1891
2618
  ## `lps project list`
1892
2619
 
@@ -1906,7 +2633,7 @@ EXAMPLES
1906
2633
  $ lps project list
1907
2634
  ```
1908
2635
 
1909
- _See code: [src/commands/project/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/list.ts)_
2636
+ _See code: [src/commands/project/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/list.ts)_
1910
2637
 
1911
2638
  ## `lps project pull`
1912
2639
 
@@ -1923,7 +2650,7 @@ EXAMPLES
1923
2650
  $ lps project pull
1924
2651
  ```
1925
2652
 
1926
- _See code: [src/commands/project/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/pull.ts)_
2653
+ _See code: [src/commands/project/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/pull.ts)_
1927
2654
 
1928
2655
  ## `lps project push`
1929
2656
 
@@ -1943,7 +2670,7 @@ EXAMPLES
1943
2670
  $ lps project push
1944
2671
  ```
1945
2672
 
1946
- _See code: [src/commands/project/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/push.ts)_
2673
+ _See code: [src/commands/project/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/push.ts)_
1947
2674
 
1948
2675
  ## `lps project remove`
1949
2676
 
@@ -1960,7 +2687,7 @@ EXAMPLES
1960
2687
  $ lps project remove
1961
2688
  ```
1962
2689
 
1963
- _See code: [src/commands/project/remove.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/remove.ts)_
2690
+ _See code: [src/commands/project/remove.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/remove.ts)_
1964
2691
 
1965
2692
  ## `lps project rotate`
1966
2693
 
@@ -1971,7 +2698,7 @@ USAGE
1971
2698
  $ lps project rotate [--env <value>]
1972
2699
 
1973
2700
  FLAGS
1974
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2701
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
1975
2702
 
1976
2703
  DESCRIPTION
1977
2704
  Rotate the WordPress application password for the current (or --env) environment
@@ -1982,24 +2709,24 @@ EXAMPLES
1982
2709
  $ lps project rotate --env staging
1983
2710
  ```
1984
2711
 
1985
- _See code: [src/commands/project/rotate.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/rotate.ts)_
2712
+ _See code: [src/commands/project/rotate.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/rotate.ts)_
1986
2713
 
1987
2714
  ## `lps project switch`
1988
2715
 
1989
- Switch the active project and environment
2716
+ Switch the active project (pass --env to target a non-local environment)
1990
2717
 
1991
2718
  ```
1992
2719
  USAGE
1993
2720
  $ lps project switch
1994
2721
 
1995
2722
  DESCRIPTION
1996
- Switch the active project and environment
2723
+ Switch the active project (pass --env to target a non-local environment)
1997
2724
 
1998
2725
  EXAMPLES
1999
2726
  $ lps project switch
2000
2727
  ```
2001
2728
 
2002
- _See code: [src/commands/project/switch.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/project/switch.ts)_
2729
+ _See code: [src/commands/project/switch.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/project/switch.ts)_
2003
2730
 
2004
2731
  ## `lps promote FROM TO`
2005
2732
 
@@ -2007,15 +2734,16 @@ Copy every tracked resource from one environment to another by pulling from <fro
2007
2734
 
2008
2735
  ```
2009
2736
  USAGE
2010
- $ lps promote FROM TO [--json] [-d] [-y]
2737
+ $ lps promote FROM TO [--json] [-d] [-y] [--overwrite]
2011
2738
 
2012
2739
  ARGUMENTS
2013
2740
  FROM Environment to copy the configuration from
2014
2741
  TO Environment to copy the configuration to
2015
2742
 
2016
2743
  FLAGS
2017
- -d, --dry-run Show what would change without making changes
2018
- -y, --yes Answer yes to confirmation prompts
2744
+ -d, --dry-run Show what would change without making changes
2745
+ -y, --yes Answer yes to confirmation prompts
2746
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2019
2747
 
2020
2748
  GLOBAL FLAGS
2021
2749
  --json Format output as json.
@@ -2031,11 +2759,11 @@ EXAMPLES
2031
2759
  $ lps promote production staging --dry-run
2032
2760
  ```
2033
2761
 
2034
- _See code: [src/commands/promote.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/promote.ts)_
2762
+ _See code: [src/commands/promote.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/promote.ts)_
2035
2763
 
2036
2764
  ## `lps pull`
2037
2765
 
2038
- Pull all content, plugins, composer dependencies, ACF, API routes, hooks, forms, SEO, menus, options, and snippets, from WordPress
2766
+ Pull all content, plugins, composer dependencies, post types, taxonomies, post meta, roles, ACF, API routes, hooks, forms, patterns, menus, options, and snippets, from WordPress
2039
2767
 
2040
2768
  ```
2041
2769
  USAGE
@@ -2044,14 +2772,14 @@ USAGE
2044
2772
  FLAGS
2045
2773
  -d, --dry-run Show what would change without making changes
2046
2774
  -y, --yes Answer yes to confirmation prompts
2047
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2775
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2048
2776
 
2049
2777
  GLOBAL FLAGS
2050
2778
  --json Format output as json.
2051
2779
 
2052
2780
  DESCRIPTION
2053
- Pull all content, plugins, composer dependencies, ACF, API routes, hooks, forms, SEO, menus, options, and snippets,
2054
- from WordPress
2781
+ Pull all content, plugins, composer dependencies, post types, taxonomies, post meta, roles, ACF, API routes, hooks,
2782
+ forms, patterns, menus, options, and snippets, from WordPress
2055
2783
 
2056
2784
  EXAMPLES
2057
2785
  $ lps pull
@@ -2061,27 +2789,28 @@ EXAMPLES
2061
2789
  $ lps pull --dry-run
2062
2790
  ```
2063
2791
 
2064
- _See code: [src/commands/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/pull.ts)_
2792
+ _See code: [src/commands/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/pull.ts)_
2065
2793
 
2066
2794
  ## `lps push`
2067
2795
 
2068
- Push all local content, plugins, composer dependencies, ACF, API routes, hooks, forms, templates, pages, SEO, menus, options, and snippets, to WordPress
2796
+ Push all local content, plugins, composer dependencies, post types, taxonomies, post meta, roles, ACF, API routes, hooks, forms, patterns, templates, pages, menus, options, and snippets, to WordPress
2069
2797
 
2070
2798
  ```
2071
2799
  USAGE
2072
- $ lps push [--json] [--env <value>] [-d] [-y]
2800
+ $ lps push [--json] [--env <value>] [-d] [-y] [--overwrite]
2073
2801
 
2074
2802
  FLAGS
2075
2803
  -d, --dry-run Show what would change without making changes
2076
2804
  -y, --yes Answer yes to confirmation prompts
2077
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2805
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2806
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2078
2807
 
2079
2808
  GLOBAL FLAGS
2080
2809
  --json Format output as json.
2081
2810
 
2082
2811
  DESCRIPTION
2083
- Push all local content, plugins, composer dependencies, ACF, API routes, hooks, forms, templates, pages, SEO, menus,
2084
- options, and snippets, to WordPress
2812
+ Push all local content, plugins, composer dependencies, post types, taxonomies, post meta, roles, ACF, API routes,
2813
+ hooks, forms, patterns, templates, pages, menus, options, and snippets, to WordPress
2085
2814
 
2086
2815
  EXAMPLES
2087
2816
  $ lps push
@@ -2091,145 +2820,203 @@ EXAMPLES
2091
2820
  $ lps push --dry-run
2092
2821
  ```
2093
2822
 
2094
- _See code: [src/commands/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/push.ts)_
2823
+ _See code: [src/commands/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/push.ts)_
2095
2824
 
2096
- ## `lps seo diff [PATH]`
2825
+ ## `lps role diff [PATH]`
2097
2826
 
2098
- Show what differs in SEO settings, post meta, and redirects between your local files and a WordPress environment, or between two environments
2827
+ Show what differs in roles between your local roles/ files and a WordPress environment, or between two environments
2099
2828
 
2100
2829
  ```
2101
2830
  USAGE
2102
- $ lps seo diff [PATH] [--json] [--env <value>] [--against <value>]
2831
+ $ lps role diff [PATH] [--json] [--env <value>] [--against <value>]
2103
2832
 
2104
2833
  ARGUMENTS
2105
- [PATH] Path to SEO directory (overrides project config)
2834
+ [PATH] Path to roles directory (overrides project config)
2106
2835
 
2107
2836
  FLAGS
2108
2837
  --against=<value> Compare the primary environment against this second environment instead of against local files
2109
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2838
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2110
2839
 
2111
2840
  GLOBAL FLAGS
2112
2841
  --json Format output as json.
2113
2842
 
2114
2843
  DESCRIPTION
2115
- Show what differs in SEO settings, post meta, and redirects between your local files and a WordPress environment, or
2116
- between two environments
2844
+ Show what differs in roles between your local roles/ files and a WordPress environment, or between two environments
2117
2845
 
2118
2846
  EXAMPLES
2119
- $ lps seo diff
2847
+ $ lps role diff
2120
2848
 
2121
- $ lps seo diff --env staging
2849
+ $ lps role diff --env staging
2122
2850
 
2123
- $ lps seo diff --env staging --against production
2851
+ $ lps role diff --env staging --against production
2124
2852
  ```
2125
2853
 
2126
- _See code: [src/commands/seo/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/seo/diff.ts)_
2854
+ _See code: [src/commands/role/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/role/diff.ts)_
2127
2855
 
2128
- ## `lps seo list`
2856
+ ## `lps role list`
2129
2857
 
2130
- List posts with SEO meta, and redirects if supported by the active SEO plugin, on WordPress
2858
+ List the user roles on WordPress, where each comes from (Loopress, WordPress, a plugin) and how many users have it. Only Loopress ones are pulled and pushed.
2131
2859
 
2132
2860
  ```
2133
2861
  USAGE
2134
- $ lps seo list [--json] [--env <value>] [--post-type <value>...]
2862
+ $ lps role list [--json] [--env <value>]
2135
2863
 
2136
2864
  FLAGS
2137
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2138
- --post-type=<value>... Limit to specific post types
2865
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2139
2866
 
2140
2867
  GLOBAL FLAGS
2141
2868
  --json Format output as json.
2142
2869
 
2143
2870
  DESCRIPTION
2144
- List posts with SEO meta, and redirects if supported by the active SEO plugin, on WordPress
2871
+ List the user roles on WordPress, where each comes from (Loopress, WordPress, a plugin) and how many users have it.
2872
+ Only Loopress ones are pulled and pushed.
2145
2873
 
2146
2874
  EXAMPLES
2147
- $ lps seo list
2875
+ $ lps role list
2876
+ ```
2877
+
2878
+ _See code: [src/commands/role/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/role/list.ts)_
2148
2879
 
2149
- $ lps seo list --post-type post
2880
+ ## `lps role pull [PATH]`
2881
+
2882
+ Pull the roles Loopress manages on WordPress into roles/<slug>.json files. Built-in roles and roles created by a plugin are never pulled, see `lps role list`.
2883
+
2884
+ ```
2885
+ USAGE
2886
+ $ lps role pull [PATH] [--json] [--env <value>] [-d] [-y]
2887
+
2888
+ ARGUMENTS
2889
+ [PATH] Path to the roles directory (overrides project config)
2890
+
2891
+ FLAGS
2892
+ -d, --dry-run Show what would change without making changes
2893
+ -y, --yes Answer yes to confirmation prompts
2894
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2895
+
2896
+ GLOBAL FLAGS
2897
+ --json Format output as json.
2898
+
2899
+ DESCRIPTION
2900
+ Pull the roles Loopress manages on WordPress into roles/<slug>.json files. Built-in roles and roles created by a
2901
+ plugin are never pulled, see `lps role list`.
2902
+
2903
+ EXAMPLES
2904
+ $ lps role pull
2150
2905
  ```
2151
2906
 
2152
- _See code: [src/commands/seo/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/seo/list.ts)_
2907
+ _See code: [src/commands/role/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/role/pull.ts)_
2153
2908
 
2154
- ## `lps seo pull [PATH]`
2909
+ ## `lps role push [PATH]`
2155
2910
 
2156
- Pull SEO settings, post meta, and (if supported) redirects from WordPress
2911
+ Push local roles (roles/<slug>.json, a "name" and its "capabilities") to WordPress. Create or update only, never deletes a role (use `lps role rm`), never changes which users have it.
2157
2912
 
2158
2913
  ```
2159
2914
  USAGE
2160
- $ lps seo pull [PATH] [--json] [--env <value>] [-d] [-y] [--post-type <value>...]
2915
+ $ lps role push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
2161
2916
 
2162
2917
  ARGUMENTS
2163
- [PATH] Path to SEO directory (overrides project config)
2918
+ [PATH] Path to the roles directory (overrides project config)
2164
2919
 
2165
2920
  FLAGS
2166
- -d, --dry-run Show what would change without making changes
2167
- -y, --yes Answer yes to confirmation prompts
2168
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2169
- --post-type=<value>... Limit post meta to specific post types
2921
+ -d, --dry-run Show what would change without making changes
2922
+ -y, --yes Answer yes to confirmation prompts
2923
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2924
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2170
2925
 
2171
2926
  GLOBAL FLAGS
2172
2927
  --json Format output as json.
2173
2928
 
2174
2929
  DESCRIPTION
2175
- Pull SEO settings, post meta, and (if supported) redirects from WordPress
2930
+ Push local roles (roles/<slug>.json, a "name" and its "capabilities") to WordPress. Create or update only, never
2931
+ deletes a role (use `lps role rm`), never changes which users have it.
2176
2932
 
2177
2933
  EXAMPLES
2178
- $ lps seo pull
2934
+ $ lps role push
2935
+ ```
2936
+
2937
+ _See code: [src/commands/role/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/role/push.ts)_
2938
+
2939
+ ## `lps role remove SLUG`
2940
+
2941
+ Stop registering a Loopress role on WordPress. Its users keep it in their profile, with no capability until the role is pushed again.
2179
2942
 
2180
- $ lps seo pull --post-type post --post-type page
2181
2943
  ```
2944
+ USAGE
2945
+ $ lps role remove SLUG [--json] [--env <value>] [-d] [-y]
2946
+
2947
+ ARGUMENTS
2948
+ SLUG The role slug, its roles/ file name without .json
2949
+
2950
+ FLAGS
2951
+ -d, --dry-run Show what would change without making changes
2952
+ -y, --yes Answer yes to confirmation prompts
2953
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2954
+
2955
+ GLOBAL FLAGS
2956
+ --json Format output as json.
2957
+
2958
+ DESCRIPTION
2959
+ Stop registering a Loopress role on WordPress. Its users keep it in their profile, with no capability until the role
2960
+ is pushed again.
2961
+
2962
+ ALIASES
2963
+ $ lps role remove
2964
+
2965
+ EXAMPLES
2966
+ $ lps role rm <slug>
2182
2967
 
2183
- _See code: [src/commands/seo/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/seo/pull.ts)_
2968
+ $ lps role remove <slug> --yes
2969
+ ```
2184
2970
 
2185
- ## `lps seo push [PATH]`
2971
+ ## `lps role rm SLUG`
2186
2972
 
2187
- Push SEO settings, post meta, and redirects to WordPress. Local redirect files created remotely are renamed on disk to the `<id>-<slug>` convention. Fails clearly per file if the active SEO plugin does not support redirects.
2973
+ Stop registering a Loopress role on WordPress. Its users keep it in their profile, with no capability until the role is pushed again.
2188
2974
 
2189
2975
  ```
2190
2976
  USAGE
2191
- $ lps seo push [PATH] [--json] [--env <value>] [-d] [-y] [--allow-external-redirects]
2977
+ $ lps role rm SLUG [--json] [--env <value>] [-d] [-y]
2192
2978
 
2193
2979
  ARGUMENTS
2194
- [PATH] Path to SEO directory (overrides project config)
2980
+ SLUG The role slug, its roles/ file name without .json
2195
2981
 
2196
2982
  FLAGS
2197
- -d, --dry-run Show what would change without making changes
2198
- -y, --yes Answer yes to confirmation prompts
2199
- --allow-external-redirects Allow pushing a redirect whose target points off this site. Off by default: the server
2200
- rejects an off-site `urlTo` so a stray push can't 301 traffic away.
2201
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
2983
+ -d, --dry-run Show what would change without making changes
2984
+ -y, --yes Answer yes to confirmation prompts
2985
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2202
2986
 
2203
2987
  GLOBAL FLAGS
2204
2988
  --json Format output as json.
2205
2989
 
2206
2990
  DESCRIPTION
2207
- Push SEO settings, post meta, and redirects to WordPress. Local redirect files created remotely are renamed on disk to
2208
- the `<id>-<slug>` convention. Fails clearly per file if the active SEO plugin does not support redirects.
2991
+ Stop registering a Loopress role on WordPress. Its users keep it in their profile, with no capability until the role
2992
+ is pushed again.
2993
+
2994
+ ALIASES
2995
+ $ lps role remove
2209
2996
 
2210
2997
  EXAMPLES
2211
- $ lps seo push
2998
+ $ lps role rm <slug>
2212
2999
 
2213
- $ lps seo push --allow-external-redirects
3000
+ $ lps role remove <slug> --yes
2214
3001
  ```
2215
3002
 
2216
- _See code: [src/commands/seo/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/seo/push.ts)_
3003
+ _See code: [src/commands/role/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/role/rm.ts)_
2217
3004
 
2218
- ## `lps seo rollback [PATH]`
3005
+ ## `lps role rollback [PATH]`
2219
3006
 
2220
- Restore SEO settings, post meta, and redirects to a snapshot taken automatically before an earlier `lps seo push`
3007
+ Restore roles to a snapshot taken automatically before an earlier `lps role push`
2221
3008
 
2222
3009
  ```
2223
3010
  USAGE
2224
- $ lps seo rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
3011
+ $ lps role rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
2225
3012
 
2226
3013
  ARGUMENTS
2227
- [PATH] Path to SEO directory (overrides project config)
3014
+ [PATH] Path to roles directory (overrides project config)
2228
3015
 
2229
3016
  FLAGS
2230
3017
  -d, --dry-run Show what would change without making changes
2231
3018
  -y, --yes Answer yes to confirmation prompts
2232
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3019
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2233
3020
  --list List available snapshots instead of rolling back
2234
3021
  --to=<value> Roll back to this snapshot id instead of the most recent one
2235
3022
 
@@ -2237,19 +3024,19 @@ GLOBAL FLAGS
2237
3024
  --json Format output as json.
2238
3025
 
2239
3026
  DESCRIPTION
2240
- Restore SEO settings, post meta, and redirects to a snapshot taken automatically before an earlier `lps seo push`
3027
+ Restore roles to a snapshot taken automatically before an earlier `lps role push`
2241
3028
 
2242
3029
  EXAMPLES
2243
- $ lps seo rollback
3030
+ $ lps role rollback
2244
3031
 
2245
- $ lps seo rollback --list
3032
+ $ lps role rollback --list
2246
3033
 
2247
- $ lps seo rollback --to 1732000000000
3034
+ $ lps role rollback --to 1732000000000
2248
3035
 
2249
- $ lps seo rollback --dry-run
3036
+ $ lps role rollback --dry-run
2250
3037
  ```
2251
3038
 
2252
- _See code: [src/commands/seo/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/seo/rollback.ts)_
3039
+ _See code: [src/commands/role/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/role/rollback.ts)_
2253
3040
 
2254
3041
  ## `lps snippet diff [PATH]`
2255
3042
 
@@ -2264,7 +3051,7 @@ ARGUMENTS
2264
3051
 
2265
3052
  FLAGS
2266
3053
  --against=<value> Compare the primary environment against this second environment instead of against local files
2267
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3054
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2268
3055
 
2269
3056
  GLOBAL FLAGS
2270
3057
  --json Format output as json.
@@ -2280,7 +3067,7 @@ EXAMPLES
2280
3067
  $ lps snippet diff --env staging --against production
2281
3068
  ```
2282
3069
 
2283
- _See code: [src/commands/snippet/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/snippet/diff.ts)_
3070
+ _See code: [src/commands/snippet/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/snippet/diff.ts)_
2284
3071
 
2285
3072
  ## `lps snippet list`
2286
3073
 
@@ -2291,7 +3078,7 @@ USAGE
2291
3078
  $ lps snippet list [--json] [--env <value>]
2292
3079
 
2293
3080
  FLAGS
2294
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3081
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2295
3082
 
2296
3083
  GLOBAL FLAGS
2297
3084
  --json Format output as json.
@@ -2303,7 +3090,7 @@ EXAMPLES
2303
3090
  $ lps snippet list
2304
3091
  ```
2305
3092
 
2306
- _See code: [src/commands/snippet/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/snippet/list.ts)_
3093
+ _See code: [src/commands/snippet/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/snippet/list.ts)_
2307
3094
 
2308
3095
  ## `lps snippet publish [PATH]`
2309
3096
 
@@ -2326,7 +3113,7 @@ EXAMPLES
2326
3113
  $ lps snippet publish ./snippets
2327
3114
  ```
2328
3115
 
2329
- _See code: [src/commands/snippet/publish.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/snippet/publish.ts)_
3116
+ _See code: [src/commands/snippet/publish.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/snippet/publish.ts)_
2330
3117
 
2331
3118
  ## `lps snippet pull [PATH]`
2332
3119
 
@@ -2342,7 +3129,7 @@ ARGUMENTS
2342
3129
  FLAGS
2343
3130
  -d, --dry-run Show what would change without making changes
2344
3131
  -y, --yes Answer yes to confirmation prompts
2345
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3132
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2346
3133
 
2347
3134
  GLOBAL FLAGS
2348
3135
  --json Format output as json.
@@ -2356,7 +3143,7 @@ EXAMPLES
2356
3143
  $ lps snippet pull ./snippets
2357
3144
  ```
2358
3145
 
2359
- _See code: [src/commands/snippet/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/snippet/pull.ts)_
3146
+ _See code: [src/commands/snippet/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/snippet/pull.ts)_
2360
3147
 
2361
3148
  ## `lps snippet push [PATH]`
2362
3149
 
@@ -2364,7 +3151,7 @@ Push snippets to WordPress. Local snippet files created or updated remotely are
2364
3151
 
2365
3152
  ```
2366
3153
  USAGE
2367
- $ lps snippet push [PATH] [--json] [--env <value>] [-d] [-y]
3154
+ $ lps snippet push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
2368
3155
 
2369
3156
  ARGUMENTS
2370
3157
  [PATH] Path to snippets directory (overrides project config)
@@ -2372,7 +3159,8 @@ ARGUMENTS
2372
3159
  FLAGS
2373
3160
  -d, --dry-run Show what would change without making changes
2374
3161
  -y, --yes Answer yes to confirmation prompts
2375
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3162
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3163
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2376
3164
 
2377
3165
  GLOBAL FLAGS
2378
3166
  --json Format output as json.
@@ -2387,7 +3175,7 @@ EXAMPLES
2387
3175
  $ lps snippet push ./snippets
2388
3176
  ```
2389
3177
 
2390
- _See code: [src/commands/snippet/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/snippet/push.ts)_
3178
+ _See code: [src/commands/snippet/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/snippet/push.ts)_
2391
3179
 
2392
3180
  ## `lps snippet rollback [PATH]`
2393
3181
 
@@ -2403,7 +3191,7 @@ ARGUMENTS
2403
3191
  FLAGS
2404
3192
  -d, --dry-run Show what would change without making changes
2405
3193
  -y, --yes Answer yes to confirmation prompts
2406
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3194
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2407
3195
  --list List available snapshots instead of rolling back
2408
3196
  --to=<value> Roll back to this snapshot id instead of the most recent one
2409
3197
 
@@ -2423,7 +3211,7 @@ EXAMPLES
2423
3211
  $ lps snippet rollback --dry-run
2424
3212
  ```
2425
3213
 
2426
- _See code: [src/commands/snippet/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/snippet/rollback.ts)_
3214
+ _See code: [src/commands/snippet/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/snippet/rollback.ts)_
2427
3215
 
2428
3216
  ## `lps status`
2429
3217
 
@@ -2448,7 +3236,224 @@ EXAMPLES
2448
3236
  $ lps status --env staging
2449
3237
  ```
2450
3238
 
2451
- _See code: [src/commands/status.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/status.ts)_
3239
+ _See code: [src/commands/status.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/status.ts)_
3240
+
3241
+ ## `lps taxonomy diff [PATH]`
3242
+
3243
+ Show what differs in taxonomies between your local taxonomies/ files and a WordPress environment, or between two environments
3244
+
3245
+ ```
3246
+ USAGE
3247
+ $ lps taxonomy diff [PATH] [--json] [--env <value>] [--against <value>]
3248
+
3249
+ ARGUMENTS
3250
+ [PATH] Path to taxonomies directory (overrides project config)
3251
+
3252
+ FLAGS
3253
+ --against=<value> Compare the primary environment against this second environment instead of against local files
3254
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3255
+
3256
+ GLOBAL FLAGS
3257
+ --json Format output as json.
3258
+
3259
+ DESCRIPTION
3260
+ Show what differs in taxonomies between your local taxonomies/ files and a WordPress environment, or between two
3261
+ environments
3262
+
3263
+ EXAMPLES
3264
+ $ lps taxonomy diff
3265
+
3266
+ $ lps taxonomy diff --env staging
3267
+
3268
+ $ lps taxonomy diff --env staging --against production
3269
+ ```
3270
+
3271
+ _See code: [src/commands/taxonomy/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/taxonomy/diff.ts)_
3272
+
3273
+ ## `lps taxonomy list`
3274
+
3275
+ List the taxonomies registered on WordPress, where each comes from (Loopress, WordPress, ACF, CPT UI, a theme or plugin) and the post types it attaches to. Only Loopress ones are pulled and pushed.
3276
+
3277
+ ```
3278
+ USAGE
3279
+ $ lps taxonomy list [--json] [--env <value>]
3280
+
3281
+ FLAGS
3282
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3283
+
3284
+ GLOBAL FLAGS
3285
+ --json Format output as json.
3286
+
3287
+ DESCRIPTION
3288
+ List the taxonomies registered on WordPress, where each comes from (Loopress, WordPress, ACF, CPT UI, a theme or
3289
+ plugin) and the post types it attaches to. Only Loopress ones are pulled and pushed.
3290
+
3291
+ EXAMPLES
3292
+ $ lps taxonomy list
3293
+ ```
3294
+
3295
+ _See code: [src/commands/taxonomy/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/taxonomy/list.ts)_
3296
+
3297
+ ## `lps taxonomy pull [PATH]`
3298
+
3299
+ Pull the taxonomies Loopress manages on WordPress into taxonomies/<slug>.json files, never their terms. Taxonomies registered by a theme or another plugin are never pulled, see `lps taxonomy list`.
3300
+
3301
+ ```
3302
+ USAGE
3303
+ $ lps taxonomy pull [PATH] [--json] [--env <value>] [-d] [-y]
3304
+
3305
+ ARGUMENTS
3306
+ [PATH] Path to the taxonomies directory (overrides project config)
3307
+
3308
+ FLAGS
3309
+ -d, --dry-run Show what would change without making changes
3310
+ -y, --yes Answer yes to confirmation prompts
3311
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3312
+
3313
+ GLOBAL FLAGS
3314
+ --json Format output as json.
3315
+
3316
+ DESCRIPTION
3317
+ Pull the taxonomies Loopress manages on WordPress into taxonomies/<slug>.json files, never their terms. Taxonomies
3318
+ registered by a theme or another plugin are never pulled, see `lps taxonomy list`.
3319
+
3320
+ EXAMPLES
3321
+ $ lps taxonomy pull
3322
+ ```
3323
+
3324
+ _See code: [src/commands/taxonomy/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/taxonomy/pull.ts)_
3325
+
3326
+ ## `lps taxonomy push [PATH]`
3327
+
3328
+ Push local taxonomies (taxonomies/<slug>.json, register_taxonomy() arguments plus "object_type") to WordPress. Create or update only, never deletes a taxonomy (use `lps taxonomy rm`), never touches its terms.
3329
+
3330
+ ```
3331
+ USAGE
3332
+ $ lps taxonomy push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
3333
+
3334
+ ARGUMENTS
3335
+ [PATH] Path to the taxonomies directory (overrides project config)
3336
+
3337
+ FLAGS
3338
+ -d, --dry-run Show what would change without making changes
3339
+ -y, --yes Answer yes to confirmation prompts
3340
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3341
+ --overwrite Push even over changes made on the site outside Loopress since your last push
3342
+
3343
+ GLOBAL FLAGS
3344
+ --json Format output as json.
3345
+
3346
+ DESCRIPTION
3347
+ Push local taxonomies (taxonomies/<slug>.json, register_taxonomy() arguments plus "object_type") to WordPress. Create
3348
+ or update only, never deletes a taxonomy (use `lps taxonomy rm`), never touches its terms.
3349
+
3350
+ EXAMPLES
3351
+ $ lps taxonomy push
3352
+ ```
3353
+
3354
+ _See code: [src/commands/taxonomy/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/taxonomy/push.ts)_
3355
+
3356
+ ## `lps taxonomy remove SLUG`
3357
+
3358
+ Stop registering a Loopress taxonomy on WordPress. Its terms are kept in the database, hidden until the taxonomy is pushed again.
3359
+
3360
+ ```
3361
+ USAGE
3362
+ $ lps taxonomy remove SLUG [--json] [--env <value>] [-d] [-y]
3363
+
3364
+ ARGUMENTS
3365
+ SLUG The taxonomy slug, its taxonomies/ file name without .json
3366
+
3367
+ FLAGS
3368
+ -d, --dry-run Show what would change without making changes
3369
+ -y, --yes Answer yes to confirmation prompts
3370
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3371
+
3372
+ GLOBAL FLAGS
3373
+ --json Format output as json.
3374
+
3375
+ DESCRIPTION
3376
+ Stop registering a Loopress taxonomy on WordPress. Its terms are kept in the database, hidden until the taxonomy is
3377
+ pushed again.
3378
+
3379
+ ALIASES
3380
+ $ lps taxonomy remove
3381
+
3382
+ EXAMPLES
3383
+ $ lps taxonomy rm <slug>
3384
+
3385
+ $ lps taxonomy remove <slug> --yes
3386
+ ```
3387
+
3388
+ ## `lps taxonomy rm SLUG`
3389
+
3390
+ Stop registering a Loopress taxonomy on WordPress. Its terms are kept in the database, hidden until the taxonomy is pushed again.
3391
+
3392
+ ```
3393
+ USAGE
3394
+ $ lps taxonomy rm SLUG [--json] [--env <value>] [-d] [-y]
3395
+
3396
+ ARGUMENTS
3397
+ SLUG The taxonomy slug, its taxonomies/ file name without .json
3398
+
3399
+ FLAGS
3400
+ -d, --dry-run Show what would change without making changes
3401
+ -y, --yes Answer yes to confirmation prompts
3402
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3403
+
3404
+ GLOBAL FLAGS
3405
+ --json Format output as json.
3406
+
3407
+ DESCRIPTION
3408
+ Stop registering a Loopress taxonomy on WordPress. Its terms are kept in the database, hidden until the taxonomy is
3409
+ pushed again.
3410
+
3411
+ ALIASES
3412
+ $ lps taxonomy remove
3413
+
3414
+ EXAMPLES
3415
+ $ lps taxonomy rm <slug>
3416
+
3417
+ $ lps taxonomy remove <slug> --yes
3418
+ ```
3419
+
3420
+ _See code: [src/commands/taxonomy/rm.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/taxonomy/rm.ts)_
3421
+
3422
+ ## `lps taxonomy rollback [PATH]`
3423
+
3424
+ Restore taxonomies to a snapshot taken automatically before an earlier `lps taxonomy push`
3425
+
3426
+ ```
3427
+ USAGE
3428
+ $ lps taxonomy rollback [PATH] [--json] [--env <value>] [-d] [-y] [--list] [--to <value>]
3429
+
3430
+ ARGUMENTS
3431
+ [PATH] Path to taxonomies directory (overrides project config)
3432
+
3433
+ FLAGS
3434
+ -d, --dry-run Show what would change without making changes
3435
+ -y, --yes Answer yes to confirmation prompts
3436
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3437
+ --list List available snapshots instead of rolling back
3438
+ --to=<value> Roll back to this snapshot id instead of the most recent one
3439
+
3440
+ GLOBAL FLAGS
3441
+ --json Format output as json.
3442
+
3443
+ DESCRIPTION
3444
+ Restore taxonomies to a snapshot taken automatically before an earlier `lps taxonomy push`
3445
+
3446
+ EXAMPLES
3447
+ $ lps taxonomy rollback
3448
+
3449
+ $ lps taxonomy rollback --list
3450
+
3451
+ $ lps taxonomy rollback --to 1732000000000
3452
+
3453
+ $ lps taxonomy rollback --dry-run
3454
+ ```
3455
+
3456
+ _See code: [src/commands/taxonomy/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/taxonomy/rollback.ts)_
2452
3457
 
2453
3458
  ## `lps telemetry disable`
2454
3459
 
@@ -2465,7 +3470,7 @@ EXAMPLES
2465
3470
  $ lps telemetry disable
2466
3471
  ```
2467
3472
 
2468
- _See code: [src/commands/telemetry/disable.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/telemetry/disable.ts)_
3473
+ _See code: [src/commands/telemetry/disable.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/telemetry/disable.ts)_
2469
3474
 
2470
3475
  ## `lps telemetry enable`
2471
3476
 
@@ -2482,7 +3487,7 @@ EXAMPLES
2482
3487
  $ lps telemetry enable
2483
3488
  ```
2484
3489
 
2485
- _See code: [src/commands/telemetry/enable.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/telemetry/enable.ts)_
3490
+ _See code: [src/commands/telemetry/enable.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/telemetry/enable.ts)_
2486
3491
 
2487
3492
  ## `lps theme add SLUG`
2488
3493
 
@@ -2497,7 +3502,7 @@ ARGUMENTS
2497
3502
 
2498
3503
  FLAGS
2499
3504
  -d, --dry-run Show what would change without making changes
2500
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3505
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2501
3506
  --version=<value> Exact version to pin (default: "latest")
2502
3507
 
2503
3508
  GLOBAL FLAGS
@@ -2512,7 +3517,7 @@ EXAMPLES
2512
3517
  $ lps theme add generatepress --version 3.4.0
2513
3518
  ```
2514
3519
 
2515
- _See code: [src/commands/theme/add.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/add.ts)_
3520
+ _See code: [src/commands/theme/add.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/add.ts)_
2516
3521
 
2517
3522
  ## `lps theme pull`
2518
3523
 
@@ -2524,7 +3529,7 @@ USAGE
2524
3529
 
2525
3530
  FLAGS
2526
3531
  -d, --dry-run Show what would change without making changes
2527
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3532
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2528
3533
 
2529
3534
  GLOBAL FLAGS
2530
3535
  --json Format output as json.
@@ -2540,7 +3545,7 @@ EXAMPLES
2540
3545
  $ lps theme pull --dry-run
2541
3546
  ```
2542
3547
 
2543
- _See code: [src/commands/theme/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/pull.ts)_
3548
+ _See code: [src/commands/theme/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/pull.ts)_
2544
3549
 
2545
3550
  ## `lps theme push`
2546
3551
 
@@ -2553,7 +3558,7 @@ USAGE
2553
3558
  FLAGS
2554
3559
  -d, --dry-run Show what would change without making changes
2555
3560
  -y, --yes Answer yes to confirmation prompts
2556
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3561
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2557
3562
  --force Passed to `lps theme version push`
2558
3563
 
2559
3564
  GLOBAL FLAGS
@@ -2570,7 +3575,7 @@ EXAMPLES
2570
3575
  $ lps theme push --dry-run
2571
3576
  ```
2572
3577
 
2573
- _See code: [src/commands/theme/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/push.ts)_
3578
+ _See code: [src/commands/theme/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/push.ts)_
2574
3579
 
2575
3580
  ## `lps theme status`
2576
3581
 
@@ -2581,7 +3586,7 @@ USAGE
2581
3586
  $ lps theme status [--json] [--env <value>]
2582
3587
 
2583
3588
  FLAGS
2584
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3589
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2585
3590
 
2586
3591
  GLOBAL FLAGS
2587
3592
  --json Format output as json.
@@ -2593,7 +3598,7 @@ EXAMPLES
2593
3598
  $ lps theme status
2594
3599
  ```
2595
3600
 
2596
- _See code: [src/commands/theme/status.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/status.ts)_
3601
+ _See code: [src/commands/theme/status.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/status.ts)_
2597
3602
 
2598
3603
  ## `lps theme style diff [PATH]`
2599
3604
 
@@ -2608,7 +3613,7 @@ ARGUMENTS
2608
3613
 
2609
3614
  FLAGS
2610
3615
  --against=<value> Compare the primary environment against this second environment instead of against local files
2611
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3616
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2612
3617
 
2613
3618
  GLOBAL FLAGS
2614
3619
  --json Format output as json.
@@ -2625,7 +3630,7 @@ EXAMPLES
2625
3630
  $ lps theme style diff --env staging --against production
2626
3631
  ```
2627
3632
 
2628
- _See code: [src/commands/theme/style/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/style/diff.ts)_
3633
+ _See code: [src/commands/theme/style/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/style/diff.ts)_
2629
3634
 
2630
3635
  ## `lps theme style pull [PATH]`
2631
3636
 
@@ -2640,7 +3645,7 @@ ARGUMENTS
2640
3645
 
2641
3646
  FLAGS
2642
3647
  -d, --dry-run Show what would change without making changes
2643
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3648
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2644
3649
 
2645
3650
  GLOBAL FLAGS
2646
3651
  --json Format output as json.
@@ -2652,7 +3657,7 @@ EXAMPLES
2652
3657
  $ lps theme style pull
2653
3658
  ```
2654
3659
 
2655
- _See code: [src/commands/theme/style/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/style/pull.ts)_
3660
+ _See code: [src/commands/theme/style/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/style/pull.ts)_
2656
3661
 
2657
3662
  ## `lps theme style push [PATH]`
2658
3663
 
@@ -2660,7 +3665,7 @@ Push the local Global Styles file to the active block theme's Site Editor > Styl
2660
3665
 
2661
3666
  ```
2662
3667
  USAGE
2663
- $ lps theme style push [PATH] [--json] [--env <value>] [-d] [-y]
3668
+ $ lps theme style push [PATH] [--json] [--env <value>] [--overwrite] [-d] [-y]
2664
3669
 
2665
3670
  ARGUMENTS
2666
3671
  [PATH] Path to theme styles directory (overrides project config)
@@ -2668,7 +3673,8 @@ ARGUMENTS
2668
3673
  FLAGS
2669
3674
  -d, --dry-run Show what would change without making changes
2670
3675
  -y, --yes Answer yes to confirmation prompts
2671
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3676
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3677
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2672
3678
 
2673
3679
  GLOBAL FLAGS
2674
3680
  --json Format output as json.
@@ -2680,7 +3686,7 @@ EXAMPLES
2680
3686
  $ lps theme style push
2681
3687
  ```
2682
3688
 
2683
- _See code: [src/commands/theme/style/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/style/push.ts)_
3689
+ _See code: [src/commands/theme/style/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/style/push.ts)_
2684
3690
 
2685
3691
  ## `lps theme style rollback [PATH]`
2686
3692
 
@@ -2696,7 +3702,7 @@ ARGUMENTS
2696
3702
  FLAGS
2697
3703
  -d, --dry-run Show what would change without making changes
2698
3704
  -y, --yes Answer yes to confirmation prompts
2699
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3705
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2700
3706
  --list List available snapshots instead of rolling back
2701
3707
  --to=<value> Roll back to this snapshot id instead of the most recent one
2702
3708
 
@@ -2716,7 +3722,7 @@ EXAMPLES
2716
3722
  $ lps theme style rollback --dry-run
2717
3723
  ```
2718
3724
 
2719
- _See code: [src/commands/theme/style/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/style/rollback.ts)_
3725
+ _See code: [src/commands/theme/style/rollback.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/style/rollback.ts)_
2720
3726
 
2721
3727
  ## `lps theme template diff`
2722
3728
 
@@ -2728,7 +3734,7 @@ USAGE
2728
3734
 
2729
3735
  FLAGS
2730
3736
  --against=<value> Compare the primary environment against this second environment instead of against local files
2731
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3737
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2732
3738
 
2733
3739
  GLOBAL FLAGS
2734
3740
  --json Format output as json.
@@ -2745,7 +3751,7 @@ EXAMPLES
2745
3751
  $ lps theme template diff --env staging --against production
2746
3752
  ```
2747
3753
 
2748
- _See code: [src/commands/theme/template/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/template/diff.ts)_
3754
+ _See code: [src/commands/theme/template/diff.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/template/diff.ts)_
2749
3755
 
2750
3756
  ## `lps theme template list`
2751
3757
 
@@ -2756,7 +3762,7 @@ USAGE
2756
3762
  $ lps theme template list [--json] [--env <value>]
2757
3763
 
2758
3764
  FLAGS
2759
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3765
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2760
3766
 
2761
3767
  GLOBAL FLAGS
2762
3768
  --json Format output as json.
@@ -2768,28 +3774,30 @@ EXAMPLES
2768
3774
  $ lps theme template list
2769
3775
  ```
2770
3776
 
2771
- _See code: [src/commands/theme/template/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/template/list.ts)_
3777
+ _See code: [src/commands/theme/template/list.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/template/list.ts)_
2772
3778
 
2773
3779
  ## `lps theme template push`
2774
3780
 
2775
- Push block templates (templates/<slug>.html) and template parts (parts/<slug>.html) as the files of a child theme of the active block theme, <parent>-loopress. The child mirrors the project: files removed locally are removed from it. It is never activated for you.
3781
+ Push block templates (theme/templates/<slug>.html), template parts (theme/parts/<slug>.html) and the theme CSS (theme/css/style.css, theme/blocks/<namespace>/<block>.css, bundled with esbuild) as the files of a child theme of the active block theme, <parent>-loopress. The child mirrors the project: files removed locally are removed from it. It is never activated for you.
2776
3782
 
2777
3783
  ```
2778
3784
  USAGE
2779
- $ lps theme template push [--json] [--env <value>] [-d] [-y]
3785
+ $ lps theme template push [--json] [--env <value>] [--overwrite] [-d] [-y]
2780
3786
 
2781
3787
  FLAGS
2782
3788
  -d, --dry-run Show what would change without making changes
2783
3789
  -y, --yes Answer yes to confirmation prompts
2784
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3790
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
3791
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2785
3792
 
2786
3793
  GLOBAL FLAGS
2787
3794
  --json Format output as json.
2788
3795
 
2789
3796
  DESCRIPTION
2790
- Push block templates (templates/<slug>.html) and template parts (parts/<slug>.html) as the files of a child theme of
2791
- the active block theme, <parent>-loopress. The child mirrors the project: files removed locally are removed from it.
2792
- It is never activated for you.
3797
+ Push block templates (theme/templates/<slug>.html), template parts (theme/parts/<slug>.html) and the theme CSS
3798
+ (theme/css/style.css, theme/blocks/<namespace>/<block>.css, bundled with esbuild) as the files of a child theme of the
3799
+ active block theme, <parent>-loopress. The child mirrors the project: files removed locally are removed from it. It is
3800
+ never activated for you.
2793
3801
 
2794
3802
  EXAMPLES
2795
3803
  $ lps theme template push
@@ -2797,7 +3805,7 @@ EXAMPLES
2797
3805
  $ lps theme template push --dry-run
2798
3806
  ```
2799
3807
 
2800
- _See code: [src/commands/theme/template/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/template/push.ts)_
3808
+ _See code: [src/commands/theme/template/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/template/push.ts)_
2801
3809
 
2802
3810
  ## `lps theme version pull`
2803
3811
 
@@ -2809,7 +3817,7 @@ USAGE
2809
3817
 
2810
3818
  FLAGS
2811
3819
  -d, --dry-run Show what would change without making changes
2812
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3820
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2813
3821
 
2814
3822
  GLOBAL FLAGS
2815
3823
  --json Format output as json.
@@ -2821,7 +3829,7 @@ EXAMPLES
2821
3829
  $ lps theme version pull
2822
3830
  ```
2823
3831
 
2824
- _See code: [src/commands/theme/version/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/version/pull.ts)_
3832
+ _See code: [src/commands/theme/version/pull.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/version/pull.ts)_
2825
3833
 
2826
3834
  ## `lps theme version push`
2827
3835
 
@@ -2829,13 +3837,14 @@ Install themes on WordPress to match loopress.json (versions only, never switche
2829
3837
 
2830
3838
  ```
2831
3839
  USAGE
2832
- $ lps theme version push [--json] [--env <value>] [-d] [-y] [--force]
3840
+ $ lps theme version push [--json] [--env <value>] [--overwrite] [-d] [-y] [--force]
2833
3841
 
2834
3842
  FLAGS
2835
3843
  -d, --dry-run Show what would change without making changes
2836
3844
  -y, --yes Answer yes to confirmation prompts
2837
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
3845
+ --env=<value> Target environment by name (default: "local", or the project's only environment)
2838
3846
  --force Allow downgrades and take over themes installed outside Loopress
3847
+ --overwrite Push even over changes made on the site outside Loopress since your last push
2839
3848
 
2840
3849
  GLOBAL FLAGS
2841
3850
  --json Format output as json.
@@ -2849,7 +3858,7 @@ EXAMPLES
2849
3858
  $ lps theme version push --force
2850
3859
  ```
2851
3860
 
2852
- _See code: [src/commands/theme/version/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/theme/version/push.ts)_
3861
+ _See code: [src/commands/theme/version/push.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/theme/version/push.ts)_
2853
3862
 
2854
3863
  ## `lps validate`
2855
3864
 
@@ -2869,5 +3878,5 @@ EXAMPLES
2869
3878
  $ lps validate
2870
3879
  ```
2871
3880
 
2872
- _See code: [src/commands/validate.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.29.0/cli/src/commands/validate.ts)_
3881
+ _See code: [src/commands/validate.ts](https://github.com/loopress/loopress/blob/%40loopress%2Fcli%400.31.0/cli/src/commands/validate.ts)_
2873
3882
  <!-- commandsstop -->