Pro-Level PR Authoring and Summaries
Learn how to enhance a CLI notes app by adding label-based filtering and craft a professional pull request using GitHub Copilot for commit messages, summaries.
You’ve just joined a small but fast-paced development team as a developer. The team is building a simple command-line interface (CLI) app called Notes CLI. This app helps users keep track of quick notes, categorizing them with labels such as "work"
and "personal"
.
A senior developer on the team has already written the initial version of the app, and committed it to a public GitHub repository. The basic functionality is in place: you can add a note, assign it a label, and list all saved notes.
However, there’s one important feature still missing:
The ability to filter notes by label when listing them.
Right now, the app’s list
command displays all notes, regardless of their label. As the next improvement, you’ve been assigned a task to implement this filtering functionality.
Your responsibilities include:
Cloning the existing project and setting up your workspace.
Modifying the CLI to support label-based filtering.
Testing your changes locally to ensure they work.
Creating a clean, readable commit message using GitHub Copilot.
Opening a professional pull request with a Copilot-generated description that clearly explains what changed and why.
This isn’t just about writing code: it’s about communicating your changes like a professional developer. GitHub Copilot will help guide your commit messages and PR summaries, but your job is to steer it, review what it writes, and polish it for clarity.
Step-by-step walkthrough
Let’s begin by preparing your workspace so you can safely make changes and collaborate through GitHub.
Clone the starter repo
To start, you’ll need to get a local copy of the starter codebase. This will allow you to explore the project and begin implementing your changes.
Open your terminal and run:
gh repo clone Educative-Content/Notes-CLI-Appcd Notes-CLI-App
This will create a folder called Notes-CLI-App
and download the current state of the app’s source code into it.
If you don’t have the GitHub CLI installed, run:
brew install gh # on macOS
Tip: You’re using the GitHub CLI (
gh
) instead of plaingit
. This tool makes it easier to work with forks, branches, commits, and pull requests, especially when combined with GitHub Copilot.
Fork the repository into your GitHub account:
As a junior developer, you won’t push directly to the original ...