Repository: kubernetes-sigs/krew
Pull request #522 (2020-02-28 19:34:06)

Move install docs to the website, add "moved" notices
* refactor README, USER_GUIDE, DEVELOPER_GUIDE with notes indicating they are
  moved to the website.

* move installation instructions from README to the user guide.

Related issue: #515

k8s-ci-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes-sigs/krew/pull/522#" title="Author self-approved">ahmetb</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes-sigs%2Fkrew).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/kubernetes-sigs/krew/blob/master/OWNERS)~~ [ahmetb]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->

Patch:
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 1a7a552..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-language: go
-go:
-- 1.13.x
-go_import_path: sigs.k8s.io/krew
-install: true
-notifications:
-  email: false
-before_install:
-- go mod download
-- hack/install-gox.sh
-script:
-- go mod tidy && git diff --no-patch --exit-code
-- hack/verify-code-patterns.sh
-- hack/verify-boilerplate.sh
-- hack/run-lint.sh
-- go test -short -coverprofile=coverage.txt -covermode=atomic ./...
-- hack/make-all.sh
-- hack/verify-installation.sh
-- hack/ensure-kubectl-installed.sh
-- hack/run-integration-tests.sh
-- hack/verify-receipts-upgrade-migration.sh
-after_success:
-- bash <(curl -s https://codecov.io/bash)
-env:
-  global:
-  - secure: Ly5oLE9sC7NDvwyZEzOi8gPeHdu3NTP2OuDa8BOUngAanXhaEInzBJ+Pod+TIKFzpope4/z8idMN3rZfPV5LcXzhufk82LSpYlGhZgFDYajvv3eNN20arZQf4kjohd5U2aY1XrYgrgBbodv7dCLnitxotO65tTzQN5xh6evwW6Ji2Em7t42kvz9VHj2nptWKsciQEr6KNb2xDJ7PSvFKdPKq0q3Vuy7PFToZvNbsk+FBLSjYpAHG1KrlyX/WiM1mLu7jCJ4yuPx4n9+CM5Zzycbc/6mrs8ZiR+myyaCMzh6pEltdR0vzSlFIl2TJvUwzTUyTXcZsQ/ENa1ZdOkQwI4jpV3IDTQ6AlMRtBSbL5/uSOvHYs1HBYTbJJeZLiMjru9SM6D9AUW9HRr0JQGeQFsPE/4mzl39Xgl+3GE4+6sfNiaurpvgNArQNBAs2nZ0V3myiDoSG/sAL/2YzXHiG0HVhVk65P33d9SevJjBJRTobhRf4Lt0lT2IO6XF/4kQIvMnaCPQRS1X5tMIHFeTzn1dwrFiZqd1Sbwq5cd8H25nt1XnXsCTgRegJPNUxqRHnDpR5M3HRiW+TmjJIte7Y6exCihonM3afj3rsu3Q/ePwj7ckzgq8CP2yJ//Sxu4FH65LGQ/2bHJUneKL33Uq1W68c+qtKWMGLB4LNRGJVZkc=
-  - secure: o6ZTdC1H4elXUrqt8XFfV7zuN9mWjQcV5iMicyG7TU/Fn8HIOluzRYPNgmdtuUpLYaQ7KD1t79+QNwuWtQOOHO/eQJ2/LCwO6cSVfxa6sM560r6qOtXraJugq0sCjOY8mNcwo7toY8vtf8yHa1an4L8CSm0SkH0h2EaBE0SE+Vfmb0T0RD/5f2i0Ni8Vn9QLe2P32CRT8VWhFNs+rqj1VwpspDjwa/X+R44RBgLmf61bZQpW5bKauLTR/JrXejppkSXRRqYFDokYTbAVOZbTacwqj7b4D+H6tUb8PaG6wMu5GLe1/rLwREn49cWA3LLX/U7wcUqbIW9jYYFRjt4Cs4YFZXIsaqhAcBcitajFXiZsOdYgHnIHNR4C86oH/dM5UjVSXcpuAw8xcJ4AAEaF3EE3C+bfWZZBHbmfdF1mDbezuTKGynzsQs6i9tlOlrgL9KVsj4YThPqk8Mfa3UOHSG6dOKVqxECPb5voSzKQvRyrzPVjONgmuHf4r/7E8ur1hsXuZGnaVphWTG+fPX4Sdiuo2kn1pOCLt1C8aXqsDpKcnzBjm1yeV8m7jIOBDhPm0mrGHjiCix7NqgxUPuAwLC1zIAXIKyAIpJzig+WlQC6gFu/7zlm0qrowxLImX4seb4rWp90OFcutek0NEVy1BO2LNn4TspaeTWkqD9vR4yQ=
-deploy:
-  provider: releases
-  skip_cleanup: true
-  on:
-    tags: true
-  file:
-  - out/krew.yaml
-  - out/krew.tar.gz
-  - out/krew.tar.gz.sha256
-  - out/krew.exe
-  - out/krew.exe.sha256
-  api_key:
-    secure: t4a69ruCl15etso89c/GSone/gEvWnG6+w4q6NUhjViVaJJuIFDth1C1KxuF/wWW9r2R6zpGNj1uEhfXlc1VB1gGJnq/dkxW7iiVpjPFZUpBYJlK49esrytTGmlNuoKSlX4WTyXEgyH/zui8psJdeVhdDu4yCDrWdkb54gjyp7enluvPNxD40naGybeCNUfWLHvbCOQU4zPQIS2E2Sb7IPlup4LfcUDZYoGuGiBxN9nbU4GOk5gYB1jcQ2j2bDdWtEqp0T19auyWtv/gkU7Mn6Ebt+PG3OxBuyVbw2rq0eB7SeR/6lSrkj2TX4jiMsStNRE+W7Es3t+b8BSOLJcXfi7GA2iyDA70vZYS97bo8TCnezKr65O39ADtmgjVAx+eGOUhuOJj3d1Ft6yK7EILaYMq9zy90EyeMTcuqekFSUo8b1dnyP3fgkDyEyZ0YUiTlUUDkjJO+m+kMqoGH4FpkTgD+JmsXNTBzJ9PpRhP6d/Ti8OuwtjT7iEGmgp5aqPTti01vcxDK7xremNx5Vbqd7QHwFvOcJFPD9oF7rEMbFLpGfn61YHqefGnAxAItLmAOeMAH8A1j5xByB/4NsCukKJSJc3is0ClGL/d44BmeVtVrCM6/0lsCSOfyC5ph2f8o/yyC/26ShFsDyN6vB57VWTzXbUm3ybaT3GgRFTyC+Q=
diff --git a/README.md b/README.md
index 05d2092..c7dcf5e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 <img src="assets/logo/horizontal/color/krew-horizontal-color.png" width="480"
   alt="Krew logo"/>
 
-# krew
+# Krew
 
 [![Build Status](https://travis-ci.org/kubernetes-sigs/krew.svg?branch=master)](https://travis-ci.org/kubernetes-sigs/krew)
 [![Code Coverage](https://codecov.io/gh/kubernetes-sigs/krew/branch/master/graph/badge.svg)](https://codecov.io/gh/kubernetes-sigs/krew)
@@ -10,142 +10,49 @@
 [![Releases](https://img.shields.io/github/release-pre/kubernetes-sigs/krew.svg)](https://github.com/kubernetes-sigs/krew/releases)
 ![GitHub stars](https://img.shields.io/github/stars/kubernetes-sigs/krew.svg?label=github%20stars&logo=github)
 
-krew is the package manager for kubectl plugins.
+Krew is the package manager for kubectl plugins.
 
-## What is krew?
+## What does Krew do?
 
-krew is a tool that makes it easy to use [kubectl
-plugins](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/). krew
+Krew is a tool that makes it easy to use [kubectl
+plugins](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/). Krew
 helps you discover plugins, install and manage them on your machine. It is
-similar to tools like apt, dnf or [brew](http://brew.sh).
-Today, over [70 kubectl plugins][list] are available on krew.
+similar to tools like apt, dnf or [brew](http://brew.sh). Today, over [70
+kubectl plugins][list] are available on Krew.
 
-- **For kubectl users:** krew helps you find, install and manage kubectl plugins
+- **For kubectl users:** Krew helps you find, install and manage kubectl plugins
   in a consistent way.
-- **For plugin developers:** krew helps you package and distribute your plugins
+- **For plugin developers:** Krew helps you package and distribute your plugins
   on multiple platforms and makes them discoverable.
 
-krew is easy to use:
+## [Documentation][website]
 
-```sh
-kubectl krew search                 # show all plugins
-kubectl krew install view-secret    # install a plugin named "view-secret"
-kubectl view-secret                 # use the plugin
-kubectl krew upgrade                # upgrade installed plugins
-kubectl krew uninstall view-secret  # uninstall a plugin
-```
+Visit the [**Krew documentation**][website] to find **Installation**
+instructions, **User Guide** and **Developer` Guide**.
 
-Read the [User Guide](./docs/USER_GUIDE.md) for detailed documentation.
+You can follow the [**Quickstart**][quickstart] to get started with Krew.
 
-Check out the list of [kubectl plugins available on krew][list] or just run
-`kubectl krew search` to discover plugins available on your OS.
+[website]: https://krew.sigs.k8s.io/
+[quickstart]: https://krew.sigs.k8s.io/docs/user-guide/quickstart/
 
-### Installation
+## Contributor Documentation
 
-> :warning: **Warning:** krew is only compatible with kubectl v1.12 or higher.
-
-**macOS and Linux:**
-
-#### Bash and ZSH
-
-1. Make sure that `git` is installed.
-2. Run this command in your terminal to download and install `krew`:
-
-    ```sh
-    (
-      set -x; cd "$(mktemp -d)" &&
-      curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
-      tar zxvf krew.tar.gz &&
-      KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" &&
-      "$KREW" install --manifest=krew.yaml --archive=krew.tar.gz &&
-      "$KREW" update
-    )
-    ```
-3. Add `$HOME/.krew/bin` directory to your PATH environment variable. To do
-   this, update your `.bashrc` or `.zshrc` file and append the following line:
-
-     ```sh
-     export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
-     ```
-
-   and restart your shell.
-
-#### Fish
-
-1. Make sure that `git` is installed.
-2. Run this command in your terminal to download and install `krew`:
-
-    ```fish
-    begin
-      set -x; set temp_dir (mktemp -d); cd "$temp_dir" &&
-      curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
-      tar zxvf krew.tar.gz &&
-      set KREWNAME krew-(uname | tr '[:upper:]' '[:lower:]')_amd64 &&
-      ./$KREWNAME install \
-        --manifest=krew.yaml --archive=krew.tar.gz &&
-      set -e KREWNAME; set -e temp_dir
-    end
-    ```
-3. Add `$HOME/.krew/bin` directory to your PATH environment variable. To do
-   this, update your `config.fish` file and append the following line:
-
-     ```fish
-     set -gx PATH $PATH $HOME/.krew/bin
-     ```
-
-   and restart your shell.
-
-
-**Windows:**
-
-1. Make sure `git` is installed on your system.
-1. Download `krew.exe` and `krew.yaml` from the [Releases][releases] page to
-   a directory.
-1. Launch a command-line window (`cmd.exe`) and navigate to that directory.
-1. Run the following command to install krew (pass the correct
-   paths to `krew.yaml` and `krew.zip` below):
-
-       krew install --manifest=krew.yaml
-
-1. Add `%USERPROFILE%\.krew\bin` directory to your `PATH` environment variable
-   ([how?](https://java.com/en/download/help/path.xml))
-
-[releases]: https://github.com/kubernetes-sigs/krew/releases
-
-### Verifying installation
-
-Run `kubectl plugin list` command to see installed plugins. This command should
-show `kubectl-krew` in the results. You can now use `kubectl krew` command.
-
-### Upgrading krew
-
-Since krew itself is installed as a "kubectl plugin" managed by krew, it can be
-upgraded like a plugin by running the `kubectl krew upgrade` command.
-
-## Documentation
-
-- **Users:**
-  - Read the [**User Guide**](./docs/USER_GUIDE.md) to learn how to use krew.
-- **Plugin Developers:**
-  - [Developer Guide](./docs/DEVELOPER_GUIDE.md): how to package and publish a
-    plugin for krew.
-  - [Naming Guide](./docs/NAMING_GUIDE.md): how to choose a good name for your
-    plugin
-- **Krew Developers:**
-  - Building Krew (not written yet)
-  - [Releasing Krew](./docs/RELEASING_KREW.md): how to release new version of
-    krew.
-  - [Plugin Lifecycle](./docs/PLUGIN_LIFECYCLE.md): how krew installs/upgrades
-    plugins and itself.
-  - [Krew Architecture](./docs/KREW_ARCHITECTURE.md): architectural decisions
-    behind designing krew.
+- [Releasing Krew](./docs/RELEASING_KREW.md): how to release new version of
+  Krew.
+- [Plugin Lifecycle](./docs/PLUGIN_LIFECYCLE.md): how Krew installs/upgrades
+  plugins and itself. (Not necessarily up-to-date, but it can give a good idea
+  about how Krew works under the covers.)
+- [Krew Architecture](./docs/KREW_ARCHITECTURE.md): architectural decisions
+  behind designing initial versions of Krew. (Not up-to-date.)
+- [Krew Logo](./docs/KREW_LOGO.md): our logo and branding assets.
 
 Visit [`./docs`](./docs) for all documentation.
 
 ## Roadmap
 
-Please check out the [Issue Tracker](https://github.com/kubernetes-sigs/krew/issues) to see the plan of record for
-new features and changes.
+Please check out the [Issue
+Tracker](https://github.com/kubernetes-sigs/krew/issues) to see the plan of
+record for new features and changes.
 
 ## Community
 
@@ -173,7 +80,7 @@ Interested in contributing to Krew? Please refer to our
 ### Code of Conduct
 
 Participation in the Kubernetes community is governed by the [Kubernetes Code
-of Conduct](https://github.com/kubernetes-sigs/kustomize/blob/master/code-of-conduct.md).
+of Conduct](https://github.com/kubernetes-sigs/krew/blob/master/code-of-conduct.md).
 
 [index]:https://github.com/kubernetes-sigs/krew-index
 [list]: http://sigs.k8s.io/krew-index/plugins.md
diff --git a/docs/CONTRIBUTOR_GUIDE.md b/docs/CONTRIBUTOR_GUIDE.md
index 9900419..1fbff16 100644
--- a/docs/CONTRIBUTOR_GUIDE.md
+++ b/docs/CONTRIBUTOR_GUIDE.md
@@ -1,8 +1,8 @@
 # Contributor Guide
 
-This guide is intended for people who want to start working on `krew` itself.
-If you intend to write a new plugin, see [Developer Guide](./DEVELOPER_GUIDE.md)
-instead.
+This guide is intended for people who want to start working on `krew` itself. If
+you intend to write a new plugin, see the [Developer
+Guide](https://krew.sigs.k8s.io/docs/developer-guide/) instead.
 
 ## Setting up the environment
 
diff --git a/docs/DEVELOPER_GUIDE.md b/docs/DEVELOPER_GUIDE.md
index b0326b0..e8bcfc2 100644
--- a/docs/DEVELOPER_GUIDE.md
+++ b/docs/DEVELOPER_GUIDE.md
@@ -1,349 +1,4 @@
-# Developer Guide 
+# Developer Guide
 
-This guide is intended for plugin developers. If you are not developing kubectl
-plugins, read the [User Guide](./USER_GUIDE.md) to learn how to use krew.
-
-This guide explains how to package, test, run plugins locally and make them
-available on the krew index.
-
-<!-- TOC depthFrom:2 -->
-
-- [Developing a Plugin](#developing-a-plugin)
-    - [Packaging plugins for krew](#packaging-plugins-for-krew)
-    - [Writing a plugin manifest](#writing-a-plugin-manifest)
-        - [Specifying platform-specific instructions](#specifying-platform-specific-instructions)
-        - [Specifying files to install](#specifying-files-to-install)
-        - [Specifying plugin executable](#specifying-plugin-executable)
-        - [Specifying a plugin download URL](#specifying-a-plugin-download-url)
-- [Installing Plugins Locally](#installing-plugins-locally)
-- [Publishing Plugins](#publishing-plugins)
-    - [Submitting a plugin to krew](#submitting-a-plugin-to-krew)
-    - [Updating existing plugins](#updating-existing-plugins)
-
-<!-- /TOC -->
-
-Find Krew maintainers on [#krew](https://kubernetes.slack.com/messages/krew)
-room on Kubernetes Slack channel to ask questions, or simply open an issue if
-something is missing.
-
-## Developing a Plugin
-
-Before creating a plugin, read the [Kubernetes Plugins documentation][plugins].
-
-**If you are writing a plugin in Go:** Consider using the
-[cli-runtime](https://github.com/kubernetes/cli-runtime/) project which is
-designed to provide the same command-line arguments, kubeconfig parser,
-Kubernetes API REST client, and printing logic. Look at [sample-cli-plugin](https://github.com/kubernetes/sample-cli-plugin)
-for an example of a kubectl plugin.
-
-**Unofficial Quickstart for Go:** For Go plugins, there's a
-[GitHub template repo](https://github.com/replicatedhq/krew-plugin-template)
-that implements these best practices and also configures GoReleaser and a
-GitHub Action to create releases when a tag is pushed. Note: this template
-repo is not maintained by the Krew project.
-
-Below you will create a small plugin named `foo` which prints the environment
-variables to the screen and exits.
-
-Read the [Naming Guide](./NAMING_GUIDE.md) for choosing a name for your plugin.
-
-Create an executable file named `kubectl-foo` with the following contents:
-
-```bash
-#!/usr/bin/env bash
-env
-```
-
-Then make this script executable:
-
-    chmod +x ./kubectl-foo
-
-(Since this plugin requires `bash`, it will only work on Unix platforms. If you
-need to support windows, develop a `kubectl-foo.exe` executable.)
-
-Now, if you place this plugin to anywhere in your `$PATH` directories, you
-should be able to call it like:
-
-    kubectl foo
-
-### Packaging plugins for krew
-
-To package a plugin via krew, you need to:
-
-1. Develop a plugin and archive it into a `.zip` or `.tar.gz`.
-2. Write a [plugin manifest file](#writing-a-plugin-manifest).
-3. Test installation locally with the archive and the manifest file.
-
-To publish a plugin in `krew-index` to make it available via krew, you need to:
-
-1. Make the plugin source code publicly available.
-1. Make the archive file (`.zip` or `.tar.gz`) **publicly downloadable** on a
-   URL (you can host it yourself or use GitHub releases feature).
-1. Submit the plugin manifest file to the [krew index][index] repository.
-
-Plugin packages need to be available to download from the public Internet.
-A service like
-[GitHub Releases](https://help.github.com/articles/creating-releases/)
-is recommended.
-
-### Writing a plugin manifest
-
-Each krew plugin has a "plugin manifest" file that lives in the [krew index
-repository][index].
-
-This file describes which files krew must copy out of your plugin archive and
-how to run your plugin. It is also used to determine if an upgrade to your
-plugin is available and how to install it.
-
-For a plugin named `foo`, the plugin manifest file should be named `foo.yaml`.
-An example manifest for this plugin that runs only on Linux and macOS looks
-like this (see [krew index](https://github.com/kubernetes-sigs/krew-index/tree/master/plugins) for
-all plugin manifests):
-
-```yaml
-apiVersion: krew.googlecontainertools.github.com/v1alpha2
-kind: Plugin
-metadata:
-  name: foo               # plugin name must match your manifest file name (e.g. foo.yaml)
-spec:
-  version: "v0.0.1"       # required, must be in semver format, prefixed with "v"
-  platforms:
-  # specify installation script for linux and darwin (macOS)
-  - selector:             # a regular Kubernetes selector
-      matchExpressions:
-      - {key: os, operator: In, values: [darwin, linux]}
-    # url for downloading the package archive:
-    uri: https://github.com/example/foo/releases/v1.0.zip
-    # sha256sum of the above archive file:
-    sha256: "208fde0b9f42ef71f79864b1ce594a70832c47dc5426e10ca73bf02e54d499d0"
-    # copy the used files out of the zip archive, defaults to `[{from: "*", to: "."}]`
-    files:
-    - from: "foo-*/unix/*.sh" # path to the files extracted from archive
-      to:  "."                 # '.' refers to the root of plugin install directory
-    - from: "foo-*/LICENSE"   # always install your LICENSE file
-      to: "."
-    bin: "kubectl-foo"  # path to the plugin executable after copying files above
-  shortDescription: >-    # short description gets truncated at ~50 chars
-    Prints the environment variables.
-  # (optional) url of the project homepage
-  homepage: https://github.com/kubernetes-sigs/krew
-  # (optional) use caveats field to show post-installation recommendations
-  caveats: |
-    This plugin needs the following programs:
-    * env(1)
-  description: |     # should print nicely on standard 80 char wide terminals
-    This plugin shows all environment variables that get injected when
-    launching a program as a plugin. You can use this field for longer
-    description and example usages.
-```
-
-#### Specifying platform-specific instructions
-
-krew makes it possible to install the same plugin on different operating systems
-(like `windows`, `darwin` (macOS), and `linux`) and different architectures
-(like `amd64`, `386`, `arm`).
-
-To support multiple platforms, you may need to define multiple `platforms` in
-the plugin manifest. The `selector` field matches to operating systems and
-architectures using the keys `os` and `arch` respectively.
-
-**Example:** Match to Linux:
-
-```yaml
-  platforms:
-  - selector:
-      matchLabels:
-        os: linux
-```
-
-**Example:** Match to a Linux or macOS platform, any architecture:
-
-```yaml
-...
-  platforms:
-  - selector: # A regular Kubernetes label selector
-      matchExpressions:
-      - {key: os, operator: In, values: [darwin, linux]}
-```
-
-**Example:** Match to Windows 64-bit:
-
-```yaml
-  platforms:
-  - selector:
-      matchLabels:
-        os: windows
-        arch: amd64
-```
-
-The possible values for `os` and `arch`  come from the Go runtime. Run
-`go tool dist list` to see all possible platforms and architectures.
-
-#### Specifying files to install
-
-Each operating system may require a different set of files from the archive to
-be installed. You can use the `files` field in the plugin manifest to specify
-which files should be copied into the plugin directory after extracting the
-plugin archive.
-
-The `files:` list specifies the copy operations (like `mv(1) <from> <to>`) to
-the files `from` the archive `to` the installation destination. If the `files`
-list is unspecified, it defaults to `[{from: "*", to: "."}]`. Mind that a
-wildcard may install more files than desired.
-
-**Example:** Consider a plugin whose extracted archive looks like
-
-```text
-.
-├── README.txt
-├── README.txt
-└── bin
-│   └── kubectl-foo-linux
-    └── kubectl-foo-windows.exe
-```
-
-- To copy all files in the `bin/` directory of the extracted archive to
-  the root of your plugin, leave out the `files:` field, which is equivalent to
-
-  ```yaml
-      files: [{from: "*", to: "."}]
-  ```
-
-  This copies out binaries for both platforms to the installation directory
-  onto the user’s machine, despite only one of them will be used:
-
-  ```text
-  .
-  └── krew-foo-windows.exe
-  └── krew-foo-linux
-  ```
-
-- For a more fine-grained control, specify each copy operation:
-
-  ```yaml
-      files:
-      - from: bin/*.exe
-        to: .
-  ```
-
-  This will result in the following files in the installation directory:
-
-  ```text
-  .
-  └── krew-foo-windows.exe
-  ```
-
-#### Specifying plugin executable
-
-Each `platform` field requires a path to the plugin executable in the plugin's
-installation directory.
-
-krew creates a symbolic link to the plugin executable specified in the `bin`
-field in `$HOME/.krew/bin/` (which all krew users need to add to their `$PATH`).
-
-For example, if your plugin executable is named `start-foo.sh`, specify:
-
-```yaml
-platforms:
-  - bin: "./start-foo.sh"
-    ...
-```
-
-krew will create a [symbolic link](https://en.wikipedia.org/wiki/Symbolic_link)
-named `kubectl-foo` (and `kubectl-foo.exe` on Windows) to your plugin executable
-after installation is complete. The name of the symbolic link comes from the
-plugin name.
-
-> **Note on underscore conversion:** If your plugin name contains dashes, krew
-> will automatically convert them to underscores for kubectl to be able to find
-> your plugin.
->
-> For example, if your  is named `view-logs` and your plugin binary is named
-> `run.sh`, krew will create a symbolic named `kubectl-view_logs` automatically.
-
-#### Specifying a plugin download URL
-
-krew plugins must be packaged as `.zip` or `.tar.gz` archives and should be made
-available for download publicly.
-Downloading from a URL also requires a checksum of the downloaded content:
-
-- `uri`: URL to the archive file (`.zip` or `.tar.gz`)
-- `sha256`: sha256 sum of the archive file
-
-```yaml
-  platforms:
-  - uri: https://github.com/barbaz/foo/archive/v1.2.3.zip
-    sha256: "29C9C411AF879AB85049344B81B8E8A9FBC1D657D493694E2783A2D0DB240775"
-    ...
-```
-
-## Installing Plugins Locally
-
-After you have:
-
-- written your `<PLUGIN>.yaml`
-- archived your plugin into a `.zip` or `.tar.gz` file
-
-you can now test whether your plugin installs correctly on krew by running:
-
-```bash
-kubectl krew install --manifest=foo.yaml --archive=foo.tar.gz
-```
-
-- `--manifest` flag specifies a custom manifest rather than picking it up from
-  the default [krew index][index]
-- `--archive` overrides the download `url` specified in the plugin manifest and
-  uses a local file instead.
-
-If the installation fails, run the command with `-v=4` flag for verbose logs.
-If your installation has succeeded, you should be able to run:
-
-    kubectl foo
-
-If you made your archive file available to download on the Internet, run the
-same command without `--archive` and actually test downloading the file from
-`url`.
-
-If you need other `platforms` definitions that don't match your current machine,
-you can use `KREW_OS` and/or `KREW_ARCH` environment variables. For example,
-if you're on a Linux machine, you can test Windows installation with:
-
-    KREW_OS=windows krew install --manifest=[...]
-
-After you have tested your plugin, uninstall it with `kubectl krew uninstall foo`.
-
-## Publishing Plugins
-
-### Submitting a plugin to krew
-
-After you have tested that the plugin can be installed and works you should
-create a pull request to the [Krew Index][index] with your `<PLUGIN>.yaml`
-manifest file.
-
-The new plugin file should be submitted to the `plugins/` directory in the
-index repository.
-
-After the pull request gets accepted into the main index, the plugin will be
-available for all users.
-
-Please make sure to include dependencies of your plugin and extra configuration
-needed to run the plugin in the `caveats:` field.
-
-### Updating existing plugins
-
-When you have a newer version of your plugin, create a new pull request that
-updates the `version`, `uri` and `sha256` fields of the plugin manifest file.
-
-Ideally, the `version` specified should match the release tag of the plugin.
-This helps users and maintainers to easily identify which version of the plugin
-they have installed.
-
-### Automate releasing new versions on krew-index
-
-You can use Github Actions to publish new release of your Krew plugin.
-`krew-release-bot` is a Github Action to automatically bump the version in
-`krew-index` repo. 
-Refer to the [krew-release-bot](https://github.com/rajatjindal/krew-release-bot) documentation for details.
-
-[index]: https://github.com/kubernetes-sigs/krew-index
-[plugins]: https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/
+This page has moved from GitHub to our website:
+https://krew.sigs.k8s.io/docs/developer-guide/
diff --git a/docs/KREW_ARCHITECTURE.md b/docs/KREW_ARCHITECTURE.md
index 009dcb3..4bf6273 100644
--- a/docs/KREW_ARCHITECTURE.md
+++ b/docs/KREW_ARCHITECTURE.md
@@ -2,7 +2,9 @@
 
 (This guide is intended for developers of krew.)
 
-:warning: The instructions below are not up to date for krew v0.2+.
+:warning: The instructions below are not up to date for krew v0.2+. But this
+document is still retained as a reference to highlight some original design
+decisions behind Krew.
 
 <!-- TOC depthFrom:2 -->
 
diff --git a/docs/KREW_LOGO.md b/docs/KREW_LOGO.md
index dcca7d5..3b1b7cc 100644
--- a/docs/KREW_LOGO.md
+++ b/docs/KREW_LOGO.md
@@ -3,6 +3,11 @@
 Krew logo is designed by [@iboonox](https://twitter.com/iboonox) and it is
 licensed under Apache 2.0 license.
 
+Krew logo follows the nautical theme of Kubernetes: The tentacles wrapping
+around the crate refer to tentacles of a cuttlefish, which is the mascot of
+[kubectl](https://github.com/kubernetes/kubectl#kubectl) project, and the crate
+represents a kubectl plugin package.
+
 ## Available logo types
 
 <!-- below we use a table so we can control max height -->
diff --git a/docs/NAMING_GUIDE.md b/docs/NAMING_GUIDE.md
index 48b69ce..1d7efee 100644
--- a/docs/NAMING_GUIDE.md
+++ b/docs/NAMING_GUIDE.md
@@ -1,78 +1,4 @@
 # Plugin Naming Style Guide
 
-This document explain the best practices and recommendations for naming kubectl
-plugins. These guidelines are used for reviewing the plugins submitted to
-[krew-index](https://github.com/kubernetes-sigs/krew-index) repository.
-
-#### _Punctuation_
-
-Plugin names must be all lowercase and separate words with hyphens.
-**Don't** use camelCase, PascalCase, or snake_case; use
-[kebab-case](http://wiki.c2.com/?KebabCase).
-
-- **DON'T:** `kubectl OpenSvc`<br/>
-  **DO:** `kubectl open-svc`
-
-#### _Be specific_
-
-Plugin names should not be verbs/nouns that are generic, already overloaded, or
-possibly can be used for broader purposes by another plugin.
-
-- **DON'T:** `kubectl login`: Tries to put dibs on the word.<br/>
-  **DO:** `kubectl gke-login`.
-
-- **DON'T:** `kubectl ui`: Should be used only for Kubernetes
-  Dashboard.<br/>
-  **DO:** `kubectl gke-ui`.
-
-#### _Be unique_
-
-Try to find a unique name for your plugin that differentiates you from other
-possible plugins doing the same job.
-
-- **DON'T:** `kubectl view-logs`: Unclear how it is different than the builtin
-  "logs" command, or many other tools for viewing logs.<br/>
-  **DO:** `kubectl tailer`:  Unique name, points to the underlying
-  tool name.
-
-#### _Use Verbs/Resource Types_
-
-If the name does not make it clear (a) what verb the plugin is doing on a
-resource, or (b) what kind of resource it's doing the action on, consider
-clarifying unless it is obvious.
-
-- **DON'T:** `kubectl service`: Unclear what this plugin is doing with
-  service.<br/>
-  **DON'T:** `kubectl open`: Unclear what it is opening.<br/>
-  **DO:** `kubectl open-svc`: It is clear the plugin will open a service.
-
-#### _Prefix Vendor Identifiers_
-
-Use the vendor-specific strings as prefix, separated with a dash. This makes it
-easier to search/group plugins that are about a specific vendor.
-
-- **DON'T:** `kubectl ui-gke`: Makes it harder to search or locate in a
-  plugin list.<br/>
-  **DO:** `kubectl gke-ui`: Will show up next to other gke-* plugins.
-
-#### _Avoid repeating kube[rnetes]_
-
-Plugin names should not repeat kube- or kubernetes- prefixes to avoid
-stuttering.
-
-- **DON'T:** `kubectl kube-node-admin`: "kubectl " already has "kube" in
-  it.<br/>
-  **DO:** `kubectl node-admin`.
-
-#### _Avoid Resource Acronyms_
-
-Using kubectl acronyms for API resources (e.g. svc, ing, deploy, cm) reduces
-readability and discoverability of a plugin more than it is saving keystrokes.
-
-- **DON'T:** `kubectl new-ing`: Hard to spot and the plugin is for
-  Ingress.<br/>
-  **DO:** `kubectl debug-ingress`.
-
------
-
-If you have suggestions to this guide, open an issue or send a pull request.
+This page has moved to our website:
+https://krew.sigs.k8s.io/docs/developer-guide/develop/naming-guide/
diff --git a/docs/PLUGIN_LIFECYCLE.md b/docs/PLUGIN_LIFECYCLE.md
index 20818c2..1f93e14 100644
--- a/docs/PLUGIN_LIFECYCLE.md
+++ b/docs/PLUGIN_LIFECYCLE.md
@@ -1,8 +1,10 @@
 # Plugin Lifecycle
 
-(This guide is intended for developers of krew.)
+(This guide is intended for developers of Krew.)
 
 :warning: The instructions below may not be up to date for krew v0.2 and higher.
+It is provided as a reference to learn how Krew works under the covers, but
+may not be entirely accurate.
 
 ## Installation
 
diff --git a/docs/RELEASING_KREW.md b/docs/RELEASING_KREW.md
index ed8bbe1..ed78b9e 100644
--- a/docs/RELEASING_KREW.md
+++ b/docs/RELEASING_KREW.md
@@ -82,5 +82,5 @@ Krew tags versions starting with `v`. Example: `v0.2.0-rc.1`.
 
 ## Release artifacts
 
-When a tag is pushed to the repository, Travis CI will make a release on GitHub
-and upload the release artifacts as files on the release.
+When a tag is pushed to the repository, GitHub workflow will make a release
+on GitHub, and upload the release artifacts as files on the release.
diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md
index 7f26ea1..590b408 100644
--- a/docs/USER_GUIDE.md
+++ b/docs/USER_GUIDE.md
@@ -1,134 +1,4 @@
 # User Guide
 
-This guide shows how to use `krew` as a user after installing it.
-
-<!-- TOC depthFrom:2 -->
-
-- [Discovering Plugins](#discovering-plugins)
-- [Installing Plugins](#installing-plugins)
-- [Listing Installed Plugins](#listing-installed-plugins)
-- [Upgrading Plugins](#upgrading-plugins)
-- [Uninstalling Plugins](#uninstalling-plugins)
-- [Uninstalling Krew](#uninstalling-krew)
-
-<!-- /TOC -->
-
-## Discovering Plugins
-
-To find plugins, run the `kubectl krew search` command. This command lists all
-available plugins:
-
-```text
-$ kubectl krew search
-NAME               SHORT                                              STATUS
-ca-cert            Print PEM CA certificate of current cluster        available
-extract-context    Extract current-context on kubectl as a kubecon... available
-krew               Install plugins                                    available
-mtail              Tail logs from multiple pods matching label sel... available
-view-secret        Decode secrets                                     available
-...
-```
-
-You can specify search keywords as arguments:
-
-```text
-$ kubectl krew search crt
-NAME               SHORT                                       STATUS
-ca-cert            Print PEM CA certificate of current cluster available
-view-secret        Decode secrets                              available
-```
-
-To get more information on a plugin, run `kubectl krew info <PLUGIN>`:
-
-```text
-$ kubectl krew info ca-cert
-NAME: ca-cert
-URI: https://github.com/ahmetb/kubectl-extras/archive/c403c57.zip
-SHA256: 8be8ed348d02285abc46bbf7a4cc83da0ee9d54dc2c5bf86a7b64947811b843c
-DESCRIPTION:
- Pretty print the current cluster certificate.
- The plugin formats the certificate in PEM following RFC1421.
-VERSION: v1.0.0
-CAVEATS:
- This plugin needs the following programs:
- * base64
-```
-
-## Installing Plugins
-
-Plugins can be installed with `kubectl krew install` command:
-
-```text
-$ kubectl krew install ca-cert
-
-Will install plugin: ca-cert
-Installing plugin: ca-cert
-Installed plugin: ca-cert
-CAVEATS:
- This plugin needs the following programs:
- * base64
-```
-
-This command downloads the plugin and verifies the integrity of the downloaded
-file.
-
-After installing a plugin, you can use it like `kubectl <PLUGIN>`:
-
-```sh
-kubectl ca-cert
-```
-
-## Listing Installed Plugins
-
-All plugins available to `kubectl` (including those not installed via `krew`) can
-be listed using:
-
-    kubectl plugin list
-
-To list all plugins installed via `krew`, run:
-
-    kubectl krew list
-
-## Upgrading Plugins
-
-Plugins you are using might have newer versions available. To upgrade a single
-plugin, run:
-
-    kubectl krew upgrade <PLUGIN>
-
-If you want to upgrade all plugins to their latest versions, run the same command
-without any arguments:
-
-    kubectl krew upgrade
-
-Since `krew` itself is a plugin also managed through `krew`, running the upgrade
-command may also upgrade your `krew` version.
-
-## Uninstalling Plugins
-
-When you don't need a plugin anymore you can uninstall it with:
-
-    kubectl krew uninstall <PLUGIN>
-
-## Uninstalling Krew
-
-Uninstalling `krew` is as easy as deleting its installation directory.
-
-To find `krew`'s installation directory, run:
-
-    kubectl krew version
-
-And delete the directory listed in `BasePath:` field. On macOS/Linux systems,
-deleting the installation location can be done by executing:
-
-    rm -rf ~/.krew
-
-
-## Disabling update checks
-
-When using krew, it will occasionally check if a new version of krew is available
-by calling the GitHub API. If you want to opt out of this feature, you can set
-the `KREW_NO_UPGRADE_CHECK` environment variable. To permanently disable this,
-add the following to your `~/.bashrc`, `~/.bash_profile`, or `~/.zshrc`:
-
-    export KREW_NO_UPGRADE_CHECK=1
+This page has moved from GitHub to our website:
+https://krew.sigs.k8s.io/docs/user-guide/
diff --git a/netlify.toml b/netlify.toml
index 191aaff..c54889f 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -10,7 +10,7 @@ HUGO_VERSION = "0.65.1"
 HUGO_ENV = "production"
 
 [context.deploy-preview]
-command = "hugo --enableGitInfo --buildFuture -b $DEPLOY_PRIME_URL"
+command = "hugo --buildFuture -b $DEPLOY_PRIME_URL"
 
 [context.branch-deploy]
-command = "hugo --enableGitInfo --buildFuture -b $DEPLOY_PRIME_URL"
+command = "hugo --buildFuture -b $DEPLOY_PRIME_URL"
diff --git a/site/config.yaml b/site/config.yaml
index 369c843..2b4adfe 100644
--- a/site/config.yaml
+++ b/site/config.yaml
@@ -1,6 +1,8 @@
 title: "Krew – kubectl plugin manager"
 baseURL: "https://krew.sigs.k8s.io/"
 languageCode: "en-us"
+enableGitInfo: true
+enableRobotsTXT: true
 disableKinds:
 - taxonomy
 - taxonomyTerm
diff --git a/site/content/docs/developer-guide/distributing-with-krew.md b/site/content/docs/developer-guide/distributing-with-krew.md
new file mode 100644
index 0000000..5e089c7
--- /dev/null
+++ b/site/content/docs/developer-guide/distributing-with-krew.md
@@ -0,0 +1,12 @@
+---
+title: Distributing plugins on Krew
+weight: 110
+---
+
+Once you [develop]({{< ref "develop/plugin-development.md" >}}) a `kubectl`
+plugin, here are the steps you need to follow to distribute your plugin on Krew:
+
+1. Package your plugin into an archive file (`.tar.gz` or `.zip`).
+1. Make the archive file publicly available (e.g. as GitHub release files).
+1. Write [Krew plugin manifest]({{< ref "plugin-manifest.md" >}}) file.
+1. [Submit your plugin to [krew-index]({{< ref "release/../release/submitting-to-krew.md" >}}).
diff --git a/site/content/docs/developer-guide/plugin-manifest.md b/site/content/docs/developer-guide/plugin-manifest.md
index a6151d7..7b9f185 100644
--- a/site/content/docs/developer-guide/plugin-manifest.md
+++ b/site/content/docs/developer-guide/plugin-manifest.md
@@ -1,12 +1,15 @@
 ---
 title: Writing Krew plugin manifests
 slug: plugin-manifest
-weight: 100
+weight: 150
 ---
 
 Each Krew plugin has a "plugin manifest", which is a YAML file that describes
 the plugin, how it can be downloaded and installed on a machine.
 
+Plugin manifests must have the same name as the plugin (e.g. plugin `foo` has a
+manifest file named `foo.yaml`).
+
 It is **highly recommended** you look at [example plugin manifests]({{< ref
 "example-plugin-manifests.md" >}}) to copy from an existing plugin and adapt to
 your needs instead of learning everything in this page.
diff --git a/site/content/docs/developer-guide/release/submitting-to-krew.md b/site/content/docs/developer-guide/release/submitting-to-krew.md
index 6f30267..dde8657 100644
--- a/site/content/docs/developer-guide/release/submitting-to-krew.md
+++ b/site/content/docs/developer-guide/release/submitting-to-krew.md
@@ -10,16 +10,14 @@ existing plugins.
 
 ## Pre-submit checklist
 
-1. Familiarize yourself with [Krew plugin naming guide]({{< ref "../develop/naming-guide.md" >}}).
+1. Familiarize yourself with [Krew plugin naming guide]({{< ref
+   "../develop/naming-guide.md" >}}).
 1. Read the [plugin development best practices]({{< ref
    "../develop/best-practices.md" >}}).
-1. Develop a [plugin manifest]({{< ref "../plugin-manifest.md" >}})
 1. Make sure your plugin’s source code is available as open source.
 1. Adopt an open source license, and add it to your plugin archive file.
 1. Tag a git release with a [semantic
    version](https://semver.org) (e.g. `v1.0.0`)
-1. Make sure your plugin archive file (`.tar.gz` or `.zip`) is available
-   **publicly**.
 1. [Test plugin installation locally]({{< ref "../installing-locally.md" >}}).
 
 ## Submitting a plugin to krew-index
diff --git a/site/content/docs/user-guide/setup/install.md b/site/content/docs/user-guide/setup/install.md
index c1d3e63..d51e962 100644
--- a/site/content/docs/user-guide/setup/install.md
+++ b/site/content/docs/user-guide/setup/install.md
@@ -4,12 +4,95 @@ slug: install
 weight: 200
 ---
 
-Visit [**Krew GitHub repository**][readme] for up-to-date installation instructions.
-
 Krew itself is a `kubectl` plugin that is installed and updated via Krew (yes,
 Krew self-hosts).
 
-You can alternatively install it via some
-OS-package managers like Homebrew (macOS).
+> ⚠️ **Warning:** krew is only compatible with `kubectl` v1.12 or higher.
+
+- **macOS/Linux**: [bash/zsh](#bash), [fish](#fish)
+- **[Windows](#windows)**
+
+## macOS/Linux {#posix}
+
+#### Bash or ZSH shells {#bash}
+
+1. Make sure that `git` is installed.
+1. Run this command in your terminal to download and install `krew`:
+
+    ```sh
+    (
+      set -x; cd "$(mktemp -d)" &&
+      curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
+      tar zxvf krew.tar.gz &&
+      KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" &&
+      "$KREW" install --manifest=krew.yaml --archive=krew.tar.gz &&
+      "$KREW" update
+    )
+    ```
+
+1. Add `$HOME/.krew/bin` directory to your PATH environment variable. To do
+   this, update your `.bashrc` or `.zshrc` file and append the following line:
+
+     ```sh
+     export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
+     ```
+
+   and restart your shell.
+
+1. Verify running `kubectl krew` works.
+
+#### Fish shell {#fish}
+
+1. Make sure that `git` is installed.
+1. Run this command in your terminal to download and install `krew`:
+
+    ```fish
+    begin
+      set -x; set temp_dir (mktemp -d); cd "$temp_dir" &&
+      curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
+      tar zxvf krew.tar.gz &&
+      set KREWNAME krew-(uname | tr '[:upper:]' '[:lower:]')_amd64 &&
+      ./$KREWNAME install \
+        --manifest=krew.yaml --archive=krew.tar.gz &&
+      set -e KREWNAME; set -e temp_dir
+    end
+    ```
+
+1. Add `$HOME/.krew/bin` directory to your PATH environment variable. To do
+   this, update your `config.fish` file and append the following line:
+
+     ```fish
+     set -gx PATH $PATH $HOME/.krew/bin
+     ```
+
+   and restart your shell.
+
+1. Verify running `kubectl krew` works.
+
+## Windows {#windows}
+
+1. Make sure `git` is installed on your system.
+1. Download `krew.exe` and `krew.yaml` from the [Releases][releases] page to
+   a directory.
+1. Launch a command-line window (`cmd.exe`) and navigate to that directory.
+1. Run the following command to install krew (pass the correct
+   paths to `krew.yaml` and `krew.zip` below):
+
+    ```sh
+    krew install --manifest=krew.yaml
+    ```
+
+1. Add `%USERPROFILE%\.krew\bin` directory to your `PATH` environment variable
+   ([how?](https://java.com/en/download/help/path.xml))
+
+1. Launch a new command-line window.
+1. Verify running `kubectl krew` works.
+
+[releases]: https://github.com/kubernetes-sigs/krew/releases
+
+## Other package managers
+
+You can alternatively install it via some OS-package managers like Homebrew
+(macOS).
 
-[readme]: https://sigs.k8s.io/krew/README.md#installation
+However, we don't actively support that scenario at the moment.
diff --git a/site/content/docs/user-guide/setup/uninstall.md b/site/content/docs/user-guide/setup/uninstall.md
index 2aec946..d80df30 100644
--- a/site/content/docs/user-guide/setup/uninstall.md
+++ b/site/content/docs/user-guide/setup/uninstall.md
@@ -1,7 +1,7 @@
 ---
 title: Uninstalling Krew
 slug: uninstall
-weight: 400
+weight: 200
 ---
 
 To remove Krew and plugins installed altogether, run this on your Linux/macOS machine:
diff --git a/site/content/docs/user-guide/setup/updates.md b/site/content/docs/user-guide/setup/updates.md
new file mode 100644
index 0000000..5c89774
--- /dev/null
+++ b/site/content/docs/user-guide/setup/updates.md
@@ -0,0 +1,19 @@
+---
+title: Update checks
+slug: update
+weight: 300
+---
+
+Krew will occasionally check if a new version is available to remind you to
+upgrade to a newer version.
+
+This is done by calling the GitHub API, and we do not collect any data from your
+machine during this process.
+
+If you want to disable the update checks, set, the `KREW_NO_UPGRADE_CHECK`
+environment variable. To permanently disable this, add the following to your
+`~/.bashrc`, `~/.bash_profile`, or `~/.zshrc`:
+
+```text
+export KREW_NO_UPGRADE_CHECK=1
+```
diff --git a/site/layouts/404.html b/site/layouts/404.html
index 1c1204a..3bb6b76 100644
--- a/site/layouts/404.html
+++ b/site/layouts/404.html
@@ -8,4 +8,4 @@
 
 <a href=" {{ "/" }}  " class="btn btn-lg btn-primary">&larr; Home</a>
 
-{{ partial "footer.html" }}
+{{ partial "footer.html" . }}
diff --git a/site/layouts/docs/section.html b/site/layouts/docs/section.html
index d7326ce..5d28a82 100644
--- a/site/layouts/docs/section.html
+++ b/site/layouts/docs/section.html
@@ -19,4 +19,4 @@
         {{ partial "backbutton.html" .}}
     {{ end }}
 </article>
-{{ partial "footer.html" }}
+{{ partial "footer.html" . }}
diff --git a/site/layouts/docs/single.html b/site/layouts/docs/single.html
index 9c4a5aa..a224559 100644
--- a/site/layouts/docs/single.html
+++ b/site/layouts/docs/single.html
@@ -9,4 +9,4 @@
     </article>
 
 {{ partial "backbutton.html" .}}
-{{ partial "footer.html" }}
+{{ partial "footer.html" . }}
diff --git a/site/layouts/index.html b/site/layouts/index.html
index 0342073..929ca05 100644
--- a/site/layouts/index.html
+++ b/site/layouts/index.html
@@ -11,4 +11,4 @@
 
 </article>
 
-{{ partial "footer.html" }}
+{{ partial "footer.html" . }}
diff --git a/site/layouts/partials/footer.html b/site/layouts/partials/footer.html
index ee2a635..aa59b91 100644
--- a/site/layouts/partials/footer.html
+++ b/site/layouts/partials/footer.html
@@ -1,12 +1,25 @@
 
-        <footer class="text-muted">
+        <footer class="text-muted small">
             <hr/>
-            <small>
-                &copy; {{ now.Format "2006"}} The Kubernetes Authors.
-                Krew documentation is distributed under
-                <a target="_blank" href='https://creativecommons.org/licenses/by/4.0/' class='text-muted'>CC-BY-4.0</a>.<br/>
-                Krew is a Kubernetes <a href="https://github.com/kubernetes/community/blob/master/sig-cli/README.md#cli-special-interest-group" target="_blank">SIG CLI</a> project.
-            </small>
+            &copy; {{ now.Format "2006"}} The Kubernetes Authors.
+            Krew is a Kubernetes
+                <a href="https://github.com/kubernetes/community/blob/master/sig-cli/README.md#cli-special-interest-group" target="_blank" class="text-info">
+                    SIG CLI</a> project.
+                <p>
+                    {{ with .File }}
+                        <a href="http://sigs.k8s.io/krew/site/content/{{- .File.Path -}}" target="_blank" class="text-info">
+                        Edit Page</a>
+                    {{ end }}
+
+                    {{ if .GitInfo }}
+                    <strong>&middot;</strong>
+                    Built from commit
+                    <a href="https://github.com/kubernetes-sigs/krew/commit/{{- .GitInfo.Hash -}}"
+                        target="_blank" class="text-muted">
+                        {{- .GitInfo.AbbreviatedHash -}}
+                    </a>.
+                    {{ end}}
+                </p>
         </footer>
         </div>
     </div><!-- .container -->
diff --git a/site/layouts/robots.txt b/site/layouts/robots.txt
new file mode 100644
index 0000000..125876c
--- /dev/null
+++ b/site/layouts/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+{{ if ne ( getenv "HUGO_ENV" ) "production" -}}
+Disallow: /
+{{- end -}}


Test patch:
diff --git a/cmd/krew/cmd/internal/fetch_tag_test.go b/cmd/krew/cmd/internal/fetch_tag_test.go
index 5b3beea..feb79ca 100644
--- a/cmd/krew/cmd/internal/fetch_tag_test.go
+++ b/cmd/krew/cmd/internal/fetch_tag_test.go
@@ -21,8 +21,6 @@ import (
 )
 
 func Test_fetchLatestTag_GitHubAPI(t *testing.T) {
-	// TODO(corneliusweig) re-enable once Travis CI is discontinued
-	t.Skip("skipping GitHub API test due to instability on travis")
 	tag, err := FetchLatestTag()
 	if err != nil {
 		t.Error(err)