- Please read our Code of Conduct.
- Please create a new issue here before starting any work so that we can also offer suggestions or let you know if there is already an effort in progress.
- Fork this repository (external contributors) or branch off
main(committers). - Create a topic branch based on
main. This is recommended but not required if contributing using a fork. - Edit the code in your fork/branch.
- Write appropriate tests for your changes. Try to achieve at least 95% code coverage on any new code. No pull request will be accepted without associated tests.
- Sign the Salesforce CLA.
- The CLI team will review your pull request and provide feedback.
- Once merged, a new release of
@salesforce/plugin-command-referencewill be published to npm.
- Install Node.js. Use the version specified in the
enginesfield of package.json. If you work with multiple Node versions, consider using nvm. - Install Yarn v1:
npm install --global yarn - Configure git commit signing.
External contributors are required to sign a Contributor License Agreement. You can do so by going to https://cla.salesforce.com/sign-cla.
- We work in branches off of
main. - Our release (aka. production) branch is
main. - Our work happens in topic branches (feature and/or bug-fix).
- Feature as well as bug-fix branches are based on
main - Branches should be kept up-to-date using
rebase
- Feature as well as bug-fix branches are based on
- Develop features and bug fixes in topic branches off main, or forks.
- Topic branches can live in forks (external contributors) or within this repository (internal contributors).
- When creating topic branches in this repository please prefix with
<initials>/. For example:mb/refactor-tests.
- When creating topic branches in this repository please prefix with
- Use conventional commits to drive semver versioning. Examples:
chore: my chore message--> No releasefix: my fix message--> Patch releasefeat: my feat message--> Minor release
- PRs will be reviewed and merged by the CLI team.
All changes must have associated tests.
- Run unit tests with
yarn test. Tests use the mocha framework and are located in thetestdirectory with the naming pattern<test-file>.test.ts.
Refer to the Salesforce CLI Plugin Developer Guide for debugging tips.
yarn build— Compile the TypeScript sourceyarn build --watch— Recompile automatically on file changesyarn test— Run unit testsyarn lint— Run the linter