Generate professional resumes from your GitHub repositories.
Project description
🚀 GitResume
Transform your GitHub repositories into professional, ATS-optimized resumes using AI.
GitResume is a CLI tool that analyzes your local or remote repositories, extracts technical achievements, and generates impactful resume bullet points, tech stack summaries, and interview preparation materials.
✨ Features
- 🔍 Deep Analysis: Uses Tree-sitter to parse your code and understand the actual technical complexity.
- 🤖 Multi-LLM Support: Integrates with Gemini, OpenAI, Anthropic, and Groq via LiteLLM.
- 📄 Multiple Formats: Generates resumes in Markdown and structured JSON.
- 💻 Local-First: No need to upload your code to a 3rd party service. Analysis happens on your machine.
- 📊 Web Dashboard: View your generated resumes and analysis history in a beautiful local web interface.
- 🎯 Job Tailoring: Provide a job description to generate targeted achievements.
🚀 Quick Start
Installation
Choose your preferred installation method:
1. Via uv (Recommended)
uv tool install gitresume
2. Via pip
pip install gitresume
3. Via Docker
docker pull whoisjayd/gitresume
📖 Usage
1. Analyze a Repository
Point GitResume at any local folder or clone a remote repo to create an analysis artifact.
# Local
gitresume analyze ./my-awesome-project
# Docker
docker run -v $(pwd):/app/data -e GEMINI_API_KEY=$GEMINI_API_KEY whoisjayd/gitresume analyze /app/data/my-project
2. Generate a Resume
Use the analysis to generate a polished resume. You can optionally provide a job description for better targeting.
gitresume generate ./artifacts/my-awesome-project-run-id --jd "Senior Backend Engineer at Google"
3. View in Dashboard
Start the local dashboard to browse your artifacts and view your resumes.
gitresume web
4. Bulk Processing
Process multiple repositories at once using a text file, JSON, or CSV containing paths or URLs.
# Analyze multiple repos in parallel
gitresume bulk repos.txt --mode analyze --concurrency 10
🔧 Configuration
GitResume uses environment variables for API keys. You can set them in your shell or use an .env or env.yaml file.
See the Configuration Guide for a full list of environment variables.
| Variable | Description |
|---|---|
GEMINI_API_KEY |
Required for Gemini models (Default) |
OPENAI_API_KEY |
Required for OpenAI models |
ANTHROPIC_API_KEY |
Required for Claude models |
GITRESUME_MODEL |
Model string (e.g., gemini/gemini-1.5-flash) |
🏗 CLI Reference
For detailed command usage, see the CLI Reference.
📄 Documentation
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
Created with ❤ by Jaydeep Solanki.
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 gitresume-0.1.0.tar.gz.
File metadata
- Download URL: gitresume-0.1.0.tar.gz
- Upload date:
- Size: 261.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f576187262cc6e8f2a6e62f3a8893afb429c3d41a33c9949d4468a12802e7d4
|
|
| MD5 |
28b3de4fcc362f6db5b35a1e2376c3e5
|
|
| BLAKE2b-256 |
176b594e975f6e67b15ef19c541fde2745326577c3eed457bafa2bb9984e169a
|
File details
Details for the file gitresume-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gitresume-0.1.0-py3-none-any.whl
- Upload date:
- Size: 39.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
119a2f0a22837ea73b20dd44ff4f2f05e29adbc30f416018558a6d646a9e2f68
|
|
| MD5 |
9ccd3a6cd757ed19cd4700ca9990f80b
|
|
| BLAKE2b-256 |
965dc735e21f2f008b1eb6adf4d31c36403ad615c8d200b120e0febe64012e69
|