diff --git a/CONRTIBUTING.md b/CONRTIBUTING.md new file mode 100644 index 00000000..ae46f518 --- /dev/null +++ b/CONRTIBUTING.md @@ -0,0 +1,65 @@ +# Contributing + +## Development + +**1. Clone this repository...** + +```bash +$ git clone git@github.com:oclif/plugin-plugins.git +``` + +**2. Navigate into project & install development-specific dependencies...** + +```bash +$ cd ./plugin-plugins && yarn +``` + +**3. Write some code &/or add some tests...** + +```bash +... +``` + +**4. Test changes locally** + +To test using local dev script: + +``` +./bin/dev.js +``` + +To test inside an existing oclif CLI (must have [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins) installed): + +``` + plugins link --no-install + +``` + +See `plugins link` [documentation](https://github.com/oclif/plugin-plugins?tab=readme-ov-file#mycli-pluginslink-plugin) + +**5. Run tests & ensure they pass...** + +``` +$ yarn test +``` + +**6. Open a [Pull Request](https://github.com/oclif/plugin-plugins/pulls) for your work & become the newest contributor to `@oclif/plugin-plugins`! 🎉** + +## Pull Request Conventions + +We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). When opening a pull request, please be sure that either the pull request title, or each commit in the pull request, has one of the following prefixes: + +- `feat`: For when introducing a new feature. The result will be a new semver minor version of the package when it is next published. +- `fix`: For bug fixes. The result will be a new semver patch version of the package when it is next published. +- `docs`: For documentation updates. The result will be a new semver patch version of the package when it is next published. +- `chore`: For changes that do not affect the published module. Often these are changes to tests. The result will be _no_ change to the version of the package when it is next published (as the commit does not affect the published version). + +## What _not_ to contribute? + +### Dependencies + +It should be noted that our team does not accept third-party dependency updates/PRs. We use dependabot to ensure dependencies are staying up-to-date & will ship security patches for CVEs as they occur. If you submit a PR trying to update our dependencies we will close it with or without a reference to these contribution guidelines. + +### Tools/Automation + +Our core team is responsible for the maintenance of the tooling/automation in this project & we ask collaborators to kindly not make changes to these when contributing (ex. `.github/*`, `.eslintrc.json`, package.json `scripts`, etc.) diff --git a/README.md b/README.md index f2442a97..5f6b927d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ plugins plugin for oclif [![Version](https://img.shields.io/npm/v/@oclif/plugin-plugins.svg)](https://npmjs.org/package/@oclif/plugin-plugins) -[![Known Vulnerabilities](https://snyk.io/test/github/oclif/plugin-plugins/badge.svg)](https://snyk.io/test/github/oclif/plugin-plugins) [![Downloads/week](https://img.shields.io/npm/dw/@oclif/plugin-plugins.svg)](https://npmjs.org/package/@oclif/plugin-plugins) [![License](https://img.shields.io/npm/l/@oclif/plugin-plugins.svg)](https://github.com/oclif/plugin-plugins/blob/main/package.json) @@ -16,6 +15,14 @@ plugins plugin for oclif - [Aliases](#aliases) - [Environment Variables](#environment-variables) - [Commands](#commands) + - [`mycli plugins`](#mycli-plugins) + - [`mycli plugins:inspect PLUGIN...`](#mycli-pluginsinspect-plugin) + - [`mycli plugins:install PLUGIN...`](#mycli-pluginsinstall-plugin) + - [`mycli plugins:link PLUGIN`](#mycli-pluginslink-plugin) + - [`mycli plugins reset`](#mycli-plugins-reset) + - [`mycli plugins:uninstall PLUGIN...`](#mycli-pluginsuninstall-plugin) + - [`mycli plugins update`](#mycli-plugins-update) +- [Contributing](#contributing) # What is this? @@ -88,13 +95,21 @@ For removing plugins that are no longer needed (either because they're sunset or -- [`mycli plugins`](#mycli-plugins) -- [`mycli plugins:inspect PLUGIN...`](#mycli-pluginsinspect-plugin) -- [`mycli plugins:install PLUGIN...`](#mycli-pluginsinstall-plugin) -- [`mycli plugins:link PLUGIN`](#mycli-pluginslink-plugin) -- [`mycli plugins reset`](#mycli-plugins-reset) -- [`mycli plugins:uninstall PLUGIN...`](#mycli-pluginsuninstall-plugin) -- [`mycli plugins update`](#mycli-plugins-update) +- [@oclif/plugin-plugins](#oclifplugin-plugins) +- [What is this?](#what-is-this) +- [Usage](#usage) +- [Friendly names](#friendly-names) +- [Aliases](#aliases) +- [Environment Variables](#environment-variables) +- [Commands](#commands) + - [`mycli plugins`](#mycli-plugins) + - [`mycli plugins:inspect PLUGIN...`](#mycli-pluginsinspect-plugin) + - [`mycli plugins:install PLUGIN...`](#mycli-pluginsinstall-plugin) + - [`mycli plugins:link PLUGIN`](#mycli-pluginslink-plugin) + - [`mycli plugins reset`](#mycli-plugins-reset) + - [`mycli plugins:uninstall PLUGIN...`](#mycli-pluginsuninstall-plugin) + - [`mycli plugins update`](#mycli-plugins-update) +- [Contributing](#contributing) ## `mycli plugins` @@ -282,3 +297,7 @@ DESCRIPTION _See code: [src/commands/plugins/update.ts](https://github.com/oclif/plugin-plugins/blob/4.3.7/src/commands/plugins/update.ts)_ + +# Contributing + +See [contributing guide](./CONRTIBUTING.md)