# Install yo with Homebrew, chocolatey, Nix, winget

CLI tool for running Yeoman generators. Version 7.0.1 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#yo.

## Install

```sh
sudo av install brew:yo
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install yo
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#yo
```

  Evidence: nixpkgs package indexes: pkgs/by-name/yo/yo/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Chocolatey (92%):

```sh
choco install yo
```

  Evidence: Chocolatey community package catalog: yo from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='7.7216','memprofiler'

- winget (92%):

```sh
winget install --id martona.yo -e
```

  Evidence: Windows Package Manager source index: martona.yo from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:yo
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/yo>
- **Version:** 7.0.1
- **Source summary:** CLI tool for running Yeoman generators
- **Homepage:** <https://yeoman.io>
- **Repository:** <https://github.com/yeoman/yo>
- **Upstream docs:** <https://yeoman.io>
- **License:** BSD-2-Clause
- **Source archive:** <https://registry.npmjs.org/yo/-/yo-7.0.1.tgz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- yo (cli)
- yo (alias)

## Dependencies

- node

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 7.0.1
- Local data: ok
- Upstream repository: https://yeoman.io
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

`yo` is the command-line runner for Yeoman generators, the plugin ecosystem that scaffolds web and Node.js projects. In package terms, `yo` is less a template itself than the launcher and discovery surface for generator packages such as `generator-webapp`, `generator-angular`, and many organization-specific project starters.

### Project history

The `yeoman/yo` repository was created on 2013-02-11. Yeoman 1.0 was announced on 2013-08-23, with the project explicitly separating `yo` from the broader `yeoman` package and positioning it as a first-class scaffolding solution for the web.

The 1.0 announcement emphasized a rewritten generator system, richer interactive prompts, performance improvements, automatic install steps for generator peer dependencies, and a helpful prompt system when `yo` is run without a generator. The current README keeps that model: install `yo`, install a generator, then run `yo webapp` or another generator name.

### Adoption history

Yeoman arrived during the early-2010s JavaScript tooling boom, when front-end projects were standardizing around npm packages, Grunt/Gulp-era build flows, Bower-era front-end dependencies, and repeatable app skeletons. The 1.0 announcement described Yeoman as powering tooling behind projects such as Angular and scaffolding jQuery plugins, full-stack solutions, WordPress, and Jekyll sites.

Its adoption pattern is package-ecosystem native: `yo` is globally installed with npm or Homebrew, while useful behavior comes from separately installed `generator-*` packages. That split let communities and companies ship their own project starters without changing the core CLI.

### How it is used

Typical use is `npm install --global yo`, `npm install --global generator-webapp`, then `yo webapp`; Homebrew users can install the `yo` package directly. `yo --generators` lists installed generators, `yo --help` shows available generator tasks, and `yo doctor` checks common setup problems.

Generator authors use Yeoman's authoring APIs and conventions to prompt users, copy and transform files, compose generators, store project config in `.yo-rc.json`, and publish reusable scaffolding packages.

### Why package nerds care

`yo` matters because it made project scaffolding feel like normal package infrastructure: the executable is small, but the real ecosystem lives in npm-distributed generator plugins.

It is also a good historical marker for JavaScript tooling culture before single-framework CLIs dominated. Rather than one blessed app template, Yeoman provided a package-manager-mediated marketplace of scaffolds.

### Timeline

- 2013-02-11: `yeoman/yo` GitHub repository created.
- 2013-08-23: Yeoman 1.0 announced, separating `yo` from `yeoman` and promoting it as the first-class scaffolding CLI.
- 2010s: `generator-*` packages become the main adoption unit for Yeoman workflows.
- 2020s: `yo` remains packaged as the generator runner while many frameworks also maintain their own dedicated CLIs.

### Related projects

- Yeoman generators, especially packages named `generator-*`, provide the project-specific scaffolding executed by `yo`.
- Inquirer.js was part of the interactive prompt story highlighted in the Yeoman 1.0 announcement.
- Related JavaScript scaffolding tools include framework-specific CLIs such as Angular CLI, Create React App-era tooling, and modern npm create templates.

### Sources

- <https://api.github.com/repos/yeoman/yo>
- <https://github.com/yeoman/yo>
- <https://raw.githubusercontent.com/yeoman/yo/main/readme.md>
- <https://yeoman.io/authoring/>
- <https://yeoman.io/blog/hello-1.0>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .yo-rc.json
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** yo
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - yo: normalized package name match | nixpkgs package indexes: pkgs/by-name/yo/yo/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Chocolatey - yo: normalized package name match | Chocolatey community package catalog: yo from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='7.7216','memprofiler'
- winget - martona.yo: normalized package name match | Windows Package Manager source index: martona.yo from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://pkg.so/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://pkg.so/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [node](https://pkg.so/brew/node/) - Runtime dependency declared by Homebrew.
- [pnpm](https://pkg.so/brew/pnpm/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [yarn](https://pkg.so/brew/yarn/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [fnm](https://pkg.so/brew/fnm/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [node-build](https://pkg.so/brew/node-build/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [markdownlint-cli](https://pkg.so/brew/markdownlint-cli/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [nodenv](https://pkg.so/brew/nodenv/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [cookiecutter](https://pkg.so/brew/cookiecutter/) - Shares pkgdb curated category or tags: cli, developer-tools, scaffolding.
- [http-server](https://pkg.so/brew/http-server/) - Shares pkgdb curated category or tags: cli, developer-tools, nodejs.
- [yo](https://pkg.so/npm/yo/) - Same normalized package name appears in another local ecosystem. Shared terms: cli, developer, developer-tools, generators, running.
- [yeoman-environment](https://pkg.so/npm/yeoman-environment/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, generators, scaffolding.
- [action-docs](https://pkg.so/brew/action-docs/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, node, nodejs.
- [yo](https://pkg.so/npm/yo/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/yo.yml](https://github.com/mxcl/pkgdb/blob/main/combined/yo.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
