diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..825c32f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1 @@ +# Changelog diff --git a/CONTRIBUTING.MD b/CONTRIBUTING.MD deleted file mode 100644 index 176123e..0000000 --- a/CONTRIBUTING.MD +++ /dev/null @@ -1,36 +0,0 @@ -# Contributors Guide - -## Contributing to existing plugins - -## Creating a new plugin - -### Proposal - -### Development - -#### Setup - -**Add a library** -To create a new library in the monorepo, run the following command: - -```bash - -npx nx g @nx/js:lib [package-name] --directory=packages/[package-name] --projectNameAndRootFormat=as-provided --bundler=esbuild --unitTestRunner=vitest --module=esm --tags=scope:plugin - -``` - -**Add an e2e test project** - -To create a new e2e test project in the monorepo, run the following command: - -```bash -npx nx g @nx/js:lib e2e-[package-name] --directory=e2e/[package-name] --projectNameAndRootFormat=as-provided --bundler=none --unitTestRunner=vitest --tags=type:e2e -``` - - - -Notes: -- The project bundle-size is using the 'generatePackageJson' option which is deprecated for library projects. It should only be used for applications. - For libraries, configure the project to use the '@nx/dependency-checks' ESLint rule instead (https://nx.dev/nx-api/eslint-plugin/documents/dependency-checks). - -// generate testing helper lib testing/utils with name testing-utils diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8b59a9d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +# Contributing to Code-Pushup Community Plugins + +Welcome to the Code-Pushup Community Plugins repository! This space is designed for the community to create, share, and publish their own plugins. We're excited to see your contributions. + +## Minimum Requirements for Plugin Submissions + +To maintain high quality and usability standards, please ensure your plugin meets the following criteria before submission: + +### 1. Documentation +- Your code must be well-documented +- Include clear descriptions of functionality and usage +- Provide API documentation where applicable +- Provide a readme file in the root of your plugin, determining the plugin name, description, and usage instructions + +### 2. Testing Coverage +- Implement comprehensive unit tests +- Include integration tests +- Maintain good test coverage metrics + +### 3. Code Quality +- Code must be properly linted +- It must be formatted too + +### 4. Examples +- Include an `examples` directory in your plugin +- Provide at least one `basic-setup` example +- Ensure examples are: + - Easy to reproduce + - Quick to execute + - Demonstrate core functionality + - Well-documented with setup instructions + + +For reference, you can find plugins examples in our [CLI repository](https://github.com/code-pushup/cli/tree/main/packages), including plugins for ESLint, TypeScript, JSDoc, Lighthouse, and more. These can serve as templates for your own plugin implementation. + +We look forward to your contributions! If you have any questions, feel free to open an issue for discussion. \ No newline at end of file diff --git a/README.md b/README.md index cdea45a..9232208 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,39 @@ -✨ **This is the repository for all our plugin examples.** ✨ +✨ **Welcome to the Code-Pushup Community Plugins Repository!** ✨ + +This repository serves as a central hub for community-created plugins for Code-Pushup. Here you'll find a collection of plugins developed by the community to extend Code-Pushup's functionality. + +## What is Code-Pushup? + +Code-Pushup is a tool that helps you measure and track your code quality metrics. For more information, visit our [official website](https://code-pushup.dev). + +## Available Plugins + +This section will list community plugins as they are added. Each plugin will include: +- Brief description +- Installation instructions +- Basic usage example +- Link to detailed documentation + +## Creating Your Own Plugin + +Want to contribute? Great! You can create your own plugin and share it with the community. Check out our [CONTRIBUTING.md](./CONTRIBUTING.md) guide for: +- Minimum requirements +- Development guidelines +- Submission process + +For reference implementations, see our [official plugins](https://github.com/code-pushup/cli/tree/main/packages) in the CLI repository. + +## Getting Started + +1. Browse the available plugins +2. Follow each plugin's installation and setup instructions +3. Configure the plugin in your Code-Pushup configuration +4. Run Code-Pushup to start measuring your code quality + +## Need Help? + +- 🤔 Open an [issue](https://github.com/code-pushup/community-plugins/issues) for questions +- 🐛 Report bugs in the respective plugin's issue section