Here’s an updated version of the CONTRIBUTING.md
file with your specific code of conduct and security issue guidelines:
Thank you for considering contributing to the sftasker
CLI plugin. This guide provides instructions on how to set up your environment, run tests, and submit contributions.
- Code of Conduct
- Getting Started
- Running the Project
- Creating a Pull Request
- Branching Model
- Commit Message Guidelines
- Security Issues
- License
This project adheres to the Code of Conduct outlined in this repository. By participating, you are expected to uphold this code. Please report unacceptable behavior through the appropriate channels outlined in the document.
To contribute, ensure you have the following installed:
- Node.js >= 18.0.0
- npm (we use npm instead of yarn)
- Salesforce CLI installed (optional for Salesforce-specific functionality)
-
Fork the repository from GitHub: hknokh/sftasker.
-
Clone your forked repository locally:
git clone https://github.com/YOUR-USERNAME/sftasker.git cd sftasker
-
Install dependencies:
npm install
-
Set up Husky for pre-commit hooks:
npx husky install
To compile the TypeScript files, use:
npm run compile
To ensure the code adheres to our linting rules, run:
npm run lint
We use ESLint with the Salesforce plugin rules to maintain code quality. Fix linting issues by running:
npm run lint -- --fix
We rely on mocha
for unit tests. To run tests, execute:
npm test
For NUT (non-unit test) specific testing, use:
npm run test:nuts
Before submitting your code, clean up any generated artifacts:
npm run clean
When you're ready to submit your changes:
-
Make sure your fork is up to date:
git checkout main git pull upstream main
-
Create a new branch for your feature or bug fix:
git checkout -b feature/my-feature
-
After making your changes, push them to your fork:
git push origin feature/my-feature
-
Open a pull request against the main repository from your fork.
- Keep PRs small and focused.
- Include appropriate test coverage for your changes.
- Ensure the code passes linting and tests before submitting.
- Link related issues in your PR description.
We follow a simplified Git Flow:
main
: The stable branch, ready for release.feature/branch-name
: Use this format for your feature or bug fix branches.
We use conventional commits for consistent commit history. Example format:
<type>(<scope>): <description>
[optional body]
[optional footer]
Common commit types:
feat
: A new featurefix
: A bug fixdocs
: Documentation changesstyle
: Formatting, missing semi colons, etc.; no code changerefactor
: Code change that neither fixes a bug nor adds a featuretest
: Adding or correcting testschore
: Build process or auxiliary tool changes
If you discover any security vulnerabilities, please report them by creating an issue in the repository's issue tracker. Use the provided security issue template when creating the issue to ensure all necessary information is included.
By contributing to sftasker
, you agree that your contributions will be licensed under the MIT License.
This updated CONTRIBUTING.md
reflects your own code of conduct and security issue process.