Skip to content


Subversion checkout URL

You can clone with
Download ZIP
MyTemplates, a code snippets/templates simple manager
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


mtpl (as in MyTemplates) is a small script/files templates manager that uses git.


Often scripting, I have a lot of small pieces of scripts, code, licences or configurations files that I frequently copy/paste from websites. This is boring and inconvenient (forgetting the website's address, slow, too many steps, tends to leads to error, etc...). A perfect task to solve with the power of code.

Also, sharing is cool.


So how to store and distribute a bunch of small pieces of code/text that will evolve in time and if possible with different versions of the "bunch"? Well git + branch is a perfect solution. But git alone doesn't really fit such use. So, let's build a small interface on top of it.


And voilà, you have a small script that use the power of git to distribute and share severals templates of script/code/licences/configuration files with a simple and powerful way to select one of it without caring on how git is working behind.



List templates. At the first launch, mtpl will clone the git repository to get the script. mtpl update update the content of the repository.

mtpl template_name

Display template on stdout.

mtpl part_of_template_name

Display matching template on stdout or the list of matching templates if there is more than one.

mtpl update

Update the templates' repository.

I want to add a new template!

Jut add a new file in ~/.config/mytemplates/.

I want to propose a new template to the official repository!

Well, lucky you are, you already have a git repository in ~/.config/mytemplates/. After you have added the file, commited and pushed somewhere just send me an email at You can also fork the github repository here and send me a pull request (easier).


Templates are in the public domain. MyTemplates is under agplv3+.

Something went wrong with that request. Please try again.