Add Docker installation/update action with interactive Desktop/Engine selection #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Overview
This PR adds a new action to the PV CLI that installs or updates Docker on desktop machines. The action provides comprehensive support for multiple operating systems and CPU architectures, automatically detecting the environment and performing the appropriate installation or upgrade.
New in latest update: Users are now prompted to choose between Docker Desktop and Docker Engine on Linux systems, following official Docker documentation for each installation type.
Features
Interactive Installation Type Selection
macOS (Intel & Apple Silicon)
brew upgradeLinux
charmbracelet/huhDocker Desktop Installation (Linux)
Ubuntu
Debian
Fedora
Arch Linux
Docker Engine Installation (Linux)
Debian/Ubuntu
Fedora/CentOS/RHEL
Intelligent Operation
The action automatically:
Installed Components
Implementation
The action follows the PV CLI action pattern:
internal/actions/docker/init()functioncharmbracelet/huhfor user choicesUsage
Users select "Install/Update Docker" from the PV CLI menu. On Linux, they are prompted to choose between Docker Desktop and Docker Engine. The action then handles everything automatically based on their system configuration and choice.
Files Changed
main.go: Added import for the docker action package (3 lines)internal/actions/docker/docker.go: New action implementation (708 lines)go.mod&go.sum: Addedcharmbracelet/huhdependency for interactive formsAll changes follow Go best practices and pass
go fmt,go vet, andgo testchecks. All installation methods follow official Docker documentation.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.