Multi-Package Projects
If your sfdx-project.json defines multiple packageDirectories, sfdt can scope manifests and
deploys to one directory at a time. The package name is the last segment of the directory
path — e.g. force-app/feature-a → feature-a.
Scope a manifest to one package
sfdt manifest --package feature-a
sfdt manifest --package feature-a --name 1.2.0 # → rl-1.2.0-feature-a-package.xml
sfdt manifest --package all --name 1.2.0 # span all packages → rl-1.2.0-package.xmlThe git diff is restricted to that package’s directory, so the resulting package.xml contains
only its components.
Organize outputs per package
Set manifestLayout to subpath in .sfdt/config.json to write each package’s manifests into
its own subdirectory:
{ "manifestLayout": "subpath" }Result: manifest/release/feature-a/rl-1.2.0-package.xml.
Deploy a folder directly
When you want to deploy exactly what’s in a directory without generating a manifest:
sfdt deploy --source-dir force-app/feature-aThis runs sf project deploy start --source-dir under the hood, bypassing manifest selection.
Since v0.12.0, config load warns when a packageDirectories path in sfdx-project.json
doesn’t exist on disk, instead of failing later at deploy/manifest time.