Help us shape the future of Go! Take the 2026 Go Developer Survey

vip

module
v1.12.2-0...-eb60e09 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2026 License: MIT

README

VIP-CLI

VIP-CLI is a tool for interacting with and managing your WordPress VIP applications.

Further documentation

  • SETUP.md for installation and setup instructions, basic usage and environmental variables.
  • ARCHITECTURE.md for information on architecture, code structure, data storage and security.
  • CONTRIBUTING.md for information on how to contribute patches and features, also issue and pull request labels.
  • DEBUGGING.md for information on how to debug the software.
  • TESTING.md for details on testing the software and individual tasks.
  • EDGE-WORKERS.md for the edge-worker scaffold, validation, deployment, and operational safety contract.
  • RELEASING.md for details on deploying a new release.
  • SECURITY.md for information if you found a security issue.

Further information

Directories

Path Synopsis
cmd
installer-payload command
installer-payload extracts verified binary artifacts for native packaging.
installer-payload extracts verified binary artifacts for native packaging.
installer-version command
installer-version converts the Go release stamp into a native package version.
installer-version converts the Go release stamp into a native package version.
stamp-version command
vip-next command
Command vip-next is the Go rewrite of @automattic/vip.
Command vip-next is the Go rewrite of @automattic/vip.
internal
appctx
Package appctx — context helpers for command-middleware.
Package appctx — context helpers for command-middleware.
auth
Package auth handles JWT decoding, validation, and the login flow.
Package auth handles JWT decoding, validation, and the login flow.
backup
Package backup ports src/commands/backup-db.ts — the `vip backup db` runner: trigger a database backup unless one is already running, poll the db_backup job until its in-progress lock clears, and verify the terminal status.
Package backup ports src/commands/backup-db.ts — the `vip backup db` runner: trigger a database backup unless one is already running, poll the db_backup job until its in-progress lock clears, and verify the terminal status.
cachepurge
Package cachepurge wraps the PurgePageCache mutation.
Package cachepurge wraps the PurgePageCache mutation.
customdeploy
Package customdeploy ports src/lib/custom-deploy/custom-deploy.ts and src/lib/validations/custom-deploy.ts — the gates and archive checks behind `vip app deploy` (+ `validate`).
Package customdeploy ports src/lib/custom-deploy/custom-deploy.ts and src/lib/validations/custom-deploy.ts — the gates and archive checks behind `vip app deploy` (+ `validate`).
debuglog
Package debuglog emits opt-in diagnostics using Node debug namespace selectors.
Package debuglog emits opt-in diagnostics using Node debug namespace selectors.
defensivemode
Package defensivemode is the M3+M4 test surface for the rechallenge middleware.
Package defensivemode is the M3+M4 test surface for the rechallenge middleware.
devenv
Package devenv is the public API the cobra commands call: it materializes an environment's compose files, wires the real lifecycle dependencies, and owns create + the Start/Stop/Rebuild/Destroy/Purge/Info/Health entry points.
Package devenv is the public API the cobra commands call: it materializes an environment's compose files, wires the real lifecycle dependencies, and owns create + the Start/Stop/Rebuild/Destroy/Purge/Info/Health entry points.
devenv/compose
Package compose renders a docker-compose.yml (plus .env and nginx extra.conf) for a vip dev environment from an instancedata.InstanceData.
Package compose renders a docker-compose.yml (plus .env and nginx extra.conf) for a vip dev environment from an instancedata.InstanceData.
devenv/devlog
Package devlog owns the per-environment dev-env command log.
Package devlog owns the per-environment dev-env command log.
devenv/devterm
Package devterm runs an interactive child process attached to a PTY and tees the PTY master to both the terminal and the unified dev-env log (spec §7.3).
Package devterm runs an interactive child process attached to a PTY and tees the PTY master to both the terminal and the unified dev-env log (spec §7.3).
devenv/dockercli
Package dockercli drives the docker and docker compose CLIs (spec §4).
Package dockercli drives the docker and docker compose CLIs (spec §4).
devenv/e2esafety
Package e2esafety contains side-effect-free policy for destructive tagged tests.
Package e2esafety contains side-effect-free policy for destructive tagged tests.
devenv/hostops
Package hostops performs the two host-privileged operations a vip dev environment needs — trusting the local CA in the system trust store and editing the managed /etc/hosts block — and runs them under a SINGLE privilege elevation (spec §11).
Package hostops performs the two host-privileged operations a vip dev environment needs — trusting the local CA in the system trust store and editing the managed /etc/hosts block — and runs them under a SINGLE privilege elevation (spec §11).
devenv/instancedata
Package instancedata reads and writes a dev environment's instance_data.json.
Package instancedata reads and writes a dev environment's instance_data.json.
devenv/lifecycle
Package lifecycle orchestrates vip dev-env environments (start/stop/rebuild/ destroy/purge/info/health) and one-time Lando migration (spec §6/§10).
Package lifecycle orchestrates vip dev-env environments (start/stop/rebuild/ destroy/purge/info/health) and one-time Lando migration (spec §6/§10).
devenv/paths
Package paths is the single source of truth for vip dev-env on-disk locations.
Package paths is the single source of truth for vip dev-env on-disk locations.
devenv/proxy
Package proxy manages the shared Traefik reverse proxy (the traefik_openssl image), the shared bridge network, fallback-port selection, and the local CA + per-environment edge certificates for vip dev environments (spec §5/§8).
Package proxy manages the shared Traefik reverse proxy (the traefik_openssl image), the shared bridge network, fallback-port selection, and the local CA + per-environment edge certificates for vip dev environments (spec §5/§8).
edgeworkers
Package edgeworkers implements local projects and the Edge Workers lifecycle.
Package edgeworkers implements local projects and the Edge Workers lifecycle.
envalias
Package envalias implements the @app.env pre-parser.
Package envalias implements the @app.env pre-parser.
envvar
Package envvar wraps the GetEnvironmentVariables and GetEnvironmentVariablesWithValues genqlient operations behind a stable Go-friendly surface.
Package envvar wraps the GetEnvironmentVariables and GetEnvironmentVariablesWithValues genqlient operations behind a stable Go-friendly surface.
exit
Package exit owns process termination.
Package exit owns process termination.
gql
Package gql is the typed GraphQL client for the vip-cli Go rewrite.
Package gql is the typed GraphQL client for the vip-cli Go rewrite.
gql/edgeworkerinput
Package edgeworkerinput preserves omitted, null, and empty write values.
Package edgeworkerinput preserves omitted, null, and empty write values.
httpproxy
Package httpproxy is the Go port of src/lib/http/proxy-agent.ts, plus the parts of the `proxy-from-env` npm package that file depends on.
Package httpproxy is the Go port of src/lib/http/proxy-agent.ts, plus the parts of the `proxy-from-env` npm package that file depends on.
installer
Package installer defines the version contract shared by native packages.
Package installer defines the version contract shared by native packages.
keychain
Package keychain wraps the OS credential store.
Package keychain wraps the OS credential store.
logsapi
Package logsapi wraps the GetAppLogs genqlient operation behind a flat Go-friendly surface.
Package logsapi wraps the GetAppLogs genqlient operation behind a flat Go-friendly surface.
mediaimport
Package mediaimport ports src/lib/media-import/** — the media-import status poller, its progress tracker, and the small helpers the three `vip import media*` commands share.
Package mediaimport ports src/lib/media-import/** — the media-import status poller, its progress tracker, and the small helpers the three `vip import media*` commands share.
nodeflags
Package nodeflags ports the option-value grammar that the Node CLI applies to flag values before a handler ever sees them.
Package nodeflags ports the option-value grammar that the Node CLI applies to flag values before a handler ever sees them.
output
internal/output/ordered.go
internal/output/ordered.go
phpmyadmin
Package phpmyadmin implements the enable + poll + generate flow for `vip db phpmyadmin`.
Package phpmyadmin implements the enable + poll + generate flow for `vip db phpmyadmin`.
poll
Package poll ports Node's pollUntil helper (src/lib/utils.ts:9-35) — the shared ceiling every long-running VIP poll loop is supposed to sit under.
Package poll ports Node's pollUntil helper (src/lib/utils.ts:9-35) — the shared ceiling every long-running VIP poll loop is supposed to sit under.
rechallenge
Package rechallenge implements the Rechallenge v2 step-up authentication flow.
Package rechallenge implements the Rechallenge v2 step-up authentication flow.
redact
Package redact removes credentials from text that is about to leave the process — an error message printed to a shared terminal, written to a log file, or, in vip-next's case, shipped to an analytics endpoint by the cli_error telemetry hook.
Package redact removes credentials from text that is about to leave the process — an error message printed to a shared terminal, written to a log file, or, in vip-next's case, shipped to an analytics endpoint by the cli_error telemetry hook.
searchreplace
Package searchreplace ports src/lib/search-and-replace.ts by shelling out to the existing Go `go-search-replace` binary (design §7.3 — NOT a reimplementation), plus the SQL-dump-type sniffing from src/lib/database.ts that the replace pipeline depends on.
Package searchreplace ports src/lib/search-and-replace.ts by shelling out to the existing Go `go-search-replace` binary (design §7.3 — NOT a reimplementation), plus the SQL-dump-type sniffing from src/lib/database.ts that the replace pipeline depends on.
siteimport
Package siteimport ports src/lib/site-import/** plus the site-type / multisite-domain validations that gate `vip import sql`.
Package siteimport ports src/lib/site-import/** plus the site-type / multisite-domain validations that gate `vip import sql`.
slowlogsapi
Package slowlogsapi wraps the GetAppSlowlogs genqlient operation behind a flat Go-friendly surface.
Package slowlogsapi wraps the GetAppSlowlogs genqlient operation behind a flat Go-friendly surface.
softwaresettings
Package softwaresettings contains pure formatting logic for `vip config software get` output.
Package softwaresettings contains pure formatting logic for `vip config software get` output.
sqlexport
Package sqlexport ports src/commands/export-sql.ts — the `vip export sql` workflow: latest-backup lookup, export-job creation + polling, download-link generation, partial exports (live backup copy), the disk-space confirmation, and the streamed download.
Package sqlexport ports src/commands/export-sql.ts — the `vip export sql` workflow: latest-backup lookup, export-job creation + polling, download-link generation, partial exports (live backup copy), the disk-space confirmation, and the streamed download.
sqlvalidation
Package sqlvalidation ports Node's src/lib/validations/sql.ts + is-multi-site-sql-dump.ts + line-by-line.ts to Go.
Package sqlvalidation ports Node's src/lib/validations/sql.ts + is-multi-site-sql-dump.ts + line-by-line.ts to Go.
sync
Package sync wraps the SyncEnvironment + SyncProgress genqlient operations behind a Go-friendly surface.
Package sync wraps the SyncEnvironment + SyncProgress genqlient operations behind a Go-friendly surface.
telemetry
Package telemetry handles analytics (Tracks + Pendo) for the Go binary.
Package telemetry handles analytics (Tracks + Pendo) for the Go binary.
tui
Package tui hosts terminal UI primitives shared across commands.
Package tui hosts terminal UI primitives shared across commands.
update
Package update discovers and installs standalone Go CLI releases.
Package update discovers and installs standalone Go CLI releases.
upload
Package upload ports src/lib/client-file-uploader.ts: streamed S3 uploads via presigned requests obtained from the VIP API.
Package upload ports src/lib/client-file-uploader.ts: streamed S3 uploads via presigned requests obtained from the VIP API.
validatefiles
Package validatefiles ports src/lib/vip-import-validate-files.ts (877 LOC): the local directory walk, WordPress folder-structure validation, per-file checks, and the error/summary reports printed by `vip import validate-files`.
Package validatefiles ports src/lib/vip-import-validate-files.ts (877 LOC): the local directory walk, WordPress folder-structure validation, per-file checks, and the error/summary reports printed by `vip import validate-files`.
version
Package version exposes the binary version metadata.
Package version exposes the binary version metadata.
wpshell
Package wpshell ports the WP-CLI subshell from src/bin/vip-wp.js and the DFA command parser from src/lib/wp/helpers.ts.
Package wpshell ports the WP-CLI subshell from src/bin/vip-wp.js and the DFA command parser from src/lib/wp/helpers.ts.
wpssh
Package wpssh ports the SSH WP-CLI execution strategy from src/commands/wp-ssh.ts (executeCommandOverSSH, lines 170-258).
Package wpssh ports the SSH WP-CLI execution strategy from src/commands/wp-ssh.ts (executeCommandOverSSH, lines 170-258).
wpstream
Package wpstream is a hand-rolled Engine.IO v4 + Socket.IO v4 + socket.io-stream client.
Package wpstream is a hand-rolled Engine.IO v4 + Socket.IO v4 + socket.io-stream client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL