Automate your GitHub repository tagging process with a single command!
add-github-topics is a powerful and lightweight Python CLI tool designed to help developers and maintainers programmatically manage their GitHub repository topics. Whether you are managing a single project or automating a large-scale migration, this tool simplifies the process of adding descriptive tags to your repositories.
Topics are essential for SEO on GitHub, making your projects more discoverable to the community! π
- β Smart Appending: Fetches existing topics first to avoid accidental overwrites.
- β Zero Config Defaults: Automatically detects username and repository name from your local git environment.
- β
Secure Token Handling: Supports
.envfiles for managing your GitHub Personal Access Token (PAT). - β Global CLI: Once installed, use it from any directory in your terminal.
- β Cross-Platform: Works seamlessly on Windows, macOS, and Linux.
Install the tool directly from PyPI:
pip install add-github-topicsSet your GitHub token in any of the following ways (in order of priority):
-
CLI Argument:
add-github-topic python --token ghp_your_token_here
-
Environment Variable:
- Bash / Zsh:
export GITHUB_TOKEN=ghp_your_token_here - PowerShell:
$env:GITHUB_TOKEN = "ghp_your_token_here"
- Bash / Zsh:
-
.envFile: Create a.envfile in your repository or home directory:GITHUB_TOKEN=ghp_your_token_here
(Also supports
GH_TOKENand legacyADMIN_TOKEN) -
GitHub CLI (
gh): If you already have GitHub CLI installed and logged in (gh auth login), the CLI will automatically fallback togh auth tokenwith zero manual configuration!
Run the command from within any git repository:
add-github-topic pythonadd-github-topic <topic> [options]| Option | Shortcut | Description | Default |
|---|---|---|---|
topics |
- | One or more topics to add (space- or comma-separated). | - |
--token |
-t |
Your GitHub Personal Access Token. | GITHUB_TOKEN, GH_TOKEN, ADMIN_TOKEN (environment / .env), or gh auth token |
--username, --owner |
-u |
Your GitHub username / organization. | Auto-detected from git remote origin |
--reponame, --repo |
-r |
Target repository name. | Auto-detected from git remote origin |
--list |
-l |
List all current topics for the repository. | false |
--remove |
-d |
Remove the specified topic(s) instead of adding. | false |
Add a single topic:
add-github-topic pythonAdd multiple topics in one go:
add-github-topic automation cli-tool devops
# or comma-separated
add-github-topic python,fastapi,dockerList current topics:
add-github-topic --listRemove topics:
add-github-topic --remove cli-toolTarget a specific repository and user/org:
add-github-topic machine-learning --username ishandutta2007 --reponame awesome-ml-projectContributions are welcome! If you'd like to improve this tool:
- Clone the repo:
git clone https://github.com/ishandutta2007/add-github-topics.git - Install in editable mode:
pip install -e . - Submit a Pull Request!
git tag v0.2.0 && git push origin v0.2.0
Made with β€οΈ by Ishan Dutta