diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f0153e21c67b185bcde610c0f0c7ee84c9c7f1f2
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,69 @@
+
+stages:
+  - buildStatic
+  - testStatic 
+variables:
+
+before_script:
+
+
+#alpine
+#
+buildStatic:
+  tags: 
+    - docker
+  image: svirlyu/sscocaller_nsb
+  stage: buildStatic
+  script:
+    - /usr/local/bin/nsb -s ./src/sgcocaller.nim -n sgcocaller.nimble -o . -- --d:release --threads:on
+    - ls -l ./src
+  artifacts:
+    paths:
+      - ./src/sgcocaller
+
+testUbuntu:
+  tags:
+    - docker
+  image: ubuntu
+  stage: testStatic
+  script:
+    - ./src/sgcocaller -h
+
+testDebian:
+  tags:
+    - docker
+  image: debian
+  stage: testStatic
+  script:
+    - ./src/sgcocaller -h
+
+testRedHat:
+  stage: testStatic
+  script:
+    - ./src/sgcocaller -h
+
+
+## shell executer    
+##testFunction:
+##  stage: testStatic
+##  script:
+##    - sh tests/test.sh
+
+testAlpine:
+  tags:
+    - docker
+  image: alpine
+  stage: testStatic
+  script:
+  - ./src/sgcocaller -h
+
+
+
+
+#release:
+#i  tag_name: $CI_COMMIT_TAG
+#  script:
+#    -  echo "create static build"
+#  image: registry.gitlab.com/gitlab-org/release-cli:latest
+
+
diff --git a/sgcocaller.nimble b/sgcocaller.nimble
new file mode 100644
index 0000000000000000000000000000000000000000..4ba0551722ea1f83e864221ccd1e5f718392bc19
--- /dev/null
+++ b/sgcocaller.nimble
@@ -0,0 +1,18 @@
+# Package
+
+version       = "0.3.3"
+author        = "Ruqian Lyu"
+description   = "sgcocaller: calling crossovers from single-gamete DNA sequencing datasets"
+license       = "MIT"
+srcDir        = "src"
+bin           = @["sgcocaller"]
+
+
+# Dependencies
+
+requires "nim >= 1.0.0","docopt","hts >= 0.3.4"
+requires "https://github.com/ruqianl/distributions.git"
+
+# task test, "run the tests":
+#   exec "nim c  -d:useSysAssert -d:useGcAssert --lineDir:on --debuginfo -r tests/test_groups"
+#   exec "bash tests/functional-tests.sh"