Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


because touch lacks meaning


Poke is a bash command, much like touch but with some brains to it. It is used to create a template for the programming language of your file.

Using poke

To install poke, clone the repository and install with the Makefile, using make install.

git clone
cd poke/
make install

If you just want to see poke in action, clone the repository and call the poke command:

git clone
cd poke/


poke [-lang|--flag] filename

The most basic usage is creating a new file, simply include the extension and if there is a template, poke will use it.

poke FileName.ext

Flags can be used to edit templates, or specify which template to use regardless of file extension. Available flags include:

Flag Description
-h|--help The full filename with extension
--edit [lang] The filename without extension
--global [key] [val] Save a global poke value (more below)
-j|--java Creates file with Java template
-c Creates file with C template
-cpp|--c++ Creates file with C++ template
-cs|--c# Creates file with C# template
-f|--f# Creates file with F# template
-g|--go Creates file with Go template

Configuring Globals

poke --global AUTHOR "Your Name"

Saves the author to a global config file. Now all $AUTHOR template variables will be filled in with AUTHOR value.


Currently the following langauges have templates:

  • Java
  • C
  • C++
  • C#
  • F#
  • Go

Some of these languages I do not use often, so templates are based off internet searches, feel free to enhance them and submit a pull request!


Please do contribute to this repository, I only use so many languages so the templates I provide are probably not the best. However, creating or modifying templates is easy!

The poke script checks the file extension (Ex: Kevin__.java__) and looks for a matching file poke__.java__ in the /tmpl folder. When making templates, you have access to a few variables:

Variable Description
$FILE The full filename with extension
$FNAME The filename without extension
$DATE Date that the file was created
$DIR The files current directory

See for a good example of template creation.

Let me know if you have any suggestions for the future of this script!


Use poke, because touch lacks purpose.




No releases published


No packages published
You can’t perform that action at this time.