...

/

Pro-Level PR Authoring and Summaries

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.

Press + to interact

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:

  1. Cloning the existing project and setting up your workspace.

  2. Modifying the CLI to support label-based filtering.

  3. Testing your changes locally to ensure they work.

  4. Creating a clean, readable commit message using GitHub Copilot.

  5. 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-App
cd 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 plain git. 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 ...