# Plugins

> Install an Arcus plugin in your coding tool or connect the GitHub App, so developer activity reaches Context Management and generates test cases.

A plugin captures what your developers do in their own tools and sends it to QI Home, where Arcus generates test cases from it.

There are 2 kinds. A **coding tool plugin** installs in Claude Code, Cursor, Codex, or GitHub Copilot, and captures prompts, tool calls, and file changes as a session happens. The **Arcus GitHub App** connects your repositories and captures every pull request your team raises.

The GitHub Copilot plugin is the Arcus plugin for the GitHub Copilot CLI. [Testsigma Copilot](https://testsigma.com/docs/arcus/v2/automation/copilot/) is the test execution feature, and they are separate tools.

## Prerequisites

- An active project in Arcus.
- The tool you are connecting, installed.

Inside Arcus, every connection is visible in one place: on **QI Home**, click the more options icon (⋮), then **Manage integrations**. Connected plugins show **Active** under **Dev Tools and AI**, and each tool's setup link opens its install instructions.

## Connect a coding tool

Each coding tool follows the same 3 steps: install the plugin, sign in, and set the active project. The plugin sends nothing until you sign in.

| Tool | Setup |
|---|---|
| Claude Code | [Claude](https://testsigma.com/docs/arcus/v2/integrations/plugins/claude/) |
| GitHub Copilot CLI | [GitHub Copilot](https://testsigma.com/docs/arcus/v2/integrations/plugins/copilot/) |
| Codex CLI | [Codex](https://testsigma.com/docs/arcus/v2/integrations/plugins/codex/) |
| Cursor or VS Code | [Cursor](https://testsigma.com/docs/arcus/v2/integrations/plugins/cursor/) |

Context and test cases go to the active project, so set it before you push.

`/arcus:test` and `/arcus:push` also require the external [CLI](https://testsigma.com/docs/arcus/v2/qi-home/developer-tools/cli/) on your PATH. `testsigma login` authenticates the CLI so it can run test cases and report results; `/arcus:login` authenticates the plugin so Arcus can capture context. They are separate logins.

## Connect your repositories

The [Arcus GitHub App](https://testsigma.com/docs/arcus/v2/integrations/plugins/github/) connects your GitHub repositories and sends every pull request your team raises to **Unlinked Contexts**. A pull request whose title or description carries a ticket ID from your connected tracker is mapped to that sprint automatically.

## Use the commands

The commands below are the Claude Code and GitHub Copilot forms. Cursor uses a hyphen instead of the colon (`/arcus-login`). Codex uses the sign-in, project, and map commands, and writes and pushes test cases when you ask it to.

| Command | What it does |
|---|---|
| `/arcus:help` | Lists every Arcus command with a short explanation |
| `/arcus:login` | Signs you in to Arcus so it can capture your sessions. Claude Code first asks for your region |
| `/arcus:logout` | Signs you out and deletes the Arcus credentials stored on your machine |
| `/arcus:project list [search]` | Lists the Arcus projects you can access |
| `/arcus:project use ` | Sets the active project. Later events are attributed to it |
| `/arcus:project current` | Shows the pinned project |
| `/arcus:map ticket ` | Links a ticket (Jira, Azure DevOps, Linear, ClickUp, or GitHub) to the session, so it lands in the right sprint |
| `/arcus:test [feature]` | Authors end-to-end test cases for the current repository via the CLI, validates them, and prompts you to run them |
| `/arcus:push` | Pushes the test cases authored this session to Arcus, into a sprint or left unlinked |

## Map what arrives

Captured work doesn't become test cases until it is mapped:

- A **session or pull request** lands on the **Unlinked Contexts** tab of Context Management, unless it was mapped automatically. Mapping it to a sprint or an Adhoc session triggers generation from it.
- A **test case pushed with `/arcus:push`** lands on the **Unlinked Test Cases** tab. Linking it moves it into a sprint story, accepted, with its local run results carried over.

The mapping and linking flows are in [Context Management](https://testsigma.com/docs/arcus/v2/qi-home/context-management/).

## Control what is captured

A plugin transmits nothing until `/arcus:login` runs. After login it sends the session's prompts, tool calls, and captured file contents to Arcus. Sensitive credential files are always blocked (`.env*`, private keys, and anything under `~/.ssh`, `~/.gnupg`, or cloud credential stores), and dependency, build, and VCS directories are never captured. Claude Code, GitHub Copilot, and Cursor store your login token in the OS keychain. Codex stores it in a file only you can read, `~/.arcus/refresh.token`, and also in the keychain if the optional `keyring` Python package is installed.

Each plugin's repository lists its full capture scope and its environment-variable controls.
