cruft
Allows you to maintain all the necessary cruft for packaging and building projects separate from the code you intentionally write. Built on-top of CookieCutter.
Decision gist · record as of 2026-08-14
Yes, if you manage multiple projects from shared templates and want to keep boilerplate synchronized. The low install friction and permissive license make it practical. However, the dormant maintenance status (597 days since last release) means you should verify compatibility with your current Cookiecutter and Python versions before adopting it for new projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.7; git must be available on your system for template repository operations.
- Low install friction with six runtime dependencies (click, cookiecutter, gitpython, importlib-metadata, toml, typer).
- Maintenance is dormant—last release was 597 days ago—so expect no active bug fixes or feature development, though the package remains functional for its core use case.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute cruft freely as long as you include the original license notice.
last release 2024-12-25 (597 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 245,830 downloads/mo, #8,723 on PyPI
Alternatives
Verify before relying
pip install cruft
cruft create https://github.com/example/cookiecutter-template
# Later, to sync with template updates:
cruft update- Whether dormant status affects template compatibility with modern Cookiecutter versions or recent Python releases.
- Real-world experience with complex template variable updates and conflict resolution during cruft update operations.
- Performance and reliability when managing large numbers of projects or deeply nested template structures.
What it is and what it does
cruft is a project scaffolding and maintenance tool built on top of Cookiecutter. It automates the creation of new projects from templates and, uniquely, helps you keep those projects in sync with template changes over time. Most template tools leave you with copy-pasted boilerplate to manage manually; cruft tracks the template source and can apply updates automatically, letting you benefit from improvements to shared templates across many projects.
The package works by storing template metadata in a `.cruft.json` file that records the template source, commit hash, and variables used. You can then run `cruft update` to pull in new template changes, `cruft check` to verify a project is up-to-date (useful in CI), and `cruft diff` to see what has diverged. You can also skip specific files from updates and update template variables without regenerating the entire project.
Use it for
- Maintain consistent boilerplate across multiple projects by updating a shared template once and rolling out changes.
- Add template synchronization checks to CI pipelines using `cruft check` to catch projects that have drifted.
- Link an existing Cookiecutter-generated project to its template source using `cruft link` to start tracking updates.
- Update template variables in an existing project without regenerating it from scratch.
- Automate template update detection and pull request creation across repositories using GitHub Actions.
- Compute diffs between local project boilerplate and the upstream template to identify customizations.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you manage multiple projects from shared templates and want to keep boilerplate synchronized.
The low install friction and permissive license make it practical. However, the dormant maintenance status (597 days since last release) means you should verify compatibility with your current Cookiecutter and Python versions before adopting it for new projects.
Install
cruft on PyPI
Before you install
Low install friction with six runtime dependencies (click, cookiecutter, gitpython, importlib-metadata, toml, typer). Maintenance is dormant—last release was 597 days ago—so expect no active bug fixes or feature development, though the package remains functional for its core use case.
Requires Python >=3.7; git must be available on your system for template repository operations.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute cruft freely as long as you include the original license notice.
Quickstart
pip install cruft
cruft create https://github.com/example/cookiecutter-template
# Later, to sync with template updates:
cruft update
Verify before relying
- Whether dormant status affects template compatibility with modern Cookiecutter versions or recent Python releases.
- Real-world experience with complex template variable updates and conflict resolution during cruft update operations.
- Performance and reliability when managing large numbers of projects or deeply nested template structures.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesclickcookiecuttergitpythonimportlib-metadatatomltyper |
| Maintenance | Dormant 597 days since the last release |
| First released | |
| Downloads | 245,830 / month, #8,723 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: cruft-2.16.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cookiecutter template management”
- cruftcruft creates new projects from Cookiecutter templates and keeps them…
- pytest-cookiesA pytest plugin that provides a `cookies` fixture for testing…
- jinja2-strcaseAdds string-case conversion filters to Jinja2 templates, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also cookiecutter · charm-refresh-build-version · copier · pytest-cookies · make · django-cookie-consent · git-changelog · ansible-creator · Jinja2 · add-trailing-comma