diff --git a/commands/commands.go b/commands/commands.go
deleted file mode 100644
index 00c7b2dc7fe680a8f9d0911c230a069a689cdaec..0000000000000000000000000000000000000000
--- a/commands/commands.go
+++ /dev/null
@@ -1,80 +0,0 @@
-package commands
-
-import (
-	"sort"
-
-	"github.com/spf13/cobra"
-
-	"github.com/git-bug/git-bug/commands/execenv"
-)
-
-type commandOptions struct {
-	desc bool
-}
-
-func newCommandsCommand(env *execenv.Env) *cobra.Command {
-	options := commandOptions{}
-
-	cmd := &cobra.Command{
-		Use:   "commands",
-		Short: "Display available commands.",
-		RunE: func(cmd *cobra.Command, args []string) error {
-			return runCommands(env, options)
-		},
-	}
-
-	flags := cmd.Flags()
-	flags.SortFlags = false
-
-	flags.BoolVarP(&options.desc, "pretty", "p", false,
-		"Output the command description as well as Markdown compatible comment",
-	)
-
-	return cmd
-}
-
-func runCommands(env *execenv.Env, opts commandOptions) error {
-	first := true
-
-	var allCmds []*cobra.Command
-	queue := []*cobra.Command{NewRootCommand()}
-
-	for len(queue) > 0 {
-		cmd := queue[0]
-		queue = queue[1:]
-		allCmds = append(allCmds, cmd)
-		queue = append(queue, cmd.Commands()...)
-	}
-
-	sort.Sort(commandSorterByName(allCmds))
-
-	for _, cmd := range allCmds {
-		if !first {
-			env.Out.Println()
-		}
-
-		first = false
-
-		if opts.desc {
-			env.Out.Printf("# %s\n", cmd.Short)
-		}
-
-		env.Out.Print(cmd.UseLine())
-
-		if opts.desc {
-			env.Out.Println()
-		}
-	}
-
-	if !opts.desc {
-		env.Out.Println()
-	}
-
-	return nil
-}
-
-type commandSorterByName []*cobra.Command
-
-func (c commandSorterByName) Len() int           { return len(c) }
-func (c commandSorterByName) Swap(i, j int)      { c[i], c[j] = c[j], c[i] }
-func (c commandSorterByName) Less(i, j int) bool { return c[i].CommandPath() < c[j].CommandPath() }
diff --git a/commands/root.go b/commands/root.go
index e966751c7be196714ac8f9620f285b56e2d5e119..1a4109a3cc6e057c92d9385258fcf75d1137d2c6 100644
--- a/commands/root.go
+++ b/commands/root.go
@@ -75,7 +75,6 @@ the same git remote you are already using to collaborate with other people.
 	addCmdWithGroup(newPushCommand(env), remoteGroup)
 	addCmdWithGroup(bridgecmd.NewBridgeCommand(env), remoteGroup)
 
-	cmd.AddCommand(newCommandsCommand(env))
 	cmd.AddCommand(newVersionCommand(env))
 	cmd.AddCommand(newWipeCommand(env))
 
diff --git a/doc/man/git-bug-commands.1 b/doc/man/git-bug-commands.1
deleted file mode 100644
index 58d24fc47a29f2612285297fbd8b84e368ad6a73..0000000000000000000000000000000000000000
--- a/doc/man/git-bug-commands.1
+++ /dev/null
@@ -1,26 +0,0 @@
-.nh
-.TH "GIT-BUG" "1" "Apr 2019" "Generated from git-bug's source code" ""
-
-.SH NAME
-git-bug-commands - Display available commands.
-
-
-.SH SYNOPSIS
-\fBgit-bug commands [flags]\fP
-
-
-.SH DESCRIPTION
-Display available commands.
-
-
-.SH OPTIONS
-\fB-p\fP, \fB--pretty\fP[=false]
-	Output the command description as well as Markdown compatible comment
-
-.PP
-\fB-h\fP, \fB--help\fP[=false]
-	help for commands
-
-
-.SH SEE ALSO
-\fBgit-bug(1)\fP
diff --git a/doc/man/git-bug.1 b/doc/man/git-bug.1
index 24d8e8644fa22de0c36ed159ec8d3b2c0bb536eb..7320689b472d189d1922d74f984cedc9f4669c50 100644
--- a/doc/man/git-bug.1
+++ b/doc/man/git-bug.1
@@ -24,4 +24,4 @@ the same git remote you are already using to collaborate with other people.
 
 
 .SH SEE ALSO
-\fBgit-bug-bridge(1)\fP, \fBgit-bug-bug(1)\fP, \fBgit-bug-commands(1)\fP, \fBgit-bug-label(1)\fP, \fBgit-bug-pull(1)\fP, \fBgit-bug-push(1)\fP, \fBgit-bug-termui(1)\fP, \fBgit-bug-user(1)\fP, \fBgit-bug-version(1)\fP, \fBgit-bug-webui(1)\fP, \fBgit-bug-wipe(1)\fP
+\fBgit-bug-bridge(1)\fP, \fBgit-bug-bug(1)\fP, \fBgit-bug-label(1)\fP, \fBgit-bug-pull(1)\fP, \fBgit-bug-push(1)\fP, \fBgit-bug-termui(1)\fP, \fBgit-bug-user(1)\fP, \fBgit-bug-version(1)\fP, \fBgit-bug-webui(1)\fP, \fBgit-bug-wipe(1)\fP
diff --git a/doc/md/git-bug.md b/doc/md/git-bug.md
index a71d6dfb927b612f05434fe7a5bf7d04ea3c2f66..03bebb65e7ae1588df7a93077a58f3822d5164bc 100644
--- a/doc/md/git-bug.md
+++ b/doc/md/git-bug.md
@@ -26,7 +26,6 @@ git-bug [flags]
 
 * [git-bug bridge](git-bug_bridge.md)	 - List bridges to other bug trackers
 * [git-bug bug](git-bug_bug.md)	 - List bugs
-* [git-bug commands](git-bug_commands.md)	 - Display available commands.
 * [git-bug label](git-bug_label.md)	 - List valid labels
 * [git-bug pull](git-bug_pull.md)	 - Pull updates from a git remote
 * [git-bug push](git-bug_push.md)	 - Push updates to a git remote
diff --git a/doc/md/git-bug_commands.md b/doc/md/git-bug_commands.md
deleted file mode 100644
index bce599dd924a01d3608d213931293d289e2de2c9..0000000000000000000000000000000000000000
--- a/doc/md/git-bug_commands.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## git-bug commands
-
-Display available commands.
-
-```
-git-bug commands [flags]
-```
-
-### Options
-
-```
-  -p, --pretty   Output the command description as well as Markdown compatible comment
-  -h, --help     help for commands
-```
-
-### SEE ALSO
-
-* [git-bug](git-bug.md)	 - A bug tracker embedded in Git
-