> ## Documentation Index
> Fetch the complete documentation index at: https://getpullrequest.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> How GPR pieces fit together: phone, backend, daemon, agents, and git.

GPR is a control plane for coding agents that run on machines you own.

## Runtime shape

```text theme={null}
Flutter app  --HTTPS-->  FastAPI (REST)
Flutter app  --WSS---->  hub / relay  <--WSS--  gpr daemon
                              │
                         optional HTTPS to GitHub / Jira / Slack
                              │
gpr daemon  --ACP stdio-->  Cursor / Claude / Codex / …
gpr daemon  --git-------->  local worktrees
```

| Piece        | Role                                  |
| ------------ | ------------------------------------- |
| Mobile app   | Board, chat, review, settings         |
| Backend      | Auth, task queue, relay, integrations |
| `gpr` daemon | Pairing, ACP host, git worktrees      |
| Coding agent | Writes and edits code on the machine  |

## Core objects

| Object                                         | What it is                                                |
| ---------------------------------------------- | --------------------------------------------------------- |
| [Machine](/docs/how-gpr-works/machines)             | Paired computer running the daemon                        |
| [Workspace](/docs/how-gpr-works/workspaces)         | Directory bound to a machine; where tasks run             |
| [Task](/docs/how-gpr-works/tasks)                   | Board item with status, phase, and checkpoint             |
| [Agent session](/docs/how-gpr-works/agent-sessions) | Live ACP session tied to a task or chat                   |
| [Pull request](/docs/how-gpr-works/pull-requests)   | Review artifact; GitHub is source of truth when connected |

A task pins to one workspace. Do not let a second host take over the same task.

## BYOA by default

Workspaces default to bring-your-own-agent (`provider: byoa`). Agents and credentials live on your machine. The cloud orchestrates; it does not replace your local toolchain.

## Enrichments vs core

Core features work without OAuth: board, sessions, local git, merge-check from the daemon.

[GitHub](/docs/integrations/github), [Jira](/docs/integrations/jira), and [Slack](/docs/integrations/slack) are optional enrichments. They sync issues, open host PRs, and add metadata. They never replace local git results.
