Contributing
Local development setup and contribution guidelines.
Issues and pull requests are welcome at github.com/b64hub/sfpm/issues.
Local development
pnpm install # install workspace deps
pnpm build # turbo build all packages
pnpm watch # rebuild on change
pnpm test # run vitest / mocha across the workspace
pnpm typecheck # tsc -b across the workspace
pnpm lint # eslint
pnpm format # prettierRepository layout
This is a pnpm + Turborepo monorepo:
| Package | Purpose |
|---|---|
@b64/sfpm-cli | The sfpm CLI (oclif). |
@b64/sfpm-core | Build/install orchestrators, artifact registry, lifecycle engine, project model. |
packages/actions | GitHub Actions wrapping the same flows for CI. |
packages/hooks | Pre/post-deploy hooks for tricky metadata. |
packages/orgs | Scratch org and pool management. |
packages/sfdmu | SFDMU data builder/installer integration. |
Contribution rules
Commits follow Conventional Commits (enforced by commitlint + Husky).
- Open an issue first for non-trivial changes.
- Use Conventional Commit messages (
feat:,fix:,chore:, …). - Run
pnpm lint && pnpm typecheck && pnpm testbefore pushing.
License
MIT.