Skip to content

Commit

Permalink
docs: add contribution guide
Browse files Browse the repository at this point in the history
Added CONTRIBUTING.md with guidelines on setup, coding standards,
branching strategy, and PR process to help contributors.
  • Loading branch information
hamzamahmood committed Feb 7, 2025
1 parent 8f09a6a commit d1f5c73
Show file tree
Hide file tree
Showing 4 changed files with 207 additions and 33 deletions.
33 changes: 0 additions & 33 deletions .github/ISSUE_TEMPLATE/bug-report.md

This file was deleted.

90 changes: 90 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: 🐞 Bug
description: Report a bug or an issue you've found
title: "[Bug] <title>"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: checkboxes
attributes:
label: Is this a new bug?
description: >
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.
options:
- label: I believe this is a new bug
required: true
- label: I have searched the existing issues, and I could not find an existing issue for this bug
required: true

- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing.
validations:
required: true

- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true

- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true

- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **Node.js Version**: Example: Node.js v18.17.1
- **TypeScript Version**: Example: TypeScript 5.3.2
- **Package Manager & Version**: Example: npm 9.8.1, yarn 1.22.19, pnpm 8.9.0
- **Compiler / Runtime Details**: Example: If using tsc (mention: tsc --version), If using Bun: Bun v1.1.2, If using Deno: Deno 1.38.0
- **Framework / Library Versions (if applicable)**: Example: React 18.2.0, Angular 16.0.0, Vue 3.3.4
- **Browser Version (if applicable)**: Example: Chrome 120.0.6099.110, Firefox 118.0, Edge 115.0
- **SDK Name**: PayPal (If you are using this library as a dependency, please name the parent SDK)
value: |
- **OS**:
- **Node.js Version**:
- **TypeScript Version**:
- **Package Manager & Version**:
- **Compiler / Runtime Details**:
- **Framework / Library Versions (if applicable)**:
- **Browser Version (if applicable)**:
- **Browser Version (if applicable)**:
- **SDK Name**:
render: markdown
validations:
required: true

- type: textarea
id: logs
attributes:
label: Relevant log output
description: |
If applicable, log output to help explain your problem.
render: shell
validations:
required: false

- type: textarea
attributes:
label: Additional Context
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
validations:
required: false
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: ✨ Feature
description: Propose a straightforward extension
title: "[Feature] <title>"
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: checkboxes
attributes:
label: Is this your first time submitting a feature request?
description: >
We want to make sure that features are distinct and discoverable,
so that other members of the community can find them and offer their thoughts.
Issues are the right place to request straightforward extensions of existing functionality.
options:
- label: I have searched the existing issues, and I could not find an existing issue for this feature
required: true
- label: I am requesting an extension of the existing functionality
- type: textarea
attributes:
label: Describe the feature
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: |
A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
mrafnadeem-apimatic marked this conversation as resolved.
- type: textarea
attributes:
label: Who will this benefit?
description: |
What kind of use case will this feature be useful for? Please be specific and provide examples, this will help us prioritize properly.
validations:
required: false
asadali214 marked this conversation as resolved.
- type: input
attributes:
label: Are you interested in contributing this feature?
description: Let us know if you want to write some code, and how we can help.
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the feature you are suggesting!
validations:
required: false
62 changes: 62 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Contributing to apimatic/apimatic-js-runtime

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.

---

## 💡 How to Contribute

### 📌 1. Reporting Issues

- Search existing issues before opening a new one.
- Use a **descriptive title** and provide clear steps to reproduce.
- Include relevant logs, screenshots, or error messages.

### 🔧 2. Making Changes

#### Step 1: Create a Branch

- Create a new branch from `master`:
```sh
git checkout -b your-feature-name
```

#### Step 2: Make Your Changes

- Follow the project's **coding standards**.
asadali214 marked this conversation as resolved.
- Add **unit tests** if applicable.
- Ensure your changes **do not break existing functionality**.

#### Step 3: Commit Changes

- Use clear and descriptive commit messages:
```sh
git commit -m "feat: Add feature description"
```

#### Step 4: Push & Open a PR

- Push your branch:
```sh
git push origin your-feature-name
```
- Open a **Pull Request (PR)** on GitHub:
- Provide a clear **description** of the changes.
- Mention related **issue numbers**.
- Request a **review** from maintainers.
mrafnadeem-apimatic marked this conversation as resolved.
- Make sure your changes clear all the **PR Checks**.

---

## 📜 License

By contributing, you agree that your contributions will be licensed under the project's [LICENSE](LICENSE).

---

💬 **Questions?**
If you need help, feel free to open issues, we will be happy to help.

Happy Coding! 🚀

0 comments on commit d1f5c73

Please sign in to comment.