mcpField
C
Cookiecutter

Cookiecutter

公式Agent-ready
github.com開発ツール25.2kcookiecutter34 週間前に更新
リポジトリ公式サイト

Cookiecutter について

Cookiecutter はコマンドラインツールで、対話的なプロンプトを使用して変数を収集し、定義済みテンプレートからプロジェクトを生成します。開発者とコーディングエージェントはプロジェクト初期化を自動化し、繰り返しの手作業を削減できます。

主な機能

  1. 01ローカルまたはリモート Git リポジトリからプロジェクトテンプレートを読み込む
  2. 02対話的なプロンプトでユーザー入力を収集しテンプレート変数に値を設定
  3. 03プロジェクトディレクトリ構造、設定ファイルおよびボイラープレートコードを生成
  4. 04テンプレート内の条件付きロジックと動的ファイル生成をサポート

活用シーン

  1. 01新しい Python パッケージ、Web アプリケーション、マイクロサービスを素早くスキャフォルド
  2. 02チーム向けに標準化されたプロジェクトテンプレートを作成・保守
  3. 03コーディングエージェントのワークフローに統合してプロジェクトスケルトンを自動生成

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
pipx install cookiecutter

インストール後にcookiecutter --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
cookiecutter gh:audreyfeldroy/cookiecutter-pypackage

詳細

cookiecutter Logo

pypi python PyPI Downloads GitHub Stars discord docs

Cookiecutter

このコマンドラインユーティリティを使うと、cookiecutter(プロジェクトテンプレート)からプロジェクトをすばやく作成できます。Python パッケージプロジェクトなどの生成に最適です。

インストール

uv を使って Cookiecutter を CLI ツールとしてインストールします。

uv tool install cookiecutter

特長

  • クロスプラットフォーム: Windows、Mac、Linux に対応しています。
  • 使いやすい: Python の知識は必要ありません。
  • 多用途: Python 3.10~3.14 に対応しています。
  • 多言語対応: あらゆる言語やマークアップ形式のテンプレートを使用できます。
ユーザー向け
クイックスタート

Cookiecutter の最も一般的な使い方は、https://github.com/audreyfeldroy/cookiecutter-pypackage のような GitHub でホストされている Cookiecutter テンプレートを、コマンドラインユーティリティとして利用することです。

GitHub でホストされている Cookiecutter テンプレートを使用する

# 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

ローカルテンプレートを使用する

$ uvx cookiecutter cookiecutter-pypackage/

Python から使用する

Cookiecutter をプログラムから利用する場合は、uv add cookiecutter を実行してプロジェクトに追加してください。その後、次のようにインポートして使用できます。

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')

Cookiecutter によって時間を節約できたら、GitHub でスターを付けて、ほかの開発者にも見つけてもらいましょう。

詳細な使い方
  • ローカルまたはリモートのテンプレートからプロジェクトを生成します。
  • cookiecutter.json のプロンプトを使ってプロジェクトをカスタマイズします。
  • プロンプト前、生成前、生成後のフックを利用できます。

詳しくはこちら

テンプレート作成者向け
  • あらゆる言語、あらゆるフレームワークに対応。 Cookiecutter テンプレートは、変数を含むディレクトリにすぎません。Python、Rust、Terraform、ドキュメントサイトなど、繰り返し構築するものなら何にでも使えます。
  • 残りのセットアップにはフックを使用。 生成前・生成後のスクリプト(シェルまたは Python)で、git init、依存関係のインストールなど、ボイラープレートに必要なあらゆる処理を実行できます。
  • インターフェースを定義するのは1つのファイル。 cookiecutter.json で、すべての変数とそのデフォルト値を宣言します。ユーザーがプロンプトに答えれば、あとはテンプレートが処理します。

詳しくはこちら

利用可能なテンプレート

GitHub で、すぐに使えるさまざまなテンプレートを探してみましょう。

特別なテンプレート

コミュニティ

コミュニティに参加したり、貢献したり、サポートを求めたりできます。

フィードバック

皆さまからのフィードバックを大切にしています。改善に役立てるため、批判や苦情は建設的な形でお寄せください。

返答を待っていますか?
  • 辛抱強くお待ちいただき、サポートが必要な場合はコミュニティへの問い合わせをご検討ください。
  • エンタープライズサポートについては、[email protected] までお問い合わせください。

行動規範

プロジェクトのエコシステム内でのあらゆるやり取りにおいて、PyPA 行動規範を遵守してください。

謝辞

Audrey M. Roy Greenfeld が作成し、主導しています。献身的なメンテナーとコントリビューターのチームに支えられています。

コメント