---
title: Workflow & CLI
description: Run single actions from GitHub Actions workflows and from the giik CLI
---

# Workflow & CLI

You can run single actions in two ways: from a **GitHub Actions workflow** (e.g. a scheduled job or manual trigger) or from the **`giik` CLI** locally.

## From a GitHub Actions workflow

Add a job that sets `single-action` and any required inputs (`single-action-issue`, `single-action-version`, etc.):

```yaml
jobs:
  run-check-progress:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: vypdev/copilot@master
        with:
          token: ${{ secrets.PAT }}
          single-action: check_progress_action
          single-action-issue: '123'
```

Use `workflow_dispatch` to run on demand, or trigger from another event. See [Configuration](/single-actions/configuration) for all inputs.

## From the CLI (`giik`)

Build the CLI from the copilot repo, then run it from **any repo** that has `origin` pointing to GitHub (or from the same repo):

```bash
nvm use 20
npm install
npm run build
# From the repo you want to analyze:
node build/cli/index.js <command> [options]
# Or if giik is on PATH:
giik <command> [options]
```

### Commands that mirror single actions

| CLI command | Single action equivalent | Required option | Description |
|-------------|---------------------------|-----------------|-------------|
| `setup` | `initial_setup` | — | Labels, issue types, verify access; creates default tag `v1.0.0` if repo has no tags |
| `check-progress` | `check_progress_action` | `-i <issue>` | Progress check on demand |
| `detect-potential-problems` | `detect_potential_problems_action` | `-i <issue>` [-b \<branch\>] | Bugbot: detect potential problems, report on issue and PR (OpenCode) |
| `recommend-steps` | `recommend_steps_action` | `-i <issue>` | Recommend steps from issue (OpenCode) |
| `think` | `think_action` | `-q "<question>"` | Deep code analysis (OpenCode) |
| `copilot` | (CLI only) | `-p "<prompt>"` | AI assistant: analyze/modify code (OpenCode Build) |

Common options: `-t` / `--token` (PAT), `-d` / `--debug`, `--opencode-server-url`, `--opencode-model`. You can also set `PERSONAL_ACCESS_TOKEN` and OpenCode vars in a `.env` file (do not commit it).

### Examples

```bash
# Progress check for issue 123
node build/cli/index.js check-progress -i 123 -t $PAT

# Detect potential problems (bugbot) for issue 456 on current branch
node build/cli/index.js detect-potential-problems -i 456 -t $PAT

# Think / reasoning with a question
node build/cli/index.js think -q "Where is authentication validated?" -t $PAT

# Copilot (CLI-only, no workflow equivalent)
node build/cli/index.js copilot -p "Explain the main function" -t $PAT
```

For a step-by-step guide to testing the OpenCode Plan flows locally, see [Testing OpenCode Plan Locally](/testing-opencode-plan-locally).
