Files
paseo/public-docs/hub/quickstart.md
T
Mohamed BoudraandGitHub 64058722e1 Deploy Hub configurations from the CLI (#2955)
* feat(cli): add Hub configuration deploy

Deploy configuration bytes directly to an explicitly targeted Hub project using only caller-supplied origin and organization API key authority.

* refactor(cli): name Hub deploy contracts

* docs(hub): complete deploy CLI guidance

* docs(hub): link deployed API references

* feat(cli): bundle referenced Hub partials

Send exact referenced prompt-partial content alongside YAML so Hub can resolve local includes while inline-only configurations keep the existing request shape.

* fix(cli): match Hub YAML size semantics

Apply the finalized Hub request limit to decoded YAML length and cover multibyte configuration payloads without changing the wire body.
2026-08-07 09:40:36 +02:00

3.5 KiB

title, description, nav, order, category
title description nav order category
Hub quickstart Sign in, connect GitHub, register a daemon, and get an agent starting from a mention. Quickstart 61 Hub

Hub quickstart

From an empty Hub to an agent that starts when someone mentions it. Each step links to the page that covers it properly.

1. Sign in

Open your Hub and sign in with the owner account created during deployment. Replace its temporary password when prompted. Your connections, daemons, and projects all live inside its organization.

2. Connect GitHub

Open Connections and connect GitHub. Choose the account or organization whose repositories you want to use.

The connection appears with a generated slug like yourname-github.

3. Register a daemon

On the machine that will run agents:

paseo hub connect https://your-hub.example.com

The CLI prints a verification code. In Hub, open Daemons → Register a daemon, enter the code, and choose a friendly slug. Hub normalizes Build Studio to build-studio. See Daemons.

4. Create a project

Open Projects → New project. On its Configuration tab, pick a repository and choose Use for configuration. Hub now reads .paseo/hub.yml from that repository's default branch.

5. Commit the configuration

Add .paseo/hub.yml to that repository:

project: your-project

environments:
  - name: dev
    kind: daemon
    daemon: my-daemon
    cwd: /Users/you/code/your-repo

triggers:
  - name: mention
    on: github.issue_comment
    max_runtime: 2h
    filters:
      repo: yourname/your-repo
      contains: "@paseo"
      from_users: [your-github-login]
    steps:
      - id: work
        environment: dev
        max_runtime: 90m
        idle_timeout: 10m
        agent:
          provider: codex
          mode: full-access
        prompt:
          - text: |
              Someone asked for help.
              ${{ paseo.prompt }}

project is the project slug from step 4. The deploy CLI reads it as deployment metadata; it does not affect workflow behavior. daemon is the normalized slug from step 3. cwd is a directory on that machine.

If a prompt uses an include block, store the file below .paseo/partials/. The deploy CLI bundles only the files referenced by .paseo/hub.yml; nested include-looking text inside a partial is not resolved.

6. Push

Push to the default branch. Hub fetches the file at that commit, validates it, and activates it. The Configuration tab shows the active revision and the last sync.

If the file is invalid, Hub records the failure and keeps the previous revision active.

To deploy the file directly instead, create an organization API key with the configuration:install scope, then run:

export PASEO_HUB_URL=https://your-hub.example.com
export PASEO_HUB_API_KEY=paseo_pk_...
paseo hub deploy

The command reads exactly .paseo/hub.yml from the current directory. It does not search parent directories. Use paseo hub deploy path/to/config.yml for another file. -p, --project <slug> overrides the file's project metadata. See Hub configuration for every deploy option and the current authentication limits.

7. Trigger it

Comment @paseo have a look at this on an issue in that repository, from the account you listed in from_users.

Open the project's Activity tab. You should see the event received and routed, and an execution in Executions. The agent itself appears in the Paseo app on that machine.

Nothing happened? Activity has the checklist.