Documentation

Installation

Install Auto using one of the following options.

Option 1: Pre-built binary

  1. Go to the Releases page.
  2. Download the latest auto.exe or AutoInstaller.*.exe.
  3. Installer: run the installer and follow the setup wizard.
  4. Standalone: add auto.exe to your system PATH.

Option 2: Build from source

See the Building section on GitHub for prerequisites and build commands (Make or CMake).

How to use

Step 1: Create a .autofile

Create a file named .autofile in your project directory and define command blocks. Each block has a name and a list of commands.

# This is a comment
dev {
  $ taskkill /im node.exe
  - mongod.exe --dbpath C:\data\db
  + node server.js
  + python fileserver.py
  + set PORT=4000 && npm start --prefix client
}

Step 2: Run Auto

In a terminal, from the same directory (or a subdirectory) as your .autofile, run:

auto dev

To use a custom file (name must start with .):

auto -f .autofile dev

Command syntax

Each command line in a block starts with a mode symbol, then the command. Supported modes:

Symbol Mode Description
+ Normal Runs in a normal cmd window.
- Minimized Runs in a minimized cmd window.
$ Background Runs in the background (no window).
& Windows Terminal Runs in Windows Terminal with a custom tab title: & "Title" command.

Commands whose first token is wt are passed through unchanged to support full Windows Terminal options. Arguments can be quoted; quoted parts are one argument and surrounding quotes are removed.

Example

production {
  $ nginx.exe
  $ redis-server.exe
  + node app.js
  - pm2 monit
  & "API" node server.js
  & "Worker" npm run worker
}

Special blocks

Blocks whose name starts with . (dot) can be run by name like any other block, e.g. auto .init:

.init {
  + echo "Initializing environment..."
  + npm install
}

Important notes

Running processes

Best practices

VS Code extension

For syntax highlighting and better editing of .autofile in VS Code, install the autofile-extension. It highlights labels, operators (+, -, $), and commands.