GitHub: Issues, Projects & Discussions
Issue Templates
# .github/ISSUE_TEMPLATE/bug_report.yml
name: Bug Report
description: Something isn't working
labels: [bug, needs-triage]
assignees: [lead-dev]
body:
- type: markdown
attributes:
value: "Thanks for taking the time to report a bug!"
- type: input
id: version
attributes:
label: Version
placeholder: "1.2.3"
validations:
required: true
- type: textarea
id: description
attributes:
label: What happened?
description: A clear description of the bug
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce
value: |
1. Go to '...'
2. Click on '...'
3. See error
- type: dropdown
id: severity
attributes:
label: Severity
options: [Critical, High, Medium, Low]
validations:
required: trueIssues via CLI
# Create issues
gh issue create --title "Bug: login fails on mobile" --body "..." --label bug
gh issue create --title "Feature: dark mode" --template "feature_request.yml"
# List and view
gh issue list
gh issue list --state open --label "bug" --assignee "@me"
gh issue view 42
gh issue view 42 --web
# Update and close
gh issue edit 42 --add-label "in-progress" --remove-label "needs-triage"
gh issue close 42 --comment "Fixed in #45"
gh issue reopen 42GitHub Projects v2
Projects v2 is a spreadsheet-like project management tool with Board, Table, and Roadmap views. Supports custom fields, automation, and grouping.
Views: Board (kanban), Table (spreadsheet), Roadmap (timeline)
Custom fields: text, number, date, single select, iteration (sprints)
Automation: auto-assign status when PR is opened/merged, auto-archive closed issues
Insights: burn-up/burn-down charts based on custom fields
Cross-repo: a single Project can span multiple repositories
Linked to issues and PRs via "Projects" field in the issue sidebar
# Add issue to project
gh project item-add PROJECT_NUMBER --owner org --url ISSUE_URL
# List project items
gh project item-list PROJECT_NUMBER --owner org
# Update a project field
gh project item-edit --project-id PVT_xxx --id ITEM_ID \
--field-id FIELD_ID --single-select-option-id OPTION_IDCODEOWNERS
# .github/CODEOWNERS
# Auto-assign reviewers based on changed files
# Default owners for everything
* @myorg/core-team
# Frontend
/src/components/ @myorg/frontend-team
/src/styles/ @alice @bob
*.css @alice
# Backend
/src/api/ @myorg/backend-team
/src/db/ @charlie
# Infrastructure
/terraform/ @myorg/devops
/.github/ @myorg/devops
Dockerfile @myorg/devops
# Documentation
/docs/ @myorg/docs-team
*.md @myorg/docs-teamDiscussions
Discussions: forum-style Q&A and announcements separate from Issues
Categories: Q&A (mark answers), Announcements, Ideas, Show and Tell, General
Convert issue to discussion (and vice versa) — useful for feature requests
Pin discussions to the top of the Discussions tab
Lock discussion: prevent new comments while keeping it visible
GitHub Discussions API: automate creation via GraphQL
Keep your own version of these notes — editable, searchable, and organised by your stack.
Start free