diff --git a/{{cookiecutter.repo_name}}/.gitlab-ci.yml b/{{cookiecutter.repo_name}}/.gitlab-ci.yml
index 2b4e2e8778aefb9ac75d7f41200bee65f810d14b..fbe82d998fb5880d7f8bf1956dba95d99b03b88b 100644
--- a/{{cookiecutter.repo_name}}/.gitlab-ci.yml
+++ b/{{cookiecutter.repo_name}}/.gitlab-ci.yml
@@ -31,6 +31,17 @@ test:
   artifacts:
     reports:
       junit: "build/test-results/test/TEST-*.xml"
+
+diagram:
+  image: openjdk:11
+  stage: build
+  needs:
+    - build
+  before_script:
+    - apt-get update && apt-get -y install graphviz
+  script:
+    - "./gradlew generateGrammarDiagrams"
+  artifacts:
     paths:
       - "src/gen/resources"
 
@@ -74,9 +85,11 @@ pages:
   needs:
     - ragdoc_view
     - test
+    - diagram
   before_script:
     - pip install -r pages/requirements.txt
   script:
+    - cp -r src/gen/resources/diagrams/ pages/docs/diagrams
     - cd pages && mkdocs build
   artifacts:
     paths:
diff --git a/{{cookiecutter.repo_name}}/build.gradle b/{{cookiecutter.repo_name}}/build.gradle
index e6415e32a68ebef9084a5c9f1f8a1333cbcd6889..44434463b4888a6680065e869b5326852c2f9b7c 100644
--- a/{{cookiecutter.repo_name}}/build.gradle
+++ b/{{cookiecutter.repo_name}}/build.gradle
@@ -169,7 +169,7 @@ jastadd {
 }
 
 
-//{{cookiecutter.project_gitlab_id}}
+// publish gitlab project {{cookiecutter.project_gitlab_id}}
 publishing {
     publications {
         maven(MavenPublication) {
@@ -203,6 +203,5 @@ publishing {
 // Workflow configuration for phases
 clean.dependsOn cleanGen
 generateAst.dependsOn relastToJastAdd
-generateAst.dependsOn generateGrammarDiagrams
 publish.dependsOn jar
 
diff --git a/{{cookiecutter.repo_name}}/src/main/jastadd/{{cookiecutter.project_short_name}}.relast b/{{cookiecutter.repo_name}}/src/main/jastadd/{{cookiecutter.project_short_name}}.relast
index 388588ba9385f8bdfcdf054340b0d76e6e6a3e24..c03fee7f016835d0228b67b066941ef780cc3d73 100644
--- a/{{cookiecutter.repo_name}}/src/main/jastadd/{{cookiecutter.project_short_name}}.relast
+++ b/{{cookiecutter.repo_name}}/src/main/jastadd/{{cookiecutter.project_short_name}}.relast
@@ -1 +1,11 @@
 // Grammar for {{cookiecutter.project_short_name}}
+
+// TODO replace with own grammar
+Root ::= A B* [myC:C];
+A ::= <Name>;
+B ::= <Count:int>;
+C;
+D:A;
+
+rel D.a <-> A.d*;
+