DEV Community

Cover image for Hacktoberfest Week 1: First Contribution...
TD
TD

Posted on • Updated on

Hacktoberfest Week 1: First Contribution...

For some, it's the month to watch scary movies. In contrast, for others, it is an opportunity to make valuable code contributions to open-source projects in a global event known as Hacktoberfest.

I began my hunt for projects using GitHub's topic search function, ignoring any entries that would disqualify me from participating in Hacktoberfest.

Finding a participating repository that matches my skill set proved to be complicated. I expressed my frustration to my professor, who quickly guided me in the correct direction.

First PR request

After extensive searching on GitHub, I saw Fig listed as one of the projects participating in Hacktoberfest.

What is Fig?

Fig is a CLI tool that brings GitHub Copilot-style autocompletion features to the command line on macOS. It is smart enough to provide accurate suggestions to commands you regularly use to avoid errors and save time.

My Contribution

I saw an issue filed by one of the code owners regarding Fig not having completion specs for ssh-keygen. I quickly navigated to the man pages for ssh-keygen online, and I felt good about creating a PR to close the issue.

Setting Up the Environment

Setting up the environment was easy. The maintainers did a great job making the well-documented guide on GitHub to help new Contributors get started. I later joined Fig's Slack channel, where everyone was welcoming and supportive.

I had one issue with authentication, which I resolved quickly on my own.

Adding Completion Specs for ssh-keygen

Writing completion specs for ssh-keygen was an overall fun experience. It required prior knowledge of JSON, some built-in javascript functions, and custom functions written for by the Fig team. I was able to familiarize myself with the official Fig API without any problems.

Outcome

Fig users can now easily use ssh-keygen as the CLI is currently configured to support its command syntax.

Usage

  • With Fig running, start by typing ssh-keygen followed by a <space>, and see the magic happen:

Image description

  • Now type ssh-keygen in the terminal with a valid option:

Image description

You can see the default value of an argument when you type an option that works with an argument, such as -a. Also, you can see the details of the argument that this particular option accepts.

  • If you use an option such as -K, Fig will automatically suggest you only the valid options that go with the -K option:

Image description

Final Thoughts

When I created the PR request, I was amazed by how swiftly my PR was approved and merged. I connected with my professor as soon as my first PR for Hacktoberfest was merged, to get his feedback. I told him how such a small contribution made me feel good about myself. He even tweeted about it:

I am grateful to those who acknowledged my minor contributions by offering encouraging feedback that bolstered my confidence.

Top comments (0)