OSS探訪

Jinja templateと対話入力からproject skeletonを生成し、定型project構成を再利用する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
25,127
主要言語
Python
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/04/01
ページ内ナビ

概要

Cookiecutterはcookiecutter.jsonで入力値を定義し、Jinja templateからdirectory/fileを生成するcross-platform CLIです。local directoryだけでなくGit repository等のremote templateも扱え、template側のpre/post generation hookで初期化処理を追加できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

cookiecutter.jsonとJinjaでproject templateを定義する

template authorは変数とdefault値をcookiecutter.jsonへ置き、directory名やfile内容へJinja expressionを埋め込めます。利用者はpromptへ値を入力して同じ構造から別projectを生成できます。

出典:[1][2]

local・Git-hosted templateとgeneration hookを扱う

local directory、GitHub等のrepository、ZIP等を入力にでき、pre/post generation hookでgit初期化やdependency導入などの追加処理を組み込めます。

出典:[1][2]

向いている用途

複数projectで共通の初期構成を繰り返し生成したい場合に向く

package、service、infrastructure template等でdirectory layout、設定file、boilerplateを揃え、作成時の手作業を減らす用途に適します。

出典:[1]

導入前の確認

remote templateはhookを含めて実行前にreviewする

templateはpre/post generation scriptを含められるため、第三者repositoryをそのまま実行する前にsourceとhooksを確認し、必要ならlocal cloneから利用します。

出典:[1]

2.7.1ではPython 3.10以上を用意する

2.7.1のpackage metadataはPython >=3.10を要求し、READMEは3.10〜3.14をsupport範囲として案内しています。

出典:[3][4]

参考にした公式資料

  1. [1]Cookiecutter v2.7.1 README(2026-10-03)
  2. [2]Cookiecutter v2.7.1 usage guide(2026-10-03)
  3. [3]Cookiecutter v2.7.1 package metadata(2026-10-03)
  4. [4]Cookiecutter 2.7.1 release(2026-10-03)
編集部からの補足

同型projectを何度も立ち上げるteamでは、directory構成や初期fileをtemplateへ寄せることでscaffoldの差分を減らせます。remote templateは生成hookを含められるため、取得元とhook内容を確認してから実行してください。

3ステップで試す

  1. 1

    Cookiecutter 2.7.1のCLI versionを確認する

    global installを変更せず、version固定したCookiecutter CLIが起動することを確認します。

    uvx --from cookiecutter==2.7.1 cookiecutter --version
  2. 2

    sample templateをcloneしてhookを確認する

    第三者templateはpre/post generation hookを実行できるため、生成前にlocal cloneのsourceとhooksを確認します。

    git clone --depth 1 https://github.com/audreyfeldroy/cookiecutter-pypackage.git && find cookiecutter-pypackage/hooks -maxdepth 1 -type f -print 2>/dev/null || true
  3. 3

    確認したlocal templateからprojectを生成する

    promptへ値を入力してproject skeletonを生成します。templateにhookがある場合はこの生成時に実行されるため、前段のreviewを省略しません。

    uvx --from cookiecutter==2.7.1 cookiecutter ./cookiecutter-pypackage
公式READMEで確認

成長

成長の推移 · 直近30日

25,127 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
89

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • python
  • cookiecutter
Stars
25,127
Forks
2,286
Watchers
221
Open Issues
233
Contributors
285
所有者種別
Organization
主要言語
Python
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/04/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?