Manage services, tunnels, and project automation with simple, consistent commands.
$ curl -fsSL https://asd.host/install.sh | bashThis installs the ASD CLI and adds it to your PATH. Run asd --help to verify.
Both command forms are valid and equivalent: asd caddy start = asd start caddy
| Service | Tunnel Up | Tunnel Down | Start (local) | Stop |
|---|---|---|---|---|
caddy Reverse proxy + path routing | - | - | asd caddy start | asd caddy stop |
terminal Web terminal (ttyd) | asd terminal start tunnel | - | asd terminal start | asd terminal stop |
code VS Code in browser | asd code start tunnel | - | asd code start | asd code stop |
share Tunnel hub server (share services) | - | - | asd share start | asd share stop |
Reverse proxy + path routing
Enables path-based routing on a single domain
asd caddy startWeb terminal (ttyd)
asd terminal start tunnelasd terminal startVS Code in browser
asd code start tunnelasd code startTunnel hub server (share services)
Start/stop the local share hub server
asd share startInteractive network TUI
$ asd netInteractive TUI for managing all services and tunnels
Project automations from asd.yaml
$ asd up # Default environment
$ asd up --dev # Development environment
$ asd up --staging # Staging environment
$ asd up --prod # Production environment$ asd down # Stop and cleanupUses asd.yaml for project configuration. Flags: --dev, --staging, --prod
Define services and automation tasks in your project root:
# 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 buildDefine services with their local addresses, tunnel prefixes, and URL paths.
Define tasks that run with asd up --dev etc.
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.
Yes! Both 'asd caddy start' and 'asd start caddy' are equivalent. Use whichever feels more natural to you.
You can use --dev, --staging, or --prod to run environment-specific automation tasks defined in your asd.yaml file.
Run 'asd net' to open the interactive TUI showing all services, their status, and public URLs.
Install the CLI and start managing your services.