# Install cruft with Homebrew, apt, Nix, scoop

Utility that creates projects from templates and maintains the cruft afterwards. Version 2.16.0 via Homebrew; verified 2026-05-20.

## Install

```sh
sudo av install brew:cruft
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cruft
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install cruft
```

  Evidence: Debian stable package indexes: cruft from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#cruft
```

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

### Windows

- Scoop (92%):

```sh
scoop install extras/cruft
```

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

## Package facts

- **Package key:** brew:cruft
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cruft>
- **Version:** 2.16.0
- **Source summary:** Utility that creates projects from templates and maintains the cruft afterwards
- **Homepage:** <https://cruft.github.io/cruft/>
- **Repository:** <https://github.com/cruft/cruft>
- **Upstream docs:** <https://cruft.github.io/cruft>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/d1/7e/0e20012f2aa156e5d6a70483a8d90accb7ed4966dddb0c58987d9f6eba12/cruft-2.16.0.tar.gz>
- **Last updated:** 2026-05-20T12:14:50Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- cruft (cli)
- cruft (alias)

## Dependencies

- certifi
- libyaml
- python@3.14

## 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: 2.16.0
- Package-manager updated: 2026-05-20
- Local data: ok
- Upstream repository: https://cruft.github.io/cruft/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

cruft is a Python command-line tool for creating projects from Cookiecutter templates and keeping the generated boilerplate synchronized with later template changes. It addresses a common packaging problem: generated project skeletons drift after the first copy.

### Project history

The project was created to balance the convenience of project generators with the maintenance burden they create. Its documentation explains that cruft uses Cookiecutter as the template expansion engine, then records template metadata in `.cruft.json` so a project can later be checked, diffed, linked, or updated.

The Git tag history starts at 2.0.0 in 2020 and reaches 2.16.0 in 2024. The repository and documentation remain centered on Python packaging workflows, with badges for PyPI, conda-forge, tests, and downloads.

### Adoption history

cruft's adoption is strongest among teams that maintain many repositories from the same Cookiecutter template. Its documentation includes a GitHub Actions workflow that checks for template updates and opens pull requests, indicating the tool's role in repository-fleet maintenance rather than one-off project creation.

### How it is used

Common commands include `cruft create` for generating a project, `cruft update` for pulling template changes, `cruft check` for CI drift detection, `cruft link` for attaching an existing Cookiecutter-generated project to its template, and `cruft diff` for inspecting changes.

cruft stores template URL, commit, answers, and skip settings in `.cruft.json`; it can also read skip configuration from `tool.cruft` in `pyproject.toml`.

### Why package nerds care

cruft matters to package maintainers because it treats boilerplate as an updatable dependency. That makes template updates closer to dependency upgrades: visible in diffs, enforceable in CI, and distributable through Python package managers and Homebrew.

### Timeline

- 2020: 2.0.0 public tag
- 2023: 2.15.0 release
- 2024: 2.16.0 release

### Related projects

- cruft is built around Cookiecutter compatibility and commonly appears with Python packaging, PyPI, conda-forge, Poetry, pipenv, and GitHub Actions workflows.

### Sources

- <https://github.com/cruft/cruft#readme>
- <https://cruft.github.io/cruft>
- <https://github.com/cruft/cruft/tags>
- <https://github.com/cruft/cruft/releases>
- <https://formulae.brew.sh/formula/cruft>


## Security Notes

No matching local secret-handling manifest was found for cruft. Nucleus package metadata is still published here so future coverage has a stable package URL.



## 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: .cruft.json, pyproject.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** cruft
- **Version Scheme:** 0
- **Revision:** 10
- **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

- Debian apt - cruft - 0.9.71: normalized package name match | Debian stable package indexes: cruft from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | transitional package | https://salsa.debian.org/pkg-security-team/cruft-ng
- Nix - cruft: normalized package name match | nixpkgs package indexes: pkgs/by-name/cr/cruft/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - cruft - 0.9.61build1: normalized package name match | Ubuntu 24.04 LTS package indexes: cruft from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | transitional package | https://github.com/a-detiste/cruft-ng/
- Scoop - extras/cruft: normalized package name match | Scoop official bucket manifest trees: bucket/cruft.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [cookiecutter](https://www.automicvault.com/pkg/brew/cookiecutter/) - Shares av.db curated category or tags: cli, developer-tools, project-scaffolding, python, templates.
- [go-blueprint](https://www.automicvault.com/pkg/brew/go-blueprint/) - Shares av.db curated category or tags: cli, developer-tools, project-scaffolding, templates.
- [claude-code-templates](https://www.automicvault.com/pkg/brew/claude-code-templates/) - Shares av.db curated category or tags: cli, developer-tools, templates.
- [copier](https://www.automicvault.com/pkg/brew/copier/) - Shares av.db curated category or tags: cli, developer-tools, project-scaffolding, templates.
- [kickstart](https://www.automicvault.com/pkg/brew/kickstart/) - Shares av.db curated category or tags: cli, developer-tools, project-scaffolding, templates.
- [vgo](https://www.automicvault.com/pkg/brew/vgo/) - Shares av.db curated category or tags: cli, developer-tools, project-scaffolding.
- [abi3audit](https://www.automicvault.com/pkg/brew/abi3audit/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [auditwheel](https://www.automicvault.com/pkg/brew/auditwheel/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [specify](https://www.automicvault.com/pkg/brew/specify/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, developer, developer-tools, libyaml.

## Combined YAML source

View the package source record on GitHub. [combined/cruft.yml](https://github.com/automic-vault/db/blob/main/combined/cruft.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
