Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 2.99 KB

CONTRIBUTING.md

File metadata and controls

58 lines (42 loc) · 2.99 KB

Contributing

  1. Please read our Code of Conduct.
  2. 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.
  3. Fork this repository (external contributors) or branch off main (committers).
  4. Create a topic branch based on main. This is recommended but not required if contributing using a fork.
  5. Edit the code in your fork/branch.
  6. 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.
  7. Sign the Salesforce CLA.
  8. The CLI team will review your pull request and provide feedback.
  9. Once merged, a new release of @salesforce/plugin-command-reference will be published to npm.

One-Time Setup

  1. Install Node.js. Use the version specified in the engines field of package.json. If you work with multiple Node versions, consider using nvm.
  2. Install Yarn v1: npm install --global yarn
  3. Configure git commit signing.

CLA

External contributors are required to sign a Contributor License Agreement. You can do so by going to https://cla.salesforce.com/sign-cla.

Branches

  • 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

Pull Requests

  • 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.
  • Use conventional commits to drive semver versioning. Examples:
    • chore: my chore message --> No release
    • fix: my fix message --> Patch release
    • feat: my feat message --> Minor release
  • PRs will be reviewed and merged by the CLI team.

Testing

All changes must have associated tests.

  • Run unit tests with yarn test. Tests use the mocha framework and are located in the test directory with the naming pattern <test-file>.test.ts.

Debugging

Refer to the Salesforce CLI Plugin Developer Guide for debugging tips.

Useful Yarn Commands

  • yarn build — Compile the TypeScript source
  • yarn build --watch — Recompile automatically on file changes
  • yarn test — Run unit tests
  • yarn lint — Run the linter