GitResolve is an npm library and CLI tool that turns messy candidate submissions — portfolio URLs, GitHub links, and resume PDFs — into clean, structured developer profiles. Feed it a URL or a PDF and get back a typed result with the candidate’s git identity, owned repositories, contributions, and a confidence score, ready to plug into any recruiting pipeline.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/clyrisai/gitresolve/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Resolve your first candidate profile in under 2 minutes using the CLI or TypeScript API.
CLI Guide
Full reference for all CLI flags, batch processing, output options, and provider selection.
API Reference
TypeScript API docs for
scrapePortfolio, parseResume, createProvider, and all exported types.Browser Providers
Configure fetch, Puppeteer, or Browserless to match your infrastructure and rendering needs.
What GitResolve Does
Classifies the input
Every input — a URL, a file path, a GitHub link — is classified into a type (
portfolio, git_profile, repo_url, resume_file, etc.) before any processing begins.Fetches or parses the source
Portfolio and profile URLs are scraped using your configured browser provider (fetch, Puppeteer, or Browserless). Resume PDFs are parsed via text extraction and hyperlink annotation extraction.
Extracts all git links
Every GitHub, GitLab, and Bitbucket URL found in the page HTML or PDF content is extracted and classified as a profile, repo, pull request, issue, or gist.
Disambiguates ownership
A cross-referencing algorithm determines which profile belongs to the candidate, separating owned repos from external references and contributions.
Supported Input Types
| Input | Example | What Happens |
|---|---|---|
| Portfolio site | https://janedoe.dev | Scrapes page for git links |
| GitHub profile | https://github.com/janedoe | Scrapes profile, discovers repos |
| GitLab profile | https://gitlab.com/janedoe | Scrapes profile, handles /users/ routes |
| Bitbucket profile | https://bitbucket.org/janedoe | Scrapes profile page |
| Repo URL | https://github.com/user/repo | Scrapes repo page, resolves owner |
| PR / Issue URL | https://github.com/user/repo/pull/42 | Extracted as a contribution |
| Resume PDF | ./resume.pdf or remote URL | Extracts text + hyperlink annotations |
Browser Providers
GitResolve supports three strategies for fetching page content. The right choice depends on your infrastructure:| Provider | JS Rendering | Best For |
|---|---|---|
puppeteer | ✅ Full | SPAs, JavaScript-heavy portfolio sites |
browserless | ✅ Full | Server environments, CI/CD pipelines |
fetch | ❌ None | Static sites, always-available fallback |
Concepts
Learn how GitResolve classifies inputs, disambiguates candidates, and structures results.
Installation
Install via npm, pnpm, yarn, or bun — or run on-demand with npx.