Skip to main content

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.

PyPI version Python License: MIT Build Status Docker Image Version GitHub Issues


✨ 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitresume-0.1.0.tar.gz (261.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitresume-0.1.0-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

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

Hashes for gitresume-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f576187262cc6e8f2a6e62f3a8893afb429c3d41a33c9949d4468a12802e7d4
MD5 28b3de4fcc362f6db5b35a1e2376c3e5
BLAKE2b-256 176b594e975f6e67b15ef19c541fde2745326577c3eed457bafa2bb9984e169a

See more details on using hashes here.

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

Hashes for gitresume-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 119a2f0a22837ea73b20dd44ff4f2f05e29adbc30f416018558a6d646a9e2f68
MD5 9ccd3a6cd757ed19cd4700ca9990f80b
BLAKE2b-256 965dc735e21f2f008b1eb6adf4d31c36403ad615c8d200b120e0febe64012e69

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page