--- id: cruft version: "2.16.0" license: MIT license_treatment: permissive maintenance: dormant --- # 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. License: permissive · Maintenance: dormant · Downloads: 245.8K/mo ## 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 above — verify before relying. cruft creates new projects from Cookiecutter templates and keeps them synchronized with template updates over time, automating boilerplate management throughout a project's lifecycle. 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 pip install cruft uv add cruft poetry add cruft ## Installing cruft 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. 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 Requires Python >=3.7; git must be available on your system for template repository operations. 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_current - Install friction: low - Maintenance: dormant - Downloads: 245.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags project template scaffolding, cookiecutter template management, boilerplate synchronization, template update automation, project initialization from templates, maintain template-generated code, template drift detection, project-scaffolding, template-management, cookiecutter [View on SkillFed](https://skillfed.io/packages/cruft) · [View on PyPI](https://pypi.org/project/cruft/)