Agency Agency Start Docs GitLab Hub

Getting started

You run Agency. Deploy the acceptor and workers from the product repo, then include the CI template in a child project and point webhooks at your host.

What you need

Need a GitLab project

Create a GitLab project first. Then follow the same steps. The merge request is the office.

Deploy the runtime

  1. Clone dev-agency/gitlab-agency.
  2. Deploy the acceptor from deploy.nix. Push app name is kit-relay.
  3. Deploy the workers from deploy-worker.nix. Push app name is kit-agent-worker. Give it a 50Gi PVC.
  4. Set GITLAB_HOST to your GitLab. Secrets stay in relay/README.md.

The acceptor only enqueues. Model keys and per-agent PATs belong on the worker.

Wire a child project

Add .slopkit/config.ts. Agency wraps Flue.

export default {
  agents: {
    scaffolder: true,
    planner: true,
    developer: true,
    reviewer: true,
    tester: true,
    documenter: true,
  },
  previewEnvironments: false,
  sync: {
    onPush: true,
    onWebhook: true,
  },
};

Optional model in that file, or FLUE_MODEL in CI, selects any Flue-supported model. Bring the matching provider key.

Include the template:

include:
  - project: "dev-agency/gitlab-agency"
    ref: "main"
    file: "/templates/gitlab-ci/agentic.yml"
    inputs:
      node_image: "node:26"
      agency_ref: "main"
      agency_project: "dev-agency/gitlab-agency"

Set CI/CD variables on the child or its group:

First spec

  1. Push. kit:sync-push writes issues and merge requests from .slopkit/ and registers the webhook on your acceptor.
  2. Add a spec under .slopkit/specs/ or mention @kit-scaffolder on a merge request.

Webhook checklist

Set KIT_WEBHOOK_URL to https://<your-relay-host>/hooks/gitlab. The include syncs files. The acceptor wakes agents on comments and label changes. Acceptor logs and health live on your domain. See relay/README.md.