# Install xc with Homebrew, MacPorts, Nix, scoop

Markdown defined task runner. Version 0.9.0 via Homebrew; verified from local package data.

## 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
- **Package manager page:** <https://formulae.brew.sh/formula/xc>
- **Version:** 0.9.0
- **Source summary:** Markdown defined task runner
- **Homepage:** <https://xcfile.dev/>
- **Repository:** <https://github.com/joerdav/xc>
- **Upstream docs:** <https://xcfile.dev/>
- **License:** MIT
- **Source archive:** <https://github.com/joerdav/xc/archive/refs/tags/v0.9.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xc (cli)
- xc (alias)

## Build dependencies

- go

## 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-07-08
- Package-manager version: 0.9.0
- Local data: ok
- Upstream repository: https://github.com/joerdav/xc
- Upstream latest detected: v0.9.0 (current)
- info: No package-manager update timestamp was available.
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xc
- **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 - 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


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [mask](https://www.automicvault.com/pkg/brew/mask/) - Shares av.db curated category or tags: automation, cli, developer-tools, markdown, task-runner.
- [go-task](https://www.automicvault.com/pkg/brew/go-task/) - Shares av.db curated category or tags: automation, cli, developer-tools, task-runner.
- [just](https://www.automicvault.com/pkg/brew/just/) - Shares av.db curated category or tags: automation, cli, developer-tools, task-runner.
- [run](https://www.automicvault.com/pkg/brew/run/) - Shares av.db curated category or tags: automation, cli, developer-tools, task-runner.
- [dum](https://www.automicvault.com/pkg/brew/dum/) - Shares av.db curated category or tags: cli, developer-tools, task-runner.
- [ahoy](https://www.automicvault.com/pkg/brew/ahoy/) - Shares av.db curated category or tags: automation, cli, developer-tools, task-runner.
- [pandocomatic](https://www.automicvault.com/pkg/brew/pandocomatic/) - Shares av.db curated category or tags: automation, cli, developer-tools, markdown.
- [pyinvoke](https://www.automicvault.com/pkg/brew/pyinvoke/) - Shares av.db curated category or tags: automation, cli, developer-tools, task-runner.

## Combined YAML source

View the package source record on GitHub. [combined/xc.yml](https://github.com/automic-vault/db/blob/main/combined/xc.yml)


## Sources

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