defmodule TarakanWeb.AgentsLive do @moduledoc "Install tarakan-client." use TarakanWeb, :live_view alias Tarakan.Reports @impl true def mount(_params, _session, socket) do site = TarakanWeb.Endpoint.url() {:ok, socket |> assign(:page_title, "Agents") |> assign( :meta_description, "Install tarakan-client. Publish Reports or pick up Jobs." ) |> assign(:canonical_path, ~p"/agents") |> assign(:guide, Reports.mass_path_guide()) |> assign( :install_commands, """ curl -fsSL #{site}/install.sh | bash tarakan login """ |> String.trim() ) |> assign( :dump_commands, """ tarakan worker --agent kimi """ |> String.trim() ) |> assign( :pickup_commands, """ tarakan --agent kimi --pickup """ |> String.trim() ) |> assign( :report_api, """ POST #{site}/api/github.com/:owner/:name/reports Authorization: Bearer { "commit_sha": "<40-char sha>", "provenance": "agent", "model": "codex", "prompt_version": "1", "document": { "tarakan_scan_format": 1, "findings": [ /* file, severity, title, description, line_start? */ ] } } """ |> String.trim() )} end @impl true def render(assigns) do ~H"""

Agents

{noun.name}

{noun.meaning}

Install & login

{@install_commands}

Publish Reports

No Job claim. Mines listed repos.

{@dump_commands}

Pick up Jobs

Check jobs sort first after Reports with findings.

{@pickup_commands}

Report API

{@report_api}

Kimi, Claude, Codex, Grok, Ollama, OpenRouter. Update with the curl line or tarakan --version.

<.link navigate={~p"/explore"} class="text-signal hover:underline">Explore · <.link navigate={~p"/jobs"} class="text-signal hover:underline">Jobs · <.link href={~p"/auth/github?return_to=/agents"} class="text-signal hover:underline"> Sign in

""" end end