diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d163863
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+build/
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..c416e4a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,43 @@
+image: php:8.1
+
+before_script:
+ # Install some stuff that the image doesn't come with
+ - apt update -yqq
+ - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq
+
+ # Install phive
+ - wget -O phive.phar https://phar.io/releases/phive.phar
+ - wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc
+ - gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79
+ - gpg --verify phive.phar.asc phive.phar
+ - chmod +x phive.phar
+ - mv phive.phar /usr/local/bin/phive
+
+ # Install phab
+ - phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C
+
+ # Install the latest version of ncc (Nosial Code Compiler)
+ - git clone https://git.n64.cc/nosial/ncc.git
+ - cd ncc
+ - make redist
+ - php build/src/INSTALL --auto --install-composer
+ - cd .. && rm -rf ncc
+
+build:
+ script:
+ - ncc build --config release --log-level debug
+ artifacts:
+ paths:
+ - build/
+ rules:
+ - if: $CI_COMMIT_BRANCH
+
+release:
+ stage: deploy
+ script:
+ - ncc build --config release --log-level debug
+ artifacts:
+ paths:
+ - build/
+ rules:
+ - if: $CI_COMMIT_TAG
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/ConfigLib.iml b/.idea/ConfigLib.iml
new file mode 100644
index 0000000..24c8dff
--- /dev/null
+++ b/.idea/ConfigLib.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..ea8af9c
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..75d33d8
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
new file mode 100644
index 0000000..4f6c9ac
--- /dev/null
+++ b/.idea/php.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file