An issue is a tracked item on a repository — a bug report, a feature request, or a task — living alongside the code itself rather than in a separate tool.
From a repository's Issues tab, "New issue" — a title, a description (Markdown supported, same as a README), and optional labels/assignee.
| Feature | Purpose |
|---|---|
| Labels | Categorize — bug, enhancement, documentation, good first issue |
| Assignees | Who's responsible for it |
| Milestones | Group issues toward a specific release or deadline |
| Comments | Discussion thread, same as a pull request's |
A specific phrase in a commit message or pull request description automatically closes the referenced issue once merged.
git commit -m "Fix login validation bug
Fixes #42"| Keyword | Effect when merged |
|---|---|
| Fixes #42 / Closes #42 | Automatically closes issue #42 |
| Refs #42 / Relates to #42 | Links to the issue without closing it |
GitHub Projects turns a repository's issues into a Kanban-style board (To Do / In Progress / Done) — genuinely useful for a small team or a solo developer planning work, without needing a separate tool like Trello.
A way to practice on a real project
Issues labeled "good first issue" on a real open-source project are specifically curated to be approachable for a first-time contributor — a practical, low-stakes way to practice the fork-and-pull-request workflow from the previous lesson on a real codebase.