# Install xc with Homebrew, MacPorts, Nix, scoop

Markdown defined task runner. Version 0.9.0 via Homebrew; verified 2026-07-25. Also installable with nix: nix profile install nixpkgs#xc.

## Install

```sh
sudo av install brew:xc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xc
```

  Evidence: MacPorts ports tree: sysutils/xc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#xc
```

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

### Windows

- Scoop (92%):

```sh
scoop install extras/xc
```

  Evidence: Scoop official bucket manifest trees: bucket/xc.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:xc
- **Package manager:** Homebrew
- **Version:** 0.9.0
- **Source summary:** Markdown defined task runner
- **Homepage:** <https://xcfile.dev/>
- **Repository:** <https://github.com/joerdav/xc>
- **Last updated:** 2026-07-25T21:49:09+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- xc (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.9.0
## Project history and usage

xc is a docs-based task runner that defines runnable tasks in Markdown or org-mode files. Its documentation describes it as similar to Make or npm run, but designed to keep project scripts inline with human-readable documentation.

### Project history

The project was introduced publicly through Joe Davidson's writing and GitHub repository as a README task runner. GitHub release metadata shows published releases from v0.0.30 in October 2021 through v0.9.0 in January 2026.

Over time xc expanded from Markdown task blocks into a broader docs-as-interface tool. The current documentation lists task syntax features, inputs, dependencies, IDE support, GitHub Actions guidance, and org-mode support.

### Adoption history

xc belongs to the post-Makefile family of small task runners that try to make project automation discoverable. Its adoption signal is strongest in developer-tool packaging and documentation culture: the README advertises Go reference docs, Awesome Go mention, editor integrations, and badges for xc-compatible projects.

### How it is used

Users create a task section in README.md, README.org, or another supported documentation file, then define tasks as headings with code blocks. Running `xc task-name` executes the documented command, while the same file remains readable for contributors who do not have xc installed.

The official docs show tasks for testing, linting, building, tagging, updating Nix flakes, and building documentation. That makes xc especially useful for small repositories that want one visible place for both contributor instructions and local automation.

### Why package nerds care

xc is package-nerd interesting because it collapses a task runner and contributor docs into one file. It trades the power of a dedicated DSL for the low-friction convention that many repositories already start with a README.

### Timeline

- 2021: GitHub release history shows v0.0.30 published in October.
- 2023: The project is discussed publicly as a self-documenting README task runner.
- 2026: v0.9.0 is published with changelog entries including org-mode parsing and documentation/community updates.

### Related projects

- The project compares itself to Make and npm run. In the broader task-runner niche it is related to markdown-oriented runners such as mask and to general task tools such as Task.

### Sources

- <https://blog.joe-davidson.co.uk/posts/introducing-the-xc-readme-task-runner/>
- <https://github.com/joerdav/xc/releases>
- <https://raw.githubusercontent.com/joerdav/xc/master/README.md>
- <https://xcfile.dev/>


## 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: ./README.md, ./README.org
## Other Package-Manager Records

- Nix - xc: normalized package name match | nixpkgs package indexes: pkgs/by-name/xc/xc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - xc: normalized package name match | MacPorts ports tree: sysutils/xc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/xc: normalized package name match | Scoop official bucket manifest trees: bucket/xc.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1


## Combined YAML source

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


## Sources

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