npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@simplysf/simply-cicd

v0.8.4

Published

Commands for Salesforce CI/CD pipelines

Readme

@simplysf/simply-cicd

NPM Downloads/week License: Apache-2.0

Install

sf plugins install @simplysf/simply-cicd

Issues

Please report any issues at https://github.com/SimplySF/simply-node/issues

Contributing

This package is part of the @simplysf/simply monorepo. See the repo's CONTRIBUTING.md for the repo structure, how to set up and build the project, our commit conventions, and how to submit a pull request. Please also read our Code of Conduct.

Commands

sf simply cicd build cleanup-scratch-orgs

Delete scratch orgs older than 3 hours from every configured Dev Hub.

USAGE
  $ sf simply cicd build cleanup-scratch-orgs --dev-hub <value>... [--json] [--flags-dir <value>] [--debug] [--disabled]

FLAGS
  --debug               [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --dev-hub=<value>...  (required) Alias of a Dev Hub. Must already be authenticated. Repeat this flag for each Dev Hub
                        to try, in order.
  --disabled            [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Delete scratch orgs older than 3 hours from every configured Dev Hub.

  For each Dev Hub, queries `ActiveScratchOrg` records created more than 3 hours ago and bulk-deletes them. Useful for
  keeping a shared Dev Hub's scratch org allotment from being exhausted by abandoned CI runs. Every `--dev-hub` alias
  must already be authenticated.

EXAMPLES
  $ sf simply cicd build cleanup-scratch-orgs --dev-hub my-devhub

See code: lib/commands/simply/cicd/build/cleanup-scratch-orgs.js

sf simply cicd build create-fallback-tag

Create a fallback git tag carrying forward the previous package version's ID, for builds that didn't produce a new package version.

USAGE
  $ sf simply cicd build create-fallback-tag --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
    --project-access-token <value> [--json] [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider github|gitlab]
    [--debug] [--disabled] [--last-tag <value>] [--out <value>]

FLAGS
  --ci-commit-ref-name=<value>    (required) [env: SIMPLY_CICD_CI_COMMIT_REF_NAME] Git branch or ref name being built.
  --ci-pipeline-id=<value>        (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] CI pipeline ID, used to name the
                                  temporary authenticated git remote.
  --ci-project-path=<value>       (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] CI project's git path (e.g.
                                  group/project), used to build the authenticated git remote URL.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled                      [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
                                  running it.
  --last-tag=<value>              Manually specify the last tag to increment, instead of resolving it from git.
  --out=<value>                   [default: subscriberPackageVersionId.env] Output dotenv file path.
  --project-access-token=<value>  (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Access token used to authenticate
                                  git remote operations (tagging, pushing).
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this project.
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting this
                                  project.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Create a fallback git tag carrying forward the previous package version's ID, for builds that didn't produce a new
  package version.

  Resolves the last tag to increment (either `--last-tag`, or the closest reachable tag matching the project's version
  prefix), extracts its annotated `04t` package version ID, and creates/pushes a new tag with an incremented numeric
  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)
  when no last tag, or no valid package ID within it, can be found — a build with nothing to fall back to just has
  nothing to do here.

  Skipped automatically when `PACKAGE_CHANGED=TRUE` is set in the environment (see `build determine-package-changes`) —
  a real package version will be created instead.

EXAMPLES
  $ 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

See code: lib/commands/simply/cicd/build/create-fallback-tag.js

sf simply cicd build create-package-version

Create a new package version, verify minimum code coverage, and create/push a version-tracking git tag.

USAGE
  $ sf simply cicd build create-package-version --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
    --project-access-token <value> --ci-commit-sha <value> --ci-pipeline-url <value> --packaging-devhub <value> [--json]
    [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider github|gitlab] [--debug] [--disabled]
    [--ci-pipeline-source <value>] [--always-create-package] [--code-coverage-minimum <value>]
    [--package-release-branch-prefix <value>]

FLAGS
  --always-create-package                  Create a package version even when this isn't a release-branch build.
  --ci-commit-ref-name=<value>             (required) [env: SIMPLY_CICD_CI_COMMIT_REF_NAME] Git branch or ref name being
                                           built.
  --ci-commit-sha=<value>                  (required) [env: SIMPLY_CICD_CI_COMMIT_SHA] Commit SHA to tag as the package
                                           version's source.
  --ci-pipeline-id=<value>                 (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] CI pipeline ID, used to name the
                                           temporary authenticated git remote.
  --ci-pipeline-source=<value>             [env: SIMPLY_CICD_CI_PIPELINE_SOURCE] Source trigger of the CI pipeline (e.g.
                                           merge_request_event). When set to merge_request_event, package creation is
                                           skipped.
  --ci-pipeline-url=<value>                (required) [env: SIMPLY_CICD_CI_PIPELINE_URL] URL of the CI pipeline, used as
                                           the package version's description.
  --ci-project-path=<value>                (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] CI project's git path (e.g.
                                           group/project), used to build the authenticated git remote URL.
  --code-coverage-minimum=<value>          [default: 75] Minimum Apex code coverage percentage required for the new
                                           package version.
  --debug                                  [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled                               [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead
                                           of running it.
  --package-release-branch-prefix=<value>  Prefix identifying release branches. Determines whether this build creates a
                                           package version and how the resulting git tag is named.
  --packaging-devhub=<value>               (required) [env: SIMPLY_CICD_PACKAGING_DEVHUB] Alias of the Dev Hub used for
                                           packaging operations like package version creation. Must already be
                                           authenticated.
  --project-access-token=<value>           (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Access token used to
                                           authenticate git remote operations (tagging, pushing).
  --vcs-host=<value>                       [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this
                                           project.
  --vcs-provider=<option>                  [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting
                                           this project.
                                           <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Create a new package version, verify minimum code coverage, and create/push a version-tracking git tag.

  Skips entirely (without error) when the pipeline was triggered by a merge request, or when this isn't a release-branch
  build and `--always-create-package` wasn't passed. Otherwise, creates a new version of the default package directory's
  package, polls until creation finishes, verifies the resulting version's Apex code coverage meets
  `--code-coverage-minimum` (or the project's own `plugins.simply.coverageRequirement.minimumCoverageRequired`, if
  declared in `sfdx-project.json`), and creates/pushes a git tag annotated with the new package version's `04t` ID.

  Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).

EXAMPLES
  $ 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-... --packaging-devhub my-packaging-devhub

See code: lib/commands/simply/cicd/build/create-package-version.js

sf simply cicd build create-scratch

Create a scratch org, trying each configured Dev Hub in order.

USAGE
  $ sf simply cicd build create-scratch --dev-hub <value>... [--json] [--flags-dir <value>] [--debug] [--disabled]
    [--scratch-definition-file <value>] [--scratch-duration-days <value>]

FLAGS
  --debug                            [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --dev-hub=<value>...               (required) Alias of a Dev Hub. Must already be authenticated. Repeat this flag for
                                     each Dev Hub to try, in order.
  --disabled                         [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
                                     running it.
  --scratch-definition-file=<value>  Definition file used to create the scratch org, if not specified in
                                     sfdx-project.json.
  --scratch-duration-days=<value>    [default: 1] Duration of the scratch org in days.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Create a scratch org, trying each configured Dev Hub in order.

  Reads the default package directory's `definitionFile` from `sfdx-project.json` (falling back to
  `--scratch-definition-file`), and attempts creation against each `--dev-hub` alias in order (each must already be
  authenticated). A Dev Hub that has hit its daily scratch org limit is skipped in favor of the next one. Writes the
  resulting org's auth fields to `SCRATCH_ORG_INFO.json` for later build steps, best-effort sets a default
  `CountryCode`, and assigns any permission sets/licenses declared under the default package directory's
  `packageMetadataAccess`.

  Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).

EXAMPLES
  $ sf simply cicd build create-scratch --dev-hub my-devhub

See code: lib/commands/simply/cicd/build/create-scratch.js

sf simply cicd build delete-scratch

Delete the scratch org created by build create-scratch.

USAGE
  $ sf simply cicd build delete-scratch --dev-hub <value> [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug]
    [--disabled]

FLAGS
  --debug                 [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --dev-hub=<value>       (required) Alias of a Dev Hub. Must already be authenticated. Repeat this flag for each Dev
                          Hub to try, in order.
  --disabled              [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
  --jwt-key-file=<value>  [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to re-authenticate the
                          scratch org (or its Dev Hub) when it was JWT-authenticated. Not needed when the Dev Hub was
                          authenticated via web login or an SFDX auth URL — the scratch org's own refresh token is used
                          instead.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Delete the scratch org created by `build create-scratch`.

  Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`) to confirm `--dev-hub` is the Dev Hub that owns the
  scratch org, re-authenticates to it and the scratch org as needed, and deletes it. Deletion failures are logged rather
  than thrown, since a scratch org left behind after a failed deletion just needs manual cleanup and shouldn't fail an
  otherwise-successful pipeline run.

  Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).

EXAMPLES
  $ sf simply cicd build delete-scratch --dev-hub my-devhub

See code: lib/commands/simply/cicd/build/delete-scratch.js

sf simply cicd build determine-package-changes

Determine if any package-relevant files have changed since the last release tag.

USAGE
  $ sf simply cicd build determine-package-changes [--json] [--flags-dir <value>] [--debug] [--disabled] [--out <value>]

FLAGS
  --debug        [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled     [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
  --out=<value>  [default: changes.env] Output dotenv file path.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Determine if any package-relevant files have changed since the last release tag.

  Reads the default package directory from `sfdx-project.json`, finds the closest reachable git tag matching its version
  prefix, and diffs that tag against `HEAD` for the package directory and `sfdx-project.json` itself. Writes
  `PACKAGE_CHANGED=TRUE|FALSE` and `LAST_TAG=<tag>` to the output file. Any failure during detection (missing/invalid
  sfdx-project.json, git errors) defaults to `PACKAGE_CHANGED=TRUE`, so a build never silently skips work it should have
  done.

EXAMPLES
  $ sf simply cicd build determine-package-changes --out changes.env

See code: lib/commands/simply/cicd/build/determine-package-changes.js

sf simply cicd build generate-flexipage-diff

Generate a Flexipage delta between two commits and post the results to the change request.

USAGE
  $ sf simply cicd build generate-flexipage-diff --from <value> --to <value> --project-access-token <value> [--json] [--flags-dir <value>]
    [--vcs-host <value>] [--vcs-provider github|gitlab] [--ci-project-id <value>] [--ci-merge-request-iid <value>]
    [--ci-repository <value>] [--ci-pull-request-number <value>] [--ci-run-id <value>] [--ci-server-url <value>]
    [--ci-commit-sha <value>] [--out <value>] [--debug] [--disabled]

FLAGS
  --ci-commit-sha=<value>           [env: SIMPLY_CICD_CI_COMMIT_SHA] Commit SHA to attribute the posted diff to.
  --ci-merge-request-iid=<value>    [env: SIMPLY_CICD_CI_MERGE_REQUEST_IID] GitLab only: internal ID of the merge
                                    request to post the diff to.
  --ci-project-id=<value>           [env: SIMPLY_CICD_CI_PROJECT_ID] GitLab only: numeric CI project ID of the project
                                    to post the diff to.
  --ci-pull-request-number=<value>  [env: SIMPLY_CICD_CI_PULL_REQUEST_NUMBER] GitHub only: number of the pull request to
                                    post the diff to.
  --ci-repository=<value>           [env: SIMPLY_CICD_CI_REPOSITORY] GitHub only: repository to post the diff to, as
                                    owner/repo.
  --ci-run-id=<value>               [env: SIMPLY_CICD_CI_RUN_ID] GitHub only: Actions run ID, used to build links back
                                    to the run's artifacts.
  --ci-server-url=<value>           [env: SIMPLY_CICD_CI_SERVER_URL] GitHub only: server URL, for instances other than
                                    github.com.
  --debug                           [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled                        [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
                                    running it.
  --from=<value>                    (required) Base commit SHA to diff from.
  --out=<value>                     Output directory or file path for the delta results.
  --project-access-token=<value>    (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Project access token used to post
                                    the diff results back to the merge request.
  --to=<value>                      (required) Head commit SHA to diff to.
  --vcs-host=<value>                [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this project.
  --vcs-provider=<option>           [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting this
                                    project.
                                    <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Generate a Flexipage delta between two commits and post the results to the change request.

  Runs the upstream `flexipage-delta` binary to diff `**/*.flexipage-meta.xml` files between `--from` and `--to`, then
  the reporter binary for the platform `--vcs-provider` selects — `flexipage-delta-gitlab` or `flexipage-delta-github` —
  to post the results back to the merge or pull request. Failures are logged, not thrown — a diff-posting step shouldn't
  fail the build.

EXAMPLES
  $ sf simply cicd build generate-flexipage-diff --ci-project-id 123 --ci-merge-request-iid 45 --from abc123 --to def456 --project-access-token glpat-...

  $ sf simply cicd build generate-flexipage-diff --vcs-provider github --ci-repository my-org/my-repo --ci-pull-request-number 45 --ci-run-id 987 --from abc123 --to def456 --project-access-token ghp-...

See code: lib/commands/simply/cicd/build/generate-flexipage-diff.js

sf simply cicd build generate-flow-diff

Generate a Flow delta between two commits and post the results to the change request.

USAGE
  $ sf simply cicd build generate-flow-diff --from <value> --to <value> --project-access-token <value> [--json] [--flags-dir <value>]
    [--vcs-host <value>] [--vcs-provider github|gitlab] [--ci-project-id <value>] [--ci-merge-request-iid <value>]
    [--ci-repository <value>] [--ci-pull-request-number <value>] [--ci-run-id <value>] [--ci-server-url <value>]
    [--ci-commit-sha <value>] [--out <value>] [--debug] [--disabled]

FLAGS
  --ci-commit-sha=<value>           [env: SIMPLY_CICD_CI_COMMIT_SHA] Commit SHA to attribute the posted diff to.
  --ci-merge-request-iid=<value>    [env: SIMPLY_CICD_CI_MERGE_REQUEST_IID] GitLab only: internal ID of the merge
                                    request to post the diff to.
  --ci-project-id=<value>           [env: SIMPLY_CICD_CI_PROJECT_ID] GitLab only: numeric CI project ID of the project
                                    to post the diff to.
  --ci-pull-request-number=<value>  [env: SIMPLY_CICD_CI_PULL_REQUEST_NUMBER] GitHub only: number of the pull request to
                                    post the diff to.
  --ci-repository=<value>           [env: SIMPLY_CICD_CI_REPOSITORY] GitHub only: repository to post the diff to, as
                                    owner/repo.
  --ci-run-id=<value>               [env: SIMPLY_CICD_CI_RUN_ID] GitHub only: Actions run ID, used to build links back
                                    to the run's artifacts.
  --ci-server-url=<value>           [env: SIMPLY_CICD_CI_SERVER_URL] GitHub only: server URL, for instances other than
                                    github.com.
  --debug                           [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled                        [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
                                    running it.
  --from=<value>                    (required) Base commit SHA to diff from.
  --out=<value>                     Output directory or file path for the delta results.
  --project-access-token=<value>    (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] Project access token used to post
                                    the diff results back to the merge request.
  --to=<value>                      (required) Head commit SHA to diff to.
  --vcs-host=<value>                [env: SIMPLY_CICD_VCS_HOST] Hostname of the VCS instance hosting this project.
  --vcs-provider=<option>           [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The VCS platform hosting this
                                    project.
                                    <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Generate a Flow delta between two commits and post the results to the change request.

  Runs the upstream `flow-delta` binary to diff `**/*.flow-meta.xml` files between `--from` and `--to`, then the
  reporter binary for the platform `--vcs-provider` selects — `flow-delta-gitlab` or `flow-delta-github` — to post the
  results back to the merge or pull request. Failures are logged, not thrown — a diff-posting step shouldn't fail the
  build.

EXAMPLES
  $ sf simply cicd build generate-flow-diff --ci-project-id 123 --ci-merge-request-iid 45 --from abc123 --to def456 --project-access-token glpat-...

  $ sf simply cicd build generate-flow-diff --vcs-provider github --ci-repository my-org/my-repo --ci-pull-request-number 45 --ci-run-id 987 --from abc123 --to def456 --project-access-token ghp-...

See code: lib/commands/simply/cicd/build/generate-flow-diff.js

sf simply cicd build install-dependencies

Install packaged dependencies into the scratch org created by build create-scratch.

USAGE
  $ sf simply cicd build install-dependencies [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug] [--disabled] [--install-type
    All|Delta|Upgrade]

FLAGS
  --debug                  [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled               [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
  --install-type=<option>  [default: Upgrade] The type of dependency installation to perform.
                           <options: All|Delta|Upgrade>
  --jwt-key-file=<value>   [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to re-authenticate the
                           scratch org (or its Dev Hub) when it was JWT-authenticated. Not needed when the Dev Hub was
                           authenticated via web login or an SFDX auth URL — the scratch org's own refresh token is used
                           instead.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Install packaged dependencies into the scratch org created by `build create-scratch`.

  Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, and installs its
  packaged dependencies.

  Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).

EXAMPLES
  $ sf simply cicd build install-dependencies --jwt-key-file ./server.key

See code: lib/commands/simply/cicd/build/install-dependencies.js

sf simply cicd build lwc-jest

Install the LWC Jest test libraries and run the project's LWC Jest tests with coverage.

USAGE
  $ sf simply cicd build lwc-jest [--json] [--flags-dir <value>] [--debug] [--disabled]

FLAGS
  --debug     [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled  [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Install the LWC Jest test libraries and run the project's LWC Jest tests with coverage.

  Installs `@salesforce/sfdx-lwc-jest` and `@sa11y/jest`, then runs `sfdx-lwc-jest --coverage -- --passWithNoTests`.
  Failures are logged, not thrown.

EXAMPLES
  $ sf simply cicd build lwc-jest

See code: lib/commands/simply/cicd/build/lwc-jest.js

sf simply cicd build push-scratch

Push source to the scratch org created by build create-scratch.

USAGE
  $ sf simply cicd build push-scratch [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug] [--disabled]
    [--ignore-warnings] [--scratch-org-source-dir <value>]

FLAGS
  --debug                           [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disabled                        [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of
                                    running it.
  --ignore-warnings                 Append --ignore-warnings to the underlying sf project deploy start call.
  --jwt-key-file=<value>            [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to
                                    re-authenticate the scratch org (or its Dev Hub) when it was JWT-authenticated. Not
                                    needed when the Dev Hub was authenticated via web login or an SFDX auth URL — the
                                    scratch org's own refresh token is used instead.
  --scratch-org-source-dir=<value>  Source directory to push to the scratch org, in addition to the default package
                                    directory.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Push source to the scratch org created by `build create-scratch`.

  Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, strips metadata
  types the scratch org push doesn't support (Einstein Conversation Agent file types), and runs `sf project deploy
  start`. When `--scratch-org-source-dir` is given, also deploys the default package directory's `seedMetadata.path`, if
  declared in `sfdx-project.json`.

  Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).

EXAMPLES
  $ sf simply cicd build push-scratch --jwt-key-file ./server.key

See code: lib/commands/simply/cicd/build/push-scratch.js

sf simply cicd build test-scratch

Run Apex tests against the scratch org created by build create-scratch.

USAGE
  $ sf simply cicd build test-scratch [--json] [--flags-dir <value>] [--jwt-key-file <value>] [--debug] [--disabled]
    [--disable-apex-tests]

FLAGS
  --debug                 [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --disable-apex-tests    Skip running Apex tests, without skipping the rest of the job.
  --disabled              [env: SIMPLY_CICD_DISABLED] Skip this job entirely, logging a warning instead of running it.
  --jwt-key-file=<value>  [env: SIMPLY_CICD_JWT_KEY_FILE] Path to the JWT private key file used to re-authenticate the
                          scratch org (or its Dev Hub) when it was JWT-authenticated. Not needed when the Dev Hub was
                          authenticated via web login or an SFDX auth URL — the scratch org's own refresh token is used
                          instead.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Run Apex tests against the scratch org created by `build create-scratch`.

  Reads `SCRATCH_ORG_INFO.json` (written by `build create-scratch`), authenticates as that scratch org, and runs its
  Apex tests with `RunLocalTests`.

  Skipped automatically when `PACKAGE_CHANGED=FALSE` is set in the environment (see `build determine-package-changes`).

EXAMPLES
  $ sf simply cicd build test-scratch --jwt-key-file ./server.key

See code: lib/commands/simply/cicd/build/test-scratch.js

sf simply cicd deploy happy-soup deploy-unpackaged

Run the deploy-unpackaged stage of a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup deploy-unpackaged --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
    [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
    <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
    [--vcs-provider github|gitlab]

FLAGS
  --alias=<value>                 (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-job-token=<value>          (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
                                  read-only repository clones.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>    [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
                                  not provided, derived from --source-branch-name.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --source-branch-name=<value>    [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
                                  to derive the deployment config file path if --deploy-config-file is not provided.
  --start-from=<value>            Start (or resume) the deployment from a specific job name, overriding the progress
                                  file.
  --test-level=<value>            [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
  --test-suite=<value>            [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
                                  --test-level.
  --tests=<value>                 [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Run the deploy-unpackaged stage of a happy-soup deployment.

  Runs the `bin/unpackagedDeploy.sh` script (if present) for each configured deployment that participates in this stage,
  cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.

EXAMPLES
  $ sf simply cicd deploy happy-soup deploy-unpackaged --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat

See code: lib/commands/simply/cicd/deploy/happy-soup/deploy-unpackaged.js

sf simply cicd deploy happy-soup deployment-close-out

Archive the deployment config file used for a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup deployment-close-out --ci-commit-ref-name <value> --ci-pipeline-id <value> --ci-project-path <value>
    --project-access-token <value> [--json] [--flags-dir <value>] [--debug] [--deploy-config-file <value>]
    [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--deploy-release-date <value>] [--source-branch-name
    <value>] [--vcs-host <value>] [--vcs-provider github|gitlab]

FLAGS
  --ci-commit-ref-name=<value>    (required) [env: SIMPLY_CICD_CI_COMMIT_REF_NAME] The commit ref (branch) to fetch and
                                  switch to before archiving.
  --ci-pipeline-id=<value>        (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] The CI pipeline ID, used to build the
                                  authenticated push remote.
  --ci-project-path=<value>       (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] The project path (e.g. group/project),
                                  used to build the authenticated push remote.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>    [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file to
                                  archive, if --deploy-release-date is not provided.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-release-date=<value>   The release date (e.g. 2026-01-15) used to resolve the source file as
                                  `deployment-configs/<date>.json`, taking priority over --deploy-config-file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --project-access-token=<value>  (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] A project access token with write
                                  access, used to push the archive commit.
  --source-branch-name=<value>    [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
                                  to derive the deployment config file path if --deploy-config-file is not provided.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Archive the deployment config file used for a happy-soup deployment.

  Fetches and switches to the commit ref, then copies the deployment config file that was used (either
  --deploy-release-date resolved to `deployment-configs/<date>.json`, or the explicit/derived deploy config file) to
  `config/deploy.json` and commits it. If no source file can be found, an existing obsolete `config/deploy.json` is
  removed instead. Both cases push the change with a `[skip ci]` commit message.

EXAMPLES
  $ 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

See code: lib/commands/simply/cicd/deploy/happy-soup/deployment-close-out.js

sf simply cicd deploy happy-soup install-packaged

Install packaged dependencies into the target org for a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup install-packaged --alias <value> [--json] [--flags-dir <value>] [--vcs-host <value>] [--vcs-provider
    github|gitlab] [--debug] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--install-type
    All|Delta|Upgrade] [--packaging-devhub <value>]

FLAGS
  --alias=<value>                 (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --install-type=<option>         [default: Upgrade] The type of dependency installation to perform.
                                  <options: All|Delta|Upgrade>
  --packaging-devhub=<value>      [env: SIMPLY_CICD_PACKAGING_DEVHUB] Alias of the Dev Hub used to look up package
                                  version information for upgraded packages. Must already be authenticated. Omitted
                                  entirely (with a warning) when not provided, skipping origin lookup for upgraded
                                  packages.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Install packaged dependencies into the target org for a happy-soup deployment.

  Installs the packaged dependencies declared in `sfdx-project.json` into the target org (`--alias`), which must already
  be authenticated. For every dependency that upgrades an already-installed package, records the previous/target version
  and origin commit information to the deploy progress file, for `notify happy-soup` to look up related stories from
  later.

EXAMPLES
  $ sf simply cicd deploy happy-soup install-packaged --alias my-org

See code: lib/commands/simply/cicd/deploy/happy-soup/install-packaged.js

sf simply cicd deploy happy-soup post-deploy

Run the post-deploy stage of a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup post-deploy --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
    [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
    <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
    [--vcs-provider github|gitlab]

FLAGS
  --alias=<value>                 (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-job-token=<value>          (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
                                  read-only repository clones.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>    [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
                                  not provided, derived from --source-branch-name.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --source-branch-name=<value>    [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
                                  to derive the deployment config file path if --deploy-config-file is not provided.
  --start-from=<value>            Start (or resume) the deployment from a specific job name, overriding the progress
                                  file.
  --test-level=<value>            [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
  --test-suite=<value>            [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
                                  --test-level.
  --tests=<value>                 [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Run the post-deploy stage of a happy-soup deployment.

  Runs the `bin/postDeploy.sh` script (if present) for each configured deployment that participates in this stage,
  cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.

EXAMPLES
  $ sf simply cicd deploy happy-soup post-deploy --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat

See code: lib/commands/simply/cicd/deploy/happy-soup/post-deploy.js

sf simply cicd deploy happy-soup post-destructive

Run the post-destructive stage of a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup post-destructive --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
    [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
    <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
    [--vcs-provider github|gitlab]

FLAGS
  --alias=<value>                 (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-job-token=<value>          (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
                                  read-only repository clones.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>    [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
                                  not provided, derived from --source-branch-name.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --source-branch-name=<value>    [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
                                  to derive the deployment config file path if --deploy-config-file is not provided.
  --start-from=<value>            Start (or resume) the deployment from a specific job name, overriding the progress
                                  file.
  --test-level=<value>            [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
  --test-suite=<value>            [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
                                  --test-level.
  --tests=<value>                 [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Run the post-destructive stage of a happy-soup deployment.

  Runs the `bin/postDestructive.sh` script (if present) for each configured deployment that participates in this stage,
  cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.

EXAMPLES
  $ sf simply cicd deploy happy-soup post-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat

See code: lib/commands/simply/cicd/deploy/happy-soup/post-destructive.js

sf simply cicd deploy happy-soup pre-destructive

Run the pre-destructive stage of a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup pre-destructive --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
    [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--source-branch-name
    <value>] [--start-from <value>] [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>]
    [--vcs-provider github|gitlab]

FLAGS
  --alias=<value>                 (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-job-token=<value>          (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
                                  read-only repository clones.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>    [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
                                  not provided, derived from --source-branch-name.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --source-branch-name=<value>    [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
                                  to derive the deployment config file path if --deploy-config-file is not provided.
  --start-from=<value>            Start (or resume) the deployment from a specific job name, overriding the progress
                                  file.
  --test-level=<value>            [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
  --test-suite=<value>            [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
                                  --test-level.
  --tests=<value>                 [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Run the pre-destructive stage of a happy-soup deployment.

  Runs the `bin/preDestructive.sh` script (if present) for each configured deployment that participates in this stage,
  cloning each repo fresh and resuming from the deployment progress file unless --start-from is given.

EXAMPLES
  $ sf simply cicd deploy happy-soup pre-destructive --ci-job-token $CI_JOB_TOKEN --alias my-org --source-branch-name release/uat

See code: lib/commands/simply/cicd/deploy/happy-soup/pre-destructive.js

sf simply cicd deploy happy-soup tag-deployment

Tag the current commit with details about a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup tag-deployment --ci-merge-request-iid <value> --ci-merge-request-project-url <value> --ci-pipeline-id <value>
    --ci-pipeline-url <value> --ci-project-path <value> --project-access-token <value> --alias <value> [--json]
    [--flags-dir <value>] [--debug] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--vcs-host <value>]
    [--vcs-provider github|gitlab]

FLAGS
  --alias=<value>                         (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-merge-request-iid=<value>          (required) [env: SIMPLY_CICD_CI_MERGE_REQUEST_IID] The merge request's
                                          internal ID (IID), used to build the merge request link in the tag message.
  --ci-merge-request-project-url=<value>  (required) [env: SIMPLY_CICD_CI_MERGE_REQUEST_PROJECT_URL] The project's URL,
                                          used to build the merge request link in the tag message.
  --ci-pipeline-id=<value>                (required) [env: SIMPLY_CICD_CI_PIPELINE_ID] The CI pipeline ID.
  --ci-pipeline-url=<value>               (required) [env: SIMPLY_CICD_CI_PIPELINE_URL] The CI pipeline URL, included in
                                          the tag message if provided.
  --ci-project-path=<value>               (required) [env: SIMPLY_CICD_CI_PROJECT_PATH] The project path (e.g.
                                          group/project), used to build the authenticated push remote.
  --debug                                 [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-progress-file=<value>          [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to
                                          the deployment progress file.
  --deploy-rules-file=<value>             [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path
                                          to the deployment rules file.
  --project-access-token=<value>          (required) [env: SIMPLY_CICD_PROJECT_ACCESS_TOKEN] A project access token with
                                          write access, used to push the tag.
  --vcs-host=<value>                      [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g.
                                          gitlab.com).
  --vcs-provider=<option>                 [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting
                                          platform to talk to.
                                          <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Tag the current commit with details about a happy-soup deployment.

  Authenticates to the target org, derives an org domain prefix from its instance URL, and creates an annotated git tag
  (`deployed--<org-domain-prefix>-<timestamp>`) recording the deployment time (America/New_York) and, if provided, the
  associated pipeline and merge request links. The tag is pushed to the source repository.

EXAMPLES
  $ 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

See code: lib/commands/simply/cicd/deploy/happy-soup/tag-deployment.js

sf simply cicd deploy happy-soup validate

Validate deployment configuration files for a happy-soup deployment.

USAGE
  $ sf simply cicd deploy happy-soup validate [--json] [--flags-dir <value>] [--deploy-config-file <value>] [--deploy-progress-file <value>]
    [--deploy-rules-file <value>] [--source-branch-name <value>]

FLAGS
  --deploy-config-file=<value>    [env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the deployment configuration file. If
                                  not provided, derived from --source-branch-name.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --source-branch-name=<value>    [env: SIMPLY_CICD_SOURCE_BRANCH_NAME] The source branch name for the deployment, used
                                  to derive the deployment config file path if --deploy-config-file is not provided.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Validate deployment configuration files for a happy-soup deployment.

  Validates the deployment config file (explicit, or derived from --source-branch-name) and, if --deploy-rules-file is
  given, the deployment rules file. A missing file is skipped with a warning; a malformed or schema-invalid file fails
  the command.

EXAMPLES
  $ sf simply cicd deploy happy-soup validate --source-branch-name release/uat

  $ sf simply cicd deploy happy-soup validate --deploy-config-file deployment-configs/uat.json --deploy-rules-file config/deploy-rules.json

See code: lib/commands/simply/cicd/deploy/happy-soup/validate.js

sf simply cicd deploy project deploy-unpackaged

Run the deploy-unpackaged stage of a project deployment.

USAGE
  $ sf simply cicd deploy project deploy-unpackaged --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--debug]
    [--deploy-config-file <value>] [--deploy-progress-file <value>] [--deploy-rules-file <value>] [--start-from <value>]
    [--test-level <value>] [--test-suite <value>] [--tests <value>] [--vcs-host <value>] [--vcs-provider github|gitlab]

FLAGS
  --alias=<value>                 (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-job-token=<value>          (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to authenticate
                                  read-only repository clones.
  --debug                         [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>    [default: config/deploy.json, env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to the
                                  deployment configuration file.
  --deploy-progress-file=<value>  [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path to the
                                  deployment progress file.
  --deploy-rules-file=<value>     [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path to the
                                  deployment rules file.
  --start-from=<value>            Start (or resume) the deployment from a specific job name, overriding the progress
                                  file.
  --test-level=<value>            [default: RunLocalTests, env: SIMPLY_CICD_TEST_LEVEL] The Apex test level to run.
  --test-suite=<value>            [env: SIMPLY_CICD_TEST_SUITE] The Apex test suite to run. If specified, overrides
                                  --test-level.
  --tests=<value>                 [env: SIMPLY_CICD_TESTS] Specific Apex tests to run.
  --vcs-host=<value>              [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g. gitlab.com).
  --vcs-provider=<option>         [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting platform
                                  to talk to.
                                  <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

DESCRIPTION
  Run the deploy-unpackaged stage of a project deployment.

  Runs the `bin/unpackagedDeploy.sh` script (if present) against the local project directory, resuming from the
  deployment progress file unless --start-from is given.

EXAMPLES
  $ sf simply cicd deploy project deploy-unpackaged --ci-job-token $CI_JOB_TOKEN --alias my-org

See code: lib/commands/simply/cicd/deploy/project/deploy-unpackaged.js

sf simply cicd deploy project install-packaged

Install packaged dependencies and the project's own package into the target org.

USAGE
  $ sf simply cicd deploy project install-packaged --ci-job-token <value> --alias <value> [--json] [--flags-dir <value>] [--vcs-host <value>]
    [--vcs-provider github|gitlab] [--debug] [--deploy-config-file <value>] [--deploy-progress-file <value>]
    [--deploy-rules-file <value>] [--subscriber-package-version-id <value>] [--install-type All|Delta|Upgrade]

FLAGS
  --alias=<value>                          (required) [env: SIMPLY_CICD_ALIAS] Salesforce org alias.
  --ci-job-token=<value>                   (required) [env: SIMPLY_CICD_CI_JOB_TOKEN] The CI job token used to
                                           authenticate read-only repository clones.
  --debug                                  [env: SIMPLY_CICD_DEBUG] Enable verbose debug logging.
  --deploy-config-file=<value>             [default: config/deploy.json, env: SIMPLY_CICD_DEPLOY_CONFIG_FILE] Path to
                                           the deployment configuration file.
  --deploy-progress-file=<value>           [default: DEPLOY_PROGRESS.json, env: SIMPLY_CICD_DEPLOY_PROGRESS_FILE] Path
                                           to the deployment progress file.
  --deploy-rules-file=<value>              [default: config/deploy-rules.json, env: SIMPLY_CICD_DEPLOY_RULES_FILE] Path
                                           to the deployment rules file.
  --install-type=<option>                  [default: Upgrade] The type of dependency installation to perform.
                                           <options: All|Delta|Upgrade>
  --subscriber-package-version-id=<value>  The subscriber package version ID (04t...) to install. If not provided, the
                                           ID is looked up from the git tag annotation at HEAD.
  --vcs-host=<value>                       [env: SIMPLY_CICD_VCS_HOST] The source-control host to talk to (e.g.
                                           gitlab.com).
  --vcs-provider=<option>                  [default: gitlab, env: SIMPLY_CICD_VCS_PROVIDER] The source-control-hosting
                                           platform to talk to.
                                           <options: github|gitlab>

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json