diff --git a/.github/workflows/site.yml b/.github/workflows/site.yml
new file mode 100644
index 00000000..ad885e9f
--- /dev/null
+++ b/.github/workflows/site.yml
@@ -0,0 +1,47 @@
+name: 'site'
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  doc:
+    runs-on: ubuntu-latest
+    steps:
+
+    - uses: actions/checkout@v3
+
+    - name: Get Hugo and Theme
+      run: |
+        curl -fsSL https://github.com/gohugoio/hugo/releases/download/v0.114.0/hugo_extended_0.114.0_Linux-64bit.tar.gz | sudo tar xzf - -C /usr/local/bin hugo
+        sudo chmod +x /usr/local/bin/hugo
+        mkdir -p site/themes
+        cd site/themes
+        git clone https://github.com/bep/docuapi
+        cd docuapi
+        npm install --only=dev
+        mv node_modules ../..
+
+    - name: Build site
+      run: |
+        cd site
+        hugo version
+        hugo
+
+    - uses: actions/upload-artifact@v3
+      with:
+        name: site
+        path: site/public
+
+    - name: Publish site to gh-pages
+      if: github.event_name != 'pull_request'
+      run: |
+        cd site/public/
+        touch .nojekyll
+        git init
+        cp ../../.git/config ./.git/config
+        git add .
+        git config --local user.email "push@gha"
+        git config --local user.name "GHA"
+        git commit -a -m "update ${{ github.sha }}"
+        git push -u origin +HEAD:gh-pages
diff --git a/README.md b/README.md
index 0fb0373c..ca172c34 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-![cobra logo](assets/CobraMain.png)
+![cobra logo](site/static/images/logo.png)
 
 Cobra is a library for creating powerful modern CLI applications.
 
diff --git a/assets/CobraMain.png b/assets/CobraMain.png
deleted file mode 100644
index 6f1b68a7..00000000
Binary files a/assets/CobraMain.png and /dev/null differ
diff --git a/site/.gitignore b/site/.gitignore
new file mode 100644
index 00000000..c75eeccc
--- /dev/null
+++ b/site/.gitignore
@@ -0,0 +1 @@
+/public
diff --git a/site/assets/scss/slate/docuapi_overrides.scss b/site/assets/scss/slate/docuapi_overrides.scss
new file mode 100644
index 00000000..2ec4ad31
--- /dev/null
+++ b/site/assets/scss/slate/docuapi_overrides.scss
@@ -0,0 +1,42 @@
+// Copyright 2013-2023 The Cobra Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// 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.
+
+// BACKGROUND COLORS
+
+$nav-bg:#254E70 !default;
+$examples-bg: #002642  !default;
+
+// FONTS
+
+@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700&display=swap");
+
+$font-default-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+
+// FLEX SIDEBAR
+
+.toc-wrapper {
+    display: flex;
+    flex-direction: column;
+}
+
+#toc {
+    flex-grow: 1;
+}
+
+.toc-wrapper .toc-footer {
+    margin-top: .5em;
+    li {
+        text-align: center;
+    }
+}
diff --git a/site/config.toml b/site/config.toml
new file mode 100644
index 00000000..61e60ef3
--- /dev/null
+++ b/site/config.toml
@@ -0,0 +1,45 @@
+theme = "docuapi"
+languageCode = "en-us"
+baseurl = "https://spf13.github.io/cobra/"
+title = "Cobra"
+
+disableKinds = ["taxonomyTerm"]
+
+# Code higlighting settings
+pygmentsCodefences = true
+pygmentsCodeFencesGuesSsyntax = false
+pygmentsOptions = ""
+pygmentsStyle = "monokai"
+pygmentsUseClasses = false
+
+defaultContentLanguage = "en"
+
+[module]
+[module.hugoVersion]
+[[module.imports]]
+# We need one module import for Hugo to detect us as a Hugo Module.
+path="github.com/bep/empty-hugo-module"
+
+[params]
+search = true
+
+[markup]
+  [markup.goldmark]
+    [markup.goldmark.parser]
+      autoHeadingIDType = "github-ascii"
+    [markup.goldmark.renderer]
+      unsafe= true
+
+[languages]
+  [languages.en]
+    languageName = "English"
+    weight = 2
+    title = "Cobra documentation"
+    [languages.en.params]
+      toc_footers = [
+        "[![github.com/spf13/cobra](https://img.shields.io/badge/-spf13/cobra-323131.svg?logo=github&style=flat-square&longCache=true)](https://github.com/spf13/cobra)",
+        "Built with [Hugo](https://gohugo.io/) theme [DocuAPI](https://github.com/bep/docuapi) by [bep](https://github.com/bep)"
+      ]
+      [languages.en.params.blackfriday]
+        angledQuotes = false
+        hrefTargetBlank = true
diff --git a/site/content/projects_using_cobra.md b/site/content/projects_using_cobra.md
index f9ad02a0..ebee271a 100644
--- a/site/content/projects_using_cobra.md
+++ b/site/content/projects_using_cobra.md
@@ -1,4 +1,4 @@
-## Projects using Cobra
+# Projects using Cobra
 
 - [Allero](https://github.com/allero-io/allero)
 - [Arewefastyet](https://benchmark.vitess.io)
diff --git a/site/go.mod b/site/go.mod
new file mode 100644
index 00000000..1ce4dbb2
--- /dev/null
+++ b/site/go.mod
@@ -0,0 +1,10 @@
+module github.com/bep/docuapi
+
+go 1.12
+
+require (
+	github.com/bep/empty-hugo-module v1.0.0 // indirect
+	github.com/jquery/jquery-dist v0.0.0-20190501211928-15bc73803f76 // indirect
+	github.com/olivernn/lunr.js v2.3.8+incompatible // indirect
+	github.com/slatedocs/slate v2.3.1+incompatible // indirect
+)
diff --git a/site/static/images/logo.png b/site/static/images/logo.png
new file mode 100644
index 00000000..8d4918ce
Binary files /dev/null and b/site/static/images/logo.png differ