diff --git a/.headroom-templates/css.mustache b/.headroom-templates/css.mustache
new file mode 100644
index 0000000..ca3ddff
--- /dev/null
+++ b/.headroom-templates/css.mustache
@@ -0,0 +1,18 @@
+/*
+ * {{ project }}
+ * Copyright (c) {{ year }} {{ author }}
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
diff --git a/.headroom-templates/html.mustache b/.headroom-templates/html.mustache
new file mode 100644
index 0000000..3d149c8
--- /dev/null
+++ b/.headroom-templates/html.mustache
@@ -0,0 +1,18 @@
+<!--
+  {{ project }}
+  Copyright (c) {{ year }} {{ author }}
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU Affero General Public License as
+  published by the Free Software Foundation, either version 3 of the
+  License, or (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU Affero General Public License for more details.
+
+  You should have received a copy of the GNU Affero General Public
+  License along with this program.
+  If not, see http://www.gnu.org/licenses/.
+-->
diff --git a/.headroom-templates/js.mustache b/.headroom-templates/js.mustache
new file mode 100644
index 0000000..91f32aa
--- /dev/null
+++ b/.headroom-templates/js.mustache
@@ -0,0 +1,18 @@
+/* (license-header)
+ * {{ project }}
+ * Copyright (c) {{ year }} {{ author }}
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
diff --git a/.headroom-templates/php.mustache b/.headroom-templates/php.mustache
new file mode 100644
index 0000000..ca3ddff
--- /dev/null
+++ b/.headroom-templates/php.mustache
@@ -0,0 +1,18 @@
+/*
+ * {{ project }}
+ * Copyright (c) {{ year }} {{ author }}
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
diff --git a/.headroom-templates/shell.mustache b/.headroom-templates/shell.mustache
new file mode 100644
index 0000000..e4f2fac
--- /dev/null
+++ b/.headroom-templates/shell.mustache
@@ -0,0 +1,16 @@
+# {{ project }}
+# Copyright (c) {{ year }} {{ author }}
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program.
+# If not, see http://www.gnu.org/licenses/.
