|
| 1 | +# Contributing Guide |
| 2 | + |
| 3 | +We welcome contributions of any size and skill level. Before contributing, |
| 4 | +please read the [Code of Conduct](./code-of-conduct.md) and follow the directions below: |
| 5 | + |
| 6 | +> [!Tip] |
| 7 | +> **New contributors:** Take a look at [https://github.com/firstcontributions/first-contributions](https://github.com/firstcontributions/first-contributions) for helpful information on contributing |
| 8 | +
|
| 9 | +## Recommended Communication Style |
| 10 | + |
| 11 | +1. Always leave screenshots for visual changes. |
| 12 | +2. Always leave a detailed description in the pull request. Leave nothing ambiguous for the reviewer. |
| 13 | +3. Always review your code first. Run the project locally and test it before requesting a review. |
| 14 | +4. Always communicate in the GitHub repository. Whether in the issue or the pull request, keeping the lines of communication open and visible to everyone on the team helps everyone around you. |
| 15 | + |
| 16 | +## Contributing (New/Edit) Words to the Dictionary |
| 17 | + |
| 18 | +Contributing new or edited words to the dictionary!? there are two primary ways you can contribute new words or edit existing ones: |
| 19 | + |
| 20 | +1. **Using the Jargons Editor (Highly Recommended):** |
| 21 | + The Jargons Editor is a user-friendly interface built to simplify the contribution process. You can add new words or edit existing ones directly through the visual editor. Visit [jargons.dev/editor](https://jargons.dev/editor) to get started. |
| 22 | + |
| 23 | +2. **Using GitHub UI or Other Means:** |
| 24 | + If you prefer to use the GitHub UI or other means, you can follow these steps: |
| 25 | + |
| 26 | + - **For New Words:** |
| 27 | + 1. Grab our predefined word template below |
| 28 | + ```md |
| 29 | + --- |
| 30 | + layout: ../../layouts/word.astro |
| 31 | + title: "title_here" |
| 32 | + --- |
| 33 | + content_here |
| 34 | + ``` |
| 35 | + 2. Fill in the word details in the template, ensuring accuracy and clarity. |
| 36 | + 3. Create a new file for the word in the `src/content/dictionary` folder. |
| 37 | + 4. Name the file in a slug format, e.g., `new-word.mdx`. |
| 38 | + 5. Submit your file as a pull request to the `main` branch of our repository. |
| 39 | + |
| 40 | + - **For Editing Existing Words:** |
| 41 | + 1. Locate the existing file for the word you wish to edit in the `src/content/dictionary` folder. |
| 42 | + 2. Make your edits directly to the file. |
| 43 | + 3. Submit your changes as a pull request to the `main` branch of our repository. |
| 44 | + |
| 45 | +## Contributing Issues & Pull Requests (PR) |
| 46 | + |
| 47 | +For contributions other than adding or editing words in the dictionary, please refer to the guidelines below. |
| 48 | + |
| 49 | +### Creating an Issue |
| 50 | + |
| 51 | +To create an Issue, please follow these steps: |
| 52 | + |
| 53 | +1. Search existing Issues before creating a new issue (to see if someone raised this already) |
| 54 | +2. If it doesn't exist create a new issue giving as much context as possible (please select the correct Issue type, for example `bug` or `feature`) |
| 55 | +3. If you wish to work on the Issue, Select the checkbox "I will like to work on this issue". |
| 56 | + |
| 57 | +### Working on an Issue |
| 58 | + |
| 59 | +If you wish to work on an open issue, please ask for it to be assigned to you and it will be assigned to you. |
| 60 | + |
| 61 | +> [!Important] |
| 62 | +> Only start working on an Issue (and open a Pull Request) when it has been assigned to you - this will prevent confusion, multiple people working on the same issue and work not being used |
| 63 | +
|
| 64 | +In case you get stuck while working on an issue you've been assigned, feel free to ask question openly in the comment. |
| 65 | + |
| 66 | +Please follow our [Code of Conduct](./code-of-conduct.md) in all your interactions with the project and its contributors. |
| 67 | + |
| 68 | +### Pull Requests (PR) |
| 69 | + |
| 70 | +We actively welcome your pull requests. However, you must ensure that **you are assigned** to an existing issue before working on a pull request, and you need to **link your work to the issue** in your PR form. |
| 71 | + |
| 72 | +1. Fork and clone the repo. |
| 73 | +2. Creating a new branch is a must. Before working on your changes, create a new branch from the default (`main`, `beta`, etc.) branch. Name your branch with something descriptive of your work, i.e., `add-navbar` or `fix/broken-links`. |
| 74 | +3. If you've added code that should be tested, add tests. |
| 75 | +4. If you've changed APIs, update the documentation. |
| 76 | +5. If you make visual changes, screenshots are required. |
| 77 | +6. Ensure the test suite passes. |
| 78 | +7. Make sure you address any lint warnings. |
| 79 | +8. If you improve the existing code or added a new npm package, please let us know in your PR description. |
| 80 | +9. Completing the PR form is required. Make sure to fill in the PR title, description, [link to an issue](https://help.github.com/en/github/writing-on-github/autolinked-references-and-urls), and all the necessary areas. |
| 81 | + |
| 82 | + - The title must begin with `feat:`, `fix:`, or anything related to your changes. <br /> **TIP:** You can follow your chosen option when [committing](#commits) your changes. |
| 83 | + |
| 84 | + - Unsolicited code is welcomed, but an issue is required to announce your intentions. |
| 85 | + |
| 86 | +#### Work in Progress |
| 87 | + |
| 88 | +GitHub supports [draft pull requests](https://github.blog/2019-02-14-introducing-draft-pull-requests/), which will disable the merge button until the PR is marked as ready for merge. |
| 89 | + |
| 90 | +#### Additional Resources |
| 91 | + |
| 92 | +- _[3 tips for getting your Pull Request reviewed on GitHub](https://youtu.be/cuMeC-eZJJ4)_ |
| 93 | + |
| 94 | +## Getting Started |
| 95 | + |
| 96 | +To contribute to jargons.dev, follow these steps: |
| 97 | + |
| 98 | +### Setting Up Projects Locally |
| 99 | + |
| 100 | +1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the repository to your own GitHub account. |
| 101 | +2. Clone the forked repository to your local machine. |
| 102 | +3. Check the project's [README](./README.md) to learn more on how to run the project locally. |
| 103 | + |
| 104 | +### Building |
| 105 | + |
| 106 | +To generate a production-ready version of your code, run: |
| 107 | + |
| 108 | +```shell |
| 109 | +npm run build |
| 110 | +``` |
| 111 | + |
| 112 | +## License |
| 113 | + |
| 114 | +By contributing to the jargons.dev project, you agree that your contributions will be licensed |
| 115 | +by a specific License. You can find this information in the `LICENSE` file of the repo you are contributing to. |
| 116 | + |
| 117 | +## Credits |
| 118 | + |
| 119 | +This document was created picking some ideas from the ones listed below |
| 120 | + |
| 121 | +- https://github.com/open-sauced/docs/blob/main/docs/contributing/introduction-to-contributing.md |
| 122 | +- https://github.com/EddieHubCommunity/BioDrop/blob/main/CONTRIBUTING.md |
0 commit comments