# Install as-tree with Homebrew, MacPorts, Nix

Print a list of paths as a tree of paths. Version 0.12.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#as-tree.

## Install

```sh
sudo av install brew:as-tree
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install as-tree
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install as-tree
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#as-tree
```

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

## Package facts

- **Package key:** brew:as-tree
- **Package manager:** Homebrew
- **Version:** 0.12.0
- **Source summary:** Print a list of paths as a tree of paths
- **Homepage:** <https://github.com/jez/as-tree>
- **Repository:** <https://github.com/jez/as-tree>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- as-tree (alias)

## Install behavior

- Bottle: not available

## Freshness

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

as-tree is a small Rust command-line filter that reads paths from a file or stdin and prints them as a tree. It complements path producers such as `find` and `fd` rather than replacing them.

### Project history

The public repository was created in May 2020, with initial GitHub releases published the same month. The README states that the tool was inspired by a feature request in `fd`, and that it builds under both Cargo and Bazel.

Its README is deliberately narrow: pass a list of paths in, get a tree display out. Development notes document Bazel-based tests and fixture files, while installation notes point to pre-built releases, Cargo, and source builds.

### Adoption history

The provided package-manager facts list Homebrew, MacPorts, and Nix, which is a strong adoption signal for a tiny CLI filter. GitHub repository metadata reported hundreds of stars at research time.

The tool's adoption niche is among users who already compose shell pipelines. Instead of adding complex filtering options to `tree`, it lets `find` or `fd` decide what paths exist and uses `as-tree` only for presentation.

### How it is used

Common usage is `find . -name '*.txt' | as-tree` or `fd --exclude test | as-tree`. The CLI can also read a filename argument, print full path prefixes with `-f`, and control color with `--color always|auto|never`.

Because it is a filter, it fits neatly into scripts and aliases where users want `tree`-like output after a more expressive file search.

### Why package nerds care

as-tree is package-nerd candy because it does one thing that Unix pipelines want: transform line-oriented path streams into tree-shaped output. It is also a small Rust utility that ships through multiple package managers despite a minimal feature set.

The contrast with `tree` is the point: no large option surface is needed when existing tools already produce the right list.

### Timeline

- 2020: Public GitHub repository created.
- 2020: 0.9.0 through 0.12.0 GitHub releases published in May.

### Related projects

- The README explicitly relates as-tree to `tree`, `find`, and `fd`, and cites the fd feature request that inspired it.

### Sources

- <https://api.github.com/repos/jez/as-tree>
- <https://api.github.com/repos/jez/as-tree/releases>
- <https://github.com/jez/as-tree>
- <https://raw.githubusercontent.com/jez/as-tree/master/README.md>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- Nix - as-tree: normalized package name match | nixpkgs package indexes: pkgs/by-name/as/as-tree/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - as-tree: normalized package name match | MacPorts ports tree: sysutils/as-tree/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

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


## Sources

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