diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..e5a5681
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,13 @@
+version: 2.1
+jobs:
+  build:
+    docker:
+      - image: docker:19.03.4
+    steps:
+      - setup_remote_docker
+      - checkout
+      - run: apk add -u make zip git curl
+      - run: pwd; ls -la; make install
+      - run: pwd; ls -la; tools/shards install
+      - run: pwd; ls -la; make spec
+      - run: pwd; ls -la; make build
diff --git a/Makefile b/Makefile
index f4d544c..12f1ac0 100644
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,11 @@ build-docker:
 	docker pull alpine:edge
 	docker build -t $(APP_NAME)-crystal .
 
+install-shards:
+	shards install
+
 .PHONY: install
-install: build-docker
+install: build-docker install-shards
 
 .PHONY: build
 build:
diff --git a/tools/crystal b/tools/crystal
index bce4169..8c25dad 100755
--- a/tools/crystal
+++ b/tools/crystal
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 set -eu
 
diff --git a/tools/shards b/tools/shards
index 454cfe2..5a0f2e7 100755
--- a/tools/shards
+++ b/tools/shards
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 set -eu