# Cookiecutter template for Julia

**URL:** https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361
**Category:** Tooling
**Created:** [December 6, 2018, 7:26am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361 "2018-12-06T07:26:42Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![epogrebnyak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/epogrebnyak/32/6287_2.png) [@epogrebnyak](https://discourse.julialang.org/u/epogrebnyak)
#### Post date: [December 6, 2018, 7:26am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/1 "2018-12-06T07:26:42Z")

</div>

I could be misisng something, but there still seems no cookiecutter template for Julia?

There must be a reason for this:

- cookiecutter does not generate Project.toml and uuid for package, so it has to be used with Pkg.generate and two-step process is not fun
- python tooling is alien to Julia
- everyone just satisfied with Pkg.generate and copy-pastes other files by hand
- people are waiting for PkgDev to pick version 1.0

Would be nice to hear is anyone wanted to use cookiecutter with Julia.

My specific case is making a repo with Travis-CI, look like things need to be done manually?

The only one I encountered was [https://github.com/QuantStack/xtensor-julia-cookiecutter](https://github.com/QuantStack/xtensor-julia-cookiecutter) and it is for specific extension needs.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [December 6, 2018, 8:26am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/2 "2018-12-06T08:26:24Z")

</div>

I don’t know what cookicutter is, but I wrote

[https://github.com/tpapp/skeleton.jl](https://github.com/tpapp/skeleton.jl)

to set up package skeletons.

---

<div class="post-metadata">

### Author: ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)
#### Post date: [December 6, 2018, 8:29am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/3 "2018-12-06T08:29:47Z")

</div>

There is [GitHub - invenia/PkgTemplates.jl: Create new Julia packages, the easy way](https://github.com/invenia/PkgTemplates.jl) which already supports Julia 1.0. It is pretty customisable with its plugin mechanism (although it is more specialized tool than cookiecutter).

---

<div class="post-metadata">

### Author: ![Tero\_Frondelius](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tero_frondelius/32/7629_2.png) [@Tero\_Frondelius](https://discourse.julialang.org/u/Tero_Frondelius)
#### Post date: [December 6, 2018, 8:51am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/4 "2018-12-06T08:51:12Z")

</div>

I guess it is this: [GitHub - cookiecutter/cookiecutter: A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects.](https://github.com/audreyr/cookiecutter)

When I read the title I was expecting to see something like this:  
 ![cutter](https://global.discourse-cdn.com/julialang/original/3X/b/4/b446dfff8aed8598d1993204c634975250b82df8.jpeg)  
Made from julia logo.

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [December 6, 2018, 9:03am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/5 "2018-12-06T09:03:53Z")

</div>

Would be just three round cookies though 🙂

---

<div class="post-metadata">

### Author: ![DoktorMike](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/doktormike/32/2736_2.png) [@DoktorMike](https://discourse.julialang.org/u/DoktorMike)
#### Post date: [December 6, 2018, 10:25am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/6 "2018-12-06T10:25:21Z")

</div>

Awesome! Didn’t know about this package. 🙏

---

<div class="post-metadata">

### Author: ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)
#### Post date: [March 25, 2025, 2:37am UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/7 "2025-03-25T02:37:50Z")

</div>

I created a cookiecutter template at [GitHub - goerz/cookiecutter-juliapackage: Cookiecutter Template for Julia Projects](https://github.com/goerz/cookiecutter-juliapackage).

I’ve always found [PkgTemplates](https://github.com/JuliaCI/PkgTemplates.jl) rather unsatisfying, as it takes me quite a while to tweak whatever it generates to my needs. This template is highly opinionated, obviously. I’d recommend people create their own personalized templates, but feel free to treat the above as a starting point.

---

<div class="post-metadata">

### Author: ![DoktorMike](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/doktormike/32/2736_2.png) [@DoktorMike](https://discourse.julialang.org/u/DoktorMike)
#### Post date: [March 25, 2025, 7:19pm UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/8 "2025-03-25T19:19:51Z")

</div>

Very nice. Will check it out for sure. I mainly use gitlab for my development but I’ll try to adapt your code to support it. 🙏🏻😊

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [March 25, 2025, 7:52pm UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/9 "2025-03-25T19:52:44Z")

</div>

Also note the existence of BestieTemplate.jl

---

<div class="post-metadata">

### Author: ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)
#### Post date: [March 25, 2025, 8:33pm UTC](https://discourse.julialang.org/t/cookiecutter-template-for-julia/18361/10 "2025-03-25T20:33:24Z")

</div>

There’s a simple Julia solution, PkgSkeleton.jl. It’s very lightweight and transparent, I personally find it the most convenient option. Especially straightforward to create your own template!
