Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 137 additions & 0 deletions FIRST_CONTRIBUTION_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# Contributing to Good-first-Issue

Thank you for your interest in contributing to this project! We welcome contributions from developers of all experience levels.

## Before You Start

Please:

1. Read the README.md file.
2. Check existing issues and pull requests before creating new ones.
3. Look for issues labeled `good first issue` if you're a new contributor.
4. Follow the coding standards and project structure.

---

## First-Time Contributors

If this is your first contribution, please read:

👉 FIRST_CONTRIBUTION_GUIDE.md

This guide provides a detailed walkthrough of the entire contribution process, including:

- Forking the repository
- Cloning locally
- Creating a feature branch
- Making changes
- Committing changes
- Pushing to GitHub
- Opening a Pull Request
- Addressing review comments
- Updating branches after changes are requested

---

## Contribution Workflow

### 1. Fork the Repository

Create your own copy of the repository on GitHub.

### 2. Clone Your Fork

```bash
git clone https://github.com/YOUR_USERNAME/Good-first-Issue.git
cd Good-first-Issue
```

### 3. Create a Branch

```bash
git checkout -b feature/your-feature-name
```

### 4. Make Your Changes

Implement your feature, bug fix, or documentation improvement.

### 5. Commit Changes

```bash
git add .
git commit -m "Add meaningful commit message"
```

### 6. Push Changes

```bash
git push origin feature/your-feature-name
```

### 7. Open a Pull Request

Open a Pull Request against the main repository and provide:

- Clear description of changes
- Screenshots (if applicable)
- Related issue number

---

## Pull Request Guidelines

Please ensure:

- Code builds successfully.
- Existing functionality is not broken.
- Changes are focused on a single issue.
- Documentation is updated where necessary.

---

## Code Reviews

Maintainers may request changes before merging.

When review comments are provided:

1. Make the requested updates.
2. Commit the changes.
3. Push the updates to the same branch.
4. The Pull Request will update automatically.

---

## Updating Your Branch

If the main branch has changed:

```bash
git checkout main
git pull upstream main

git checkout feature/your-feature-name
git merge main
```

Resolve any merge conflicts and push your changes again.

---

## Reporting Issues

When opening an issue, include:

- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots (if applicable)

---

## Questions

If you have any questions, feel free to open a discussion or issue.

Thank you for contributing!