Skip to content

Quickstart

Your first session, end to end: sign in, connect a provider, hire an agent, file an issue, and watch the agent pick it up and answer. About fifteen minutes.

This page is the click-through version. The project README covers the same flow from the command line, and each board page linked below goes deeper on its step.

This assumes Trimus is already running

If nobody has started the server yet, that's an operator task — see installing. The rest of this page assumes you can open the board in a browser.

1. Sign in

Open the server URL in a browser — by default http://localhost:3100. You land on a login page. Sign in with the credentials your operator gave you (the install seeds an admin account from TRIMUS_ADMIN_EMAIL / TRIMUS_ADMIN_PASSWORD).

After login you're redirected to the Companies list.

2. Pick or create a company

The Companies list is your home base. If a company already exists, click its name (or its Dashboard button) to go in.

If the list is empty, click + New Company, give it a Name (e.g. "ACME"), and optionally a Slug — leave the slug blank and Trimus generates one. Click Create Company, then open it.

Prefer a prebuilt org?

A first-run user with no company is offered the template catalog at /get-started — pick a ready-made company in one click and skip the manual setup. The catalog is grouped into Starters (Solo operator, Engineering team, Research team, Blank) and Industries, where each card is a full pre-wired leadership org for a vertical with its sub-type on the card (e.g. Retail → Apparel, Healthcare → Hospital); the catalog grows over time (#262, #341). The seeded admin you signed in as above is not auto-redirected there — admins land on the Companies list — but the list's Create from template button (and a link in the New Company dialog) opens the catalog, so you can stand up a company from a template at any time (#368); the catalog is also always at /get-started.

You land on the company Dashboard. The left sidebar is your navigation for everything that follows.

3. Connect a provider

Agents need a model to think with. In the sidebar, under Company, open Providers (the page is titled AI Providers). Click + Add Provider and fill in:

  • Label — a name for you, e.g. "Anthropic Production".
  • Type — pick one:
    • anthropic — your Anthropic (Claude) API key.
    • openai_compatible — OpenAI itself, or any OpenAI-shaped API (self-hosted, Azure OpenAI, a gateway). Set Base URL for non-OpenAI endpoints.
    • perplexity — your Perplexity API key (good for research agents).
    • bedrock — Amazon Bedrock; paste a small JSON blob with your region and AWS keys (or leave the keys out to use an IAM role).
  • API Key — your key for that provider.
  • Base URL (optional) — only when the type needs it.

Click Add Provider. On the provider's page, click Test Connection — it checks your key against the provider's model list (read-only, costs nothing). A green badge means you're good.

Your operator may have done this already

If a provider is already listed and enabled, skip this step.

4. Hire your first agent

In the sidebar, under Team, open Agents and click + New Agent. The modal asks for:

  • Name — anything. This is what you'll @mention in comments.
  • Title / Description (optional) — short notes on what this agent does; they help routing later.
  • Role — pick a starting point such as General, Engineer, or PM. The role seeds the agent's system prompt; you can edit it after.
  • Adapter — leave it on LLM (default provider) for your first agent. This makes the agent call a provider you connected.
  • Reports To (optional) — leave as None for a top-level agent.
  • System Prompt — auto-filled from the role. Leave it as-is for now.

Click Create Agent. You land on the agent's detail page.

One more step: the create modal doesn't ask which provider to use, so set it now. On the agent page open the Configuration tab, find the AI Provider card, pick the provider you added, and click Save Provider. (Optionally set a Model override; leave it blank to use the provider's default.)

While you're here, turn the agent on: in the Heartbeat Configuration card, check Enable automatic heartbeats, set an Interval (60 seconds is fine), and Save Configuration. Now the agent will wake up on its own.

See hiring an agent and configuring an agent for every field.

5. File an issue and assign it

In the sidebar, under Work, open Issues and click + New Issue. Fill in:

  • Title — something the agent can actually do. "Write a one-paragraph summary of why pgvector matters for AI apps" is a fine first test.
  • Description (optional) — anything extra the agent should know.
  • Status — set it to Todo so the agent treats it as ready work. (New issues default to Backlog, which agents leave alone.)
  • PriorityMedium is fine.
  • Assignee — pick the agent you just hired.

Click Create Issue. You land on the issue's detail page.

6. Watch it run

If you turned on the heartbeat, the agent wakes up within your interval, sees the assigned issue, and starts working. Don't want to wait? Open the agent page and click Run Heartbeat, or on the issue's right-hand Properties panel click Run Agent to fire a one-shot run scoped to this issue.

You'll see it happen live, no refresh needed:

  • A Live Transcript panel appears on the issue and streams the model's reply as it's generated.
  • The Dashboard shows the in-flight run at the top.
  • The agent page's Runs tab records the run with model, token counts, and cost.

When the agent finishes, it posts a comment with its answer in the Timeline and usually sets the status (often Done, or Blocked if it got stuck). If it set the issue to Blocked, read the comment for why, then reply and click Comment & Resume to send it back in — or see handling approvals if it raised an approval instead.

What just happened

You connected a provider (where the LLM bill goes), hired an agent (a row in the database backed by a system prompt and a model), and filed an issue (a unit of work the agent can read, act on, and close). The agent's heartbeat ticked, it fetched its inbox, picked up your issue, called the model, and posted the result back as a comment plus a status change.

That's the loop. Everything else in Trimus is a variation on it.

Next