diff --git a/README.md b/README.md
index 891922c..187800e 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,46 @@
-# Bluecrypt™ Keypairs
+# Bluecrypt™ [Keypairs](https://git.rootprojects.org/root/bluecrypt-keypairs.js) | A [Root](https://rootprojects.org) Project
A port of [keypairs.js](https://git.coolaj86.com/coolaj86/keypairs.js) to the browser.
-* Keypairs
- * Eckles (ECDSA)
- * Rasha (RSA)
- * X509
- * ASN1
+# Features (port in-progress)
+
+ * [x] Keypair generation and encoding
+ * [x] RSA
+ * [x] ECDSA (P-256, P-384)
+ * [x] JWK-to-PEM
+ * [ ] JWK-to-SSH
+ * [ ] PEM-to-JWK
+ * [ ] SSH-to-JWK
+ * [x] ASN1, X509, PEM, DER
+ * [x] SHA256 JWK Thumbprints
+ * [x] Sign JWS
+ * [ ] Create JWTs
+ * [ ] JWK fetching. See [Keyfetch.js](https://npmjs.com/packages/keyfetch/)
+ * [ ] OIDC
+ * [ ] Auth0
+ * [ ] CLI (ee [keypairs-cli](https://npmjs.com/packages/keypairs-cli/))
+ * [ ] Node.js (ee [keypairs.js](https://npmjs.com/packages/keypairs.js))
+ * [ ] [CSR.js](https://git.rootprojects.org/root/bluecrypt-csr.js)
+ * [ ] [ACME.js](https://git.rootprojects.org/root/bluecrypt-acme.js) (Let's Encyrpt)
+
+# Online Demos
+
+* Bluecrypt Keypairs.js Demo
+
+# QuickStart
+
+`bluecrypt-keypairs.js`
+```html
+
+```
+
+`bluecrypt-keypairs.min.js`
+```html
+
+```
+
+You can see `index.html` and `app.js` in the repo for full example usage.
+
+# Documentation
+
+See [keypairs.js](https://git.coolaj86.com/coolaj86/keypairs.js) for documentation.
diff --git a/bundle.sh b/bundle.sh
new file mode 100755
index 0000000..5973e01
--- /dev/null
+++ b/bundle.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Development Version
+cat > bluecrypt-keypairs.js << EOF
+// Copyright 2015-2019 AJ ONeal. All rights reserved
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+;
+EOF
+cat ./lib/encoding.js \
+ ./lib/asn1-packer.js \
+ ./lib/x509.js \
+ ./lib/ecdsa.js \
+ ./lib/rsa.js \
+ ./lib/keypairs.js \
+ >> bluecrypt-keypairs.js
+
+# Gzipped
+cat > bluecrypt-keypairs.min.js << EOF
+// Copyright 2015-2019 AJ ONeal. All rights reserved
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+;
+EOF
+uglifyjs bluecrypt-keypairs.js >> bluecrypt-keypairs.min.js
+gzip bluecrypt-keypairs.min.js
+
+# Minified Gzipped
+cat > bluecrypt-keypairs.min.js << EOF
+// Copyright 2015-2019 AJ ONeal. All rights reserved
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+;
+EOF
+uglifyjs bluecrypt-keypairs.js >> bluecrypt-keypairs.min.js
+
+rsync -av ./ root@beta.rootprojects.org:~/beta.rootprojects.org/keypairs/
+rsync -av ./ ubuntu@rootprojects.org:/srv/www/rootprojects.org/keypairs/
diff --git a/package.json b/package.json
index 3dd19e2..7dd2734 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,18 @@
{
- "name": "bluecrypt-keypairs",
+ "name": "@bluecrypt/keypairs",
"version": "0.1.1",
"description": "Zero-Dependency Native Browser support for ECDSA P-256 and P-384, and RSA 2048/3072/4096 written in VanillaJS",
+ "homepage": "https://rootprojects.org/keypairs/",
+ "files": [
+ "lib",
+ "bluecrypt-keypairs.js",
+ "bluecrypt-keypairs.min.js"
+ ]
"directories": {
"lib": "lib"
},
"scripts": {
- "test": "node server.js",
- "start": "node server.js"
+ "test": "node test.js"
},
"repository": {
"type": "git",