# auto

auto lets you program software factories the same way you program CI/CD.

Compose agents and triggers into workflows using simple YAML files, and
deploy them into the cloud on merge. Anything that can be described in a
standard operating procedure can become a chart of agents and triggers:
ticket triage and resolution, automated incident response, custom-tailored
code review, organized fleets of agents on long-horizon tasks, and more.

This package is the `auto` command-line interface: authenticate, apply
resources, launch and attach to sessions, and manage your project from the
terminal.

> auto is an alpha project. Expect roughness around the edges.

## Install

Node.js 24 or newer is required.

```sh
npm install -g @autohq/cli
```

This provides the `auto` command. (If you use Intuit's `auto` release tool,
note that both packages install an `auto` binary.)

## Get started

The fastest path is agent-driven onboarding. Paste this into a coding agent
running in your repository (Claude Code, Cursor, Codex):

> Run `auto onboard --agent` and follow the instructions it prints.

The agent walks you through sign-in, studies your repo, and installs a
first workflow tailored to how your team works.

By hand:

```sh
auto auth login        # sign in (device flow)
auto apply             # apply .auto/ resources to your project
auto start <agent>         # launch a session; --attach to follow it
auto tui               # interactive dashboard
```

Run `auto --help` for the full command tree.

## Accounts

Each signed-in account is stored under `~/.auto/accounts/`, keyed by email
and server; the active one is the `activeAccount` pointer in
`~/.auto/config.yaml`. Logging in to a second account never discards the
first.

```sh
auto auth login                          # sign in (device flow) and store the account
auto auth list                           # list stored accounts
auto auth switch                         # pick the active account interactively
auto auth switch --user you@example.com  # switch without the prompt
auto auth remove you@example.com         # delete a stored account
```

When the same email is signed in on more than one server, add
`--server <url>` to `auth switch` / `auth remove` to disambiguate.

## License

Copyright Fractal Works. All rights reserved.

This package is distributed in compiled form for use with the auto
platform, and its use is governed by the auto Terms of Service. You may
install and run this package to access the auto service. No license is
granted to copy, modify, reverse engineer, redistribute, or create
derivative works of this software, in whole or in part, except as required
by applicable law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
