GitHub Discussions is a collaboration feature that allows people to have conversations around a repository or project. It is useful for questions, ideas, announcements, polls, and community conversations that do not necessarily need to be tracked as issues.
GitHub Discussions provides a space for community members, contributors, and maintainers to communicate about a project.
Repository
↓
GitHub Discussions
↓
Questions + Ideas + Conversations + Announcements
Discussions are useful when a conversation does not fit naturally into a bug report or specific development task.
| Discussions | Issues |
|---|---|
| Designed for conversations | Designed for tracking work |
| Useful for questions and ideas | Useful for bugs and tasks |
| Community-focused communication | Action-oriented project tracking |
A discussion can be used when someone needs help understanding a project or wants to ask the community a question.
Title:
How can I configure the project locally?
Question:
What PHP version is required to run this project?
Discussions can be used to propose ideas before they become formal development tasks.
Title:
Idea: Add a dark mode
Description:
Would a dark mode be useful for the dashboard?
Community members can discuss the idea before a development decision is made.
Project maintainers can use discussions for announcements and important community information.
Examples include:
Repositories that enable Discussions can organize conversations into categories.
Typical categories may include:
The available categories depend on the repository configuration.
A General category can be used for conversations that do not fit into another specific category.
Category: General
Topic:
What are you building with this project?
A Q&A category can be used for questions and answers about a project.
Question:
How do I install the project?
Answer:
Clone the repository and follow
the installation instructions.
Idea discussions can be used to explore possible improvements or future features.
Category: Ideas
Idea:
Add an export-to-PDF feature to reports.
The community can discuss possible approaches and use cases.
A Show and Tell category can be used by contributors to share projects, experiments, integrations, or other work related to the community.
Title:
My first project using this framework
Description:
I created a small student management application.
When Discussions are enabled for a repository, an authorized user can create a new discussion from the repository's Discussions area.
A discussion normally includes:
A discussion title should clearly describe the topic.
Example:
How should I configure the database?
A descriptive title makes it easier for community members to understand the discussion.
The discussion body contains the question, idea, announcement, or other information you want to share.
## Question
I have installed the project locally.
## Problem
The database connection is not working.
## Environment
PHP 8
MySQL 8
Community members can reply to a discussion and continue the conversation.
Discussion
↓
Question
↓
Reply
↓
Additional Reply
↓
Solution / Conversation
In Q&A-style discussions, a helpful response can be marked as the answer when the repository's discussion features and permissions support it.
This helps other visitors identify a response that addresses the question.
GitHub discussions can support reactions that allow community members to respond to content without writing a full comment.
Reactions can help indicate agreement, appreciation, or other responses supported by the platform.
Discussion polls can be used to gather community opinions about a question or proposal when the feature is available in the repository's discussion setup.
Question:
Which feature should be developed next?
Option A: Dark Mode
Option B: PDF Export
Option C: Mobile App
Discussions can use labels when the repository configuration supports them.
Labels can help organize conversations by topic or purpose.
question
idea
feedback
announcement
A discussion may lead to actionable work that is better tracked as an issue.
Discussion
↓
Community Conversation
↓
Feature Decision
↓
GitHub Issue
↓
Development
↓
Pull Request
This separates open-ended discussion from specific development work.
A discussion can provide context for a future implementation, while a pull request is used to propose actual code changes.
Discussion
↓
Idea / Question
↓
Implementation
↓
Pull Request
↓
Code Review
Open-source projects can use Discussions to communicate with contributors and users.
Learning communities can use discussions to ask questions and share knowledge.
Question:
How does git rebase work?
Reply:
Rebase moves or reapplies commits
on top of another base commit.
Category: Q&A
Title:
How can I run this project locally?
Question:
I cloned the repository and installed
the dependencies. What command should
I use to start the application?
Answer:
Check the README installation section
for the required startup command.
Category: Ideas
Title:
Add a student attendance dashboard
Idea:
A dashboard showing attendance percentage,
absent days and monthly attendance could
help administrators.
Discussion:
What information should the dashboard
display?
Create Discussion
↓
Choose Category
↓
Write Title
↓
Explain Topic
↓
Community Replies
↓
Discussion / Feedback
↓
Decision
↓
Issue or Pull Request
↓
Development
GitHub Discussions provides a place for community conversations, questions, ideas, announcements, feedback, and other topics related to a repository.
GitHub Discussions
↓
Questions
Ideas
Announcements
Feedback
Community
↓
Decision
↓
Issue / Pull Request
↓
Development
Using discussions for conversation and issues for actionable work can help keep project communication organized.
Question: What is the main purpose of GitHub Discussions?