Skip to content

Commit 4d5b94a

Browse files
authored
Merge pull request #233 from vedansh-5/contriGuide
[MINOR] contributing guide
2 parents 5924b11 + 91a8de2 commit 4d5b94a

File tree

2 files changed

+126
-79
lines changed

2 files changed

+126
-79
lines changed

CONTRIBUTING.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Contributing to Scrum Helper
2+
3+
First off, thank you for considering contributing to Scrum Helper! It's people like you that make this such a great tool. We welcome any and all contributions.
4+
5+
This document provides guidelines for contributing to the project. Please feel free to propose changes to this document in a pull request.
6+
7+
## How Can I Contribute?
8+
9+
- **Reporting Bugs:** If you find a bug, please open an issue on our [GitHub Issues page](https://github.com/fossasia/scrum-helper/issues). Make sure to use the "Bug Report" template and provide as much detail as possible.
10+
- **Suggesting Enhancements:** If you have an idea for a new feature or an improvement to an existing one, you can open an issue using the "Feature or Enhancement Request" template.
11+
- **Pull Requests:** If you're ready to contribute code, we'd be happy to review your pull request.
12+
13+
## Setting Up Your Development Environment
14+
15+
1. **Fork & Clone the Repository**
16+
17+
```sh
18+
git clone https://github.com/YOUR_USERNAME/scrum-helper.git
19+
cd scrum-helper
20+
```
21+
22+
2. **Install Dependencies**
23+
24+
```sh
25+
npm install
26+
```
27+
28+
3. **Load the Extension in Your Browser**
29+
30+
- Go to `chrome://extensions` in your Chrome browser.
31+
- Enable "Developer Mode" (toggle in the top-right).
32+
- Click "Load unpacked" and select the `src` folder inside the cloned repository.
33+
34+
4. **Get a GitHub Personal Access Token (Recommended)**
35+
36+
To use Scrum Helper with authenticated requests (for higher rate limits and private repositories), you need a GitHub personal access token.
37+
38+
- **Go to GitHub Developer Settings:** Visit [https://github.com/settings/tokens](https://github.com/settings/tokens).
39+
- **Choose Token Type:** Select "Personal access tokens (classic)".
40+
- **Generate a New Token:** Give it a descriptive name (e.g., "Scrum Helper Dev").
41+
- **Create and Copy the Token:** Click "Generate token" and copy the token.
42+
- **Paste the Token in Scrum Helper:** Open the extension popup, go to settings, and paste your token into the "GitHub Token" field.
43+
44+
## Submitting a Pull Request
45+
46+
1. **Create a Branch:** Create a new branch for your feature or bug fix.
47+
2. **Make Your Changes:** Write your code and make sure to follow the project's style.
48+
3. **Format and Lint Your Code:** Before committing, run the following commands to ensure your code is clean and consistent.
49+
50+
```sh
51+
# Auto-format your code
52+
npm run format
53+
54+
# Check for any linting or formatting issues
55+
npm run check
56+
57+
# Automatically fix any fixable linting issues
58+
npm run fix
59+
```
60+
61+
4. **Commit and Push:** Commit your changes with a clear message and push them to your fork.
62+
5. **Open a Pull Request:** Go to the original repository and open a pull request. Please use the provided pull request template.
63+
64+
### Writing Meaningful Pull Requests
65+
66+
The release notes are automatically generated from merged pull requests. To ensure the release notes are clear and helpful, please:
67+
68+
1. **Write a descriptive title.** The PR title is the primary entry in the release notes. It should concisely summarize the change.
69+
2. **Provide a clear description.** The body of your PR should explain the "what" and "why" of your changes.
70+
71+
### Pull Request Labeling & Semantic Versioning
72+
73+
The project uses an automated release process that relies on pull request labels and titles to determine the semantic version. Please use one of the methods below.
74+
75+
**Method 1: Using Labels (Preferred)**
76+
77+
Apply **one** of the following labels to your pull request:
78+
79+
- `release:major`: For breaking changes.
80+
- `release:minor`: For new features or significant enhancements.
81+
- `release:patch`: For backward-compatible bug fixes or maintenance.
82+
- `release:none`: To exclude the change from the release notes.
83+
84+
**Method 2: Using PR Titles (Fallback)**
85+
86+
If no label is applied, the system will inspect your PR title for keywords like `major`, `feat`, `fix`, etc.
87+
88+
If you are unsure, a maintainer will apply the correct label before merging.
89+
90+
## Adding a New Language
91+
92+
You can add a new language to Scrum Helper for your own use or contribute it to the project.
93+
94+
1. **Create a Locale Folder**
95+
- Go to `src/_locales`.
96+
- Create a new folder named with the [ISO language code](https://developer.chrome.com/docs/extensions/reference/i18n/#localeTable) (e.g., `it` for Italian, `fr` for French).
97+
98+
2. **Add a `messages.json` File**
99+
- Copy the `messages.json` from `src/_locales/en/messages.json` or any other language as a template.
100+
- Translate only the `"message"` values into your language.
101+
**Do not translate the extension name ("Scrum Helper") or the footer ("Made with ❤️ by ...").**
102+
103+
3. **Test the Extension**
104+
- Reload the extension in your browser.
105+
- Change your browser or system language to your new locale (see your browser’s language settings).
106+
- The extension will use your translation automatically if your language is set.
107+
108+
> **You do not need to make a pull request to use your language locally.**
109+
110+
### Contributing Your Translation
111+
112+
If you want to share your translation with others:
113+
- Make a pull request with your new locale folder and `messages.json` file.
114+
- We recommend double-checking your translations for accuracy and clarity.
115+
116+
For more details, see the [Chrome i18n documentation](https://developer.chrome.com/docs/extensions/reference/i18n/)

README.md

Lines changed: 10 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,15 @@
7676
- Edit it in the window.
7777
- Copy the rich HTML using the `COPY` button.
7878

79+
## Contributing
80+
81+
We welcome contributions from the community! Whether it's reporting a bug, suggesting a new feature, or writing code, your help is appreciated.
82+
83+
Please read our **[Contributing Guide](CONTRIBUTING.md)** to learn how you can get involved.
84+
85+
## License
86+
87+
This project is licensed under the LGPL-2.1 License - see the [LICENSE](LICENSE) file for details.
7988

8089
## Screenshots
8190

@@ -104,8 +113,6 @@ $ npm install
104113
<!-- * For Firefox: Load it as a temporary add-on through `about:debugging` as described above. -->
105114

106115

107-
108-
109116
2. **Build the Extension**
110117
* For Chrome: Rebuild or reload the extension in your browser (`chrome://extensions` → Refresh your extension).
111118
<!-- * For Firefox: Reload the temporary add-on by going to `about:debugging` → "This Firefox" → Click "Reload" next to your extension. -->
@@ -147,36 +154,6 @@ $ npm install
147154

148155

149156

150-
## Adding a New Language
151-
152-
You can add a new language to Scrum Helper for your own use, or contribute it to the project.
153-
154-
### Using a New Language Locally
155-
156-
1. **Create a Locale Folder**
157-
- Go to `src/_locales`.
158-
- Create a new folder named with the [ISO language code](https://developer.chrome.com/docs/extensions/reference/i18n/#localeTable) (e.g., `it` for Italian, `fr` for French).
159-
160-
2. **Add a `messages.json` File**
161-
- Copy the `messages.json` from `src/_locales/en/messages.json` or any other language as a template.
162-
- Translate only the `"message"` values into your language.
163-
**Do not translate the extension name ("Scrum Helper") or the footer ("Made with ❤️ by ...").**
164-
165-
3. **Test the Extension**
166-
- Reload the extension in your browser.
167-
- Change your browser or system language to your new locale (see your browser’s language settings).
168-
- The extension will use your translation automatically if your language is set.
169-
170-
> **You do not need to make a pull request to use your language locally.**
171-
172-
### Contributing Your Translation
173-
174-
If you want to share your translation with others:
175-
- Make a pull request with your new locale folder and `messages.json` file.
176-
- We recommend double-checking your translations for accuracy and clarity.
177-
178-
For more details, see the [Chrome i18n documentation](https://developer.chrome.com/docs/extensions/reference/i18n/).
179-
180157

181158
## Release Process
182159

@@ -202,51 +179,5 @@ This part is performed manually by maintainers when it's time to publish a new v
202179
2. **Publishing**: The maintainer publishes the release from the GitHub UI.
203180
3. **Chrome Web Store Deployment**: Publishing the release triggers the "Publish to Chrome Web Store" workflow, which automatically packages the extension and uploads it for review.
204181

205-
## About contributing
206-
207-
- Follow the Issues and PRs templates as far as possible.
208-
- If you want to make a PR, please mention in the corresponding issue that you are working on it.
209-
210-
### Writing Meaningful Pull Requests
211-
212-
The release notes are automatically generated from the pull requests merged into `master`. To ensure the release notes are clear and helpful, please:
213-
214-
1. **Write a descriptive title.** The PR title is the primary entry in the release notes. It should concisely summarize the change.
215-
2. **Provide a clear description.** The body of your PR should explain the "what" and "why" of your changes. This context is invaluable for reviewers and for anyone looking back at the project's history.
216-
217-
### Pull Request Labeling & Semantic Versioning
218-
This project uses an automated release process that relies on pull request labels and titles to determine the semantic version for a new release. For your contribution to be included in the release notes, please use one of the methods below.
219-
220-
**Method 1: Using Labels (Preferred)**
221-
222-
The clearest way to signal the impact of your change is to apply **one** of the following labels to your pull request. This is the recommended approach.
223-
224-
- `release:major`: For breaking changes that are not backward-compatible.
225-
- `release:minor`: For new features or significant enhancements.
226-
- `release:patch`: For backward-compatible bug fixes, documentation updates, or maintenance.
227-
- `release:none`: To exclude the change from the release notes entirely.
228-
229-
**Method 2: Using PR Titles**
230-
231-
As a fallback, if no `release:*` label is applied, the system will inspect your pull request title for the following keywords (case-insensitive) to determine the version bump:
232-
233-
- `major`: For breaking changes.
234-
- `minor`: For new features.
235-
- `patch`, `fix`, `chore`, `documentation` : For bug fixes and other small changes.
236-
237-
If you are unsure which label to use, please write a clear and descriptive title, and a maintainer will apply the correct label before merging.
238182

239-
- Before making a PR, ensure your code is properly formatted and linted:
240-
- Format your code: This command automatically formats your code based on the project's style guidelines.
241-
```sh
242-
npm run format
243-
```
244-
- Check for issues: This command runs the formatter, linter, and import sorting on the requested files to enforce coding standards.
245-
```sh
246-
npm run check
247-
```
248-
- Fix linting errors: If the linter detects fixable issues, this command will automatically apply the necessary corrections.
249-
```sh
250-
npm run fix
251-
```
252-
- If you encounter any bugs, please report them at the [Issues page](https://github.com/fossasia/scrum_helper/issues).
183+
### If you encounter any bugs, please report them at the [Issues page](https://github.com/fossasia/scrum_helper/issues).

0 commit comments

Comments
 (0)