REFERENCE

ASD Command Line Interface

Manage services, tunnels, and project automation with simple, consistent commands.

Service Control Tunnel Management Project Automation

Installation

bash
$ curl -sSL https://install.asd.host | bash

This installs the ASD CLI and adds it to your PATH. Run asd --help to verify.

Flexible Syntax

Both command forms are valid and equivalent: asd caddy start = asd start caddy

Command Matrix

ServiceTunnel UpTunnel DownStart (local)Stop
caddy
Reverse proxy + path routing
--asd caddy startasd caddy stop
terminal
Web terminal (ttyd)
asd tunnel terminal upasd tunnel terminal downasd terminal startasd terminal stop
code
VS Code in browser
asd tunnel code upasd tunnel code downasd code startasd code stop
share
Shareable public links
asd tunnel share upasd tunnel share downasd share startasd share stop

Services

caddy

Reverse proxy + path routing

Enables path-based routing on a single domain

start: asd caddy start

terminal

Web terminal (ttyd)

tunnel: asd tunnel terminal up
start: asd terminal start

code

VS Code in browser

tunnel: asd tunnel code up
start: asd code start

share

Shareable public links

Displays public URLs for all exposed services

tunnel: asd tunnel share up
start: asd share start

Network Management

asd net

Interactive network TUI

bash
$ asd net

Interactive TUI for managing all services and tunnels

Project Automation

asd up / asd down

Project automations from asd.yaml

Start project

bash
$ asd up           # Default environment
$ asd up --dev     # Development environment
$ asd up --staging # Staging environment
$ asd up --prod    # Production environment

Stop project

bash
$ asd down         # Stop and cleanup

Uses asd.yaml for project configuration. Flags: --dev, --staging, --prod

Configuration (asd.yaml)

Define services and automation tasks in your project root:

asd.yaml
# asd.yaml
network:
  services:
    app:
      dial: "127.0.0.1:3000"
      tunnelPrefix: "myapp"
      path: "/"
    api:
      dial: "127.0.0.1:4000"
      tunnelPrefix: "myapp"
      path: "/api"

automation:
  dev:
    - npm run dev
  test:
    - npm run test
  build:
    - npm run build

network.services

Define services with their local addresses, tunnel prefixes, and URL paths.

automation

Define tasks that run with asd up --dev etc.

Frequently Asked Questions

What's the difference between up and start?

Both start a service, but 'up' also exposes it via tunnel for external access. 'start' runs the service locally only. Use 'up' when you need to share or access remotely, 'start' for local-only development.

Can I use both command syntaxes interchangeably?

Yes! Both 'asd caddy start' and 'asd start caddy' are equivalent. Use whichever feels more natural to you.

What environment flags are available for asd up?

You can use --dev, --staging, or --prod to run environment-specific automation tasks defined in your asd.yaml file.

How do I see all running services?

Run 'asd net' to open the interactive TUI showing all services, their status, and public URLs.

Related Tools

Explore the network TUI and dashboard.

Ready to get started?

Install the CLI and start managing your services.