explaingit

chocolatey/choco

11,377C#Audience · ops devopsComplexity · 2/5LicenseSetup · easy

TLDR

Chocolatey is a Windows package manager that lets you install, update, and remove software from the command line, the Windows equivalent of apt on Linux or Homebrew on Mac.

Mindmap

mindmap
  root((repo))
    What it does
      Install software
      Update packages
      Remove software
    Platforms
      Windows 10 11
      Windows Server
      PowerShell CLI
    Use cases
      Dev workstation setup
      Server automation
      Internal packages
    Editions
      Free open source
      Chocolatey Pro
      Business edition
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automate software installation across Windows machines by writing a script of choco install commands.

USE CASE 2

Set up a new developer workstation with all required tools in one PowerShell script run from scratch.

USE CASE 3

Keep Windows servers up to date by scheduling choco upgrade all to run automatically on a recurring basis.

USE CASE 4

Create a private Chocolatey package for an internal tool so the IT team can deploy it with a single command.

Tech stack

C#.NET FrameworkPowerShell

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial use, distribute modified versions with the same Apache 2.0 license attached.

In plain English

Chocolatey is a package manager for Windows. A package manager is a tool that lets you install, update, and remove software from the command line instead of downloading installers one by one from websites. If you have used apt-get on Linux or Homebrew on Mac, Chocolatey fills the same role on Windows. The basic workflow is: open a command prompt or PowerShell window, type choco install <package-name>, and Chocolatey downloads and installs the software automatically. It can also update all installed packages at once, uninstall them, and search the community package repository for available software. Tab completion is supported so you can discover package names without leaving the terminal. Chocolatey has a large community-maintained package catalog hosted at community.chocolatey.org. These packages are scripts that wrap the underlying software installers. Anyone can contribute a package. Users can request packages that are missing from the catalog. The free (open source) version covers most individual use cases. There are paid editions called Chocolatey Pro and Chocolatey for Business that add features like a private CDN download cache, automatic virus scanning of packages before installation, package self-service for end users, and tools for managing software across many Windows machines in an organization. A separate graphical interface (Chocolatey GUI) is available for users who prefer to manage packages visually rather than through the command line. A Docker image is also published for use in container-based workflows. The requirements are .NET Framework 4.8 or higher, PowerShell 2.0 or higher, and Windows Server 2008 R2 or Windows 10 and above. The source code is Apache 2.0 licensed.

Copy-paste prompts

Prompt 1
Write a PowerShell script using Chocolatey that installs Git, Node.js, VS Code, and Python on a fresh Windows machine in one command.
Prompt 2
How do I create a Chocolatey package for my company's internal desktop application so the IT team can deploy it with choco install?
Prompt 3
Show me how to configure a Windows Task Scheduler job that runs choco upgrade all every week to keep packages current.
Prompt 4
Explain how to use Chocolatey inside a Dockerfile for Windows containers to install dependencies during image build.
Open on GitHub → Explain another repo

← chocolatey on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.