diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6228f6fd3828034d2bd5b701a7e001c2f3474033
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,14 @@
+image: "rust:latest"
+
+stages:
+  - lint
+
+before_script:
+  - rustup component add rustfmt
+  - rustup component add clippy
+
+lint:
+  stage: lint
+  script:
+    - cargo fmt -- --check
+    - cargo clippy --all-features -- -D warnings
diff --git a/Cargo.toml b/Cargo.toml
index 33725c4ebe925dffd1904394977c40919d3f7c3a..a5283efafa112508f54a0003032f6966c93c9ff3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,6 +2,12 @@
 name = "rf4463"
 version = "0.1.0"
 edition = "2021"
+authors = ["Stephen D <webmaster@scd31.com>"]
+description = "A simple, no-std library for interfacing with the SI4463 transceiver IC"
+repository = "https://gitlab.scd31.com/stephen/rf4463-lib/"
+license = "MIT"
+keywords = ["transceiver", "radio", "communication"]
+categories = ["no-std::no-alloc", "no-std", "embedded", "hardware-support"]
 
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html