MCPcopy
hub / github.com/cookiecutter/cookiecutter

github.com/cookiecutter/cookiecutter @v2.7.1 sqlite

repository ↗ · DeepWiki ↗ · release v2.7.1 ↗
514 symbols 1,370 edges 90 files 481 documented · 94%
README

cookiecutter Logo

pypi python PyPI Downloads GitHub Stars discord docs

Cookiecutter

Create projects swiftly from cookiecutters (project templates) with this command-line utility. Ideal for generating Python package projects and more.

Installation

Install Cookiecutter as a CLI tool with uv:

uv tool install cookiecutter

Features

  • Cross-Platform: Supports Windows, Mac, and Linux.
  • User-Friendly: No Python knowledge required.
  • Versatile: Compatible with Python 3.10 to 3.14.
  • Multi-Language Support: Use templates in any language or markup format.

For Users

Quickstart

The most common way to use Cookiecutter is as a command line utility with a GitHub-hosted Cookiecutter template such as https://github.com/audreyfeldroy/cookiecutter-pypackage

Use a GitHub-hosted Cookiecutter template

# You'll be prompted to enter values.
# Then it'll create your Python package in the current working directory,
# based on those values.
# For the sake of brevity, repos on GitHub can just use the 'gh' prefix
$ uvx cookiecutter gh:audreyfeldroy/cookiecutter-pypackage

Use a local template

$ uvx cookiecutter cookiecutter-pypackage/

Use it from Python

If you plan to use Cookiecutter programmatically, please run uv add cookiecutter to add it to your project. Then you can import and use it like this:

from cookiecutter.main import cookiecutter

# Create project from the cookiecutter-pypackage/ template
cookiecutter('cookiecutter-pypackage/')

# Create project from the cookiecutter-pypackage.git repo template
cookiecutter('gh:audreyfeldroy/cookiecutter-pypackage')

If Cookiecutter saves you time, star it on GitHub so other developers can find it too.

Detailed Usage

  • Generate projects from local or remote templates.
  • Customize projects with cookiecutter.json prompts.
  • Utilize pre-prompt, pre- and post-generate hooks.

Learn More

For Template Creators

  • Any language, any framework. A Cookiecutter template is just a directory with variables. It works for Python, Rust, Terraform, docs sites, whatever you build repeatedly.
  • Hooks for the rest of the setup. Pre- and post-generate scripts (shell or Python) handle git init, dependency installs, or anything else your boilerplate needs.
  • One file defines the interface. cookiecutter.json declares every variable and its default. Users answer prompts; the template does the rest.

Learn More

Available Templates

Discover a variety of ready-to-use templates on GitHub.

Special Templates

Community

Join the community, contribute, or seek assistance.

Feedback

We value your feedback. Share your criticisms or complaints constructively to help us improve.

Waiting for a Response?

  • Be patient and consider reaching out to the community for assistance.
  • For enterprise support, contact support@feldroy.com.

Code of Conduct

Adhere to the PyPA Code of Conduct during all interactions in the project's ecosystem.

Acknowledgements

Created and led by Audrey M. Roy Greenfeld, supported by a dedicated team of maintainers and contributors.

Core symbols most depended-on inside this repo

cookiecutter
called by 8
cookiecutter/main.py
rmtree
called by 6
cookiecutter/utils.py
is_repo_url
called by 6
cookiecutter/repository.py
create_env_with_context
called by 5
cookiecutter/utils.py
process_json
called by 5
cookiecutter/prompt.py
read_user_dict
called by 5
cookiecutter/prompt.py
render_variable
called by 5
cookiecutter/prompt.py
configure_logger
called by 4
cookiecutter/log.py

Shape

Function 395
Method 66
Class 39
Route 14

Languages

Python100%

Modules by API surface

tests/test_cli.py46 symbols
tests/test_prompt.py44 symbols
tests/test_generate_files.py23 symbols
tests/test_generate_context.py21 symbols
tests/test_hooks.py20 symbols
cookiecutter/exceptions.py20 symbols
tests/zipfile/test_unzip.py17 symbols
cookiecutter/prompt.py17 symbols
cookiecutter/extensions.py17 symbols
tests/test_get_user_config.py15 symbols
tests/test_generate_hooks.py12 symbols
tests/test_generate_file.py12 symbols

Used by 2 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

Sphinx4.5.0 · 1×
arrow
binaryornot0.4.4 · 1×
myst-parser0.17.2 · 1×
python-slugify4.0.0 · 1×
pyyaml5.3.1 · 1×
requests2.23.0 · 1×
rich
sphinx-autobuild2021.3.14 · 1×
sphinx-autodoc-typehints1.18.2 · 1×
sphinx-click4.1.0 · 1×
sphinx-rtd-theme1.0.0 · 1×

For agents

$ claude mcp add cookiecutter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact