Commands
All commands support --json for machine-readable output.
Core
outport init
Create .outport.yml for this project.
outport initCreates a commented template in the current directory. Does not allocate ports or modify the registry.
outport apply
Allocate ports, assign hostnames, and write .env files. Alias: outport a.
outport apply
outport a # short alias
outport apply --force # re-allocate all ports from scratchReads .outport.yml, allocates deterministic ports, saves to the registry, and writes them to .env. Idempotent — running again reuses existing allocations.
| Flag | Description |
|---|---|
--force | Ignore existing allocations and re-allocate all ports |
--json | Output results as JSON |
outport unapply
Remove ports and clean .env files.
outport unapplyRemoves the managed block from all .env files and removes the project/instance from the registry.
| Flag | Description |
|---|---|
--json | Output results as JSON |
outport ports
Show ports for the current project.
outport ports
outport ports --check # check if ports are accepting connections
outport ports --derived # include derived values| Flag | Description |
|---|---|
--check | Check if ports are accepting connections |
--derived | Show derived values |
--json | Output results as JSON |
Navigation
outport open
Open HTTP services in the browser.
outport open # open all HTTP services
outport open web # open a specific serviceOpens services with protocol: http or protocol: https in your default browser. Works best with .test domains set up (outport setup).
outport status
Show all registered projects and their ports.
outport status
outport status --check # include port health checksLists every project/instance in the registry with their allocated ports. Prompts to remove stale entries interactively.
| Flag | Description |
|---|---|
--check | Check if ports are accepting connections |
--json | Output results as JSON |
Maintenance
outport gc
Remove stale entries from the registry.
outport gcScans the registry and removes entries whose project directories or config files no longer exist.
outport rename
Rename an instance of the current project.
outport rename <old-name> <new-name>Updates the instance name in the registry and regenerates hostnames in .env files.
| Flag | Description |
|---|---|
--json | Output results as JSON |
outport promote
Promote the current instance to main.
outport promotePromotes the current worktree instance to "main", demoting the existing main instance to an auto-generated code. Updates hostnames for both instances.
| Flag | Description |
|---|---|
--json | Output results as JSON |
Daemon
These commands manage the .test domain DNS resolver and HTTP reverse proxy.
outport setup
Install the DNS resolver and daemon.
outport setupInstalls the .test DNS resolver (/etc/resolver/test, requires sudo) and a LaunchAgent that runs a DNS server (port 15353) and HTTP reverse proxy (port 80). After setup, *.test hostnames resolve to your local services.
outport teardown
Remove the DNS resolver and daemon.
outport teardownUnloads the daemon, removes the LaunchAgent plist, and removes the DNS resolver file.
outport up
Start the daemon.
outport upLoads the LaunchAgent to start the DNS resolver and HTTP proxy.
outport down
Stop the daemon.
outport downUnloads the LaunchAgent to stop the DNS resolver and HTTP proxy.