{"adoption": {"forks": 2275, "observed_at": "2026-08-28T04:11:37.823282+00:00", "stars": 25065}, "canonical_url": "https://ross.abutalabs.com/products/cookiecutter", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects.", "domain": ["developer-tools"], "enriched": true, "function": ["cli", "boilerplate", "templating", "developer-tools"], "health_score": 82, "homepage": "https://pypi.org/project/cookiecutter/", "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["cookiecutter/cookiecutter"], "name": "cookiecutter/cookiecutter", "platform": ["cross-platform", "cli", "python"], "pushed_at": "2026-04-01T17:46:44+00:00", "repo": "cookiecutter/cookiecutter", "stars": 25065, "tags": ["project-scaffolding", "project-templates", "jinja2", "code-generation", "skeleton-generator", "command-line"], "topics": ["python", "cookiecutter"], "urls": [], "use_cases": ["scaffold a new python package project from a template", "generate a project skeleton or boilerplate directory from a github repo", "bootstrap a new c or c++ project from a template on the command line", "create starter projects from templates without writing python code", "turn a repository into a reusable project template with prompts for custom values"], "what_it_is": "Cookiecutter is a cross-platform command-line utility that generates new project directories from project templates called 'cookiecutters', which can be hosted on GitHub, local paths, or fetched from any source. It uses Jinja2 for templating, prompts users for variables interactively, works with any programming language or markup format, and can also be used programmatically as a Python library.", "when_to_avoid": ["you need a full package manager or dependency manager - cookiecutter only generates files once and does not manage the created project", "you need templates that stay synced with generated projects for later updates - output is decoupled from the template after generation", "you need an ide-integrated project wizard rather than a command-line or python api workflow"], "when_to_choose": ["you want to stamp out new project directories from reusable templates with interactive prompts", "you need language-agnostic scaffolding that works with any file format or markup", "you want to generate projects from github-hosted or local template directories with a single command"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cookiecutter", "repo": "cookiecutter/cookiecutter", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.823282+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:56:06.835077+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01cd39c3574a347c72bdb02f21ff24e8d386b5dbdaaad0095a4c3c8b080cea16", "fetched_at": "2026-08-28T04:11:37.823282+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cookiecutter/cookiecutter"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:53:10.806920+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/cookiecutter/"}, {"content_hash": "bb6a3482e5c99acd1927ac244c0094d790e4fd670e0bd1c52b298f97fe386d3b", "fetched_at": "2026-08-29T07:53:10.809412+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/cookiecutter/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 75, "longevity": 100, "rhythm": 73}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4798, "days_push": 154, "days_rel": 182, "gap_med": 1, "n_releases_24m": 2}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}