A tool to optimize GitHub repositories for better discoverability through improved descriptions, topics, and documentation
Project description
GitHub Repository SEO Optimizer 🔍

AI-powered toolkit to enhance GitHub repository visibility through automated SEO optimization of READMEs, metadata, and content.
Example workflow visualization
Features ✨
- Multi-LLM Support: Choose between 8+ AI providers (OpenAI, Anthropic, Gemini, etc.) or local rule-based engine
- Automated SEO Analysis: Comprehensive repository content evaluation
- Smart Content Generation: Optimized READMEs, descriptions, and topics
- GitHub Integration: Direct API interaction for seamless updates
- Commit Message Optimization: AI-generated conventional commit messages
- Pre-commit Hooks: Automatic optimization before commits
- Multi-format Output: Support for Markdown, JSON, and YAML
- Custom Rules Engine: Domain-specific optimization rules
Installation ⚙️
From PyPI (Recommended)
pip install repo-seo-optimizer
From Source
git clone https://github.com/chenxingqiang/repo-seo.git
cd repo-seo
pip install -e .
Development Installation
git clone https://github.com/chenxingqiang/repo-seo.git
cd repo-seo
pip install -e ".[dev]"
Usage 🚀
Basic Optimization
python -m repo_cli optimize \
--repo-url https://github.com/yourusername/your-repo \
--provider openai \
--update-readme \
--auto-commit
Advanced Configuration
# Local rules with custom config
python -m repo_cli optimize \
--repo-url . \
--provider local \
--config-path seo-rules.yaml \
--output-format markdown \
--dry-run
Pre-commit Hook
Add to .pre-commit-config.yaml:
repos:
- repo: https://github.com/yourusername/repo-seo
rev: v0.1.0
hooks:
- id: repo-seo
args: [--provider, local, --config-path, seo-rules.yaml]
Configuration ⚙️
Environment Variables
# .env file template
OPENAI_API_KEY=sk-your-key-here
GITHUB_TOKEN=ghp_your-token-here
ANTHROPIC_API_KEY=your-antropic-key
LOG_LEVEL=INFO
Configuration File (seo-rules.yaml)
rules:
keywords:
- github-seo
- repository-optimization
structure:
required_sections:
- Features
- Installation
- Usage
metadata:
min_description_length: 120
max_topics: 10
API Documentation 📚
CLI Options
| Option | Description | Default |
|---|---|---|
--repo-url |
Repository URL or local path | Required |
--provider |
AI provider (openai, anthropic, local, etc) | 'local' |
--config-path |
Path to custom rules config | 'seo-rules.yaml' |
--output-format |
Output format (markdown, json, yaml) | 'markdown' |
--update-readme |
Automatically update README.md | False |
--auto-commit |
Auto-commit changes with optimized message | False |
Contributing 🤝
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Requirements:
- Python 3.8+
- Black code formatting
- flake8 linting
- pytest for testing
License 📄
This project is licensed under the MIT License - see the LICENSE file for details.
Support & Community 💬
For help, feature requests, or discussions:
- Open a GitHub Issue
- Join our Discord Server
Roadmap 🗺️
- GitHub Actions integration
- Multi-language support (beyond English)
- Automated keyword research
- Visual SEO score dashboard
- Browser extension companion
This README includes:
1. Visual hierarchy with clear section headers
2. Multiple usage scenarios with code examples
3. Configuration details for different environments
4. API documentation in table format
5. Contribution guidelines with development requirements
6. Support channels and community links
7. Interactive roadmap and star history
8. Badges for quick project status overview
9. Visual placeholder for workflow diagram (replace with actual image)
10. Clear licensing and compliance information
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file github_repo_seo_optimizer-0.1.0.tar.gz.
File metadata
- Download URL: github_repo_seo_optimizer-0.1.0.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27c156b63c82d4b6a8f26f8a9d8d4fe8613b8400c22f589d8e8c4a74238545ee
|
|
| MD5 |
df2bccccd4dafd6c88fea7e96f84d4ed
|
|
| BLAKE2b-256 |
070b3365e96d5f102a05d7a57adf7790fd23dbd35462efd0aaccf093feb4935f
|
File details
Details for the file github_repo_seo_optimizer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: github_repo_seo_optimizer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9b19f8c58bc10fb8a8b81813745f14c289a9639eb4231e11e3f7e2624f6f0b4
|
|
| MD5 |
45ece43a13a4acad2ca4ff5cab02c379
|
|
| BLAKE2b-256 |
2addd71d44785112f81f5e46b11555a8b70d68c5932e936d73e8602cad3c4b73
|