@simplysf/simply 2.9.4 → 2.11.1

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 (2) hide show
  1. package/README.md +2565 -1
  2. package/package.json +11 -11
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # simply
2
2
 
3
- [![NPM](https://img.shields.io/npm/v/@simplysf/simply.svg?label=@simplysf/simply)](https://www.npmjs.com/package/@simplysf/simply) [![Downloads/week](https://img.shields.io/npm/dw/@simplysf/simply.svg)](https://npmjs.org/package/@simplysf/simply) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://raw.githubusercontent.com/SimplySF/simply/main/LICENSE.txt)
3
+ [![NPM](https://img.shields.io/npm/v/@simplysf/simply.svg?label=@simplysf/simply)](https://www.npmjs.com/package/@simplysf/simply) [![Downloads/week](https://img.shields.io/npm/dw/@simplysf/simply.svg)](https://npmjs.org/package/@simplysf/simply) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://raw.githubusercontent.com/SimplySF/simply-node/main/LICENSE.txt)
4
4
 
5
5
  ## Install
6
6
 
@@ -16,6 +16,2570 @@ Please report any issues at https://github.com/SimplySF/simply-node/issues
16
16
 
17
17
  <!-- commands -->
18
18
 
19
+ - [`sf simply apex execute`](#sf-simply-apex-execute)
20
+ - [`sf simply apex logs purge`](#sf-simply-apex-logs-purge)
21
+ - [`sf simply apex trace setup`](#sf-simply-apex-trace-setup)
22
+ - [`sf simply apex trace silence`](#sf-simply-apex-trace-silence)
23
+ - [`sf simply cicd build cleanup-scratch-orgs`](#sf-simply-cicd-build-cleanup-scratch-orgs)
24
+ - [`sf simply cicd build create-fallback-tag`](#sf-simply-cicd-build-create-fallback-tag)
25
+ - [`sf simply cicd build create-package-version`](#sf-simply-cicd-build-create-package-version)
26
+ - [`sf simply cicd build create-scratch`](#sf-simply-cicd-build-create-scratch)
27
+ - [`sf simply cicd build delete-scratch`](#sf-simply-cicd-build-delete-scratch)
28
+ - [`sf simply cicd build determine-package-changes`](#sf-simply-cicd-build-determine-package-changes)
29
+ - [`sf simply cicd build generate-flexipage-diff`](#sf-simply-cicd-build-generate-flexipage-diff)
30
+ - [`sf simply cicd build generate-flow-diff`](#sf-simply-cicd-build-generate-flow-diff)
31
+ - [`sf simply cicd build install-dependencies`](#sf-simply-cicd-build-install-dependencies)
32
+ - [`sf simply cicd build lwc-jest`](#sf-simply-cicd-build-lwc-jest)
33
+ - [`sf simply cicd build push-scratch`](#sf-simply-cicd-build-push-scratch)
34
+ - [`sf simply cicd build test-scratch`](#sf-simply-cicd-build-test-scratch)
35
+ - [`sf simply cicd deploy happy-soup deploy-unpackaged`](#sf-simply-cicd-deploy-happy-soup-deploy-unpackaged)
36
+ - [`sf simply cicd deploy happy-soup deployment-close-out`](#sf-simply-cicd-deploy-happy-soup-deployment-close-out)
37
+ - [`sf simply cicd deploy happy-soup install-packaged`](#sf-simply-cicd-deploy-happy-soup-install-packaged)
38
+ - [`sf simply cicd deploy happy-soup post-deploy`](#sf-simply-cicd-deploy-happy-soup-post-deploy)
39
+ - [`sf simply cicd deploy happy-soup post-destructive`](#sf-simply-cicd-deploy-happy-soup-post-destructive)
40
+ - [`sf simply cicd deploy happy-soup pre-destructive`](#sf-simply-cicd-deploy-happy-soup-pre-destructive)
41
+ - [`sf simply cicd deploy happy-soup tag-deployment`](#sf-simply-cicd-deploy-happy-soup-tag-deployment)
42
+ - [`sf simply cicd deploy happy-soup validate`](#sf-simply-cicd-deploy-happy-soup-validate)
43
+ - [`sf simply cicd deploy project deploy-unpackaged`](#sf-simply-cicd-deploy-project-deploy-unpackaged)
44
+ - [`sf simply cicd deploy project install-packaged`](#sf-simply-cicd-deploy-project-install-packaged)
45
+ - [`sf simply cicd deploy project post-deploy`](#sf-simply-cicd-deploy-project-post-deploy)
46
+ - [`sf simply cicd deploy project post-destructive`](#sf-simply-cicd-deploy-project-post-destructive)
47
+ - [`sf simply cicd deploy project pre-destructive`](#sf-simply-cicd-deploy-project-pre-destructive)
48
+ - [`sf simply cicd deploy project run-apex-tests`](#sf-simply-cicd-deploy-project-run-apex-tests)
49
+ - [`sf simply cicd deploy project validate`](#sf-simply-cicd-deploy-project-validate)
50
+ - [`sf simply cicd deploy validate`](#sf-simply-cicd-deploy-validate)
51
+ - [`sf simply cicd notify happy-soup`](#sf-simply-cicd-notify-happy-soup)
52
+ - [`sf simply cicd notify project`](#sf-simply-cicd-notify-project)
53
+ - [`sf simply cicd notify teams`](#sf-simply-cicd-notify-teams)
54
+ - [`sf simply cicd sfdx-dependabot`](#sf-simply-cicd-sfdx-dependabot)
55
+ - [`sf simply data file upload`](#sf-simply-data-file-upload)
56
+ - [`sf simply data files download`](#sf-simply-data-files-download)
57
+ - [`sf simply data files upload`](#sf-simply-data-files-upload)
58
+ - [`sf simply document diff`](#sf-simply-document-diff)
59
+ - [`sf simply document generate`](#sf-simply-document-generate)
60
+ - [`sf simply package dependencies install`](#sf-simply-package-dependencies-install)
61
+ - [`sf simply package dependencies manage`](#sf-simply-package-dependencies-manage)
62
+ - [`sf simply package version cleanup`](#sf-simply-package-version-cleanup)
63
+ - [`sf simply permissions analyze`](#sf-simply-permissions-analyze)
64
+ - [`sf simply permissions build`](#sf-simply-permissions-build)
65
+ - [`sf simply project update api-version`](#sf-simply-project-update-api-version)
66
+ - [`sf simply schema generate`](#sf-simply-schema-generate)
67
+ - [`sf simply schema visualize`](#sf-simply-schema-visualize)
68
+ - [`sf simply sobject backup`](#sf-simply-sobject-backup)
69
+ - [`sf simply sobject deduplicate`](#sf-simply-sobject-deduplicate)
70
+ - [`sf simply sobject history export`](#sf-simply-sobject-history-export)
71
+ - [`sf simply sobject history query`](#sf-simply-sobject-history-query)
72
+ - [`sf simply sobject history schema`](#sf-simply-sobject-history-schema)
73
+
74
+ ## `sf simply apex execute`
75
+
76
+ Execute anonymous Apex code.
77
+
78
+ ```
79
+ USAGE
80
+ $ sf simply apex execute -f <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>]
81
+
82
+ FLAGS
83
+ -f, --file=<value> (required) Path to Apex file
84
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
85
+ configuration variable is already set.
86
+ --api-version=<value> Override the api version used for api requests made by this command
87
+
88
+ GLOBAL FLAGS
89
+ --flags-dir=<value> Import flag values from a directory.
90
+ --json Format output as json.
91
+
92
+ DESCRIPTION
93
+ Execute anonymous Apex code.
94
+
95
+ Executes an anonymous block of Apex code from a local .apex file against a target org and reports the compile and
96
+ execution results, including any debug logs produced.
97
+
98
+ EXAMPLES
99
+ $ sf simply apex execute --target-org myOrg --file scripts/apex/data-fix.apex
100
+
101
+ FLAG DESCRIPTIONS
102
+ -f, --file=<value> Path to Apex file
103
+
104
+ The path to the local .apex file containing the anonymous Apex code to execute.
105
+ ```
106
+
107
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.1.12/packages/simply-apex/lib/commands/simply/apex/execute.js)_
108
+
109
+ ## `sf simply apex logs purge`
110
+
111
+ Purge Apex debug logs.
112
+
113
+ ```
114
+ USAGE
115
+ $ sf simply apex logs purge -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-w <value>]
116
+
117
+ FLAGS
118
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
119
+ configuration variable is already set.
120
+ -w, --where=<value> SOQL WHERE clause
121
+ --api-version=<value> Override the api version used for api requests made by this command
122
+
123
+ GLOBAL FLAGS
124
+ --flags-dir=<value> Import flag values from a directory.
125
+ --json Format output as json.
126
+
127
+ DESCRIPTION
128
+ Purge Apex debug logs.
129
+
130
+ Deletes ApexLog records from the target org. By default all logs are purged; use --where to scope the deletion to a
131
+ subset of logs.
132
+
133
+ EXAMPLES
134
+ $ sf simply apex logs purge --target-org myOrg
135
+
136
+ $ sf simply apex logs purge --target-org myOrg --where "Status = 'Success'"
137
+
138
+ FLAG DESCRIPTIONS
139
+ -w, --where=<value> SOQL WHERE clause
140
+
141
+ A WHERE clause used to filter which ApexLog records are purged (e.g. "Status = 'Success'").
142
+ ```
143
+
144
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.1.12/packages/simply-apex/lib/commands/simply/apex/logs/purge.js)_
145
+
146
+ ## `sf simply apex trace setup`
147
+
148
+ Configure a debug log trace flag for the current user.
149
+
150
+ ```
151
+ USAGE
152
+ $ sf simply apex trace setup -o <value> [--json] [--flags-dir <value>] [--api-version <value>]
153
+
154
+ FLAGS
155
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
156
+ configuration variable is already set.
157
+ --api-version=<value> Override the api version used for api requests made by this command
158
+
159
+ GLOBAL FLAGS
160
+ --flags-dir=<value> Import flag values from a directory.
161
+ --json Format output as json.
162
+
163
+ DESCRIPTION
164
+ Configure a debug log trace flag for the current user.
165
+
166
+ Creates or updates a 24-hour DEVELOPER_LOG trace flag for the user running the command, using a FINEST/FINER debug
167
+ level suitable for the Apex Replay Debugger.
168
+
169
+ EXAMPLES
170
+ $ sf simply apex trace setup --target-org myOrg
171
+ ```
172
+
173
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.1.12/packages/simply-apex/lib/commands/simply/apex/trace/setup.js)_
174
+
175
+ ## `sf simply apex trace silence`
176
+
177
+ Silence debug logs for specific Apex classes.
178
+
179
+ ```
180
+ USAGE
181
+ $ sf simply apex trace silence -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-c <value> | --classes-file
182
+ <value>]
183
+
184
+ FLAGS
185
+ -c, --classes=<value> Comma-separated Apex class names
186
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
187
+ configuration variable is already set.
188
+ --api-version=<value> Override the api version used for api requests made by this command
189
+ --classes-file=<value> Path to a JSON file listing classes to silence
190
+
191
+ GLOBAL FLAGS
192
+ --flags-dir=<value> Import flag values from a directory.
193
+ --json Format output as json.
194
+
195
+ DESCRIPTION
196
+ Silence debug logs for specific Apex classes.
197
+
198
+ Creates a 24-hour CLASS_TRACING trace flag with a fully suppressed (NONE) debug level for each specified Apex class,
199
+ preventing those classes from generating debug log output.
200
+
201
+ EXAMPLES
202
+ $ sf simply apex trace silence --target-org myOrg --classes NoisyClass,ChattyTrigger
203
+
204
+ $ sf simply apex trace silence --target-org myOrg --classes-file classesToSilence.json
205
+
206
+ FLAG DESCRIPTIONS
207
+ -c, --classes=<value> Comma-separated Apex class names
208
+
209
+ A comma-separated list of Apex class names to silence.
210
+
211
+ --classes-file=<value> Path to a JSON file listing classes to silence
212
+
213
+ The path to a JSON file with the shape { "classes": ["ClassOne", "ClassTwo"] } listing the Apex class names to
214
+ silence.
215
+ ```
216
+
217
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.1.12/packages/simply-apex/lib/commands/simply/apex/trace/silence.js)_
218
+
219
+ ## `sf simply cicd build cleanup-scratch-orgs`
220
+
221
+ Delete scratch orgs older than 3 hours from every configured Dev Hub.
222
+
223
+ ```
224
+ USAGE
225
+ $ sf simply cicd build cleanup-scratch-orgs --dev-hub-name <value>... --dev-hub-username <value>... --dev-hub-client-id <value>...
226
+ --dev-hub-instance-url <value>... --jwt-key-file <value> [--json] [--flags-dir <value>] [--debug] [--disabled]
227
+
228
+ FLAGS
229
+ --debug Enable verbose debug logging.
230
+ --dev-hub-client-id=<value>... (required) Connected app client ID for a Dev Hub.
231
+ --dev-hub-instance-url=<value>... (required) Login instance URL for a Dev Hub.
232
+ --dev-hub-name=<value>... (required) Friendly name of a Dev Hub. Repeat this flag alongside
233
+ --dev-hub-username, --dev-hub-client-id, and --dev-hub-instance-url (in the same
234
+ order) for each Dev Hub to try.
235
+ --dev-hub-username=<value>... (required) Username of a Dev Hub.
236
+ --disabled Skip this job entirely, logging a warning instead of running it.
237
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
238
+
239
+ GLOBAL FLAGS
240
+ --flags-dir=<value> Import flag values from a directory.
241
+ --json Format output as json.
242
+
243
+ DESCRIPTION
244
+ Delete scratch orgs older than 3 hours from every configured Dev Hub.
245
+
246
+ For each Dev Hub, queries `ActiveScratchOrg` records created more than 3 hours ago and bulk-deletes them. Useful for
247
+ keeping a shared Dev Hub's scratch org allotment from being exhausted by abandoned CI runs.
248
+
249
+ EXAMPLES
250
+ $ sf simply cicd build cleanup-scratch-orgs --dev-hub-name main --dev-hub-username devhub@example.com --dev-hub-client-id 3MVG9... --dev-hub-instance-url https://login.salesforce.com --jwt-key-file ./server.key
251
+ ```
252
+
253
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/cleanup-scratch-orgs.js)_
254
+
255
+ ## `sf simply cicd build create-fallback-tag`
256
+
257
+ Create a fallback git tag carrying forward the previous package version's ID, for builds that didn't produce a new package version.
258
+
259
+ ```
260
+ USAGE
261
+ $ sf simply cicd build create-fallback-tag --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
262
+ --project-access-token <value> [--json] [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider gitlab] [--debug]
263
+ [--disabled] [--last-tag <value>] [--out <value>]
264
+
265
+ FLAGS
266
+ --ci-commit-ref-name=<value> (required) Git branch or ref name being built.
267
+ --ci-pipeline-id=<value> (required) CI pipeline ID, used to name the temporary authenticated git remote.
268
+ --ci-project-path=<value> (required) CI project's git path (e.g. group/project), used to build the authenticated
269
+ git remote URL.
270
+ --debug Enable verbose debug logging.
271
+ --disabled Skip this job entirely, logging a warning instead of running it.
272
+ --last-tag=<value> Manually specify the last tag to increment, instead of resolving it from git.
273
+ --out=<value> [default: subscriberPackageVersionId.env] Output dotenv file path.
274
+ --project-access-token=<value> (required) Access token used to authenticate git remote operations (tagging, pushing).
275
+ --vcs-host=<value> [default: gitlab.com] Hostname of the VCS instance hosting this project.
276
+ --vcs-provider=<option> [default: gitlab] The VCS platform hosting this project.
277
+ <options: gitlab>
278
+
279
+ GLOBAL FLAGS
280
+ --flags-dir=<value> Import flag values from a directory.
281
+ --json Format output as json.
282
+
283
+ DESCRIPTION
284
+ Create a fallback git tag carrying forward the previous package version's ID, for builds that didn't produce a new
285
+ package version.
286
+
287
+ Resolves the last tag to increment (either `--last-tag`, or the closest reachable tag matching the project's version
288
+ prefix), extracts its annotated `04t` package version ID, and creates/pushes a new tag with an incremented numeric
289
+ suffix (e.g. `v1.1.0` -> `v1.1.0-1` -> `v1.1.0-2`) annotated with that same package ID. Soft no-ops (does not error)
290
+ when no last tag, or no valid package ID within it, can be found — a build with nothing to fall back to just has
291
+ nothing to do here.
292
+
293
+ Skipped automatically when `PACKAGE_CHANGED=TRUE` is set in the environment (see `build determine-package-changes`) —
294
+ a real package version will be created instead.
295
+
296
+ EXAMPLES
297
+ $ sf simply cicd build create-fallback-tag --ci-commit-ref-name main --ci-project-path group/project --project-access-token glpat-... --ci-pipeline-id 123
298
+ ```
299
+
300
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/create-fallback-tag.js)_
301
+
302
+ ## `sf simply cicd build create-package-version`
303
+
304
+ Create a new package version, verify minimum code coverage, and create/push a version-tracking git tag.
305
+
306
+ ```
307
+ USAGE
308
+ $ sf simply cicd build create-package-version --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
309
+ --project-access-token <value> --jwt-key-file <value> --ci-commit-sha <value> --ci-pipeline-url <value>
310
+ --devhub-tooling-username <value> --devhub-tooling-client-id <value> --devhub-tooling-instance-url <value> [--json]
311
+ [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider gitlab] [--debug] [--disabled] [--ci-pipeline-source
312
+ <value>] [--always-create-package] [--code-coverage-minimum <value>] [--package-release-branch-prefix <value>]
313
+
314
+ FLAGS
315
+ --always-create-package Create a package version even when this isn't a release-branch build.
316
+ --ci-commit-ref-name=<value> (required) Git branch or ref name being built.
317
+ --ci-commit-sha=<value> (required) Commit SHA to tag as the package version's source.
318
+ --ci-pipeline-id=<value> (required) CI pipeline ID, used to name the temporary authenticated git
319
+ remote.
320
+ --ci-pipeline-source=<value> Source trigger of the CI pipeline (e.g. merge_request_event). When set to
321
+ merge_request_event, package creation is skipped.
322
+ --ci-pipeline-url=<value> (required) URL of the CI pipeline, used as the package version's description.
323
+ --ci-project-path=<value> (required) CI project's git path (e.g. group/project), used to build the
324
+ authenticated git remote URL.
325
+ --code-coverage-minimum=<value> [default: 75] Minimum Apex code coverage percentage required for the new
326
+ package version.
327
+ --debug Enable verbose debug logging.
328
+ --devhub-tooling-client-id=<value> (required) Connected app client ID for the tooling Dev Hub.
329
+ --devhub-tooling-instance-url=<value> (required) Login instance URL for the tooling Dev Hub.
330
+ --devhub-tooling-username=<value> (required) Username of the Dev Hub used for tooling operations like package
331
+ version creation.
332
+ --disabled Skip this job entirely, logging a warning instead of running it.
333
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
334
+ --package-release-branch-prefix=<value> Prefix identifying release branches. Determines whether this build creates a
335
+ package version and how the resulting git tag is named.
336
+ --project-access-token=<value> (required) Access token used to authenticate git remote operations (tagging,
337
+ pushing).
338
+ --vcs-host=<value> [default: gitlab.com] Hostname of the VCS instance hosting this project.
339
+ --vcs-provider=<option> [default: gitlab] The VCS platform hosting this project.
340
+ <options: gitlab>
341
+
342
+ GLOBAL FLAGS
343
+ --flags-dir=<value> Import flag values from a directory.
344
+ --json Format output as json.
345
+
346
+ DESCRIPTION
347
+ Create a new package version, verify minimum code coverage, and create/push a version-tracking git tag.
348
+
349
+ Skips entirely (without error) when the pipeline was triggered by a merge request, or when this isn't a release-branch
350
+ build and `--always-create-package` wasn't passed. Otherwise, creates a new version of the default package directory's
351
+ package, polls until creation finishes, verifies the resulting version's Apex code coverage meets
352
+ `--code-coverage-minimum` (or the project's own `plugins.simply.coverageRequirement.minimumCoverageRequired`, if declared
353
+ in `sfdx-project.json`), and creates/pushes a git tag annotated with the new package version's `04t` ID.
354
+
355
+ Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
356
+
357
+ EXAMPLES
358
+ $ sf simply cicd build create-package-version --ci-commit-ref-name main --ci-commit-sha a1b2c3d --ci-pipeline-id 123 --ci-pipeline-url https://gitlab.example.com/pipelines/123 --ci-project-path group/project --project-access-token glpat-... --devhub-tooling-username devhub-tooling@example.com --devhub-tooling-client-id 3MVG9... --devhub-tooling-instance-url https://login.salesforce.com --jwt-key-file ./server.key
359
+ ```
360
+
361
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/create-package-version.js)_
362
+
363
+ ## `sf simply cicd build create-scratch`
364
+
365
+ Create a scratch org, trying each configured Dev Hub in order.
366
+
367
+ ```
368
+ USAGE
369
+ $ sf simply cicd build create-scratch --dev-hub-name <value>... --dev-hub-username <value>... --dev-hub-client-id <value>...
370
+ --dev-hub-instance-url <value>... --jwt-key-file <value> [--json] [--flags-dir <value>] [--debug] [--disabled]
371
+ [--scratch-definition-file <value>] [--scratch-duration-days <value>]
372
+
373
+ FLAGS
374
+ --debug Enable verbose debug logging.
375
+ --dev-hub-client-id=<value>... (required) Connected app client ID for a Dev Hub.
376
+ --dev-hub-instance-url=<value>... (required) Login instance URL for a Dev Hub.
377
+ --dev-hub-name=<value>... (required) Friendly name of a Dev Hub. Repeat this flag alongside
378
+ --dev-hub-username, --dev-hub-client-id, and --dev-hub-instance-url (in the same
379
+ order) for each Dev Hub to try.
380
+ --dev-hub-username=<value>... (required) Username of a Dev Hub.
381
+ --disabled Skip this job entirely, logging a warning instead of running it.
382
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
383
+ --scratch-definition-file=<value> Definition file used to create the scratch org, if not specified in
384
+ sfdx-project.json.
385
+ --scratch-duration-days=<value> [default: 1] Duration of the scratch org in days.
386
+
387
+ GLOBAL FLAGS
388
+ --flags-dir=<value> Import flag values from a directory.
389
+ --json Format output as json.
390
+
391
+ DESCRIPTION
392
+ Create a scratch org, trying each configured Dev Hub in order.
393
+
394
+ Reads the default package directory's `definitionFile` from `sfdx-project.json` (falling back to
395
+ `--scratch-definition-file`), and attempts creation against each `--dev-hub-*` in order. A Dev Hub that has hit its
396
+ daily scratch org limit is skipped in favor of the next one. Writes the resulting org's auth fields to
397
+ `SCRATCH_ORG_INFO.json` for later build steps, best-effort sets a default `CountryCode`, and assigns any permission
398
+ sets/licenses declared under the default package directory's `packageMetadataAccess`.
399
+
400
+ Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
401
+
402
+ EXAMPLES
403
+ $ sf simply cicd build create-scratch --dev-hub-name main --dev-hub-username devhub@example.com --dev-hub-client-id 3MVG9... --dev-hub-instance-url https://login.salesforce.com --jwt-key-file ./server.key
404
+ ```
405
+
406
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/create-scratch.js)_
407
+
408
+ ## `sf simply cicd build delete-scratch`
409
+
410
+ Delete the scratch org created by `build create-scratch`.
411
+
412
+ ```
413
+ USAGE
414
+ $ sf simply cicd build delete-scratch --dev-hub-name <value>... --dev-hub-username <value>... --dev-hub-client-id <value>...
415
+ --dev-hub-instance-url <value>... --jwt-key-file <value> [--json] [--flags-dir <value>] [--debug] [--disabled]
416
+
417
+ FLAGS
418
+ --debug Enable verbose debug logging.
419
+ --dev-hub-client-id=<value>... (required) Connected app client ID for a Dev Hub.
420
+ --dev-hub-instance-url=<value>... (required) Login instance URL for a Dev Hub.
421
+ --dev-hub-name=<value>... (required) Friendly name of a Dev Hub. Repeat this flag alongside
422
+ --dev-hub-username, --dev-hub-client-id, and --dev-hub-instance-url (in the same
423
+ order) for each Dev Hub to try.
424
+ --dev-hub-username=<value>... (required) Username of a Dev Hub.
425
+ --disabled Skip this job entirely, logging a warning instead of running it.
426
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
427
+
428
+ GLOBAL FLAGS
429
+ --flags-dir=<value> Import flag values from a directory.
430
+ --json Format output as json.
431
+
432
+ DESCRIPTION
433
+ Delete the scratch org created by `build create-scratch`.
434
+
435
+ Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`) to find which Dev Hub owns the scratch org,
436
+ authenticates to that Dev Hub and the scratch org, and deletes it. Deletion failures are logged rather than thrown,
437
+ since a scratch org left behind after a failed deletion just needs manual cleanup and shouldn't fail an
438
+ otherwise-successful pipeline run.
439
+
440
+ Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
441
+
442
+ EXAMPLES
443
+ $ sf simply cicd build delete-scratch --dev-hub-name main --dev-hub-username devhub@example.com --dev-hub-client-id 3MVG9... --dev-hub-instance-url https://login.salesforce.com --jwt-key-file ./server.key
444
+ ```
445
+
446
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/delete-scratch.js)_
447
+
448
+ ## `sf simply cicd build determine-package-changes`
449
+
450
+ Determine if any package-relevant files have changed since the last release tag.
451
+
452
+ ```
453
+ USAGE
454
+ $ sf simply cicd build determine-package-changes [--json] [--flags-dir <value>] [--debug] [--disabled] [--out <value>]
455
+
456
+ FLAGS
457
+ --debug Enable verbose debug logging.
458
+ --disabled Skip this job entirely, logging a warning instead of running it.
459
+ --out=<value> [default: changes.env] Output dotenv file path.
460
+
461
+ GLOBAL FLAGS
462
+ --flags-dir=<value> Import flag values from a directory.
463
+ --json Format output as json.
464
+
465
+ DESCRIPTION
466
+ Determine if any package-relevant files have changed since the last release tag.
467
+
468
+ Reads the default package directory from `sfdx-project.json`, finds the closest reachable git tag matching its version
469
+ prefix, and diffs that tag against `HEAD` for the package directory and `sfdx-project.json` itself. Writes
470
+ `PACKAGE_CHANGED=TRUE|FALSE` and `LAST_TAG=<tag>` to the output file. Any failure during detection (missing/invalid
471
+ sfdx-project.json, git errors) defaults to `PACKAGE_CHANGED=TRUE`, so a build never silently skips work it should have
472
+ done.
473
+
474
+ EXAMPLES
475
+ $ sf simply cicd build determine-package-changes --out changes.env
476
+ ```
477
+
478
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/determine-package-changes.js)_
479
+
480
+ ## `sf simply cicd build generate-flexipage-diff`
481
+
482
+ Generate a FlexiPage delta between two commits and post the results to the merge request.
483
+
484
+ ```
485
+ USAGE
486
+ $ sf simply cicd build generate-flexipage-diff --ci-project-id <value> --ci-merge-request-iid <value> --from <value> --to <value>
487
+ --project-access-token <value> [--json] [--flags-dir <value>] [--out <value>] [--debug] [--disabled]
488
+
489
+ FLAGS
490
+ --ci-merge-request-iid=<value> (required) GitLab CI merge request internal ID.
491
+ --ci-project-id=<value> (required) GitLab CI project ID.
492
+ --debug Enable verbose debug logging.
493
+ --disabled Skip this job entirely, logging a warning instead of running it.
494
+ --from=<value> (required) Base commit SHA to diff from.
495
+ --out=<value> Output directory or file path for the delta results.
496
+ --project-access-token=<value> (required) Project access token used to post the diff results back to the merge
497
+ request.
498
+ --to=<value> (required) Head commit SHA to diff to.
499
+
500
+ GLOBAL FLAGS
501
+ --flags-dir=<value> Import flag values from a directory.
502
+ --json Format output as json.
503
+
504
+ DESCRIPTION
505
+ Generate a FlexiPage delta between two commits and post the results to the merge request.
506
+
507
+ Runs the upstream `flexipage-delta` binary to diff `**/*.flexipage-meta.xml` files between `--from` and `--to`, then
508
+ `flexipage-delta-gitlab` to post the results back to the GitLab merge request. Both binaries are GitLab-specific, so
509
+ this command isn't routed through the VCS provider abstraction. Failures are logged, not thrown — a diff-posting step
510
+ shouldn't fail the build.
511
+
512
+ EXAMPLES
513
+ $ sf simply cicd build generate-flexipage-diff --ci-project-id 123 --ci-merge-request-iid 45 --from abc123 --to def456 --project-access-token glpat-...
514
+ ```
515
+
516
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/generate-flexipage-diff.js)_
517
+
518
+ ## `sf simply cicd build generate-flow-diff`
519
+
520
+ Generate a Flow delta between two commits and post the results to the merge request.
521
+
522
+ ```
523
+ USAGE
524
+ $ sf simply cicd build generate-flow-diff --ci-project-id <value> --ci-merge-request-iid <value> --from <value> --to <value>
525
+ --project-access-token <value> [--json] [--flags-dir <value>] [--out <value>] [--debug] [--disabled]
526
+
527
+ FLAGS
528
+ --ci-merge-request-iid=<value> (required) GitLab CI merge request internal ID.
529
+ --ci-project-id=<value> (required) GitLab CI project ID.
530
+ --debug Enable verbose debug logging.
531
+ --disabled Skip this job entirely, logging a warning instead of running it.
532
+ --from=<value> (required) Base commit SHA to diff from.
533
+ --out=<value> Output directory or file path for the delta results.
534
+ --project-access-token=<value> (required) Project access token used to post the diff results back to the merge
535
+ request.
536
+ --to=<value> (required) Head commit SHA to diff to.
537
+
538
+ GLOBAL FLAGS
539
+ --flags-dir=<value> Import flag values from a directory.
540
+ --json Format output as json.
541
+
542
+ DESCRIPTION
543
+ Generate a Flow delta between two commits and post the results to the merge request.
544
+
545
+ Runs the upstream `flow-delta` binary to diff `**/*.flow-meta.xml` files between `--from` and `--to`, then
546
+ `flow-delta-gitlab` to post the results back to the GitLab merge request. Both binaries are GitLab-specific, so this
547
+ command isn't routed through the VCS provider abstraction. Failures are logged, not thrown — a diff-posting step
548
+ shouldn't fail the build.
549
+
550
+ EXAMPLES
551
+ $ sf simply cicd build generate-flow-diff --ci-project-id 123 --ci-merge-request-iid 45 --from abc123 --to def456 --project-access-token glpat-...
552
+ ```
553
+
554
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/generate-flow-diff.js)_
555
+
556
+ ## `sf simply cicd build install-dependencies`
557
+
558
+ Install packaged dependencies into the scratch org created by `build create-scratch`.
559
+
560
+ ```
561
+ USAGE
562
+ $ sf simply cicd build install-dependencies --jwt-key-file <value> [--json] [--flags-dir <value>] [--debug] [--disabled] [--install-type
563
+ All|Delta|Upgrade]
564
+
565
+ FLAGS
566
+ --debug Enable verbose debug logging.
567
+ --disabled Skip this job entirely, logging a warning instead of running it.
568
+ --install-type=<option> [default: Upgrade] The type of dependency installation to perform.
569
+ <options: All|Delta|Upgrade>
570
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
571
+
572
+ GLOBAL FLAGS
573
+ --flags-dir=<value> Import flag values from a directory.
574
+ --json Format output as json.
575
+
576
+ DESCRIPTION
577
+ Install packaged dependencies into the scratch org created by `build create-scratch`.
578
+
579
+ Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, and installs its
580
+ packaged dependencies.
581
+
582
+ Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
583
+
584
+ EXAMPLES
585
+ $ sf simply cicd build install-dependencies --jwt-key-file ./server.key
586
+ ```
587
+
588
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/install-dependencies.js)_
589
+
590
+ ## `sf simply cicd build lwc-jest`
591
+
592
+ Install the LWC Jest test libraries and run the project's LWC Jest tests with coverage.
593
+
594
+ ```
595
+ USAGE
596
+ $ sf simply cicd build lwc-jest [--json] [--flags-dir <value>] [--debug] [--disabled]
597
+
598
+ FLAGS
599
+ --debug Enable verbose debug logging.
600
+ --disabled Skip this job entirely, logging a warning instead of running it.
601
+
602
+ GLOBAL FLAGS
603
+ --flags-dir=<value> Import flag values from a directory.
604
+ --json Format output as json.
605
+
606
+ DESCRIPTION
607
+ Install the LWC Jest test libraries and run the project's LWC Jest tests with coverage.
608
+
609
+ Installs `@salesforce/sfdx-lwc-jest` and `@sa11y/jest`, then runs `sfdx-lwc-jest --coverage -- --passWithNoTests`.
610
+ Failures are logged, not thrown.
611
+
612
+ EXAMPLES
613
+ $ sf simply cicd build lwc-jest
614
+ ```
615
+
616
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/lwc-jest.js)_
617
+
618
+ ## `sf simply cicd build push-scratch`
619
+
620
+ Push source to the scratch org created by `build create-scratch`.
621
+
622
+ ```
623
+ USAGE
624
+ $ sf simply cicd build push-scratch --jwt-key-file <value> [--json] [--flags-dir <value>] [--debug] [--disabled]
625
+ [--ignore-warnings] [--scratch-org-source-dir <value>]
626
+
627
+ FLAGS
628
+ --debug Enable verbose debug logging.
629
+ --disabled Skip this job entirely, logging a warning instead of running it.
630
+ --ignore-warnings Append --ignore-warnings to the underlying sf project deploy start call.
631
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
632
+ --scratch-org-source-dir=<value> Source directory to push to the scratch org, in addition to the default package
633
+ directory.
634
+
635
+ GLOBAL FLAGS
636
+ --flags-dir=<value> Import flag values from a directory.
637
+ --json Format output as json.
638
+
639
+ DESCRIPTION
640
+ Push source to the scratch org created by `build create-scratch`.
641
+
642
+ Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, strips metadata
643
+ types the scratch org push doesn't support (Einstein Conversation Agent file types), and runs `sf project deploy
644
+ start`. When `--scratch-org-source-dir` is given, also deploys the default package directory's `seedMetadata.path`, if
645
+ declared in `sfdx-project.json`.
646
+
647
+ Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
648
+
649
+ EXAMPLES
650
+ $ sf simply cicd build push-scratch --jwt-key-file ./server.key
651
+ ```
652
+
653
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/push-scratch.js)_
654
+
655
+ ## `sf simply cicd build test-scratch`
656
+
657
+ Run Apex tests against the scratch org created by `build create-scratch`.
658
+
659
+ ```
660
+ USAGE
661
+ $ sf simply cicd build test-scratch --jwt-key-file <value> [--json] [--flags-dir <value>] [--debug] [--disabled]
662
+ [--disable-apex-tests]
663
+
664
+ FLAGS
665
+ --debug Enable verbose debug logging.
666
+ --disable-apex-tests Skip running Apex tests, without skipping the rest of the job.
667
+ --disabled Skip this job entirely, logging a warning instead of running it.
668
+ --jwt-key-file=<value> (required) Path to the JWT private key file used for authentication.
669
+
670
+ GLOBAL FLAGS
671
+ --flags-dir=<value> Import flag values from a directory.
672
+ --json Format output as json.
673
+
674
+ DESCRIPTION
675
+ Run Apex tests against the scratch org created by `build create-scratch`.
676
+
677
+ Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, and runs its
678
+ Apex tests with `RunLocalTests`.
679
+
680
+ Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).
681
+
682
+ EXAMPLES
683
+ $ sf simply cicd build test-scratch --jwt-key-file ./server.key
684
+ ```
685
+
686
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/build/test-scratch.js)_
687
+
688
+ ## `sf simply cicd deploy happy-soup deploy-unpackaged`
689
+
690
+ Run the deploy-unpackaged stage of a happy-soup deployment.
691
+
692
+ ```
693
+ USAGE
694
+ $ sf simply cicd deploy happy-soup deploy-unpackaged --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
695
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
696
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
697
+ <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
698
+ [--vcs-provider gitlab]
699
+
700
+ FLAGS
701
+ --alias=<value> Salesforce org alias.
702
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
703
+ authentication.
704
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
705
+ --client-id=<value> Connected app client ID, used for JWT authentication.
706
+ --debug Enable verbose debug logging.
707
+ --deploy-config-file=<value> Path to the deployment configuration file. If not provided, derived from
708
+ --source-branch-name.
709
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
710
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
711
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
712
+ --jwt-key-file=<value> Path to the JWT private key file.
713
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
714
+ path if --deploy-config-file is not provided.
715
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
716
+ file.
717
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
718
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
719
+ --tests=<value> Specific Apex tests to run.
720
+ --username=<value> Salesforce username, used for JWT authentication.
721
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
722
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
723
+ <options: gitlab>
724
+
725
+ GLOBAL FLAGS
726
+ --flags-dir=<value> Import flag values from a directory.
727
+ --json Format output as json.
728
+
729
+ DESCRIPTION
730
+ Run the deploy-unpackaged stage of a happy-soup deployment.
731
+
732
+ Runs the `bin/unpackagedDeploy.sh` script (if present) for each configured deployment that participates in this stage,
733
+ cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
734
+
735
+ EXAMPLES
736
+ $ sf simply cicd deploy happy-soup deploy-unpackaged --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat
737
+ ```
738
+
739
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/deploy-unpackaged.js)_
740
+
741
+ ## `sf simply cicd deploy happy-soup deployment-close-out`
742
+
743
+ Archive the deployment config file used for a happy-soup deployment.
744
+
745
+ ```
746
+ USAGE
747
+ $ sf simply cicd deploy happy-soup deployment-close-out --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
748
+ --project-access-token <value> [--json] [--flags-dir <value>] [--debug] [--deploy-config-file <value>]
749
+ [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--deploy-release-date <value>] [--source-branch-name
750
+ <value>] [--vcs-host <value>] [--vcs-provider gitlab]
751
+
752
+ FLAGS
753
+ --ci-commit-ref-name=<value> (required) The commit ref (branch) to fetch and switch to before archiving.
754
+ --ci-pipeline-id=<value> (required) The CI pipeline ID, used to build the authenticated push remote.
755
+ --ci-project-path=<value> (required) The project path (e.g. group/project), used to build the authenticated push
756
+ remote.
757
+ --debug Enable verbose debug logging.
758
+ --deploy-config-file=<value> Path to the deployment configuration file to archive, if --deploy-release-date is not
759
+ provided.
760
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
761
+ --deploy-release-date=<value> The release date (e.g. 2026-01-15) used to resolve the source file as
762
+ `deployment-configs/<date>.json`, taking priority over --deploy-config-file.
763
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
764
+ --project-access-token=<value> (required) A project access token with write access, used to push the archive commit.
765
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
766
+ path if --deploy-config-file is not provided.
767
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
768
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
769
+ <options: gitlab>
770
+
771
+ GLOBAL FLAGS
772
+ --flags-dir=<value> Import flag values from a directory.
773
+ --json Format output as json.
774
+
775
+ DESCRIPTION
776
+ Archive the deployment config file used for a happy-soup deployment.
777
+
778
+ Fetches and switches to the commit ref, then copies the deployment config file that was used (either
779
+ --deploy-release-date resolved to `deployment-configs/<date>.json`, or the explicit/derived deploy config file) to
780
+ `config/deploy.json` and commits it. If no source file can be found, an existing obsolete `config/deploy.json` is
781
+ removed instead. Both cases push the change with a `[skip ci]` commit message.
782
+
783
+ EXAMPLES
784
+ $ sf simply cicd deploy happy-soup deployment-close-out --ci-commit-ref-name main --ci-pipeline-id 123 --ci-project-path group/project --project-access-token $PROJECT_ACCESS_TOKEN --deploy-release-date 2026-01-15
785
+ ```
786
+
787
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/deployment-close-out.js)_
788
+
789
+ ## `sf simply cicd deploy happy-soup install-packaged`
790
+
791
+ Install packaged dependencies into the target org for a happy-soup deployment.
792
+
793
+ ```
794
+ USAGE
795
+ $ sf simply cicd deploy happy-soup install-packaged [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>] [--client-id <value>]
796
+ [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug] [--deploy-progress-file <value>]
797
+ [--deploy-rules-file <value>] [--install-type All|Delta|Upgrade]
798
+
799
+ FLAGS
800
+ --alias=<value> Salesforce org alias.
801
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
802
+ authentication.
803
+ --client-id=<value> Connected app client ID, used for JWT authentication.
804
+ --debug Enable verbose debug logging.
805
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
806
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
807
+ --install-type=<option> [default: Upgrade] The type of dependency installation to perform.
808
+ <options: All|Delta|Upgrade>
809
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
810
+ --jwt-key-file=<value> Path to the JWT private key file.
811
+ --username=<value> Salesforce username, used for JWT authentication.
812
+
813
+ GLOBAL FLAGS
814
+ --flags-dir=<value> Import flag values from a directory.
815
+ --json Format output as json.
816
+
817
+ DESCRIPTION
818
+ Install packaged dependencies into the target org for a happy-soup deployment.
819
+
820
+ Authenticates to the target org and installs the packaged dependencies declared in `sfdx-project.json`.
821
+
822
+ EXAMPLES
823
+ $ sf simply cicd deploy happy-soup install-packaged --alias my-org
824
+ ```
825
+
826
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/install-packaged.js)_
827
+
828
+ ## `sf simply cicd deploy happy-soup post-deploy`
829
+
830
+ Run the post-deploy stage of a happy-soup deployment.
831
+
832
+ ```
833
+ USAGE
834
+ $ sf simply cicd deploy happy-soup post-deploy --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
835
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
836
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
837
+ <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
838
+ [--vcs-provider gitlab]
839
+
840
+ FLAGS
841
+ --alias=<value> Salesforce org alias.
842
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
843
+ authentication.
844
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
845
+ --client-id=<value> Connected app client ID, used for JWT authentication.
846
+ --debug Enable verbose debug logging.
847
+ --deploy-config-file=<value> Path to the deployment configuration file. If not provided, derived from
848
+ --source-branch-name.
849
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
850
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
851
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
852
+ --jwt-key-file=<value> Path to the JWT private key file.
853
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
854
+ path if --deploy-config-file is not provided.
855
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
856
+ file.
857
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
858
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
859
+ --tests=<value> Specific Apex tests to run.
860
+ --username=<value> Salesforce username, used for JWT authentication.
861
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
862
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
863
+ <options: gitlab>
864
+
865
+ GLOBAL FLAGS
866
+ --flags-dir=<value> Import flag values from a directory.
867
+ --json Format output as json.
868
+
869
+ DESCRIPTION
870
+ Run the post-deploy stage of a happy-soup deployment.
871
+
872
+ Runs the `bin/postDeploy.sh` script (if present) for each configured deployment that participates in this stage,
873
+ cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
874
+
875
+ EXAMPLES
876
+ $ sf simply cicd deploy happy-soup post-deploy --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat
877
+ ```
878
+
879
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/post-deploy.js)_
880
+
881
+ ## `sf simply cicd deploy happy-soup post-destructive`
882
+
883
+ Run the post-destructive stage of a happy-soup deployment.
884
+
885
+ ```
886
+ USAGE
887
+ $ sf simply cicd deploy happy-soup post-destructive --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
888
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
889
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
890
+ <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
891
+ [--vcs-provider gitlab]
892
+
893
+ FLAGS
894
+ --alias=<value> Salesforce org alias.
895
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
896
+ authentication.
897
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
898
+ --client-id=<value> Connected app client ID, used for JWT authentication.
899
+ --debug Enable verbose debug logging.
900
+ --deploy-config-file=<value> Path to the deployment configuration file. If not provided, derived from
901
+ --source-branch-name.
902
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
903
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
904
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
905
+ --jwt-key-file=<value> Path to the JWT private key file.
906
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
907
+ path if --deploy-config-file is not provided.
908
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
909
+ file.
910
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
911
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
912
+ --tests=<value> Specific Apex tests to run.
913
+ --username=<value> Salesforce username, used for JWT authentication.
914
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
915
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
916
+ <options: gitlab>
917
+
918
+ GLOBAL FLAGS
919
+ --flags-dir=<value> Import flag values from a directory.
920
+ --json Format output as json.
921
+
922
+ DESCRIPTION
923
+ Run the post-destructive stage of a happy-soup deployment.
924
+
925
+ Runs the `bin/postDestructive.sh` script (if present) for each configured deployment that participates in this stage,
926
+ cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
927
+
928
+ EXAMPLES
929
+ $ sf simply cicd deploy happy-soup post-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat
930
+ ```
931
+
932
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/post-destructive.js)_
933
+
934
+ ## `sf simply cicd deploy happy-soup pre-destructive`
935
+
936
+ Run the pre-destructive stage of a happy-soup deployment.
937
+
938
+ ```
939
+ USAGE
940
+ $ sf simply cicd deploy happy-soup pre-destructive --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
941
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
942
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
943
+ <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
944
+ [--vcs-provider gitlab]
945
+
946
+ FLAGS
947
+ --alias=<value> Salesforce org alias.
948
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
949
+ authentication.
950
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
951
+ --client-id=<value> Connected app client ID, used for JWT authentication.
952
+ --debug Enable verbose debug logging.
953
+ --deploy-config-file=<value> Path to the deployment configuration file. If not provided, derived from
954
+ --source-branch-name.
955
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
956
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
957
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
958
+ --jwt-key-file=<value> Path to the JWT private key file.
959
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
960
+ path if --deploy-config-file is not provided.
961
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
962
+ file.
963
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
964
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
965
+ --tests=<value> Specific Apex tests to run.
966
+ --username=<value> Salesforce username, used for JWT authentication.
967
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
968
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
969
+ <options: gitlab>
970
+
971
+ GLOBAL FLAGS
972
+ --flags-dir=<value> Import flag values from a directory.
973
+ --json Format output as json.
974
+
975
+ DESCRIPTION
976
+ Run the pre-destructive stage of a happy-soup deployment.
977
+
978
+ Runs the `bin/preDestructive.sh` script (if present) for each configured deployment that participates in this stage,
979
+ cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.
980
+
981
+ EXAMPLES
982
+ $ sf simply cicd deploy happy-soup pre-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat
983
+ ```
984
+
985
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/pre-destructive.js)_
986
+
987
+ ## `sf simply cicd deploy happy-soup tag-deployment`
988
+
989
+ Tag the current commit with details about a happy-soup deployment.
990
+
991
+ ```
992
+ USAGE
993
+ $ sf simply cicd deploy happy-soup tag-deployment --ci-merge-request-iid <value> --ci-merge-request-project-url <value> --ci-pipeline-id <value>
994
+ --ci-pipeline-url <value> --ci-project-path <value> --project-access-token <value> [--json] [--flags-dir <value>]
995
+ [--alias <value>] [--auth-url <value>] [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>]
996
+ [--username <value>] [--debug] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--vcs-host <value>]
997
+ [--vcs-provider gitlab]
998
+
999
+ FLAGS
1000
+ --alias=<value> Salesforce org alias.
1001
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1002
+ authentication.
1003
+ --ci-merge-request-iid=<value> (required) The merge request's internal ID (IID), used to build the merge
1004
+ request link in the tag message.
1005
+ --ci-merge-request-project-url=<value> (required) The project's URL, used to build the merge request link in the tag
1006
+ message.
1007
+ --ci-pipeline-id=<value> (required) The CI pipeline ID.
1008
+ --ci-pipeline-url=<value> (required) The CI pipeline URL, included in the tag message if provided.
1009
+ --ci-project-path=<value> (required) The project path (e.g. group/project), used to build the
1010
+ authenticated push remote.
1011
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1012
+ --debug Enable verbose debug logging.
1013
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1014
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1015
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1016
+ --jwt-key-file=<value> Path to the JWT private key file.
1017
+ --project-access-token=<value> (required) A project access token with write access, used to push the tag.
1018
+ --username=<value> Salesforce username, used for JWT authentication.
1019
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
1020
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
1021
+ <options: gitlab>
1022
+
1023
+ GLOBAL FLAGS
1024
+ --flags-dir=<value> Import flag values from a directory.
1025
+ --json Format output as json.
1026
+
1027
+ DESCRIPTION
1028
+ Tag the current commit with details about a happy-soup deployment.
1029
+
1030
+ Authenticates to the target org, derives an org domain prefix from its instance URL, and creates an annotated git tag
1031
+ (`deployed--<org-domain-prefix>-<timestamp>`) recording the deployment time (America/New_York) and, if provided, the
1032
+ associated pipeline and merge request links. The tag is pushed to the source repository.
1033
+
1034
+ EXAMPLES
1035
+ $ sf simply cicd deploy happy-soup tag-deployment --alias my-org --ci-pipeline-id 123 --ci-pipeline-url https://gitlab.example.com/group/project/-/pipelines/123 --ci-project-path group/project --ci-merge-request-iid 45 --ci-merge-request-project-url https://gitlab.example.com/group/project --project-access-token $PROJECT_ACCESS_TOKEN
1036
+ ```
1037
+
1038
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/tag-deployment.js)_
1039
+
1040
+ ## `sf simply cicd deploy happy-soup validate`
1041
+
1042
+ Validate deployment configuration files for a happy-soup deployment.
1043
+
1044
+ ```
1045
+ USAGE
1046
+ $ sf simply cicd deploy happy-soup validate [--json] [--flags-dir <value>] [--deploy-config-file <value>] [--deploy-progress-file <value>]
1047
+ [--deploy-rules-file <value>] [--source-branch-name <value>]
1048
+
1049
+ FLAGS
1050
+ --deploy-config-file=<value> Path to the deployment configuration file. If not provided, derived from
1051
+ --source-branch-name.
1052
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1053
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1054
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
1055
+ path if --deploy-config-file is not provided.
1056
+
1057
+ GLOBAL FLAGS
1058
+ --flags-dir=<value> Import flag values from a directory.
1059
+ --json Format output as json.
1060
+
1061
+ DESCRIPTION
1062
+ Validate deployment configuration files for a happy-soup deployment.
1063
+
1064
+ Validates the deployment config file (explicit, or derived from --source-branch-name) and, if --deploy-rules-file is
1065
+ given, the deployment rules file. A missing file is skipped with a warning; a malformed or schema-invalid file fails
1066
+ the command.
1067
+
1068
+ EXAMPLES
1069
+ $ sf simply cicd deploy happy-soup validate --source-branch-name release/uat
1070
+
1071
+ $ sf simply cicd deploy happy-soup validate --deploy-config-file deployment-configs/uat.json --deploy-rules-file config/deploy-rules.json
1072
+ ```
1073
+
1074
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/happy-soup/validate.js)_
1075
+
1076
+ ## `sf simply cicd deploy project deploy-unpackaged`
1077
+
1078
+ Run the deploy-unpackaged stage of a project deployment.
1079
+
1080
+ ```
1081
+ USAGE
1082
+ $ sf simply cicd deploy project deploy-unpackaged --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
1083
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
1084
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
1085
+ [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>] [--vcs-provider gitlab]
1086
+
1087
+ FLAGS
1088
+ --alias=<value> Salesforce org alias.
1089
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1090
+ authentication.
1091
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
1092
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1093
+ --debug Enable verbose debug logging.
1094
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1095
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1096
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1097
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1098
+ --jwt-key-file=<value> Path to the JWT private key file.
1099
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
1100
+ file.
1101
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
1102
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
1103
+ --tests=<value> Specific Apex tests to run.
1104
+ --username=<value> Salesforce username, used for JWT authentication.
1105
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
1106
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
1107
+ <options: gitlab>
1108
+
1109
+ GLOBAL FLAGS
1110
+ --flags-dir=<value> Import flag values from a directory.
1111
+ --json Format output as json.
1112
+
1113
+ DESCRIPTION
1114
+ Run the deploy-unpackaged stage of a project deployment.
1115
+
1116
+ Runs the `bin/unpackagedDeploy.sh` script (if present) against the local project directory, resuming from the
1117
+ deployment progress file unless --start-from is given.
1118
+
1119
+ EXAMPLES
1120
+ $ sf simply cicd deploy project deploy-unpackaged --ci-job-token $CI_JOB_TOKEN --alias my-org
1121
+ ```
1122
+
1123
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/deploy-unpackaged.js)_
1124
+
1125
+ ## `sf simply cicd deploy project install-packaged`
1126
+
1127
+ Install packaged dependencies and the project's own package into the target org.
1128
+
1129
+ ```
1130
+ USAGE
1131
+ $ sf simply cicd deploy project install-packaged --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
1132
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
1133
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>]
1134
+ [--subscriber-package-version-id <value>] [--install-type All|Delta|Upgrade]
1135
+
1136
+ FLAGS
1137
+ --alias=<value> Salesforce org alias.
1138
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1139
+ authentication.
1140
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
1141
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1142
+ --debug Enable verbose debug logging.
1143
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1144
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1145
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1146
+ --install-type=<option> [default: Upgrade] The type of dependency installation to perform.
1147
+ <options: All|Delta|Upgrade>
1148
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1149
+ --jwt-key-file=<value> Path to the JWT private key file.
1150
+ --subscriber-package-version-id=<value> The subscriber package version ID (04t...) to install. If not provided, the
1151
+ ID is looked up from the git tag annotation at HEAD.
1152
+ --username=<value> Salesforce username, used for JWT authentication.
1153
+
1154
+ GLOBAL FLAGS
1155
+ --flags-dir=<value> Import flag values from a directory.
1156
+ --json Format output as json.
1157
+
1158
+ DESCRIPTION
1159
+ Install packaged dependencies and the project's own package into the target org.
1160
+
1161
+ Installs the packaged dependencies declared in `sfdx-project.json`, then installs the project's own main package —
1162
+ prioritizing --subscriber-package-version-id if given, otherwise looking for a `04t...` package ID annotated on the
1163
+ git tag pointing at HEAD.
1164
+
1165
+ EXAMPLES
1166
+ $ sf simply cicd deploy project install-packaged --ci-job-token $CI_JOB_TOKEN --alias my-org
1167
+ ```
1168
+
1169
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/install-packaged.js)_
1170
+
1171
+ ## `sf simply cicd deploy project post-deploy`
1172
+
1173
+ Run the post-deploy stage of a project deployment.
1174
+
1175
+ ```
1176
+ USAGE
1177
+ $ sf simply cicd deploy project post-deploy --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
1178
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
1179
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
1180
+ [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>] [--vcs-provider gitlab]
1181
+
1182
+ FLAGS
1183
+ --alias=<value> Salesforce org alias.
1184
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1185
+ authentication.
1186
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
1187
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1188
+ --debug Enable verbose debug logging.
1189
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1190
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1191
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1192
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1193
+ --jwt-key-file=<value> Path to the JWT private key file.
1194
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
1195
+ file.
1196
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
1197
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
1198
+ --tests=<value> Specific Apex tests to run.
1199
+ --username=<value> Salesforce username, used for JWT authentication.
1200
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
1201
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
1202
+ <options: gitlab>
1203
+
1204
+ GLOBAL FLAGS
1205
+ --flags-dir=<value> Import flag values from a directory.
1206
+ --json Format output as json.
1207
+
1208
+ DESCRIPTION
1209
+ Run the post-deploy stage of a project deployment.
1210
+
1211
+ Runs the `bin/postDeploy.sh` script (if present) against the local project directory, resuming from the deployment
1212
+ progress file unless --start-from is given.
1213
+
1214
+ EXAMPLES
1215
+ $ sf simply cicd deploy project post-deploy --ci-job-token $CI_JOB_TOKEN --alias my-org
1216
+ ```
1217
+
1218
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/post-deploy.js)_
1219
+
1220
+ ## `sf simply cicd deploy project post-destructive`
1221
+
1222
+ Run the post-destructive stage of a project deployment.
1223
+
1224
+ ```
1225
+ USAGE
1226
+ $ sf simply cicd deploy project post-destructive --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
1227
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
1228
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
1229
+ [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>] [--vcs-provider gitlab]
1230
+
1231
+ FLAGS
1232
+ --alias=<value> Salesforce org alias.
1233
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1234
+ authentication.
1235
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
1236
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1237
+ --debug Enable verbose debug logging.
1238
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1239
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1240
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1241
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1242
+ --jwt-key-file=<value> Path to the JWT private key file.
1243
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
1244
+ file.
1245
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
1246
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
1247
+ --tests=<value> Specific Apex tests to run.
1248
+ --username=<value> Salesforce username, used for JWT authentication.
1249
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
1250
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
1251
+ <options: gitlab>
1252
+
1253
+ GLOBAL FLAGS
1254
+ --flags-dir=<value> Import flag values from a directory.
1255
+ --json Format output as json.
1256
+
1257
+ DESCRIPTION
1258
+ Run the post-destructive stage of a project deployment.
1259
+
1260
+ Runs the `bin/postDestructive.sh` script (if present) against the local project directory, resuming from the
1261
+ deployment progress file unless --start-from is given.
1262
+
1263
+ EXAMPLES
1264
+ $ sf simply cicd deploy project post-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org
1265
+ ```
1266
+
1267
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/post-destructive.js)_
1268
+
1269
+ ## `sf simply cicd deploy project pre-destructive`
1270
+
1271
+ Run the pre-destructive stage of a project deployment.
1272
+
1273
+ ```
1274
+ USAGE
1275
+ $ sf simply cicd deploy project pre-destructive --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
1276
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
1277
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
1278
+ [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>] [--vcs-provider gitlab]
1279
+
1280
+ FLAGS
1281
+ --alias=<value> Salesforce org alias.
1282
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1283
+ authentication.
1284
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
1285
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1286
+ --debug Enable verbose debug logging.
1287
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1288
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1289
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1290
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1291
+ --jwt-key-file=<value> Path to the JWT private key file.
1292
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
1293
+ file.
1294
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
1295
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
1296
+ --tests=<value> Specific Apex tests to run.
1297
+ --username=<value> Salesforce username, used for JWT authentication.
1298
+ --vcs-host=<value> [default: gitlab.com] The source-control host to talk to (e.g. gitlab.com).
1299
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
1300
+ <options: gitlab>
1301
+
1302
+ GLOBAL FLAGS
1303
+ --flags-dir=<value> Import flag values from a directory.
1304
+ --json Format output as json.
1305
+
1306
+ DESCRIPTION
1307
+ Run the pre-destructive stage of a project deployment.
1308
+
1309
+ Runs the `bin/preDestructive.sh` script (if present) against the local project directory, resuming from the deployment
1310
+ progress file unless --start-from is given.
1311
+
1312
+ EXAMPLES
1313
+ $ sf simply cicd deploy project pre-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org
1314
+ ```
1315
+
1316
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/pre-destructive.js)_
1317
+
1318
+ ## `sf simply cicd deploy project run-apex-tests`
1319
+
1320
+ Run Apex tests against the target org for a project deployment.
1321
+
1322
+ ```
1323
+ USAGE
1324
+ $ sf simply cicd deploy project run-apex-tests --ci-job-token <value> [--json] [--flags-dir <value>] [--alias <value>] [--auth-url <value>]
1325
+ [--client-id <value>] [--instance-url <value>] [--jwt-key-file <value>] [--username <value>] [--debug]
1326
+ [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
1327
+ [--test-level <value>] [--test-suite <value>] [--tests <value>]
1328
+
1329
+ FLAGS
1330
+ --alias=<value> Salesforce org alias.
1331
+ --auth-url=<value> Salesforce authorization (SFDX auth) URL, used as an alternative to JWT
1332
+ authentication.
1333
+ --ci-job-token=<value> (required) The CI job token used to authenticate read-only repository clones.
1334
+ --client-id=<value> Connected app client ID, used for JWT authentication.
1335
+ --debug Enable verbose debug logging.
1336
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1337
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file.
1338
+ --deploy-rules-file=<value> [default: config/deploy-rules.json] Path to the deployment rules file.
1339
+ --instance-url=<value> Salesforce login/instance URL, used for JWT authentication.
1340
+ --jwt-key-file=<value> Path to the JWT private key file.
1341
+ --start-from=<value> Start (or resume) the deployment from a specific job name, overriding the progress
1342
+ file.
1343
+ --test-level=<value> [default: RunLocalTests] The Apex test level to run.
1344
+ --test-suite=<value> The Apex test suite to run. If specified, overrides --test-level.
1345
+ --tests=<value> Specific Apex tests to run.
1346
+ --username=<value> Salesforce username, used for JWT authentication.
1347
+
1348
+ GLOBAL FLAGS
1349
+ --flags-dir=<value> Import flag values from a directory.
1350
+ --json Format output as json.
1351
+
1352
+ DESCRIPTION
1353
+ Run Apex tests against the target org for a project deployment.
1354
+
1355
+ Authenticates to the target org and runs its Apex tests, if any exist in the project's package directories.
1356
+
1357
+ EXAMPLES
1358
+ $ sf simply cicd deploy project run-apex-tests --ci-job-token $CI_JOB_TOKEN --alias my-org
1359
+ ```
1360
+
1361
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/run-apex-tests.js)_
1362
+
1363
+ ## `sf simply cicd deploy project validate`
1364
+
1365
+ Validate deployment configuration files for a project deployment.
1366
+
1367
+ ```
1368
+ USAGE
1369
+ $ sf simply cicd deploy project validate [--json] [--flags-dir <value>] [--deploy-config-file <value>] [--deploy-progress-file <value>]
1370
+ [--deploy-rules-file <value>]
1371
+
1372
+ FLAGS
1373
+ --deploy-config-file=<value> [default: config/deploy.json] Path to the deployment configuration file.
1374
+ --deploy-progress-file=<value> [default: DEPLOY_PROGRESS.json] Path to the deployment progress file. Accepted for
1375
+ consistency with the other project deployment commands; not used by validation.
1376
+ --deploy-rules-file=<value> Path to the deployment rules file.
1377
+
1378
+ GLOBAL FLAGS
1379
+ --flags-dir=<value> Import flag values from a directory.
1380
+ --json Format output as json.
1381
+
1382
+ DESCRIPTION
1383
+ Validate deployment configuration files for a project deployment.
1384
+
1385
+ Validates `config/deploy.json` (or the path given by --deploy-config-file) and, if --deploy-rules-file is given, the
1386
+ deployment rules file. A missing file is skipped with a warning; a malformed or schema-invalid file fails the command.
1387
+
1388
+ EXAMPLES
1389
+ $ sf simply cicd deploy project validate
1390
+
1391
+ $ sf simply cicd deploy project validate --deploy-config-file config/deploy.json --deploy-rules-file config/deploy-rules.json
1392
+ ```
1393
+
1394
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/project/validate.js)_
1395
+
1396
+ ## `sf simply cicd deploy validate`
1397
+
1398
+ Validate deployment configuration files against their JSON schemas.
1399
+
1400
+ ```
1401
+ USAGE
1402
+ $ sf simply cicd deploy validate [--json] [--flags-dir <value>] [--deploy-config-file <value>] [--deploy-rules-file <value>]
1403
+ [--source-branch-name <value>]
1404
+
1405
+ FLAGS
1406
+ --deploy-config-file=<value> Path to the deployment configuration file.
1407
+ --deploy-rules-file=<value> Path to the deployment rules file.
1408
+ --source-branch-name=<value> The source branch name for the deployment, used to derive the deployment config file
1409
+ path if --deploy-config-file is not provided.
1410
+
1411
+ GLOBAL FLAGS
1412
+ --flags-dir=<value> Import flag values from a directory.
1413
+ --json Format output as json.
1414
+
1415
+ DESCRIPTION
1416
+ Validate deployment configuration files against their JSON schemas.
1417
+
1418
+ Validates the deployment config file (`deploy.json`) and deployment rules file independently against their schemas. A
1419
+ missing file is skipped with a warning; a malformed or schema-invalid file fails the command.
1420
+
1421
+ This is the generic form of the command, with no namespace-specific default file paths — see `deploy project validate`
1422
+ and `deploy happy-soup validate` for versions with sensible defaults for those deployment styles.
1423
+
1424
+ EXAMPLES
1425
+ $ sf simply cicd deploy validate --deploy-config-file config/deploy.json --deploy-rules-file config/deploy-rules.json
1426
+ ```
1427
+
1428
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/deploy/validate.js)_
1429
+
1430
+ ## `sf simply cicd notify happy-soup`
1431
+
1432
+ Send a happy-soup deployment stage notification to Microsoft Teams, without Jira story integration.
1433
+
1434
+ ```
1435
+ USAGE
1436
+ $ sf simply cicd notify happy-soup [--json] [--flags-dir <value>] [--after-script] [--before-script] [--ci-commit-ref-name
1437
+ <value>] [--ci-environment-name <value>] [--ci-job-name <value>] [--ci-job-stage <value>] [--ci-job-status <value>]
1438
+ [--ci-pipeline-id <value>] [--ci-pipeline-url <value>] [--enabled] [--teams-webhook-url <value>...]
1439
+ [--notify-on-completion] [--is-final-job] [--debug]
1440
+
1441
+ FLAGS
1442
+ --after-script Run the after-stage notification logic.
1443
+ --before-script Run the before-stage (starting) notification logic.
1444
+ --ci-commit-ref-name=<value> The git branch or tag ref for this pipeline run.
1445
+ --ci-environment-name=<value> The name of the target CI environment.
1446
+ --ci-job-name=<value> The name of the current CI job.
1447
+ --ci-job-stage=<value> The stage of the current CI job.
1448
+ --ci-job-status=<value> The status of the current CI job (e.g. success, failed).
1449
+ --ci-pipeline-id=<value> The ID of the current CI pipeline.
1450
+ --ci-pipeline-url=<value> The URL of the current CI pipeline.
1451
+ --debug Enable verbose debug logging.
1452
+ --enabled Whether the notification is actually sent. Defaults to false so pipelines can gate
1453
+ this behind their own condition.
1454
+ --is-final-job Marks this job as the final job in the pipeline. Combined with --after-script and
1455
+ --notify-on-completion, this is what actually triggers the final notification.
1456
+ --notify-on-completion Only send a notification on the final job of the pipeline, suppressing per-stage
1457
+ notifications.
1458
+ --teams-webhook-url=<value>... One or more Teams webhook URLs to send the notification to.
1459
+
1460
+ GLOBAL FLAGS
1461
+ --flags-dir=<value> Import flag values from a directory.
1462
+ --json Format output as json.
1463
+
1464
+ DESCRIPTION
1465
+ Send a happy-soup deployment stage notification to Microsoft Teams, without Jira story integration.
1466
+
1467
+ Run with `--before-script` at the start of a stage to post a "starting" card, and with `--after-script` at the end to
1468
+ post a success or failure card. With `--notify-on-completion`, intermediate stage notifications are suppressed and
1469
+ only the final job (`--is-final-job` combined with `--after-script`) posts a card.
1470
+
1471
+ EXAMPLES
1472
+ $ sf simply cicd notify happy-soup --before-script --ci-job-stage pre-destructive --teams-webhook-url https://outlook.office.com/webhook/... --enabled
1473
+
1474
+ $ sf simply cicd notify happy-soup --after-script --is-final-job --notify-on-completion --ci-job-status success --teams-webhook-url https://outlook.office.com/webhook/... --enabled
1475
+ ```
1476
+
1477
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/notify/happy-soup.js)_
1478
+
1479
+ ## `sf simply cicd notify project`
1480
+
1481
+ Send a project deployment notification to Microsoft Teams, with Jira story integration.
1482
+
1483
+ ```
1484
+ USAGE
1485
+ $ sf simply cicd notify project [--json] [--flags-dir <value>] [--after-script] [--alias <value>] [--before-script]
1486
+ [--ci-commit-ref-name <value>] [--ci-environment-name <value>] [--ci-job-name <value>] [--ci-job-stage <value>]
1487
+ [--ci-job-status <value>] [--ci-pipeline-id <value>] [--ci-pipeline-url <value>] [--ci-project-title <value>]
1488
+ [--client-id <value>] [--devhub-tooling-client-id <value>] [--devhub-tooling-instance-url <value>]
1489
+ [--devhub-tooling-username <value>] [--enabled] [--instance-url <value>] [--jira-base-url <value>]
1490
+ [--jira-project-key <value>] [--jwt-key-file <value>] [--prev-installed-package-version <value>]
1491
+ [--subscriber-package-version-id <value>] [--target-package-version <value>] [--teams-webhook-url <value>...]
1492
+ [--username <value>] [--debug]
1493
+
1494
+ FLAGS
1495
+ --after-script Run the after-deployment notification logic.
1496
+ --alias=<value> The target Salesforce org alias to authenticate and query for the previously
1497
+ installed package version.
1498
+ --before-script Run the before-deployment setup logic (resolves and records package
1499
+ versions).
1500
+ --ci-commit-ref-name=<value> The git branch or tag ref for this pipeline run.
1501
+ --ci-environment-name=<value> The name of the target CI environment.
1502
+ --ci-job-name=<value> The name of the current CI job.
1503
+ --ci-job-stage=<value> The stage of the current CI job (e.g. pre-destructive, post-destructive).
1504
+ --ci-job-status=<value> The status of the current CI job (e.g. success, failed, canceled).
1505
+ --ci-pipeline-id=<value> The ID of the current CI pipeline.
1506
+ --ci-pipeline-url=<value> The URL of the current CI pipeline.
1507
+ --ci-project-title=<value> The project title shown in the notification card's heading.
1508
+ --client-id=<value> Connected app client ID for JWT authentication to the target org.
1509
+ --debug Enable verbose debug logging.
1510
+ --devhub-tooling-client-id=<value> Connected app client ID for JWT authentication to the tooling DevHub.
1511
+ --devhub-tooling-instance-url=<value> Login instance URL for the tooling DevHub.
1512
+ --devhub-tooling-username=<value> Username for JWT authentication to the tooling DevHub.
1513
+ --enabled Whether the notification is actually sent. Defaults to false so pipelines
1514
+ can gate this behind their own condition.
1515
+ --instance-url=<value> Login instance URL for the target org.
1516
+ --jira-base-url=<value> Base URL for linking a Jira issue key, e.g. https://jira.example.com/browse.
1517
+ Story keys are shown without links if not provided.
1518
+ --jira-project-key=<value> Fallback Jira project key(s) used to search commit messages for story
1519
+ references, if none are configured in .sfdevrc.json.
1520
+ --jwt-key-file=<value> Path to the JWT private key file, used for both the target org and tooling
1521
+ DevHub authentication.
1522
+ --prev-installed-package-version=<value> The previously installed package version. Only needed if re-running
1523
+ --after-script without having run --before-script first in the same job.
1524
+ --subscriber-package-version-id=<value> The subscriber package version ID (04t...) being deployed, used to resolve
1525
+ the target package version from the tooling DevHub.
1526
+ --target-package-version=<value> The target package version. Only needed if re-running --after-script without
1527
+ having run --before-script first in the same job.
1528
+ --teams-webhook-url=<value>... One or more Teams webhook URLs to send the notification to.
1529
+ --username=<value> Username for JWT authentication to the target org.
1530
+
1531
+ GLOBAL FLAGS
1532
+ --flags-dir=<value> Import flag values from a directory.
1533
+ --json Format output as json.
1534
+
1535
+ DESCRIPTION
1536
+ Send a project deployment notification to Microsoft Teams, with Jira story integration.
1537
+
1538
+ Run once with `--before-script` at the start of a deployment pipeline (to record the previously installed and target
1539
+ package versions), and once with `--after-script` at the end (to post a success or failure card to Teams, including
1540
+ the Jira stories that shipped between those two versions).
1541
+
1542
+ EXAMPLES
1543
+ $ sf simply cicd notify project --before-script --ci-job-stage pre-destructive --alias my-org --username user@example.com --jwt-key-file server.key --client-id abc123 --instance-url https://login.salesforce.com --enabled
1544
+
1545
+ $ sf simply cicd notify project --after-script --ci-job-stage post-destructive --ci-job-status success --teams-webhook-url https://outlook.office.com/webhook/... --enabled
1546
+ ```
1547
+
1548
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/notify/project.js)_
1549
+
1550
+ ## `sf simply cicd notify teams`
1551
+
1552
+ Send a serialized JSON payload to a Microsoft Teams webhook.
1553
+
1554
+ ```
1555
+ USAGE
1556
+ $ sf simply cicd notify teams --payload <value> --webhook-url <value> [--json] [--flags-dir <value>] [--enabled]
1557
+ [--debug]
1558
+
1559
+ FLAGS
1560
+ --debug Enable verbose debug logging.
1561
+ --enabled Whether the notification is actually sent. Defaults to false so pipelines can gate this behind
1562
+ their own condition.
1563
+ --payload=<value> (required) The JSON payload to send to Teams, as a serialized string.
1564
+ --webhook-url=<value> (required) The Teams webhook URL to send the payload to.
1565
+
1566
+ GLOBAL FLAGS
1567
+ --flags-dir=<value> Import flag values from a directory.
1568
+ --json Format output as json.
1569
+
1570
+ DESCRIPTION
1571
+ Send a serialized JSON payload to a Microsoft Teams webhook.
1572
+
1573
+ Posts a payload as-is to one or more Microsoft Teams incoming webhook URLs. Use this for custom notifications that
1574
+ don't fit the built-in `notify project` or `notify happy-soup` card templates.
1575
+
1576
+ EXAMPLES
1577
+ $ sf simply cicd notify teams --payload '{"text":"Deployment complete"}' --webhook-url https://outlook.office.com/webhook/... --enabled
1578
+ ```
1579
+
1580
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/notify/teams.js)_
1581
+
1582
+ ## `sf simply cicd sfdx-dependabot`
1583
+
1584
+ Automatically update downstream projects with a newly released Salesforce 2GP package version.
1585
+
1586
+ ```
1587
+ USAGE
1588
+ $ sf simply cicd sfdx-dependabot [--json] [--flags-dir <value>] [--gitlab-api-url <value>] [--gitlab-token <value>]
1589
+ [--root-group-id <value>] [--subscriber-package-version-id <value>] [--devhub-username <value>] [--dry-run]
1590
+ [--project-allowlist <value>] [--project-denylist <value>] [--skip-archived] [--skip-forks] [--branch-prefix
1591
+ <value>] [--mr-labels <value>] [--fail-on-error] [--max-projects <value>] [--vcs-provider gitlab]
1592
+
1593
+ FLAGS
1594
+ --branch-prefix=<value> Prefix used for generated branch names.
1595
+ --devhub-username=<value> Salesforce DevHub username or alias used to resolve the package's name and
1596
+ version.
1597
+ --dry-run Run discovery and parsing, but perform zero write, commit, or merge request
1598
+ operations.
1599
+ --fail-on-error Return a non-zero exit code if one or more per-project operations fail.
1600
+ --gitlab-api-url=<value> GitLab API v4 base URL.
1601
+ --gitlab-token=<value> GitLab access token with file-writing and merge request privileges.
1602
+ --max-projects=<value> Optional safety limit restricting the maximum number of eligible projects to
1603
+ scan.
1604
+ --mr-labels=<value> Comma-separated labels to apply to created or updated merge requests.
1605
+ --project-allowlist=<value> Comma-separated list of GitLab project paths to include in the scan. If
1606
+ specified, only matching projects are scanned.
1607
+ --project-denylist=<value> Comma-separated list of GitLab project paths to exclude from scanning.
1608
+ --root-group-id=<value> GitLab group ID or URL-encoded path to scan for downstream projects.
1609
+ --[no-]skip-archived Skip archived GitLab repositories.
1610
+ --[no-]skip-forks Skip forked GitLab repositories.
1611
+ --subscriber-package-version-id=<value> The newly released Salesforce subscriber package version ID (04t...).
1612
+ --vcs-provider=<option> [default: gitlab] The source-control-hosting platform to talk to.
1613
+ <options: gitlab>
1614
+
1615
+ GLOBAL FLAGS
1616
+ --flags-dir=<value> Import flag values from a directory.
1617
+ --json Format output as json.
1618
+
1619
+ DESCRIPTION
1620
+ Automatically update downstream projects with a newly released Salesforce 2GP package version.
1621
+
1622
+ Discovers repositories under a GitLab group, reads each one's `sfdx-project.json`, and for any repository that both
1623
+ depends on the released package and has opted in via the `SFDX_DEPENDABOT_ENABLED=TRUE` project-level CI/CD variable,
1624
+ opens (or updates) a merge request bumping the dependency to the newly released version.
1625
+
1626
+ Each eligible repository must explicitly opt in — this command never touches a downstream repository's dependencies
1627
+ without that variable set.
1628
+
1629
+ EXAMPLES
1630
+ $ sf simply cicd sfdx-dependabot --root-group-id 12345 --subscriber-package-version-id 04tXXXXXXXXXXXXXXX --devhub-username hub@example.com --dry-run
1631
+
1632
+ $ sf simply cicd sfdx-dependabot --root-group-id 12345 --subscriber-package-version-id 04tXXXXXXXXXXXXXXX --devhub-username hub@example.com --branch-prefix devops/dependabot --mr-labels dependencies
1633
+
1634
+ FLAG DESCRIPTIONS
1635
+ --gitlab-api-url=<value> GitLab API v4 base URL.
1636
+
1637
+ Falls back to the SFDX_DEPENDABOT_GITLAB_API_URL or CI_API_V4_URL environment variables if not provided.
1638
+ ```
1639
+
1640
+ _See code: [@simplysf/simply-cicd](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-cicd@0.1.0/packages/simply-cicd/lib/commands/simply/cicd/sfdx-dependabot.js)_
1641
+
1642
+ ## `sf simply data file upload`
1643
+
1644
+ Upload a file to a Salesforce org.
1645
+
1646
+ ```
1647
+ USAGE
1648
+ $ sf simply data file upload --file-path <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>]
1649
+ [--first-publish-location-id <value>] [--title <value>]
1650
+
1651
+ FLAGS
1652
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the
1653
+ `target-org` configuration variable is already set.
1654
+ --api-version=<value> Override the api version used for api requests made by this command
1655
+ --file-path=<value> (required) Path to the file to upload.
1656
+ --first-publish-location-id=<value> Specify a record Id that the file should be linked to.
1657
+ --title=<value> Specify the title for the file being uploaded.
1658
+
1659
+ GLOBAL FLAGS
1660
+ --flags-dir=<value> Import flag values from a directory.
1661
+ --json Format output as json.
1662
+
1663
+ DESCRIPTION
1664
+ Upload a file to a Salesforce org.
1665
+
1666
+ Uploads a file to a Salesforce org.
1667
+
1668
+ EXAMPLES
1669
+ $ sf simply data file upload --file-path fileToUpload.txt --target-org myTargetOrg
1670
+
1671
+ $ sf simply data file upload --file-path fileToUpload.txt --first-publish-location-id 0019000000DmehK --target-org myTargetOrg
1672
+ ```
1673
+
1674
+ _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.11/packages/simply-data/lib/commands/simply/data/file/upload.js)_
1675
+
1676
+ ## `sf simply data files download`
1677
+
1678
+ Download files from a Salesforce org.
1679
+
1680
+ ```
1681
+ USAGE
1682
+ $ sf simply data files download -o <value> --where-content-version <value> [--json] [--flags-dir <value>] [--api-version
1683
+ <value>] [--max-parallel-jobs <value>]
1684
+
1685
+ FLAGS
1686
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
1687
+ configuration variable is already set.
1688
+ --api-version=<value> Override the api version used for api requests made by this command
1689
+ --max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
1690
+ --where-content-version=<value> (required) WHERE clause for ContentVersion query.
1691
+
1692
+ GLOBAL FLAGS
1693
+ --flags-dir=<value> Import flag values from a directory.
1694
+ --json Format output as json.
1695
+
1696
+ DESCRIPTION
1697
+ Download files from a Salesforce org.
1698
+
1699
+ Downloads files specified by a where clause for a ContentVersion query from a Salesforce org. By default, the plugin
1700
+ uses the REST API for the download as to allow for the streaming of large files without issue. This means that each
1701
+ file will use one REST API request.
1702
+
1703
+ EXAMPLES
1704
+ $ sf simply data files download --where-content-version "IsLatest=true" --target-org myTargetOrg
1705
+
1706
+ $ sf simply data files download --where-content-version "IsLatest=true" --max-parallel-jobs 5 --target-org myTargetOrg
1707
+
1708
+ FLAG DESCRIPTIONS
1709
+ --max-parallel-jobs=<value> Maximum number of parallel jobs.
1710
+
1711
+ By default the plugin will only process a single file download at a time. You can increase this value to allow for
1712
+ quasi concurrent downloads. Please note that setting this value too high can cause performance issues.
1713
+
1714
+ --where-content-version=<value> WHERE clause for ContentVersion query.
1715
+
1716
+ Provide a WHERE clause to allow the plugin to specify which ContentVersion records should be downloaded.
1717
+ ```
1718
+
1719
+ _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.11/packages/simply-data/lib/commands/simply/data/files/download.js)_
1720
+
1721
+ ## `sf simply data files upload`
1722
+
1723
+ Upload files to a Salesforce org.
1724
+
1725
+ ```
1726
+ USAGE
1727
+ $ sf simply data files upload --file-path <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>]
1728
+ [--max-parallel-jobs <value>]
1729
+
1730
+ FLAGS
1731
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
1732
+ configuration variable is already set.
1733
+ --api-version=<value> Override the api version used for api requests made by this command
1734
+ --file-path=<value> (required) Path to the csv file that specifies the upload.
1735
+ --max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
1736
+
1737
+ GLOBAL FLAGS
1738
+ --flags-dir=<value> Import flag values from a directory.
1739
+ --json Format output as json.
1740
+
1741
+ DESCRIPTION
1742
+ Upload files to a Salesforce org.
1743
+
1744
+ Uploads files specified by a csv to a Salesforce org. By default, the plugin uses the REST API for the upload as the
1745
+ Bulk API is limited in its payload size. This means that each file will use one REST API request.
1746
+
1747
+ EXAMPLES
1748
+ $ sf simply data files upload --file-path filesToUpload.csv --target-org myTargetOrg
1749
+
1750
+ $ sf simply data files upload --file-path filesToUpload.csv --max-parallel-jobs 5 --target-org myTargetOrg
1751
+
1752
+ FLAG DESCRIPTIONS
1753
+ --file-path=<value> Path to the csv file that specifies the upload.
1754
+
1755
+ The csv file must specify the columns PathOnClient and Title. Optionally, a FirstPublishLocationId can be specified
1756
+ to have it linked directly to a Salesforce record after upload.
1757
+
1758
+ --max-parallel-jobs=<value> Maximum number of parallel jobs.
1759
+
1760
+ By default the plugin will only process a single file upload at a time. You can increase this value to allow for
1761
+ quasi concurrent uploads. Please note that setting this value too high can cause performance issues.
1762
+ ```
1763
+
1764
+ _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.11/packages/simply-data/lib/commands/simply/data/files/upload.js)_
1765
+
1766
+ ## `sf simply document diff`
1767
+
1768
+ Generate a change report between two git refs.
1769
+
1770
+ ```
1771
+ USAGE
1772
+ $ sf simply document diff --from-tag <value> --to-tag <value> [--json] [--flags-dir <value>] [--output-file <value>]
1773
+ [--template-file <value>] [--output-format html]
1774
+
1775
+ FLAGS
1776
+ --from-tag=<value> (required) The starting git ref for the diff report.
1777
+ --output-file=<value> Path to write the generated report to.
1778
+ --output-format=<option> [default: html] Output format to render the report in.
1779
+ <options: html>
1780
+ --template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
1781
+ --to-tag=<value> (required) The ending git ref for the diff report.
1782
+
1783
+ GLOBAL FLAGS
1784
+ --flags-dir=<value> Import flag values from a directory.
1785
+ --json Format output as json.
1786
+
1787
+ DESCRIPTION
1788
+ Generate a change report between two git refs.
1789
+
1790
+ Runs `git diff --name-status` between two git refs (tags, branches, or commits) in the current working directory,
1791
+ groups the changed files by Salesforce metadata component type, and renders a Confluence-storage-format change report
1792
+ suitable for pasting into a release or change-management page.
1793
+
1794
+ EXAMPLES
1795
+ $ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0
1796
+
1797
+ $ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0 --output-file change-report.html
1798
+
1799
+ $ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0 --template-file my-change-report.hbs
1800
+
1801
+ FLAG DESCRIPTIONS
1802
+ --output-file=<value> Path to write the generated report to.
1803
+
1804
+ When specified, the generated report is written to this path instead of being printed to the terminal.
1805
+
1806
+ --output-format=html Output format to render the report in.
1807
+
1808
+ Currently only `html` is supported. Reserved for future formats (e.g. Markdown).
1809
+
1810
+ --template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
1811
+
1812
+ When specified, this template is rendered with the same data the built-in report template receives, and can reuse
1813
+ the built-in `changeTable` partial. See this package's README "Custom Templates" section for the data shape and
1814
+ available partials.
1815
+ ```
1816
+
1817
+ _See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.1/packages/simply-document/lib/commands/simply/document/diff.js)_
1818
+
1819
+ ## `sf simply document generate`
1820
+
1821
+ Generate a technical design document for a Salesforce project.
1822
+
1823
+ ```
1824
+ USAGE
1825
+ $ sf simply document generate -d <value> --output-file <value> [--json] [--flags-dir <value>] [--template-file <value>]
1826
+ [--output-format html]
1827
+
1828
+ FLAGS
1829
+ -d, --directory=<value> (required) Salesforce project source directory to scan.
1830
+ --output-file=<value> (required) Path to write the generated document to.
1831
+ --output-format=<option> [default: html] Output format to render the document in.
1832
+ <options: html>
1833
+ --template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
1834
+
1835
+ GLOBAL FLAGS
1836
+ --flags-dir=<value> Import flag values from a directory.
1837
+ --json Format output as json.
1838
+
1839
+ DESCRIPTION
1840
+ Generate a technical design document for a Salesforce project.
1841
+
1842
+ Scans a Salesforce DX project's source directory for metadata (objects, fields, Apex, Lightning components, flows,
1843
+ permissions, and more) and renders a Confluence-storage-format technical design document covering the data model,
1844
+ security model, groups/queues/permissions, solution inventory, and custom code inventory.
1845
+
1846
+ EXAMPLES
1847
+ $ sf simply document generate --directory force-app --output-file technical-design-document.html
1848
+
1849
+ $ sf simply document generate --directory force-app --output-file technical-design-document.html --template-file my-tdd-template.hbs
1850
+
1851
+ FLAG DESCRIPTIONS
1852
+ --output-format=html Output format to render the document in.
1853
+
1854
+ Currently only `html` is supported. Reserved for future formats (e.g. Markdown).
1855
+
1856
+ --template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
1857
+
1858
+ When specified, this template is rendered with the same scanned project data the built-in technical design document
1859
+ template receives, and can reuse the built-in `loud` helper. See this package's README "Custom Templates" section
1860
+ for the data shape.
1861
+ ```
1862
+
1863
+ _See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.1/packages/simply-document/lib/commands/simply/document/generate.js)_
1864
+
1865
+ ## `sf simply package dependencies install`
1866
+
1867
+ Install package dependencies for a Salesforce project.
1868
+
1869
+ ```
1870
+ USAGE
1871
+ $ sf simply package dependencies install -o <value> [--json] [--flags-dir <value>] [-a all|package] [--api-version <value>] [-z
1872
+ <value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [-b <value>] [-s AllUsers|AdminsOnly]
1873
+ [-v <value>] [-t DeprecateOnly|Mixed|Delete] [-w <value>]
1874
+
1875
+ FLAGS
1876
+ -a, --apex-compile=<option> Compile all Apex in the org and package, or only Apex in the package; unlocked
1877
+ packages only.
1878
+ <options: all|package>
1879
+ -b, --publish-wait=<value> Maximum number of minutes to wait for the Subscriber Package Version ID to become
1880
+ available in the target org before canceling the install request.
1881
+ -i, --install-type=<option> [default: Upgrade] Install all packages, only deltas, or only newer versions.
1882
+ <options: All|Delta|Upgrade>
1883
+ -k, --installation-key=<value>... Installation key for key-protected packages
1884
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
1885
+ configuration variable is already set.
1886
+ -r, --no-prompt Don't prompt for confirmation.
1887
+ -s, --security-type=<option> [default: AdminsOnly] Security access type for the installed package. (deprecation
1888
+ notice: The default --security-type value will change from AllUsers to AdminsOnly
1889
+ in v47.0 or later.)
1890
+ <options: AllUsers|AdminsOnly>
1891
+ -t, --upgrade-type=<option> [default: Mixed] Upgrade type for the package installation; available only for
1892
+ unlocked packages.
1893
+ <options: DeprecateOnly|Mixed|Delete>
1894
+ -v, --target-dev-hub=<value> Username or alias of the Dev Hub org.
1895
+ -w, --wait=<value> Number of minutes to wait for installation status.
1896
+ -z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber combination
1897
+ --api-version=<value> Override the api version used for api requests made by this command
1898
+ --output-file=<value> Path to write a JSON install report to.
1899
+
1900
+ GLOBAL FLAGS
1901
+ --flags-dir=<value> Import flag values from a directory.
1902
+ --json Format output as json.
1903
+
1904
+ DESCRIPTION
1905
+ Install package dependencies for a Salesforce project.
1906
+
1907
+ Installs all specified package dependencies in a Salesforce DX project using the sfdx-project.json definition.
1908
+
1909
+ EXAMPLES
1910
+ $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub
1911
+
1912
+ $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --installation-key "MyPackage1Alias:MyPackage1Key"
1913
+
1914
+ $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --installation-key "MyPackage1Alias:MyPackage1Key" --installation-key "MyPackage2Alias:MyPackage2Key"
1915
+
1916
+ $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --output-file install-report.json
1917
+
1918
+ FLAG DESCRIPTIONS
1919
+ -a, --apex-compile=all|package
1920
+
1921
+ Compile all Apex in the org and package, or only Apex in the package; unlocked packages only.
1922
+
1923
+ Applies to unlocked packages only. Specifies whether to compile all Apex in the org and package, or only the Apex in
1924
+ the package.
1925
+
1926
+ For package installs into production orgs, or any org that has Apex Compile on Deploy enabled, the platform compiles
1927
+ all Apex in the org after the package install or upgrade operation completes.
1928
+
1929
+ This approach assures that package installs and upgrades don’t impact the performance of an org, and is done even if
1930
+ --apex-compile package is specified.
1931
+
1932
+ -i, --install-type=All|Delta|Upgrade Install all packages, only deltas, or only newer versions.
1933
+
1934
+ If 'All' is specified, then all packages specified in package dependencies are installed, regardless of if the
1935
+ version already is installed in the org. If 'Delta' is specified, then only packages that differ from what is
1936
+ installed in the org will be installed. If 'Upgrade' is specified, then a package is installed only if it isn't
1937
+ already installed, or if its semantic version (major.minor.patch.build) is newer than the version currently
1938
+ installed in the org; packages with an installed version that is the same as or newer than the target version are
1939
+ skipped.
1940
+
1941
+ -k, --installation-key=<value>... Installation key for key-protected packages
1942
+
1943
+ Installation key for key-protected packages in the key:value format of SubscriberPackageVersionId:Key
1944
+
1945
+ -r, --no-prompt Don't prompt for confirmation.
1946
+
1947
+ Allows the following without an explicit confirmation response: 1) Remote Site Settings and Content Security Policy
1948
+ websites to send or receive data, and 2) --upgrade-type Delete to proceed.
1949
+
1950
+ -t, --upgrade-type=DeprecateOnly|Mixed|Delete
1951
+
1952
+ Upgrade type for the package installation; available only for unlocked packages.
1953
+
1954
+ For package upgrades, specifies whether to mark all removed components as deprecated (DeprecateOnly), to delete
1955
+ removed components that can be safely deleted and deprecate the others (Mixed), or to delete all removed components,
1956
+ except for custom objects and custom fields, that don't have dependencies (Delete). The default is Mixed. Can
1957
+ specify DeprecateOnly or Delete only for unlocked package upgrades.
1958
+
1959
+ -z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber combination
1960
+
1961
+ For dependencies specified by Package/VersionNumber combination, you can specify the branch group of builds to work
1962
+ from by entering the branch build name. If not specified, the builds from NULL branch will be considered.
1963
+
1964
+ --output-file=<value> Path to write a JSON install report to.
1965
+
1966
+ When specified, a JSON report of the install outcome for every resolved dependency is written to this path, in
1967
+ addition to the normal terminal output you can continue to monitor as the command runs. Each entry includes the
1968
+ package name, the SubscriberPackageVersionId already installed in the org (if any), the SubscriberPackageVersionId
1969
+ that was attempted, and the decision made (Skipped, Installed, Installing, or Failed).
1970
+ ```
1971
+
1972
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.3/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
1973
+
1974
+ ## `sf simply package dependencies manage`
1975
+
1976
+ Manage package dependency versions for a Salesforce project.
1977
+
1978
+ ```
1979
+ USAGE
1980
+ $ sf simply package dependencies manage -v <value> [--json] [--flags-dir <value>] [-b <value>] [--update-to-released |
1981
+ --update-to-latest] [--api-version <value>]
1982
+
1983
+ FLAGS
1984
+ -b, --branch=<value> Package branch to consider when evaluating version options.
1985
+ -v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
1986
+ configuration variable is already set.
1987
+ --api-version=<value> Override the api version used for api requests made by this command
1988
+ --update-to-latest Automatically set all dependencies to the latest non-pinned build.
1989
+ --update-to-released Automatically update all dependencies to the latest released version.
1990
+
1991
+ GLOBAL FLAGS
1992
+ --flags-dir=<value> Import flag values from a directory.
1993
+ --json Format output as json.
1994
+
1995
+ DESCRIPTION
1996
+ Manage package dependency versions for a Salesforce project.
1997
+
1998
+ Interactively updates package dependency versions in sfdx-project.json by querying the Dev Hub for available versions.
1999
+ Supports interactive selection or automatic update to the latest released or latest build version.
2000
+
2001
+ Project-level configuration (in sfdx-project.json) is read from the following keys:
2002
+
2003
+ - plugins.simply.dependencies.ignore — array of Package2Ids or aliases to leave unchanged
2004
+ - plugins.simply.package.brancheswithreleasedversions — array of branch names that contain released versions
2005
+
2006
+ EXAMPLES
2007
+ $ sf simply package dependencies manage --target-dev-hub myDevHub
2008
+
2009
+ $ sf simply package dependencies manage --target-dev-hub myDevHub --branch my-feature-branch
2010
+
2011
+ $ sf simply package dependencies manage --target-dev-hub myDevHub --update-to-released
2012
+
2013
+ $ sf simply package dependencies manage --target-dev-hub myDevHub --update-to-latest
2014
+
2015
+ FLAG DESCRIPTIONS
2016
+ -b, --branch=<value> Package branch to consider when evaluating version options.
2017
+
2018
+ When specified, the command will include the latest build on this branch as a selectable option for each dependency.
2019
+
2020
+ --update-to-latest Automatically set all dependencies to the latest non-pinned build.
2021
+
2022
+ When specified, all dependencies managed by the Dev Hub are automatically set to a non-pinned X.Y.Z.LATEST version
2023
+ number without interactive prompts. Mutually exclusive with --update-to-released.
2024
+
2025
+ --update-to-released Automatically update all dependencies to the latest released version.
2026
+
2027
+ When specified, all dependencies managed by the Dev Hub are automatically updated to the latest released package
2028
+ version without interactive prompts. Mutually exclusive with --update-to-latest.
2029
+ ```
2030
+
2031
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.3/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
2032
+
2033
+ ## `sf simply package version cleanup`
2034
+
2035
+ Cleanup package versions.
2036
+
2037
+ ```
2038
+ USAGE
2039
+ $ sf simply package version cleanup -p <value> -v <value> [--json] [--flags-dir <value>] [--api-version <value>] [-s <value> | -x
2040
+ <value>]
2041
+
2042
+ FLAGS
2043
+ -p, --package=<value> (required) Package Id
2044
+ -s, --matcher=<value> MAJOR.MINOR.PATCH to select on
2045
+ -v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
2046
+ configuration variable is already set.
2047
+ -x, --exclude-matcher=<value> MAJOR.MINOR.PATCH to exclude on
2048
+ --api-version=<value> Override the api version used for api requests made by this command
2049
+
2050
+ GLOBAL FLAGS
2051
+ --flags-dir=<value> Import flag values from a directory.
2052
+ --json Format output as json.
2053
+
2054
+ DESCRIPTION
2055
+ Cleanup package versions.
2056
+
2057
+ Delete package versions for a given package provided a MAJOR.MINOR.PATCH matcher, either to select on or to exclude
2058
+ on. Does not delete released package versions.
2059
+
2060
+ If --matcher is provided, only the unreleased versions matching MAJOR.MINOR.PATCH are deleted. If --exclude-matcher is
2061
+ provided instead, every unreleased version that does _not_ match MAJOR.MINOR.PATCH is deleted. Exactly one of
2062
+ --matcher or --exclude-matcher must be specified.
2063
+
2064
+ EXAMPLES
2065
+ $ sf simply package version cleanup --package 0Hoxx00000000CqCAI --matcher 2.10.0 --target-dev-hub myDevHub
2066
+
2067
+ $ sf simply package version cleanup --package 0Hoxx00000000CqCAI --exclude-matcher 2.10.0 --target-dev-hub myDevHub
2068
+
2069
+ FLAG DESCRIPTIONS
2070
+ -p, --package=<value> Package Id
2071
+
2072
+ The 0Ht Package Id that you wish to cleanup versions for.
2073
+
2074
+ -s, --matcher=<value> MAJOR.MINOR.PATCH to select on
2075
+
2076
+ The MAJOR.MINOR.PATCH matcher that should be used to find package versions to delete. Only versions matching this
2077
+ matcher are deleted. Mutually exclusive with --exclude-matcher.
2078
+
2079
+ -x, --exclude-matcher=<value> MAJOR.MINOR.PATCH to exclude on
2080
+
2081
+ The MAJOR.MINOR.PATCH matcher that should be used to find package versions to keep. Every unreleased version that
2082
+ does not match this matcher is deleted. Mutually exclusive with --matcher.
2083
+ ```
2084
+
2085
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.3/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
2086
+
2087
+ ## `sf simply permissions analyze`
2088
+
2089
+ Analyze permission sets and permission set groups in an org.
2090
+
2091
+ ```
2092
+ USAGE
2093
+ $ sf simply permissions analyze -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-f <value>...] [--output
2094
+ <value>]
2095
+
2096
+ FLAGS
2097
+ -f, --filter=<value>... Permission set or group names to include
2098
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
2099
+ configuration variable is already set.
2100
+ --api-version=<value> Override the api version used for api requests made by this command
2101
+ --output=<value> [default: permissions_report.html] Output HTML file path
2102
+
2103
+ GLOBAL FLAGS
2104
+ --flags-dir=<value> Import flag values from a directory.
2105
+ --json Format output as json.
2106
+
2107
+ DESCRIPTION
2108
+ Analyze permission sets and permission set groups in an org.
2109
+
2110
+ Generates an HTML report of every permission set and permission set group in the target org, grouped by installed
2111
+ package, including their object and field permissions.
2112
+
2113
+ EXAMPLES
2114
+ $ sf simply permissions analyze --target-org myOrg
2115
+
2116
+ $ sf simply permissions analyze --target-org myOrg --output reports/permissions.html --filter My_Permission_Set --filter Another_Set
2117
+
2118
+ FLAG DESCRIPTIONS
2119
+ -f, --filter=<value>... Permission set or group names to include
2120
+
2121
+ One or more PermissionSet (Name) or PermissionSetGroup (DeveloperName) API names to restrict the report to. If
2122
+ omitted, all permission sets and groups are included.
2123
+
2124
+ --output=<value> Output HTML file path
2125
+
2126
+ The path to write the generated HTML report to.
2127
+ ```
2128
+
2129
+ _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.2.15/packages/simply-permissions/lib/commands/simply/permissions/analyze.js)_
2130
+
2131
+ ## `sf simply permissions build`
2132
+
2133
+ Generate a permission set from Salesforce source metadata.
2134
+
2135
+ ```
2136
+ USAGE
2137
+ $ sf simply permissions build --type read-only|view-all|modify-all -n <value> -d <value> --output <value> [--json]
2138
+ [--flags-dir <value>] [-c <value>] [--include-record-types] [--label <value>] [--description <value>]
2139
+
2140
+ FLAGS
2141
+ -c, --config=<value> Path to a permission set configuration file
2142
+ -d, --directory=<value> (required) Path to the Salesforce project directory
2143
+ -n, --name=<value> (required) API name for the permission set
2144
+ --description=<value> Description for the permission set
2145
+ --include-record-types Include record type visibilities
2146
+ --label=<value> Label for the permission set
2147
+ --output=<value> (required) Output directory
2148
+ --type=<option> (required) Baseline permission type
2149
+ <options: read-only|view-all|modify-all>
2150
+
2151
+ GLOBAL FLAGS
2152
+ --flags-dir=<value> Import flag values from a directory.
2153
+ --json Format output as json.
2154
+
2155
+ DESCRIPTION
2156
+ Generate a permission set from Salesforce source metadata.
2157
+
2158
+ Scans a Salesforce project directory for custom objects, fields, tabs, and (optionally) record types, then generates a
2159
+ permission set XML file with a baseline of permissions determined by --type. An optional JSON --config file can
2160
+ override individual object, field, tab, record type, and user permission settings, as well as whether the permission
2161
+ set requires activation.
2162
+
2163
+ EXAMPLES
2164
+ $ sf simply permissions build --type read-only --name My_Read_Only_Access --directory force-app --output force-app/main/default/permissionsets
2165
+
2166
+ $ sf simply permissions build --type modify-all --name My_Admin_Access --directory force-app --config config/permission-overrides.json --output force-app/main/default/permissionsets --include-record-types
2167
+
2168
+ FLAG DESCRIPTIONS
2169
+ -c, --config=<value> Path to a permission set configuration file
2170
+
2171
+ The path to a JSON file that overrides individual object, field, tab, record type, and user permission settings, as
2172
+ well as whether the permission set requires activation, on top of the --type baseline.
2173
+
2174
+ -d, --directory=<value> Path to the Salesforce project directory
2175
+
2176
+ The path to the Salesforce source directory to scan for custom objects, fields, tabs, and record types.
2177
+
2178
+ -n, --name=<value> API name for the permission set
2179
+
2180
+ The API name for the generated permission set; also used to derive the output filename.
2181
+
2182
+ --include-record-types Include record type visibilities
2183
+
2184
+ Automatically include record type visibilities discovered from the source metadata, marked as visible by default.
2185
+
2186
+ --output=<value> Output directory
2187
+
2188
+ The directory to write the generated permission set XML file to.
2189
+
2190
+ --type=read-only|view-all|modify-all Baseline permission type
2191
+
2192
+ The baseline permission level to generate: 'read-only' grants read access to all discovered objects and fields,
2193
+ 'view-all' additionally grants view-all-records, and 'modify-all' grants full CRUD and modify-all-records access.
2194
+ ```
2195
+
2196
+ _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.2.15/packages/simply-permissions/lib/commands/simply/permissions/build.js)_
2197
+
2198
+ ## `sf simply project update api-version`
2199
+
2200
+ Update the Salesforce API version across a project's metadata.
2201
+
2202
+ ```
2203
+ USAGE
2204
+ $ sf simply project update api-version -d <value> -a <value> [--json] [--flags-dir <value>]
2205
+
2206
+ FLAGS
2207
+ -a, --api-version=<value> (required) Target Salesforce API version
2208
+ -d, --directory=<value> (required) Path to the Salesforce project directory
2209
+
2210
+ GLOBAL FLAGS
2211
+ --flags-dir=<value> Import flag values from a directory.
2212
+ --json Format output as json.
2213
+
2214
+ DESCRIPTION
2215
+ Update the Salesforce API version across a project's metadata.
2216
+
2217
+ Recursively scans a directory for `-meta.xml` files and updates every `<apiVersion>` tag to the target version. If the
2218
+ directory contains an `sfdx-project.json` file, its `sourceApiVersion` property is updated to match.
2219
+
2220
+ EXAMPLES
2221
+ $ sf simply project update api-version --directory force-app --api-version 62.0
2222
+
2223
+ $ sf simply project update api-version --directory . --api-version 63.0
2224
+
2225
+ FLAG DESCRIPTIONS
2226
+ -a, --api-version=<value> Target Salesforce API version
2227
+
2228
+ The Salesforce API version to set on all metadata files and, if present, sfdx-project.json.
2229
+
2230
+ -d, --directory=<value> Path to the Salesforce project directory
2231
+
2232
+ The path to the Salesforce project directory to scan for metadata files.
2233
+ ```
2234
+
2235
+ _See code: [@simplysf/simply-project](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-project@1.2.12/packages/simply-project/lib/commands/simply/project/update/api-version.js)_
2236
+
2237
+ ## `sf simply schema generate`
2238
+
2239
+ Generate Salesforce CustomObject/CustomField/RecordType metadata from a CSV or Excel schema definition file.
2240
+
2241
+ ```
2242
+ USAGE
2243
+ $ sf simply schema generate -f <value> -d <value> [--json] [--flags-dir <value>]
2244
+
2245
+ FLAGS
2246
+ -d, --output-dir=<value> (required) The output directory to write the generated metadata into.
2247
+ -f, --file=<value> (required) Path to the CSV or Excel (.xlsx/.xls) schema definition file.
2248
+
2249
+ GLOBAL FLAGS
2250
+ --flags-dir=<value> Import flag values from a directory.
2251
+ --json Format output as json.
2252
+
2253
+ DESCRIPTION
2254
+ Generate Salesforce CustomObject/CustomField/RecordType metadata from a CSV or Excel schema definition file.
2255
+
2256
+ Reads a flat CSV or an Excel workbook describing one or more custom objects, their fields, and (CSV only) their record
2257
+ types, and writes Salesforce DX source-format metadata (`.object-meta.xml`, `.field-meta.xml`, `.recordType-meta.xml`)
2258
+ into `--output-dir`.
2259
+
2260
+ For CSV input, each row's `Type` column (`CustomObject`, `CustomField`, or `RecordType`) and `ObjectName` column group
2261
+ the rows by object. For Excel input (`.xlsx`/`.xls`), the workbook must contain an `object` worksheet (a two-column
2262
+ key/value sheet describing the sObject) and a `fields` worksheet (one row per field); picklist fields may reference an
2263
+ additional values worksheet by name.
2264
+
2265
+ EXAMPLES
2266
+ $ sf simply schema generate --file schema.csv --output-dir force-app/main/default/objects
2267
+
2268
+ $ sf simply schema generate --file MyObject__c.xlsx --output-dir force-app/main/default/objects
2269
+
2270
+ FLAG DESCRIPTIONS
2271
+ -f, --file=<value> Path to the CSV or Excel (.xlsx/.xls) schema definition file.
2272
+
2273
+ A `.csv` file processed as the flat CSV flow, or a `.xlsx`/`.xls` file processed as the Excel flow.
2274
+ ```
2275
+
2276
+ _See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.1/packages/simply-schema/lib/commands/simply/schema/generate.js)_
2277
+
2278
+ ## `sf simply schema visualize`
2279
+
2280
+ Generate visualizations of Salesforce schema from a live org or local source files.
2281
+
2282
+ ```
2283
+ USAGE
2284
+ $ sf simply schema visualize [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...]
2285
+ [--source-objects <value>] [--related-objects <value>] [--object-type custom|standard|all] [--field-type
2286
+ custom|standard|all] [--output-type html|md|csv...] [--output-dir <value>]
2287
+
2288
+ FLAGS
2289
+ -d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
2290
+ local-source generation.
2291
+ -o, --target-org=<value> Username or alias of the org to visualize. Use this for live-org generation.
2292
+ --api-version=<value> Override the api version used for api requests made by this command
2293
+ --field-type=<option> [default: custom] Scope of relationship fields to include: custom, standard, or all.
2294
+ <options: custom|standard|all>
2295
+ --object-type=<option> [default: custom] Scope of objects to include: custom, standard, or all.
2296
+ <options: custom|standard|all>
2297
+ --output-dir=<value> The output directory for the generated files.
2298
+ --output-type=<option>... [default: html,md] Output format(s) to generate.
2299
+ <options: html|md|csv>
2300
+ --related-objects=<value> Comma-separated list of related objects to filter the visualization to, or `all`.
2301
+ --source-objects=<value> Comma-separated list of source objects to start from, or `all`.
2302
+
2303
+ GLOBAL FLAGS
2304
+ --flags-dir=<value> Import flag values from a directory.
2305
+ --json Format output as json.
2306
+
2307
+ DESCRIPTION
2308
+ Generate visualizations of Salesforce schema from a live org or local source files.
2309
+
2310
+ Builds an object-relationship diagram (interactive HTML), a Mermaid entity-relationship diagram (Markdown), and/or a
2311
+ relationship CSV, either from a live org's Tooling API or from local Salesforce DX source directories. Exactly one of
2312
+ `--target-org` or `--source-dir` must be specified.
2313
+
2314
+ EXAMPLES
2315
+ $ sf simply schema visualize --target-org myTargetOrg
2316
+
2317
+ $ sf simply schema visualize --target-org myTargetOrg --source-objects Account,Contact --related-objects all
2318
+
2319
+ $ sf simply schema visualize --source-dir force-app --output-type html,md
2320
+
2321
+ FLAG DESCRIPTIONS
2322
+ --output-type=html|md|csv... Output format(s) to generate.
2323
+
2324
+ One or more of `html` (interactive diagram), `md` (Mermaid entity-relationship diagram), or `csv` (relationship
2325
+ data).
2326
+
2327
+ --related-objects=<value> Comma-separated list of related objects to filter the visualization to, or `all`.
2328
+
2329
+ Comma-separated API names of related objects to include in the visualization. If `all` is specified, every related
2330
+ object is included regardless of `--object-type`. If not specified, related objects aren't filtered.
2331
+
2332
+ --source-objects=<value> Comma-separated list of source objects to start from, or `all`.
2333
+
2334
+ Comma-separated API names of the objects to start the visualization from (e.g. `Account,MyObject__c`). If `all` is
2335
+ specified, every discovered object is included. If not specified, every object matching `--object-type` is included.
2336
+ ```
2337
+
2338
+ _See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.1/packages/simply-schema/lib/commands/simply/schema/visualize.js)_
2339
+
2340
+ ## `sf simply sobject backup`
2341
+
2342
+ Back up SObject data to a CSV file.
2343
+
2344
+ ```
2345
+ USAGE
2346
+ $ sf simply sobject backup -s <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>]
2347
+
2348
+ FLAGS
2349
+ -d, --output-dir=<value> Output directory
2350
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
2351
+ configuration variable is already set.
2352
+ -s, --sobject=<value> (required) SObject API name
2353
+ --api-version=<value> Override the api version used for api requests made by this command
2354
+
2355
+ GLOBAL FLAGS
2356
+ --flags-dir=<value> Import flag values from a directory.
2357
+ --json Format output as json.
2358
+
2359
+ DESCRIPTION
2360
+ Back up SObject data to a CSV file.
2361
+
2362
+ Describes the given SObject, queries every field via the Bulk API, and writes the results to a timestamped CSV file.
2363
+
2364
+ EXAMPLES
2365
+ $ sf simply sobject backup --target-org myOrg --sobject Account
2366
+
2367
+ $ sf simply sobject backup --target-org myOrg --sobject Custom_Object__c --output-dir backups
2368
+
2369
+ FLAG DESCRIPTIONS
2370
+ -d, --output-dir=<value> Output directory
2371
+
2372
+ The directory to save the backup CSV file to. Defaults to the current directory.
2373
+
2374
+ -s, --sobject=<value> SObject API name
2375
+
2376
+ The API name of the SObject to back up.
2377
+ ```
2378
+
2379
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.4.2/packages/simply-sobject/lib/commands/simply/sobject/backup.js)_
2380
+
2381
+ ## `sf simply sobject deduplicate`
2382
+
2383
+ Identify and prepare deduplication of an SObject's records.
2384
+
2385
+ ```
2386
+ USAGE
2387
+ $ sf simply sobject deduplicate -c <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--dry-run]
2388
+ [--output-dir <value>]
2389
+
2390
+ FLAGS
2391
+ -c, --config=<value> (required) Path to a deduplication configuration file
2392
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
2393
+ configuration variable is already set.
2394
+ --api-version=<value> Override the api version used for api requests made by this command
2395
+ --dry-run Skip calculating associated object lookup replacements
2396
+ --output-dir=<value> Output directory
2397
+
2398
+ GLOBAL FLAGS
2399
+ --flags-dir=<value> Import flag values from a directory.
2400
+ --json Format output as json.
2401
+
2402
+ DESCRIPTION
2403
+ Identify and prepare deduplication of an SObject's records.
2404
+
2405
+ Queries an SObject, groups records by a composite key built from configured fields, and writes CSV files listing which
2406
+ records are unique and which are duplicates that should be deleted. For each associated object with lookups to the
2407
+ primary object, also writes a CSV of the lookup field updates needed to re-point duplicate references at the surviving
2408
+ unique record. This command does not perform any deletes or updates in the org; it only prepares the CSV files for a
2409
+ subsequent data load.
2410
+
2411
+ EXAMPLES
2412
+ $ sf simply sobject deduplicate --target-org myOrg --config config/deduplicate-account.json
2413
+
2414
+ $ sf simply sobject deduplicate --target-org myOrg --config config/deduplicate-account.json --dry-run
2415
+
2416
+ FLAG DESCRIPTIONS
2417
+ -c, --config=<value> Path to a deduplication configuration file
2418
+
2419
+ The path to a JSON file describing the primary object, its composite key fields, and any associated objects with
2420
+ lookups to it.
2421
+
2422
+ --dry-run Skip calculating associated object lookup replacements
2423
+
2424
+ When set, only the primary object's unique/duplicate CSV files are generated; associated object lookup replacement
2425
+ files are not calculated.
2426
+
2427
+ --output-dir=<value> Output directory
2428
+
2429
+ The directory to write the generated CSV files to. Defaults to ./temp/<primaryObjectApiName>.
2430
+ ```
2431
+
2432
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.4.2/packages/simply-sobject/lib/commands/simply/sobject/deduplicate.js)_
2433
+
2434
+ ## `sf simply sobject history export`
2435
+
2436
+ Export field history for an SObject within a date range to a CSV file.
2437
+
2438
+ ```
2439
+ USAGE
2440
+ $ sf simply sobject history export -s <value> --start-date <value> --end-date <value> -o <value> [--json] [--flags-dir <value>]
2441
+ [--api-version <value>] [-d <value>]
2442
+
2443
+ FLAGS
2444
+ -d, --output-dir=<value> Output directory
2445
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
2446
+ configuration variable is already set.
2447
+ -s, --sobject=<value> (required) SObject API name
2448
+ --api-version=<value> Override the api version used for api requests made by this command
2449
+ --end-date=<value> (required) End date (YYYY-MM-DD)
2450
+ --start-date=<value> (required) Start date (YYYY-MM-DD)
2451
+
2452
+ GLOBAL FLAGS
2453
+ --flags-dir=<value> Import flag values from a directory.
2454
+ --json Format output as json.
2455
+
2456
+ DESCRIPTION
2457
+ Export field history for an SObject within a date range to a CSV file.
2458
+
2459
+ Queries the field history object for the given SObject (e.g. `AccountHistory`, `Custom_Object__History`, or
2460
+ `OpportunityFieldHistory`) for changes created within the given date range, and writes the results to a timestamped
2461
+ CSV file.
2462
+
2463
+ EXAMPLES
2464
+ $ sf simply sobject history export --target-org myOrg --sobject Account --start-date 2026-01-01 --end-date 2026-01-31
2465
+
2466
+ $ sf simply sobject history export --target-org myOrg --sobject Custom_Object__c --start-date 2026-01-01 --end-date 2026-01-31 --output-dir exports
2467
+
2468
+ FLAG DESCRIPTIONS
2469
+ -d, --output-dir=<value> Output directory
2470
+
2471
+ The directory to save the exported CSV file to. Defaults to the current directory.
2472
+
2473
+ -s, --sobject=<value> SObject API name
2474
+
2475
+ The API name of the SObject to export field history for (e.g. Account or Custom_Object__c).
2476
+
2477
+ --end-date=<value> End date (YYYY-MM-DD)
2478
+
2479
+ The end of the date range to export history for, inclusive.
2480
+
2481
+ --start-date=<value> Start date (YYYY-MM-DD)
2482
+
2483
+ The start of the date range to export history for, inclusive.
2484
+ ```
2485
+
2486
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.4.2/packages/simply-sobject/lib/commands/simply/sobject/history/export.js)_
2487
+
2488
+ ## `sf simply sobject history query`
2489
+
2490
+ Query the field history of an SObject, with optional filtering.
2491
+
2492
+ ```
2493
+ USAGE
2494
+ $ sf simply sobject history query --object <value> -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--filters
2495
+ <value>] [-d <value>]
2496
+
2497
+ FLAGS
2498
+ -d, --output-dir=<value> Output directory
2499
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
2500
+ configuration variable is already set.
2501
+ --api-version=<value> Override the api version used for api requests made by this command
2502
+ --filters=<value> Path to a filter configuration file, or a raw JSON filter string
2503
+ --object=<value> (required) SObject API name
2504
+
2505
+ GLOBAL FLAGS
2506
+ --flags-dir=<value> Import flag values from a directory.
2507
+ --json Format output as json.
2508
+
2509
+ DESCRIPTION
2510
+ Query the field history of an SObject, with optional filtering.
2511
+
2512
+ Queries the field history object for the given SObject (e.g. `AccountHistory`, `Custom_Object__History`, or
2513
+ `OpportunityFieldHistory`) and writes the results to a timestamped CSV file. An optional filter tree can be supplied
2514
+ to narrow the results: conditions on Field, CreatedById, CreatedDate, or the parent lookup field are pushed into the
2515
+ SOQL WHERE clause; conditions on any other field (e.g. OldValue or NewValue) are applied client-side after the query
2516
+ runs.
2517
+
2518
+ EXAMPLES
2519
+ $ sf simply sobject history query --target-org myOrg --object Account
2520
+
2521
+ $ sf simply sobject history query --target-org myOrg --object Custom_Object__c --filters config/history-filters.json
2522
+
2523
+ $ sf simply sobject history query --target-org myOrg --object Account --filters '{"logic":"AND","filters":[{"field":"Field","operator":"=","value":"Name"}]}'
2524
+
2525
+ FLAG DESCRIPTIONS
2526
+ -d, --output-dir=<value> Output directory
2527
+
2528
+ The directory to save the query results CSV file to. Defaults to the current directory.
2529
+
2530
+ --filters=<value> Path to a filter configuration file, or a raw JSON filter string
2531
+
2532
+ A JSON object describing a tree of filter conditions: `{ "logic": "AND", "filters": [ { "field": "Field",
2533
+ "operator": "=", "value": "Status__c" } ] }`. Each entry in `filters` is either a condition (`field`, `operator`,
2534
+ `value`) or another nested group with its own `logic`/`filters`. Supported operators are =, !=, >, <, >=, <=, IN,
2535
+ NOT IN, and LIKE (using `%` as a wildcard).
2536
+
2537
+ --object=<value> SObject API name
2538
+
2539
+ The API name of the SObject to query field history for (e.g. Account or Custom_Object__c).
2540
+ ```
2541
+
2542
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.4.2/packages/simply-sobject/lib/commands/simply/sobject/history/query.js)_
2543
+
2544
+ ## `sf simply sobject history schema`
2545
+
2546
+ Report on which objects and fields have field history tracking enabled.
2547
+
2548
+ ```
2549
+ USAGE
2550
+ $ sf simply sobject history schema -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>]
2551
+
2552
+ FLAGS
2553
+ -d, --output-dir=<value> Output directory
2554
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
2555
+ configuration variable is already set.
2556
+ --api-version=<value> Override the api version used for api requests made by this command
2557
+
2558
+ GLOBAL FLAGS
2559
+ --flags-dir=<value> Import flag values from a directory.
2560
+ --json Format output as json.
2561
+
2562
+ DESCRIPTION
2563
+ Report on which objects and fields have field history tracking enabled.
2564
+
2565
+ Identifies every object with field history tracking enabled, and every tracked field on each, resolving the
2566
+ managed/unlocked package each field belongs to, and writes the results to a timestamped CSV file and a browsable HTML
2567
+ report.
2568
+
2569
+ EXAMPLES
2570
+ $ sf simply sobject history schema --target-org myOrg
2571
+
2572
+ $ sf simply sobject history schema --target-org myOrg --output-dir reports
2573
+
2574
+ FLAG DESCRIPTIONS
2575
+ -d, --output-dir=<value> Output directory
2576
+
2577
+ The directory to save the generated CSV and HTML report files to. Defaults to the current directory.
2578
+ ```
2579
+
2580
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.4.2/packages/simply-sobject/lib/commands/simply/sobject/history/schema.js)_
2581
+ <!-- commandsstop -->
2582
+
19
2583
  - [`sf simply apex execute`](#sf-simply-apex-execute)
20
2584
  - [`sf simply apex logs purge`](#sf-simply-apex-logs-purge)
21
2585
  - [`sf simply apex trace setup`](#sf-simply-apex-trace-setup)