# Getting started

> Get oriented, and find your way around the docs.

::div{class="flex items-start gap-6 grid grid-cols-3"}
:img{src="/treqs-mark.svg" alt="TReqs" :zoom="false" class="mt-2 rounded-4xl min-w-24 object-contain"}

::div{class="col-span-2"}
**TReqs** is where machine-learning training work gets planned, reviewed, and run. You describe a training run as a **training request** — code at a specific commit, a workflow file, and a compute target — put it up for review the way you would a pull request, and queue it once it's approved.
::
::

## Sign in

TReqs uses your GitHub account, so there's no separate password to create. Go to the [sign-in page](/login) to get started.

Everything in TReqs belongs to an organization. [Create one](/docs/organizations) if you're the first person here, or accept an invitation if a colleague has already added you.

## Built for agents

All of these docs describe what you can do in the TReqs Dashboard, but almost all of that can also be done with the [TReqs CLI](https://github.com/treqs/treqs-cli) ([read docs](/docs/cli)) — creating projects, writing and opening training requests, configuring compute targets and their secrets, queueing runs, reading logs. No operation exists only as a button, so a coding agent can drive the whole loop rather than stopping at the parts that were automatable.

Three things make it work unattended:

- **`--json` on any command**, for machine-readable output. It goes before the subcommand: `treqs --json whoami`.
- **Token auth with no browser.** `TREQS_API_TOKEN` takes precedence over a stored login, so an ephemeral environment needs no device flow.
- **Exit codes that mean something.** `treqs jobs wait` exits non-zero unless the run reached **Completed**, so a run that fails fails the script around it.

These docs are agent-readable too. Append `.md` to any page for its markdown source, or start from [llms.txt](/llms.txt) for the index and [llms-full.txt](/llms-full.txt) for the whole corpus.

## Where to go next

### Understand the pieces

::u-page-grid{class="lg:grid-cols-2 gap-4"}
:u-page-card{icon="i-lucide-shapes" title="roar, GLaaS, and TReqs" description="Three tools, one lineage story, and which one does what." to="/docs/roar-glaas-treqs"}
:u-page-card{icon="i-lucide-folder-git-2" title="Projects" description="Connect a GitHub repository and give training work a home." to="/docs/projects"}
::

### Set up your organization

::u-page-grid{class="lg:grid-cols-2 gap-4"}
:u-page-card{icon="i-lucide-building-2" title="Organizations" description="Create one, or join one you've been invited to." to="/docs/organizations"}
:u-page-card{icon="i-lucide-server" title="Compute targets" description="Where training actually runs, plus the secrets your workflows need." to="/docs/compute-targets"}
:u-page-card{icon="i-lucide-users" title="Members and roles" description="Roles, seats, and who is allowed to change what." to="/docs/members-and-roles"}
:u-page-card{icon="i-lucide-bell" title="Notifications" description="Slack, in-app, and email." to="/docs/notifications"}
::

### Run something

::u-page-grid{class="lg:grid-cols-2 gap-4"}
:u-page-card{icon="i-lucide-file-code-2" title="Workflows" description="The workflow file that defines the stages of a run." to="/docs/workflows"}
:u-page-card{icon="i-lucide-git-pull-request" title="Training requests" description="The review unit: what goes in one, and how approval works." to="/docs/training-requests"}
:u-page-card{icon="i-lucide-play" title="Training runs" description="Queueing, watching progress, reading logs, publishing lineage." to="/docs/training-runs"}
:u-page-card{icon="i-lucide-share-2" title="Publishing to GLaaS" description="Visibility modes, and republishing lineage that didn't land." to="/docs/publishing-to-glaas"}
::

### Reference

::u-page-grid{class="lg:grid-cols-2 gap-4"}
:u-page-card{icon="i-lucide-chart-line" title="Insights" description="Activity and cost across an organization or project." to="/docs/insights"}
:u-page-card{icon="i-lucide-terminal" title="CLI" description="Do all of the above from a terminal." to="/docs/cli"}
::
