diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..9f11b755a17d8192c60f61cb17b8902dffbd9f23
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea/
diff --git a/star.wdl b/star.wdl
new file mode 100644
index 0000000000000000000000000000000000000000..7c8c4c93f45fb71b61e6f4e3ac4132b84a62f5c1
--- /dev/null
+++ b/star.wdl
@@ -0,0 +1,37 @@
+task Star {
+    String? preCommand
+
+    File inputR1
+    File? inputR2
+    String genomeDir
+    String outFileNamePrefix
+
+    String? outSAMtype = "BAM SortedByCoordinate"
+    String? readFilesCommand = "zcat"
+    Int? runThreadN
+    String? outStd
+    String? twopassMode
+    String? outSAMattrRGline
+
+    Map[String, String] samOutputNames = {"BAM SortedByCoordinate": "sortedByCoord.out.bam"} #needs to be extended for all possible values
+
+    command {
+        set -e -o pipefail
+        mkdir -p ${sub(outFileNamePrefix, basename(outFileNamePrefix) + "$", "")}
+        ${preCommand}
+        STAR \
+        --readFilesIn ${inputR1} ${inputR2} \
+        --outFileNamePrefix ${outFileNamePrefix} \
+        --genomeDir ${genomeDir} \
+        ${"--readFilesCommand " + readFilesCommand} \
+        ${"--outSAMtype " + outSAMtype} \
+        ${"--runThreadN " + runThreadN} \
+        ${"--outStd " + outStd} \
+        ${"--twopassMode " + twopassMode} \
+        ${"--outSAMattrRGline " + outSAMattrRGline}
+    }
+
+    output {
+        File bamFile = outFileNamePrefix + "Aligned." +  samOutputNames["${outSAMtype}"]
+    }
+}
\ No newline at end of file