diff --git a/packages/forte/1.0.0/build.sh b/packages/forte/1.0.0/build.sh
new file mode 100755
index 0000000..b3e39a8
--- /dev/null
+++ b/packages/forte/1.0.0/build.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# the forter interpreter requries ruby
+source ../../ruby/3.0.1/build.sh
+
+mkdir -p build
+
+git clone -q "https://github.com/judofyr/forter" build/forter
+cd build/forter
+
+mv bin/* ../../bin/
+mv lib/* ../../lib/
+
+cd ../../
+rm -rf build
diff --git a/packages/forte/1.0.0/environment b/packages/forte/1.0.0/environment
new file mode 100644
index 0000000..e75919d
--- /dev/null
+++ b/packages/forte/1.0.0/environment
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# interpreter location
+export PATH=$PWD/bin:$PATH
diff --git a/packages/forte/1.0.0/metadata.json b/packages/forte/1.0.0/metadata.json
new file mode 100644
index 0000000..fd4ec12
--- /dev/null
+++ b/packages/forte/1.0.0/metadata.json
@@ -0,0 +1,5 @@
+{
+  "language": "forte",
+  "version": "1.0.0",
+  "aliases": ["forter"]
+}
diff --git a/packages/forte/1.0.0/run b/packages/forte/1.0.0/run
new file mode 100644
index 0000000..79ee95b
--- /dev/null
+++ b/packages/forte/1.0.0/run
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+forter "$@"
diff --git a/packages/forte/1.0.0/test.forte b/packages/forte/1.0.0/test.forte
new file mode 100644
index 0000000..7482949
--- /dev/null
+++ b/packages/forte/1.0.0/test.forte
@@ -0,0 +1,2 @@
+1 PRINT "OK"
+2 END
diff --git a/packages/freebasic/1.8.0/build.sh b/packages/freebasic/1.8.0/build.sh
new file mode 100755
index 0000000..bd58488
--- /dev/null
+++ b/packages/freebasic/1.8.0/build.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+curl -L "https://sourceforge.net/projects/fbc/files/FreeBASIC-1.08.0/Binaries-Linux/FreeBASIC-1.08.0-linux-x86_64.tar.gz/download" -o freebasic.tar.gz
+tar xf freebasic.tar.gz --strip-components=1
+rm freebasic.tar.gz
diff --git a/packages/freebasic/1.8.0/compile b/packages/freebasic/1.8.0/compile
new file mode 100644
index 0000000..b836b3d
--- /dev/null
+++ b/packages/freebasic/1.8.0/compile
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# Compile bas files
+fbc -lang qb -b "$@" -x out
diff --git a/packages/freebasic/1.8.0/environment b/packages/freebasic/1.8.0/environment
new file mode 100644
index 0000000..144c737
--- /dev/null
+++ b/packages/freebasic/1.8.0/environment
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# Path to fbc compiler
+export PATH=$PWD/bin:$PATH
diff --git a/packages/freebasic/1.8.0/metadata.json b/packages/freebasic/1.8.0/metadata.json
new file mode 100644
index 0000000..1dcf1ff
--- /dev/null
+++ b/packages/freebasic/1.8.0/metadata.json
@@ -0,0 +1,5 @@
+{
+    "language": "freebasic",
+    "version": "1.8.0",
+    "aliases": ["bas", "fbc", "basic", "qbasic", "quickbasic"]
+}
diff --git a/packages/freebasic/1.8.0/run b/packages/freebasic/1.8.0/run
new file mode 100644
index 0000000..610d7e6
--- /dev/null
+++ b/packages/freebasic/1.8.0/run
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+# Run output file from compile with arguments
+shift
+./out "$@"
diff --git a/packages/freebasic/1.8.0/test.bas b/packages/freebasic/1.8.0/test.bas
new file mode 100644
index 0000000..b13a0ef
--- /dev/null
+++ b/packages/freebasic/1.8.0/test.bas
@@ -0,0 +1 @@
+PRINT "OK"
\ No newline at end of file
diff --git a/readme.md b/readme.md
index c942624..02a3a03 100644
--- a/readme.md
+++ b/readme.md
@@ -338,7 +338,9 @@ Content-Type: application/json
 `elixir`,
 `emacs`,
 `erlang`,
+`forte`,
 `fortran`,
+`freebasic`,
 `go`,
 `golfscript`,
 `groovy`,