Here’s a comprehensive list of GitHub functionality, including many of the "hidden gems" that provide extra features
-
Repositories
Standard Git repositories hosted on GitHub.
-
Templates
Special repos that can be used to create new projects with predefined structures.
-
GitHub Pages
Host static sites directly from the gh-pages branch or /docs folder.
-
Wikis
Built-in wikis for documenting projects.
-
Environments
Define different deployment stages (e.g., staging, production) with protected secrets.
-
Deployments
Track deployment states and statuses for your environments.
-
Actions Workflows
Automate tasks using YAML-based workflows in .github/workflows/.
-
Dependabot
Automatically checks for dependency updates.
-
README.md
Displays as the main project documentation.
-
CONTRIBUTING.md
Guidelines for contributing to the project.
-
CODE_OF_CONDUCT.md
Code of conduct for project contributors.
-
LICENSE
License information for open-source projects.
-
SECURITY.md
Security policy for reporting vulnerabilities.
-
ISSUE_TEMPLATE/ and PULL_REQUEST_TEMPLATE/
Templates for issues and pull requests.
-
FUNDING.yml
Links to funding sources, like Patreon or GitHub Sponsors.
-
CODEOWNERS
File to define code owners for specific files or paths, auto-adding them as reviewers.
-
Dependabot Config (.github/dependabot.yml)
Customize dependency update behavior.
-
GitHub Actions (.github/workflows/)
Define CI/CD and automation workflows.
-
.github Repository
Special repository for shared GitHub configuration files.
-
.github-private Repository
Special repository for private GitHub configuration files.
-
Issues
Track bugs, enhancements, and discussions.
-
Pull Requests
Collaborate on code changes before merging.
-
Discussions
Open-ended conversations separate from issues and PRs.
-
Projects
Kanban-style boards for managing issues and PRs.
-
Milestones
Group issues and PRs under project goals with deadlines.
-
Labels
Organize issues and PRs with tags.
-
Secrets
Store encrypted secrets (used in workflows or CI/CD).
-
Branch Protection Rules
Define rules to restrict access to branches.
-
Required Reviews
Require specific reviews before merging.
-
Dependency Graph
View dependencies and dependency vulnerabilities.
-
Security Advisories
Create advisories for known vulnerabilities in your project.
-
Vulnerability Alerts
Alerts when dependencies are affected by vulnerabilities.
-
Pulse
Activity metrics for issues, PRs, and commits.
-
Traffic Analytics
Track views, clones, and referrers.
-
Contributors Graph
Visualizes contributions over time.
-
Commits History
View all commits, organized by contributor or time frame.
-
Webhooks
Send repository events to external services.
-
OAuth Apps
Apps using OAuth for authentication.
-
GitHub Apps
Integrate custom apps to interact with GitHub API.
-
Marketplace
GitHub-approved apps and tools for various integrations.
-
GitHub Packages
Host and share packages and container images.
-
GitHub Event Bus
Event-driven architecture for GitHub integrations.
-
Actions Marketplace
Community actions for GitHub Actions workflows.
-
GraphQL API
GitHub API available via GraphQL.
-
REST API
Full GitHub REST API for interacting with resources.
-
GitHub CLI (gh)
Command-line interface to interact with GitHub.
-
Monorepos
Multi-project repository support, often with workflows tailored for them.
-
Archived Repositories
Mark repositories as read-only archives.
-
Forking
Create copies of repositories for personal work.
-
Submodules
Link to other repositories within a project.
-
GitHub Sponsors
Funding model for sponsoring open-source contributors.
-
Code Scanning
Detect vulnerabilities with integrated static analysis.
-
Secret Scanning
Detect accidentally committed secrets in your code.
-
Dependency Review
Shows dependency changes in pull requests for better security.
-
Notifications
Track notifications via email or on GitHub.
-
Saved Replies
Templates for common responses to issues and PRs.
-
Auto-merge
Enable auto-merging for PRs that meet specific conditions.