First off, thank you for considering contributing to GitHub Clear! It's people like you that make this tool better for everyone.
By participating in this project, you are expected to uphold our Code of Conduct: be respectful, inclusive, and constructive.
Before creating bug reports, please check existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Describe the behavior you observed and what you expected
- Include screenshots if applicable
- Include your environment details (OS, Python version, browser)
Enhancement suggestions are welcome! Please provide:
- Use a clear and descriptive title
- Describe the enhancement in detail
- Explain why this enhancement would be useful
- List any alternatives you've considered
- Fork the repository and create your branch from
main - Install dependencies:
uv sync - Make your changes and ensure the code works
- Test your changes thoroughly
- Update documentation if needed
- Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/github-clear.git
cd github-clear
# Install dependencies
uv sync
# Copy environment file
cp .env.example .env
# Start development server
uv run uvicorn main:app --reload --port 8000- Follow PEP 8
- Use type hints where possible
- Write docstrings for functions and classes
- Use meaningful variable names
- Use modern ES6+ syntax
- Use
constandletinstead ofvar - Add comments for complex logic
- Use semantic HTML elements
- Keep CSS organized and commented
- Follow existing naming conventions
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Keep the first line under 50 characters
- Reference issues and pull requests when relevant
Examples:
Add custom social link feature
Fix profile preview not updating
Update README with Docker instructions
github-clear/
├── main.py # FastAPI routes and app entry
├── core/ # Core business logic
│ ├── github_api.py # GitHub API wrapper
│ ├── gitee_api.py # Gitee API wrapper
│ ├── profile_generator.py # Profile README generator
│ └── token_manager.py # Token management
├── templates/ # Jinja2 HTML templates
├── static/ # CSS, JS, images
│ ├── css/
│ └── js/
└── config/ # Configuration files
Feel free to open an issue with your question or reach out to the maintainers.
Thank you for contributing! 🎉