DEV Community

Harshil Patel
Harshil Patel

Posted on

First open-source project for Hacktoberfest 2024

First Contribution

I have registered for Hacktoberfest 2024, which means I will contribute to 4 PRs towards open-source projects. This blog is about the first PR I made towards an open-source project.


Issue Selection

In our open-source course at Seneca, we were instructed to begin Hacktoberfest with smaller issues so we don't get overwhelmed. Despite this advice, I initially explored larger projects like Visual Studio Code, Node, Express, React, and Next.js. However, I quickly became swamped by the complexity of the issues in these bigger repositories.

Afterwards, I shifted my focus to smaller repos, but my search was unsuccessful as I couldn't find a good repository to contribute to. Then, I remembered a repo called Chatcraft, which our professor had demoed in class. I began reviewing the issues in the repo, but unfortunately, there were no labels like good-first-issue to guide me. So, I decided to read through every issue manually. Eventually, I found an issue that had low complexity and seemed like a good fit for my first contribution.


The Process

The first thing I did was comment on the issue, expressing my interest in working on it and asking the maintainer to add the hacktoberfest label. Then, I forked the repo and cloned the forked repo to my local machine. Following this, I read the CONTRIBUTING.md file, which contained instructions on how to run Chatcraft locally.

Despite following every step, I encountered an error when trying to run Chatcraft. The error was related to a package issue. After searching the web for a solution, I found a suggestion to clear the package cache and reinstall the packages. This resolved the error, and I was able to proceed.

Next, I carefully read the issue description, and luckily, it mentioned which part of the code was responsible for the issue. The task was to add new logo images for different LLM models. I started by looking for logo images for models like Llama, Gemini, Phi, and Mixtral. After downloading the logos, I updated the code to return the new logos based on the selected model. I tested the changes, and everything worked as expected.


Feedback and Revisions

I uploaded screenshots of the test results in the issue's comment section and asked the maintainer for feedback. The maintainer replied, asking me to replace the current logos with ones that had a background color, as the transparent background was causing some visual issues.

I updated the logos with ones that had a background color and made the necessary changes to the code.


Pull Request

I submitted a PR with all the changes and added a detailed description of the work I had done. The maintainer reviewed the PR and requested that all logos be in PNG format, as one of the logos was in JPG format. Additionally, I was asked to reduce the logo sizes.

I converted all the logos to PNG, resized them as requested, and committed the changes. Finally, my PR was merged, and my Hacktoberfest score increased from 0 to 1.


Top comments (0)