// the find
dxatscale/sfpowerkit
A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows
sfpowerkit is a Salesforce DX CLI plugin that adds missing functionality to the standard SFDX toolchain: profile reconciliation, scratch org pooling, package dependency management, and incremental deployment diffs. It targets Salesforce development teams running CI/CD pipelines with unlocked packages. It is deprecated — the README says so up front, with functionality migrating to sfpowerscripts/sfp-cli.
Profile reconcile and merge commands solve a real and persistent pain point: the standard CLI pulls incomplete profiles unless all metadata is present, and sfpowerkit's reconcile command strips profiles down to only what exists in the target environment. The scratch org pooling system is genuinely useful for teams where scratch org creation time is a bottleneck — pre-warming orgs and fetching from a pool is a legitimate CI speedup. The project diff command producing deployable changesets from git commit ranges is practical for teams still on org-based deployment who can't deploy the full project each time. The package dependency install command, which resolves `.LATEST` version aliases against DevHub, addresses a real gap in the Salesforce packaging toolchain.
The project is deprecated with no ambiguity — the README leads with a deprecation warning and the last push was May 2023, so you are adopting a dead tool that will not receive security patches or API version updates. Salesforce API versions advance yearly and metadata structures change; commands that depend on specific API behaviors (profile retrieval, sandbox creation) will silently break or return incomplete results as the org moves ahead. The scratch org pooling feature requires a custom SObject schema installed in the DevHub, meaning adoption has a non-trivial setup cost that is now unowned. The TypeScript source mixes implementation logic into command files rather than keeping a clean separation, making it hard to extract individual capabilities if you wanted to fork and maintain a subset.