From 96e6bade2776a5ee2663be2f25e09105f02eb1bb Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sun, 22 Dec 2024 20:49:45 +0100 Subject: [PATCH] feat(internals): Add CONTRIBUTING.md Fixes #324 --- .../CODE_OF_CONDUCT.md | 7 +- .github/CONTRIBUTING.md | 96 +++++++++++++++++++ LICENSE => .github/LICENSE | 0 .prettierignore | 2 + README.md | 28 ++---- 5 files changed, 106 insertions(+), 27 deletions(-) rename CODE_OF_CONDUCT.md => .github/CODE_OF_CONDUCT.md (83%) create mode 100644 .github/CONTRIBUTING.md rename LICENSE => .github/LICENSE (100%) diff --git a/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md similarity index 83% rename from CODE_OF_CONDUCT.md rename to .github/CODE_OF_CONDUCT.md index ed265881..74837c32 100644 --- a/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -38,12 +38,7 @@ This project, **Sheriff**, is a community-driven effort and is not sponsored by ### Contribution Guidelines -- Please ensure there is an open issue before creating a pull request. If an issue does not exist, consider opening one first to discuss your proposed changes. -- If you wish to discuss open points or share ideas that do not translate well into actionable issues, please open a Discussion instead under the appropriate [**Discussions** tab](https://github.com/AndreaPontrandolfo/sheriff/discussions). -- You can find additional guidelines for contributing in our [CONTRIBUTING.md](./CONTRIBUTING.md) file. -- Examples of useful contributions include fixing bugs, adding new features, improving documentation, or helping to triage and respond to issues. - -Your help is vital to ensure this project’s growth and sustainability. Together, we can build something exceptional. +Find the guidelines for contributing to this project in the [CONTRIBUTING.md](./CONTRIBUTING.md) file. ## Enforcement diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 00000000..cce7cae0 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,96 @@ +# Contributing to Sheriff + +First off, thank you for considering contributing to Sheriff! Your support and involvement are crucial to the success and improvement of this project. Sheriff is a community-driven effort, and we value contributions of all kinds. + +## Contribution Guidelines + +Sheriff thrives on community input. If you have ideas for new rules to implement or tweaks to existing ones, we encourage you to share them! Here’s how: + +- **Contributions Welcome**: Useful contributions include fixing bugs, adding new features, improving documentation, or helping to triage and respond to issues. +- **Create an Issue**: Please ensure there is an open issue before creating a pull request. If an issue does not exist, consider opening one first to discuss your proposed changes. +- **Check for Duplicates**: Before opening a new issue, ensure that a similar issue does not already exist. If you find a similar issue, consider upvoting the issue or adding a comment to the existing issue instead. +- **Good first issues**: if you want to contribute but don't know where to start, consider checking the [good first issue](https://github.com/AndreaPontrandolfo/sheriff/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) labeled issues. +- **Repro example**: If you are reporting a bug, consider providing a minimal reproducible example. This will ensure that the issue will be looked at earlier. +- **Use Discussions for Ideas**: If you wish to discuss open points or share ideas that do not translate well into actionable issues, please open a Discussion instead under the appropriate **[Discussions](https://github.com/AndreaPontrandolfo/sheriff/discussions)** tab. +- **Follow the Code of Conduct**: By contributing, you agree to abide by the project’s [Code of Conduct](./CODE_OF_CONDUCT.md). +- **Pass Quality Checks**: Pull requests will only be merged if they pass the quality checks performed by the `pnpm merge-checks` command. +- **Update Documentation**: Update documentation to reflect your changes, if applicable. + +## Development + +### Requirements + +- make sure Git is installed in your system +- make sure Nodejs 20.10.X is installed in your system +- make sure [Pnpm is installed](https://pnpm.io/installation) in your system. If you are not sure how to install it, use corepack: + + ```bash + corepack enable + ``` + +### Step-by-Step Guide + +1. Start by forking this repository to your own GitHub account. +2. Clone your fork locally with: + + ```bash + git clone https://github.com//sheriff.git + ``` + +3. Install all required dependencies using: + + ```bash + pnpm install + ``` + +4. Create a new branch for your feature or fix: + + ```bash + git checkout -b new-feature + ``` + +5. Implement your changes in the codebase. + + - If you need to update the documentation website, you can run it locally with: + + ```bash + pnpm dev:norebuild + ``` + + The website will be available at `http://localhost:3000`. + + - If you need test the CLI, you can run: + + ```bash + pnpm playground + ``` + + or: + + ```bash + pnpm playground:mimic-monorepo + ``` + +6. Add a `changeset`: + + ```bash + pnpm changeset + ``` + +7. Write clear, concise commit messages. Make sure to follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification: + + ```bash + git commit -am 'feat(context): added feature' + ``` + +8. Push your branch to your fork: + + ```bash + git push origin new-feature + ``` + +9. + +10. **Open a Pull Request**: Submit your changes by creating a pull request to the main repository. + +Thank you for helping make Sheriff a better project for everyone! diff --git a/LICENSE b/.github/LICENSE similarity index 100% rename from LICENSE rename to .github/LICENSE diff --git a/.prettierignore b/.prettierignore index 8d85f3fe..b9c9a28c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -43,3 +43,5 @@ pnpm-lock.yaml # MDX v3 *.mdx + +README.md \ No newline at end of file diff --git a/README.md b/README.md index c235687a..14d85060 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

+

Sheriff

@@ -6,9 +6,14 @@

✨ A comprehensive and opinionated Typescript-first ESLint configuration ✨

-

+
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) +[![npm downloads](https://img.shields.io/npm/dm/eslint-config-sheriff.svg?label=npm%20downloads&style=flat)](https://www.npmjs.com/package/eslint-config-sheriff) + +
+
+ ## 🥳 Overview @@ -29,25 +34,6 @@ Visit the [official docs](https://www.eslint-config-sheriff.dev) to get starte You can follow the latest updates on the project in the [official blog](https://www.eslint-config-sheriff.dev/blog). -## 🧡 Contributing - -### Suggestions - -I consider Sheriff a community effort, and I welcome suggestions and contributions of any kind. -Feel free to propose suggestions about new rules to implement, or tweaks to existing rules.
-Please use the discussions tab or the issues tab for new rules proposals. - -### Development - -1. Clone this repository -1. Enable Corepack using `corepack enable` -1. Install dependencies using `pnpm install` -1. Do the changes - -## 🌤 Changelog - -[Releases](https://github.com/AndreaPontrandolfo/sheriff/releases). - ## 💌 Acknowledgments For some of this configuration, [eslint-config-red](https://github.com/GrosSacASac/JavaScript-Set-Up/blob/master/js/red-javascript-style-guide/index.js) was partially used as a base.