PRIVATE BETA
GETTING STARTED

From signup
to first comment.

Last updated 2026-06-06

Five steps. None of them require us — you click through them yourself once we send you the link.

1. Get off the waitlist

Drop your email on the landing page form. The beta caps active users at a small number (currently 5) so we can guarantee a working experience — when a slot opens we email you the signup URL.

2. Create an account

The signup URL points at id.mate.engineer — our self-hosted Keycloak. Pick a username + password (no social login yet). You'll land back in the platform UI at platform.mate.engineer.

If the cap fills again between your invite and your signup, you'll see a "you're on the waitlist" page. That's expected; it clears when the next slot opens.

3. Walk through the onboarding wizard

The wizard collects:

  • Bot identity. The GitLab username + PAT of the user you want Mate to act as. PAT scope: api and access level Maintainer on each project you want Mate touching.
  • LLM credentials. Either your OpenRouter key (OPENROUTER_API_KEY) or an Anthropic key (ANTHROPIC_AUTH_TOKEN). We encrypt it at rest with an AEAD envelope; only the dispatcher ever decrypts it, and only at job-start time.
  • Webhook secret. Auto-generated. The wizard shows the GitLab webhook URL + this secret — copy them into Settings → Webhooks on the project you want Mate to watch. Subscribe to Issues, Merge requests, Note, and Pipeline events.

4. Define an agent + a trigger

In the config editor, paste a minimal .mate.yml like:

version: 1
agents:
  reviewer:
    backend: claude-code
    model: anthropic/claude-opus-4-7
    system_prompt: |
      You are a careful code reviewer. Walk through diffs file by file,
      flag concrete issues, and post a single MR comment.
    permissions: [read, comment]

triggers:
  - on: mr_assigned
    if:
      assignee: mate-bot         # whichever bot username you set in step 3
    agent: reviewer

One agent, one trigger. The wizard's "Save & activate" button is the gate; once it's green, the next webhook from that project will actually fire the agent.

5. Trigger it

Open an MR on the project and assign your bot user (the one whose PAT you provided). Within a few seconds the ingest receiver queues the job; within a minute or two (longer on the very first job — we boot a worker for you) the bot posts back a review comment.

You can watch the run in platform.mate.engineer → Jobs. Live log tail, cost, dispatch state. If something stalls, the job page shows what step it's on.

Things that will trip you up

  • PAT scope wrong — anything less than api + Maintainer fails at clone time. The job page surfaces the GitLab error verbatim.
  • Webhook not subscribed to the right events — GitLab silently drops events you didn't subscribe to. Re-check the checkbox list.
  • Webhook auto-disabled — if your project fires more events than your tier can process, the receiver returns 503 and GitLab disables the webhook after enough 503s. That's GitLab's circuit-breaker, working as intended. Email us and we'll bump your tier.
  • Token spent — Mate routes your OPENROUTER_API_KEY to OpenRouter directly; you see the per-job cost there. We pass it through at cost, no margin.

Help

Beta is intimate. Email beta@mate.engineer with the issue, a screenshot, and the job_id if it's a run that misbehaved. We answer within a working day.