> ## 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.

# GitResolve CLI: Resolve Portfolios, Resumes, and URLs

> Learn how to use the gitresolve CLI to turn candidate portfolios, resume PDFs, and raw URLs into structured GitHub, GitLab, and Bitbucket profiles.

The `gitresolve` CLI is the fastest way to resolve candidate portfolios, resume PDFs, and Git profile URLs into structured data — including owned repositories, contributions, and confidence scores. You can process a single URL interactively, or run batch jobs across an entire CSV of portfolio links and a directory of PDF resumes in one command.

## Installation

GitResolve can be invoked on demand with `npx` or installed globally for repeated use.

```bash theme={null}
# Zero-install, on-demand
npx @clyrisai/gitresolve --help

# Global install (recommended for frequent use)
npm install -g @clyrisai/gitresolve

# Global install with JavaScript rendering support
npm install -g @clyrisai/gitresolve puppeteer
```

## Default Behavior

Running `gitresolve` with no arguments and no mode flags is equivalent to passing `--all`. The CLI reads portfolio URLs from `./data/portfolio_links.csv` and scans every PDF file inside `./data/resumes`.

```bash theme={null}
# These two commands are identical
gitresolve
gitresolve --all
```

## Options Reference

| Flag                | Argument                                | Default                      | Description                                            |
| ------------------- | --------------------------------------- | ---------------------------- | ------------------------------------------------------ |
| `[url]`             | URL or file path                        | —                            | Direct URL or local file path to process               |
| `--type`            | `portfolio` \| `resume`                 | —                            | Override the auto-detected input type                  |
| `--portfolios`      | —                                       | —                            | Process portfolio links from the CSV file              |
| `--resumes`         | —                                       | —                            | Process all PDF resumes from the resumes directory     |
| `--all`             | —                                       | —                            | Process both portfolios and resumes (also the default) |
| `--portfolio-csv`   | `<path>`                                | `./data/portfolio_links.csv` | Path to the portfolio CSV file                         |
| `--resumes-dir`     | `<path>`                                | `./data/resumes`             | Path to the resumes directory                          |
| `--provider`        | `puppeteer` \| `browserless` \| `fetch` | auto                         | Browser rendering provider                             |
| `--browserless-url` | `<url>`                                 | `$BROWSERLESS_URL`           | Browserless instance URL                               |
| `--json`            | —                                       | —                            | Print results as a JSON array to stdout                |
| `--output-dir`      | `<dir>`                                 | —                            | Write per-candidate JSON files to a directory          |
| `-V, --version`     | —                                       | —                            | Print the installed version number                     |
| `-h, --help`        | —                                       | —                            | Display help text                                      |

<Note>
  `--portfolio-csv` and `--resumes-dir` also read from the `PORTFOLIO_CSV` and `RESUMES_DIR` environment variables respectively, making them easy to configure in CI or Docker environments.
</Note>

## Quick Examples

```bash theme={null}
# Resolve a single portfolio website
gitresolve https://janedoe.dev

# Resolve a GitHub profile directly
gitresolve https://github.com/janedoe

# Resolve a remote resume PDF
gitresolve https://example.com/janedoe-resume.pdf

# Batch: process both CSVs and PDFs, print JSON to stdout
gitresolve --all --json

# Batch: process both sources and save results to disk
gitresolve --all --output-dir ./results

# Force a URL to be treated as a resume
gitresolve https://example.com/cv --type resume

# Use a custom CSV and resumes folder
gitresolve --portfolios --portfolio-csv ./candidates.csv
gitresolve --resumes --resumes-dir ./uploads/pdfs

# Use a Browserless container for JS-rendered SPAs
gitresolve --portfolios --browserless-url http://localhost:3000
```

## Explore the CLI

<CardGroup cols={2}>
  <Card title="Single URL" icon="link" href="/cli/single-url">
    Pass a portfolio, Git profile, repo URL, or resume as a positional argument and see what GitResolve resolves.
  </Card>

  <Card title="Batch Processing" icon="table" href="/cli/batch-processing">
    Process an entire CSV of portfolio links and a directory of PDF resumes in one command.
  </Card>

  <Card title="Output Options" icon="brackets-curly" href="/cli/output-options">
    Choose between the ANSI terminal table, raw JSON to stdout, or per-candidate files written to disk.
  </Card>

  <Card title="Browser Providers" icon="browser" href="/providers/overview">
    Configure Puppeteer, Browserless, or plain fetch to control how GitResolve renders portfolio pages.
  </Card>
</CardGroup>
