diff --git a/cmd/root.go b/cmd/cli/app/root.go
similarity index 99%
rename from cmd/root.go
rename to cmd/cli/app/root.go
index fa50bcedd6d66fddaa500b0de12d4b5c0622b707..f3c5421bfb3d709bbab07d90fb760487ceb9f2fd 100644
--- a/cmd/root.go
+++ b/cmd/cli/app/root.go
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */
-package cmd
+package app
 
 import (
 	"fmt"
diff --git a/cmd/upload.go b/cmd/cli/app/upload.go
similarity index 96%
rename from cmd/upload.go
rename to cmd/cli/app/upload.go
index 0c5f4c23e95b220eb0069982b8124ce13fb0100f..c349627dd1d4fa75d7f1fe18a76f6787deaa2ca4 100644
--- a/cmd/upload.go
+++ b/cmd/cli/app/upload.go
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */
-package cmd
+package app
 
 import (
 	"bytes"
@@ -32,8 +32,8 @@ import (
 
 	"github.com/google/trillian"
 	homedir "github.com/mitchellh/go-homedir"
-	"github.com/projectrekor/rekor-cli/app"
-	"github.com/projectrekor/rekor-cli/log"
+	"github.com/projectrekor/rekor/log"
+	"github.com/projectrekor/rekor/pkg"
 	"github.com/spf13/cobra"
 	"github.com/spf13/viper"
 	"golang.org/x/crypto/openpgp"
@@ -122,13 +122,13 @@ of the release artifact and uploads it to the rekor server.`,
 		// Let's check the formatting is correct, if not we
 		// exit and allow the user to resolve their corrupted
 		// GPG files.
-		sig, err := app.FormatSignature(signature)
+		sig, err := pkg.FormatSignature(signature)
 		if err != nil {
 			log.Error("Signature validation failed: ", err)
 			os.Exit(1)
 		}
 
-		pub_key, err := app.FormatPubKey(publicKey)
+		pub_key, err := pkg.FormatPubKey(publicKey)
 		if err != nil {
 			log.Error("Pubic key validation failed: ", err)
 			os.Exit(1)
@@ -249,7 +249,7 @@ of the release artifact and uploads it to the rekor server.`,
 			log.Fatal(err)
 		}
 
-		if err := app.AddFileToRequest(request, f); err != nil {
+		if err := pkg.AddFileToRequest(request, f); err != nil {
 			log.Fatal(err)
 		}
 		client := &http.Client{}
diff --git a/cmd/verify.go b/cmd/cli/app/verify.go
similarity index 95%
rename from cmd/verify.go
rename to cmd/cli/app/verify.go
index 28d431644fcc47aa6631a270bd75ddb5e1538d3a..7b4d688e2a5f965e2b8ab25268b6f9462b6cea74 100644
--- a/cmd/verify.go
+++ b/cmd/cli/app/verify.go
@@ -13,16 +13,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */
-package cmd
+package app
 
 import (
 	"encoding/json"
 	"io/ioutil"
 	"os"
 
-	"github.com/projectrekor/rekor-cli/app"
-	"github.com/projectrekor/rekor-cli/log"
 	"github.com/projectrekor/rekor-server/types"
+	"github.com/projectrekor/rekor/log"
+	"github.com/projectrekor/rekor/pkg"
 
 	"github.com/spf13/cobra"
 	"github.com/spf13/viper"
@@ -79,7 +79,7 @@ var verifyCmd = &cobra.Command{
 		if err != nil {
 			log.Fatal(err)
 		}
-		app.DoGet(url, b)
+		pkg.DoGet(url, b)
 	},
 }
 
diff --git a/main.go b/cmd/cli/main.go
similarity index 90%
rename from main.go
rename to cmd/cli/main.go
index 4c47f7a177b4fb8b3bcb04d84b10dd4c5adeb043..766e1fed597d2293d2504b3fffb52510f8ec7574 100644
--- a/main.go
+++ b/cmd/cli/main.go
@@ -15,8 +15,8 @@ limitations under the License.
 */
 package main
 
-import "github.com/projectrekor/rekor-cli/cmd"
+import "github.com/projectrekor/rekor/cmd/cli/app"
 
 func main() {
-	cmd.Execute()
+	app.Execute()
 }
diff --git a/go.mod b/go.mod
index a14b214d9beccc23741a2601c90c6dc5698d99e6..efca0cf7f04580feb0f1908b2d4574095114e3ba 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/projectrekor/rekor-cli
+module github.com/projectrekor/rekor
 
 go 1.14
 
diff --git a/app/client.go b/pkg/client.go
similarity index 97%
rename from app/client.go
rename to pkg/client.go
index 07ff98204fa7e4e3028ad90752a26c05264c08c1..fc34b98aea2cc8b88ec6b46ba205e04e71aff709 100644
--- a/app/client.go
+++ b/pkg/client.go
@@ -1,4 +1,4 @@
-package app
+package pkg
 
 import (
 	"bytes"
@@ -15,7 +15,7 @@ import (
 	tcrypto "github.com/google/trillian/crypto"
 	"github.com/google/trillian/merkle"
 	"github.com/google/trillian/merkle/rfc6962"
-	"github.com/projectrekor/rekor-cli/log"
+	"github.com/projectrekor/rekor/log"
 )
 
 type getProofResponse struct {
diff --git a/app/file.go b/pkg/file.go
similarity index 97%
rename from app/file.go
rename to pkg/file.go
index 8eecf62c5b7c31801eaca2137535887232ff4405..a49a20628428cb957d8e40ea619cc08b4270e967 100644
--- a/app/file.go
+++ b/pkg/file.go
@@ -1,4 +1,4 @@
-package app
+package pkg
 
 import (
 	"bytes"
diff --git a/app/gpg.go b/pkg/gpg.go
similarity index 99%
rename from app/gpg.go
rename to pkg/gpg.go
index cf663db082a6a80b2b01b39a0b8afb46ca71f9d9..1c6c31e3b527a88c6672805237c373e72ca0e950 100644
--- a/app/gpg.go
+++ b/pkg/gpg.go
@@ -1,4 +1,4 @@
-package app
+package pkg
 
 import (
 	"bytes"