npm package: @fastgrc/cli
Description: FastGRC CLI — manage GRC compliance from your terminal
Latest version: 2.2.0

# @fastgrc/cli

The official CLI for [FastGRC.ai](https://www.fastgrc.ai) — manage GRC compliance from your terminal.

## Install

```bash
npm install -g @fastgrc/cli
```

Requires Node.js 18+.

## Setup

```bash
fastgrc auth login
```

You'll be prompted for your API key. Generate one at **Settings → API Keys** in the FastGRC dashboard.

## Commands

### Endpoint Scanning

| Command | Description |
|---------|-------------|
| `fastgrc scan` | Scan this endpoint, assess against frameworks, create risks/evidence |
| `fastgrc scan --quiet` | Silent mode for scheduled/cron use |
| `fastgrc scan --fail-under 80` | Exit code 1 if compliance score < 80% |
| `fastgrc scan --dry-run` | Run checks locally without sending to API |

### Vulnerability Ingestion

| Command | Description |
|---------|-------------|
| `fastgrc ingest -f <file>` | Parse a scan file and create risks |
| `fastgrc ingest -f nessus.csv --format nessus` | Nessus CSV export |
| `fastgrc ingest -f trivy.json --format trivy` | Trivy JSON output |
| `fastgrc ingest -f scan.csv` | Generic CSV (auto-detected columns) |

### Management

| Command | Description |
|---------|-------------|
| `fastgrc auth login` | Authenticate with your API key |
| `fastgrc auth whoami` | Show current user and organization |
| `fastgrc risks list` | List risks (flags: `--status`, `--min-score`, `--limit`, `--json`) |
| `fastgrc risks create` | Create a risk (flags: `--title`, `--likelihood`, `--impact`, `--description`) |
| `fastgrc controls list` | List controls (flags: `--framework`, `--limit`, `--json`) |
| `fastgrc evidence list` | List evidence (flags: `--status`, `--limit`, `--json`) |
| `fastgrc evidence upload <file>` | Upload evidence (flags: `--control`, `--title`) |
| `fastgrc frameworks status` | Show framework compliance progress (flags: `--json`, `--fail-under`) |
| `fastgrc export` | Export data (flags: `--entity`, `--format`, `--output`) |
| `fastgrc webhooks list` | List configured webhooks (flags: `--json`) |
| `fastgrc chat [message]` | Chat with the AI copilot (interactive REPL if no message) |

## Examples

```bash
# Scan this workstation and assess against your org's frameworks
fastgrc scan

# Run on a schedule (cron/Task Scheduler) — silent, no output
fastgrc scan --quiet

# CI gate — fail if compliance drops below 80%
fastgrc scan --fail-under 80

# Ingest a Nessus export and auto-create risks
fastgrc ingest -f nessus-weekly.csv

# Ingest Trivy container scan results
fastgrc ingest -f trivy-output.json

# List all open risks
fastgrc risks list --status identified

# Check SOC 2 readiness
fastgrc frameworks status --fail-under 80

# Chat with copilot
fastgrc chat "What are our top 5 risks?"
```

## Unattended / Scheduled Use

```bash
# One-time setup
fastgrc auth login --api-key YOUR_API_KEY

# Linux/macOS cron — weekly Monday 9am
0 9 * * 1  fastgrc scan --quiet

# Windows Task Scheduler
schtasks /create /tn "FastGRC Scan" /tr "fastgrc scan --quiet" /sc weekly /d MON /st 09:00
```

## CI/CD Usage

```yaml
# GitHub Actions example
- name: Check compliance
  run: |
    npm install -g @fastgrc/cli
    fastgrc auth login --api-key ${{ secrets.FASTGRC_API_KEY }}
    fastgrc scan --fail-under 80
```

## Links

- [FastGRC.ai](https://www.fastgrc.ai)
- [Documentation](https://www.fastgrc.ai/dashboard/cli)