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:
- Now type
ssh-keygen
in the terminal with a validoption
:
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:
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:
David Humphrey@humphdSeeing my students getting their 1st PRs merged for @hacktoberfest and finding their footing. One just got his work included with @fig:
"my first minor contribution to open source really boosted my confidence."
Thanks to all the maintainers reviewing and mentoring during Oct!20:16 PM - 04 Oct 2022
I am grateful to those who acknowledged my minor contributions by offering encouraging feedback that bolstered my confidence.
Top comments (0)