From 4e8131fcdbfd81e15fe7a493b9b63cd2ed6b4eee Mon Sep 17 00:00:00 2001 From: soridalac Date: Mon, 2 Nov 2026 15:29:13 -0800 Subject: [PATCH 1/6] chore: update OSS compliance files --- CODEOWNERS | 2 ++ CONTRIBUTING.md | 38 ++++++++++++++++++++++++++++++++++++++ README.md | 30 ++++++------------------------ 3 files changed, 46 insertions(+), 24 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CODEOWNERS b/CODEOWNERS index 0ded67ad..37df2687 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,3 +3,5 @@ # Comment line immediately above ownership line is reserved for related other information. Please be careful while editing. #ECCN:Open Source +#GUSINFO:Platform CLI,Platform CLI +* @salesforcecli/cli diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..f6217d79 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,38 @@ +## Contributing + +1. Please create a new issue [here](https://github.com/forcedotcom/cli/issues) before starting any work so that we can also offer suggestions or let you know if there is already an effort in progress. +1. Sign the Salesforce [CLA](#cla). +1. The CLI team will review your pull request and provide feedback. +1. Once merged, a new release of `@salesforce/plugin-data` will be published to [npm](https://www.npmjs.com/package/@salesforce/plugin-data). + +### 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 `/`. For example: `mb/refactor-tests`. +- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) 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. This plugin uses a combination of unit testing and NUTs (non-unit tests). Refer to the [Salesforce CLI Plugin Developer Guide](https://developer.salesforce.com/docs/platform/salesforce-cli-plugin/guide/test-plugin.html) for testing details. + +## Debugging + +Refer to the [Salesforce CLI Plugin Developer Guide](https://developer.salesforce.com/docs/platform/salesforce-cli-plugin/guide/debug-plugin.html) for debugging tips. diff --git a/README.md b/README.md index 66f63e0b..d00c68b7 100644 --- a/README.md +++ b/README.md @@ -24,23 +24,7 @@ Please report any issues at https://github.com/forcedotcom/cli/issues ## Contributing -1. Please read our [Code of Conduct](CODE_OF_CONDUCT.md) -2. Create a new issue before starting your project so that we can keep track of what you are trying to add/fix. That - way, we can also offer suggestions or let you know if there is already an effort in progress. -3. Fork this repository. -4. [Build the plugin locally](#build) -5. Create a _topic_ branch in your fork. Note, this step is recommended but technically not required if contributing - using a fork. -6. Edit the code in your fork. -7. 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 unit tests. -8. Sign CLA (see [CLA](#cla) below). -9. Send us a pull request when you are done. We'll review your code, suggest any needed changes, and merge it in. - -### CLA - -External contributors will be required to sign a Contributor's License Agreement. You can do so by going -to https://cla.salesforce.com/sign-cla. +If you're interested in contributing, take a look at the [CONTRIBUTING](CONTRIBUTING.md) guide. ### Build @@ -51,23 +35,21 @@ To build the plugin locally, make sure to have yarn installed and run the follow git clone git@github.com:salesforcecli/plugin-data # Install the dependencies and compile -yarn install -yarn build +yarn && yarn build ``` -To use your plugin, run using the local `./bin/dev` or `./bin/dev.cmd` file. +To use your plugin, run using the local `./bin/run.js` file. ```bash # Run using local run file. -./bin/dev force:data +./bin/run.js data query --query "SELECT Id, Name FROM Account" -o myOrg@example.com ``` -There should be no differences when running via the Salesforce CLI or using the local run file. However, it can be -useful to link the plugin to do some additional testing or run your commands from anywhere on your machine. +There should be no differences when running via the Salesforce CLI or using the local run file. However, it can be useful to link the plugin to do some additional testing or run your commands from anywhere on your machine. ```bash # Link your plugin to the sf cli -sf plugins:link . +sf plugins link . # To verify sf plugins ``` From 6695a5f0fdabfaa02e6e4d8eb02c69335a08f9a5 Mon Sep 17 00:00:00 2001 From: soridalac Date: Mon, 2 Nov 2026 15:58:14 -0800 Subject: [PATCH 2/6] fix: update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d00c68b7..5247b98a 100644 --- a/README.md +++ b/README.md @@ -38,11 +38,11 @@ git clone git@github.com:salesforcecli/plugin-data yarn && yarn build ``` -To use your plugin, run using the local `./bin/run.js` file. +To use your plugin, run using the local `./bin/dev.js` or `./bin/dev.cmd` file. ```bash # Run using local run file. -./bin/run.js data query --query "SELECT Id, Name FROM Account" -o myOrg@example.com +./bin/dev.js data query --query "SELECT Id, Name FROM Account" -o myOrg@example.com ``` There should be no differences when running via the Salesforce CLI or using the local run file. However, it can be useful to link the plugin to do some additional testing or run your commands from anywhere on your machine. From ac27d2f03807e9caa6b1a93525b15aae81a41462 Mon Sep 17 00:00:00 2001 From: soridalac Date: Mon, 2 Nov 2026 17:19:13 -0800 Subject: [PATCH 3/6] chore: update OSS compliance files Co-Authored-By: Claude Opus 4.6 --- CONTRIBUTING.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f6217d79..0817e64d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,7 @@ ## Contributing 1. Please create a new issue [here](https://github.com/forcedotcom/cli/issues) before starting any work so that we can also offer suggestions or let you know if there is already an effort in progress. +1. Fork this repository. 1. Sign the Salesforce [CLA](#cla). 1. The CLI team will review your pull request and provide feedback. 1. Once merged, a new release of `@salesforce/plugin-data` will be published to [npm](https://www.npmjs.com/package/@salesforce/plugin-data). @@ -31,8 +32,38 @@ Agreement. You can do so by going to https://cla.salesforce.com/sign-cla. ## Testing -All changes must have associated tests. This plugin uses a combination of unit testing and NUTs (non-unit tests). Refer to the [Salesforce CLI Plugin Developer Guide](https://developer.salesforce.com/docs/platform/salesforce-cli-plugin/guide/test-plugin.html) for testing details. +All changes must have associated tests. This plugin uses a combination of unit testing and NUTs (non-unit tests). + +- Run unit tests with `yarn test`. Tests use the mocha framework and are located in the `test` directory with the naming pattern `.test.ts`. +- Run integration tests (NUTs) with `yarn test:nuts`. NUTs use the [cli-plugins-testkit](https://github.com/salesforcecli/cli-plugins-testkit) framework and run against the default devhub in your environment. ## Debugging Refer to the [Salesforce CLI Plugin Developer Guide](https://developer.salesforce.com/docs/platform/salesforce-cli-plugin/guide/debug-plugin.html) for debugging tips. + +## Local Development + +To run modified plugin commands locally, use `./bin/run.js` or `./bin/run.cmd` (Windows). Changes must be compiled with `yarn build` before they take effect. Use `yarn build --watch` to automatically recompile when files are saved. + +```bash +# Compile changes +yarn build + +# Run a command locally +./bin/run.js --help +``` + +To link the plugin to the Salesforce CLI for testing: + +```bash +sf plugins link . +sf plugins # verify +``` + +## Useful Yarn Commands + +- `yarn build` — Compile the TypeScript source +- `yarn build --watch` — Recompile automatically on file changes +- `yarn test` — Run unit tests +- `yarn test:nuts` — Run integration tests (NUTs) +- `yarn lint` — Run the linter From d60a60fdb49659e0a7f22f1d91d5261c3292cf3d Mon Sep 17 00:00:00 2001 From: soridalac Date: Mon, 2 Nov 2026 17:43:24 -0800 Subject: [PATCH 4/6] chore: update OSS compliance files Co-Authored-By: Claude Opus 4.6 --- CONTRIBUTING.md | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0817e64d..d99930c4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,20 @@ ## Contributing 1. Please create a new issue [here](https://github.com/forcedotcom/cli/issues) before starting any work so that we can also offer suggestions or let you know if there is already an effort in progress. -1. Fork this repository. +1. Fork this repository (external contributors) or branch off `main` (committers). +1. Create a topic branch based on `main`. This is recommended but not required if contributing using a fork. +1. Edit the code in your fork/branch. +1. 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. 1. Sign the Salesforce [CLA](#cla). 1. The CLI team will review your pull request and provide feedback. 1. Once merged, a new release of `@salesforce/plugin-data` will be published to [npm](https://www.npmjs.com/package/@salesforce/plugin-data). +### One-Time Setup + +1. Install [Node.js](https://nodejs.org). Use the version specified in the `engines` field of package.json. If you work with multiple Node versions, consider using [nvm](https://github.com/nvm-sh/nvm). +1. Install [Yarn](https://yarnpkg.com): `npm install --global yarn` +1. Configure [git commit signing](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). + ### CLA External contributors are required to sign a Contributor License @@ -41,25 +50,6 @@ All changes must have associated tests. This plugin uses a combination of unit t Refer to the [Salesforce CLI Plugin Developer Guide](https://developer.salesforce.com/docs/platform/salesforce-cli-plugin/guide/debug-plugin.html) for debugging tips. -## Local Development - -To run modified plugin commands locally, use `./bin/run.js` or `./bin/run.cmd` (Windows). Changes must be compiled with `yarn build` before they take effect. Use `yarn build --watch` to automatically recompile when files are saved. - -```bash -# Compile changes -yarn build - -# Run a command locally -./bin/run.js --help -``` - -To link the plugin to the Salesforce CLI for testing: - -```bash -sf plugins link . -sf plugins # verify -``` - ## Useful Yarn Commands - `yarn build` — Compile the TypeScript source From a406e157f647711d3d487e0bb678316e9213d453 Mon Sep 17 00:00:00 2001 From: soridalac Date: Tue, 3 Nov 2026 09:15:25 -0800 Subject: [PATCH 5/6] chore: update OSS compliance files Co-Authored-By: Claude Opus 4.6 --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d99930c4..3a16e6b0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,9 @@ ## Contributing +1. Please read our [Code of Conduct](CODE_OF_CONDUCT.md). 1. Please create a new issue [here](https://github.com/forcedotcom/cli/issues) before starting any work so that we can also offer suggestions or let you know if there is already an effort in progress. 1. Fork this repository (external contributors) or branch off `main` (committers). +1. [Build the plugin locally](README.md#build). 1. Create a topic branch based on `main`. This is recommended but not required if contributing using a fork. 1. Edit the code in your fork/branch. 1. 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. From 8c26e19fda5acb079a32d79b80be5fee3275ec9f Mon Sep 17 00:00:00 2001 From: soridalac Date: Tue, 3 Nov 2026 10:36:35 -0800 Subject: [PATCH 6/6] chore: update OSS compliance files Co-Authored-By: Claude Opus 4.6 --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3a16e6b0..3b0d0e0c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ ### One-Time Setup 1. Install [Node.js](https://nodejs.org). Use the version specified in the `engines` field of package.json. If you work with multiple Node versions, consider using [nvm](https://github.com/nvm-sh/nvm). -1. Install [Yarn](https://yarnpkg.com): `npm install --global yarn` +1. Install [Yarn v1](https://classic.yarnpkg.com): `npm install --global yarn` 1. Configure [git commit signing](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). ### CLA