Skip to content

Commit 01c7a29

Browse files
docs: add contribution guide (#213)
Co-authored-by: Asad Ali <asad.ali@apimatic.io>
1 parent 8f09a6a commit 01c7a29

4 files changed

Lines changed: 202 additions & 33 deletions

File tree

.github/ISSUE_TEMPLATE/bug-report.md

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: 🐞 Bug
2+
description: Report a bug or an issue you've found
3+
title: "[Bug] <title>"
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this bug report!
10+
- type: checkboxes
11+
attributes:
12+
label: Is this a new bug?
13+
description: >
14+
In other words: Is this an error, flaw, failure or fault? Please search issues to see if someone has already reported the bug you encountered.
15+
options:
16+
- label: I believe this is a new bug
17+
required: true
18+
- label: I have searched the existing issues, and I could not find an existing issue for this bug
19+
required: true
20+
21+
- type: textarea
22+
attributes:
23+
label: Current Behavior
24+
description: A concise description of what you're experiencing.
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
attributes:
30+
label: Expected Behavior
31+
description: A concise description of what you expected to happen.
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
attributes:
37+
label: Steps To Reproduce
38+
description: Steps to reproduce the behavior.
39+
placeholder: |
40+
1. In this environment...
41+
2. With this config...
42+
3. Run '...'
43+
4. See error...
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
attributes:
49+
label: Environment
50+
description: |
51+
examples:
52+
- **OS**: Ubuntu 20.04
53+
- **Node.js Version**: Example: Node.js v18.17.1
54+
- **TypeScript Version**: Example: TypeScript 5.3.2
55+
- **Package Manager & Version**: Example: npm 9.8.1, yarn 1.22.19, pnpm 8.9.0
56+
- **Compiler / Runtime Details**: Example: If using tsc (mention: tsc --version), If using Bun: Bun v1.1.2, If using Deno: Deno 1.38.0
57+
- **Framework / Library Versions (if applicable)**: Example: React 18.2.0, Angular 16.0.0, Vue 3.3.4
58+
- **Browser Version (if applicable)**: Example: Chrome 120.0.6099.110, Firefox 118.0, Edge 115.0
59+
- **SDK Name**: PayPal (If you are using this library as a dependency, please name the parent SDK)
60+
value: |
61+
- **OS**:
62+
- **Node.js Version**:
63+
- **TypeScript Version**:
64+
- **Package Manager & Version**:
65+
- **Compiler / Runtime Details**:
66+
- **Framework / Library Versions (if applicable)**:
67+
- **Browser Version (if applicable)**:
68+
- **SDK Name**:
69+
render: markdown
70+
validations:
71+
required: true
72+
73+
- type: textarea
74+
id: logs
75+
attributes:
76+
label: Relevant log output
77+
description: |
78+
If applicable, log output to help explain your problem.
79+
render: shell
80+
validations:
81+
required: false
82+
83+
- type: textarea
84+
attributes:
85+
label: Additional Context
86+
description: |
87+
Links? References? Anything that will give us more context about the issue you are encountering!
88+
validations:
89+
required: false
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: ✨ Feature
2+
description: Propose a straightforward extension
3+
title: "[Feature] <title>"
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this feature request!
10+
- type: checkboxes
11+
attributes:
12+
label: Is this your first time submitting a feature request?
13+
description: >
14+
We want to make sure that features are distinct and discoverable,
15+
so that other members of the community can find them and offer their thoughts.
16+
Issues are the right place to request straightforward extensions of existing functionality.
17+
options:
18+
- label: I have searched the existing issues, and I could not find an existing issue for this feature
19+
required: true
20+
- label: I am requesting an extension of the existing functionality
21+
- type: textarea
22+
attributes:
23+
label: Describe the feature
24+
description: A clear and concise description of what you want to happen.
25+
validations:
26+
required: true
27+
- type: textarea
28+
attributes:
29+
label: Describe alternatives you've considered
30+
description: |
31+
A clear and concise description of any alternative solutions or features you've considered.
32+
validations:
33+
required: false
34+
- type: textarea
35+
attributes:
36+
label: Who will this benefit?
37+
description: |
38+
What kind of use case will this feature be useful for? Please be specific and provide examples, this will help us prioritize properly.
39+
validations:
40+
required: false
41+
- type: input
42+
attributes:
43+
label: Are you interested in contributing this feature?
44+
description: Let us know if you want to write some code, and how we can help.
45+
validations:
46+
required: false
47+
- type: textarea
48+
attributes:
49+
label: Anything else?
50+
description: |
51+
Links? References? Anything that will give us more context about the feature you are suggesting!
52+
validations:
53+
required: false

CONTRIBUTING.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Contributing to apimatic/apimatic-js-runtime
2+
3+
Thank you for your interest in contributing! 🎉 Your contributions help make this project better. We value open-source contributions to this library, please take a few minutes to review this guide before you start.
4+
5+
---
6+
7+
## 💡 How to Contribute
8+
9+
### 📌 1. Reporting Issues
10+
11+
- Search existing issues before opening a new one.
12+
- Use a **descriptive title** and provide clear steps to reproduce.
13+
- Include relevant logs, screenshots, or error messages.
14+
15+
### 🔧 2. Making Changes
16+
17+
#### Step 1: Create a Branch
18+
19+
- Create a new branch from `master`:
20+
```sh
21+
git checkout -b your-feature-name
22+
```
23+
24+
#### Step 2: Make Your Changes
25+
26+
- Follow the project's **coding standards**.
27+
- Add **unit tests** if applicable.
28+
- Ensure your changes **do not break existing functionality**.
29+
30+
#### Step 3: Commit Changes
31+
32+
- Use clear and descriptive commit messages:
33+
```sh
34+
git commit -m "feat: Add feature description"
35+
```
36+
37+
#### Step 4: Push & Open a PR
38+
39+
- Push your branch:
40+
```sh
41+
git push origin your-feature-name
42+
```
43+
- Open a **Pull Request (PR)** on GitHub:
44+
- Provide a clear **description** of the changes.
45+
- Mention related **issue numbers**.
46+
- Request a **review** from maintainers.
47+
- Make sure your changes clear all the **PR Checks**.
48+
49+
---
50+
51+
## 📜 License
52+
53+
By contributing, you agree that your contributions will be licensed under the project's [LICENSE](LICENSE).
54+
55+
---
56+
57+
💬 **Questions?**
58+
If you need help, feel free to open issues, we will be happy to help.
59+
60+
Happy Coding! 🚀

0 commit comments

Comments
 (0)