From 5e50b5978f7730fa7255d0eef465c65775ab1635 Mon Sep 17 00:00:00 2001 From: Panopticon Agent Date: Wed, 5 Aug 2026 14:59:29 +0000 Subject: [PATCH] docs(repos): document managing repos from the dashboard quickstart registers only the repo you run it in; adding or reconfiguring other repos was documented only via raw REST. Add a "Managing repos from the dashboard" walkthrough to docs/repos.md covering the `g` modal (n/e/s keys) and the repo form's general + workflows tabs, verified against RepoFormScreen/ReposScreen in dashboard.py. Point the README and overview at it. Co-Authored-By: Claude Opus 4.8 --- README.md | 5 +++-- docs/overview.md | 3 ++- docs/repos.md | 34 ++++++++++++++++++++++++++++++++-- 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 19d1252d..21e6431d 100644 --- a/README.md +++ b/README.md @@ -108,8 +108,9 @@ On the dashboard: coding workflow that matches your repo: `github-peer-reviewed` for a GitHub repo (opens a PR), or `local-git-self-reviewed` for a local-only one (keeps commits local). `spike` (open-ended, no gates) is always available too. To use a different workflow, enable it for your repo in the - repos form (press `g`, edit the repo, and check the workflows you want). GitHub workflows need a - `GH_TOKEN` in the repo's env-file so the container's `gh` can open PRs (see + repos form (press `g`, edit the repo, and check the workflows you want — see + [managing repos from the dashboard](docs/repos.md#managing-repos-from-the-dashboard)). GitHub + workflows need a `GH_TOKEN` in the repo's env-file so the container's `gh` can open PRs (see [`docs/auth.md`](docs/auth.md)). Describe the work in a sentence or two; the [workflow catalog](docs/workflows/README.md) explains how to choose. 2. **Watch it start.** The task's `container` column moves `queued → … → live` as the runner diff --git a/docs/overview.md b/docs/overview.md index 6f8da05b..db5b350d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -134,7 +134,8 @@ This page is the map; these guides are the detail: how to add your own). - **[Tasks](tasks.md)** — the task object in full: its properties, states, and lifecycle. - **[Containers](container.md)** — the container lifecycle, every dashboard status, and recovery. -- **[Repos](repos.md)** — configuring a repo: secrets, image layers, and capabilities. +- **[Repos](repos.md)** — configuring a repo: secrets, image layers, and capabilities, and + [adding more from the dashboard](repos.md#managing-repos-from-the-dashboard). - **[Container auth](auth.md)** — giving each repo's agents their Claude token (and a GitHub token for PRs). - **[Image layers](layers.md)** — the composed `base → workflow → repo` image, and adding your own. - **[Hooks](hooks.md)** — the per-repo host hook that runs before a container spawns. diff --git a/docs/repos.md b/docs/repos.md index 599c279d..385f6684 100644 --- a/docs/repos.md +++ b/docs/repos.md @@ -103,9 +103,39 @@ When the session service spawns a task, it uses the repo's fields in order: 5. **`docker run`** the container with the repo's config: `--env-file` from `env_file`, the `/workspace` mount, and `--privileged` when `capabilities.docker_in_docker` is set. -## Managing repos +## Managing repos from the dashboard -Repos are managed over the task service's REST API: +`panopticon quickstart` registers the repo you run it in and enables the matching workflow. To +add or reconfigure *other* repos, use the dashboard's repos modal. + +Press **`g`** to open it. It lists your repos; from there: + +- **`n`** — add a repo. +- **`e`** — edit the highlighted repo. +- **`s`** — run the highlighted repo's [`setup-repo`](workflows/setup-repo.md) task, which mints + its `claude` token (see [`auth.md`](auth.md)). +- **`esc`** — close. + +`n` and `e` open the repo form, which has two tabs. **Space** toggles a checkbox; **Enter** (or +**Ctrl+S**) saves from any field; **Esc** cancels. + +**general** — the repo's core fields: + +- `git_url` — the git remote. It leads: in create mode, blank `id` and `name` auto-fill from it. +- `id` — stable identifier. Editable only when creating; shown read-only when editing. +- `name` — human label. +- `default_base` — base branch for new tasks (defaults to `main`). +- `env_file`, `image_layer_file`, `hook_file` — the reference fields described above. +- **privileged docker (docker-in-docker)** — a checkbox for the one capability the form edits; it + maps to `capabilities.docker_in_docker`. Other capability keys are left untouched on save. + +**workflows** — a checklist of the workflows this repo can offer. This is where you turn on +`github-self-reviewed`, `github-peer-reviewed`, and the rest. An opt-in workflow is off until you +check it; an opt-out one is on until you uncheck it. + +## Managing repos over REST + +Repos are also managed over the task service's REST API: - `POST /repos` — create a repo (validates that `env_file` exists). - `GET /repos` / `GET /repos/{id}` — list or fetch.