浏览代码

Update `cscli doc` for docusaurus (#924)

blotus 3 年之前
父节点
当前提交
e54b5beb8d

+ 7 - 4
cmd/crowdsec-cli/alerts.go

@@ -251,6 +251,7 @@ cscli alerts list --ip 1.2.3.4
 cscli alerts list --range 1.2.3.0/24
 cscli alerts list -s crowdsecurity/ssh-bf
 cscli alerts list --type ban`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 
@@ -353,7 +354,8 @@ cscli alerts list --type ban`,
 		Example: `cscli alerts delete --ip 1.2.3.4
 cscli alerts delete --range 1.2.3.0/24
 cscli alerts delete -s crowdsecurity/ssh-bf"`,
-		Args: cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
+		Args:              cobra.ExactArgs(0),
 		PreRun: func(cmd *cobra.Command, args []string) {
 			if AlertDeleteAll {
 				return
@@ -421,9 +423,10 @@ cscli alerts delete -s crowdsecurity/ssh-bf"`,
 
 	var details bool
 	var cmdAlertsInspect = &cobra.Command{
-		Use:     "inspect <alert_id>",
-		Short:   `Show info about an alert`,
-		Example: `cscli alerts inspect 123`,
+		Use:               `inspect "alert_id"`,
+		Short:             `Show info about an alert`,
+		Example:           `cscli alerts inspect 123`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if len(args) == 0 {
 				_ = cmd.Help()

+ 14 - 10
cmd/crowdsec-cli/bouncers.go

@@ -26,7 +26,8 @@ func NewBouncersCmd() *cobra.Command {
 		Long: `To list/add/delete bouncers.
 Note: This command requires database direct access, so is intended to be run on Local API/master.
 `,
-		Args: cobra.MinimumNArgs(1),
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRun: func(cmd *cobra.Command, args []string) {
 			var err error
 			if err := csConfig.LoadAPIServer(); err != nil || csConfig.DisableAPI {
@@ -43,11 +44,12 @@ Note: This command requires database direct access, so is intended to be run on
 	}
 
 	var cmdBouncersList = &cobra.Command{
-		Use:     "list",
-		Short:   "List bouncers",
-		Long:    `List bouncers`,
-		Example: `cscli bouncers list`,
-		Args:    cobra.ExactArgs(0),
+		Use:               "list",
+		Short:             "List bouncers",
+		Long:              `List bouncers`,
+		Example:           `cscli bouncers list`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, arg []string) {
 			blockers, err := dbClient.ListBouncers()
 			if err != nil {
@@ -99,7 +101,8 @@ Note: This command requires database direct access, so is intended to be run on
 		Long:  `add bouncer`,
 		Example: `cscli bouncers add MyBouncerName
 cscli bouncers add MyBouncerName -l 24`,
-		Args: cobra.ExactArgs(1),
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, arg []string) {
 			keyName := arg[0]
 			if keyName == "" {
@@ -136,9 +139,10 @@ cscli bouncers add MyBouncerName -l 24`,
 	cmdBouncers.AddCommand(cmdBouncersAdd)
 
 	var cmdBouncersDelete = &cobra.Command{
-		Use:   "delete MyBouncerName",
-		Short: "delete bouncer",
-		Args:  cobra.ExactArgs(1),
+		Use:               "delete MyBouncerName",
+		Short:             "delete bouncer",
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, arg []string) {
 			keyName := arg[0]
 			if keyName == "" {

+ 12 - 9
cmd/crowdsec-cli/capi.go

@@ -24,9 +24,10 @@ var CAPIBaseURL string = "https://api.crowdsec.net/"
 
 func NewCapiCmd() *cobra.Command {
 	var cmdCapi = &cobra.Command{
-		Use:   "capi [action]",
-		Short: "Manage interaction with Central API (CAPI)",
-		Args:  cobra.MinimumNArgs(1),
+		Use:               "capi [action]",
+		Short:             "Manage interaction with Central API (CAPI)",
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadAPIServer(); err != nil || csConfig.DisableAPI {
 				log.Fatal("Local API is disabled, please run this command on the local API machine")
@@ -40,9 +41,10 @@ func NewCapiCmd() *cobra.Command {
 	}
 
 	var cmdCapiRegister = &cobra.Command{
-		Use:   "register",
-		Short: "Register to Central API (CAPI)",
-		Args:  cobra.MinimumNArgs(0),
+		Use:               "register",
+		Short:             "Register to Central API (CAPI)",
+		Args:              cobra.MinimumNArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 
@@ -103,9 +105,10 @@ func NewCapiCmd() *cobra.Command {
 	cmdCapi.AddCommand(cmdCapiRegister)
 
 	var cmdCapiStatus = &cobra.Command{
-		Use:   "status",
-		Short: "Check status with the Central API (CAPI)",
-		Args:  cobra.MinimumNArgs(0),
+		Use:               "status",
+		Short:             "Check status with the Central API (CAPI)",
+		Args:              cobra.MinimumNArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			if csConfig.API.Server == nil {

+ 31 - 25
cmd/crowdsec-cli/collections.go

@@ -16,7 +16,8 @@ func NewCollectionsCmd() *cobra.Command {
 		Short: "Manage collections from hub",
 		Long:  `Install/Remove/Upgrade/Inspect collections from the CrowdSec Hub.`,
 		/*TBD fix help*/
-		Args: cobra.MinimumNArgs(1),
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadHub(); err != nil {
 				log.Fatalf(err.Error())
@@ -45,11 +46,12 @@ func NewCollectionsCmd() *cobra.Command {
 	}
 
 	var cmdCollectionsInstall = &cobra.Command{
-		Use:     "install collection",
-		Short:   "Install given collection(s)",
-		Long:    `Fetch and install given collection(s) from hub`,
-		Example: `cscli collections install crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "install collection",
+		Short:             "Install given collection(s)",
+		Long:              `Fetch and install given collection(s) from hub`,
+		Example:           `cscli collections install crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			for _, name := range args {
 				InstallItem(name, cwhub.COLLECTIONS, forceAction)
@@ -61,11 +63,12 @@ func NewCollectionsCmd() *cobra.Command {
 	cmdCollections.AddCommand(cmdCollectionsInstall)
 
 	var cmdCollectionsRemove = &cobra.Command{
-		Use:     "remove collection",
-		Short:   "Remove given collection(s)",
-		Long:    `Remove given collection(s) from hub`,
-		Example: `cscli collections remove crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "remove collection",
+		Short:             "Remove given collection(s)",
+		Long:              `Remove given collection(s) from hub`,
+		Example:           `cscli collections remove crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				RemoveMany(cwhub.COLLECTIONS, "")
@@ -90,10 +93,11 @@ func NewCollectionsCmd() *cobra.Command {
 	cmdCollections.AddCommand(cmdCollectionsRemove)
 
 	var cmdCollectionsUpgrade = &cobra.Command{
-		Use:     "upgrade collection",
-		Short:   "Upgrade given collection(s)",
-		Long:    `Fetch and upgrade given collection(s) from hub`,
-		Example: `cscli collections upgrade crowdsec/xxx crowdsec/xyz`,
+		Use:               "upgrade collection",
+		Short:             "Upgrade given collection(s)",
+		Long:              `Fetch and upgrade given collection(s) from hub`,
+		Example:           `cscli collections upgrade crowdsec/xxx crowdsec/xyz`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				UpgradeConfig(cwhub.COLLECTIONS, "", forceAction)
@@ -112,11 +116,12 @@ func NewCollectionsCmd() *cobra.Command {
 	cmdCollections.AddCommand(cmdCollectionsUpgrade)
 
 	var cmdCollectionsInspect = &cobra.Command{
-		Use:     "inspect collection",
-		Short:   "Inspect given collection",
-		Long:    `Inspect given collection`,
-		Example: `cscli collections inspect crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "inspect collection",
+		Short:             "Inspect given collection",
+		Long:              `Inspect given collection`,
+		Example:           `cscli collections inspect crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			for _, name := range args {
 				InspectItem(name, cwhub.COLLECTIONS)
@@ -127,11 +132,12 @@ func NewCollectionsCmd() *cobra.Command {
 	cmdCollections.AddCommand(cmdCollectionsInspect)
 
 	var cmdCollectionsList = &cobra.Command{
-		Use:     "list collection [-a]",
-		Short:   "List all collections or given one",
-		Long:    `List all collections or given one`,
-		Example: `cscli collections list`,
-		Args:    cobra.ExactArgs(0),
+		Use:               "list collection [-a]",
+		Short:             "List all collections or given one",
+		Long:              `List all collections or given one`,
+		Example:           `cscli collections list`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			ListItem(cwhub.COLLECTIONS, args)
 		},

+ 5 - 3
cmd/crowdsec-cli/completion.go

@@ -14,7 +14,7 @@ func NewCompletionCmd() *cobra.Command {
 		Long: `To load completions:
 
 ### Bash:
-
+` + "```shell" + `
   $ source <(cscli completion bash)
 
   # To load completions for each session, execute once:
@@ -35,9 +35,10 @@ func NewCompletionCmd() *cobra.Command {
   * Install bash-completion package
   $ source /etc/profile
   $ source <(cscli completion bash)
+` + "```" + `
 
 ### Zsh:
-
+` + "```shell" + `
   # If shell completion is not already enabled in your environment,
   # you will need to enable it.  You can execute the following once:
 
@@ -48,8 +49,9 @@ func NewCompletionCmd() *cobra.Command {
   $ cscli completion zsh > "${fpath[1]}/_cscli"
 
   # You will need to start a new shell for this setup to take effect.
-`,
+` + "```",
 		DisableFlagsInUseLine: true,
+		DisableAutoGenTag:     true,
 		ValidArgs:             []string{"bash", "zsh"},
 		Args:                  cobra.ExactValidArgs(1),
 		Run: func(cmd *cobra.Command, args []string) {

+ 18 - 14
cmd/crowdsec-cli/config.go

@@ -274,15 +274,17 @@ func restoreConfigFromDirectory(dirPath string) error {
 func NewConfigCmd() *cobra.Command {
 
 	var cmdConfig = &cobra.Command{
-		Use:   "config [command]",
-		Short: "Allows to view current config",
-		Args:  cobra.ExactArgs(0),
+		Use:               "config [command]",
+		Short:             "Allows to view current config",
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 	}
 	var cmdConfigShow = &cobra.Command{
-		Use:   "show",
-		Short: "Displays current config",
-		Long:  `Displays the current cli configuration.`,
-		Args:  cobra.ExactArgs(0),
+		Use:               "show",
+		Short:             "Displays current config",
+		Long:              `Displays the current cli configuration.`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			switch csConfig.Cscli.Output {
 			case "human":
@@ -375,7 +377,7 @@ func NewConfigCmd() *cobra.Command {
 	cmdConfig.AddCommand(cmdConfigShow)
 
 	var cmdConfigBackup = &cobra.Command{
-		Use:   "backup <directory>",
+		Use:   `backup "directory"`,
 		Short: "Backup current config",
 		Long: `Backup the current crowdsec configuration including :
 
@@ -385,8 +387,9 @@ func NewConfigCmd() *cobra.Command {
 - List of scenarios, parsers, postoverflows and collections that are up-to-date
 - Tainted/local/out-of-date scenarios, parsers, postoverflows and collections
 - Backup of API credentials (local API and online API)`,
-		Example: `cscli config backup ./my-backup`,
-		Args:    cobra.ExactArgs(1),
+		Example:           `cscli config backup ./my-backup`,
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			if err := csConfig.LoadHub(); err != nil {
@@ -404,9 +407,9 @@ func NewConfigCmd() *cobra.Command {
 	cmdConfig.AddCommand(cmdConfigBackup)
 
 	var cmdConfigRestore = &cobra.Command{
-		Use:   "restore <directory>",
-		Short: "Restore config in backup <directory>",
-		Long: `Restore the crowdsec configuration from specified backup <directory> including:
+		Use:   `restore "directory"`,
+		Short: `Restore config in backup "directory"`,
+		Long: `Restore the crowdsec configuration from specified backup "directory" including:
 
 - Main config (config.yaml)
 - Simulation config (simulation.yaml)
@@ -414,7 +417,8 @@ func NewConfigCmd() *cobra.Command {
 - List of scenarios, parsers, postoverflows and collections that are up-to-date
 - Tainted/local/out-of-date scenarios, parsers, postoverflows and collections
 - Backup of API credentials (local API and online API)`,
-		Args: cobra.ExactArgs(1),
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			if err := csConfig.LoadHub(); err != nil {

+ 3 - 2
cmd/crowdsec-cli/console.go

@@ -38,8 +38,9 @@ Enroll this instance to https://app.crowdsec.net
 		
 You can get your enrollment key by creating an account on https://app.crowdsec.net.
 After running this command your will need to validate the enrollment in the webapp.`,
-		Example: "cscli console enroll YOUR-ENROLL-KEY",
-		Args:    cobra.ExactArgs(1),
+		Example:           "cscli console enroll YOUR-ENROLL-KEY",
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadAPIServer(); err != nil || csConfig.DisableAPI {
 				log.Fatal("Local API is disabled, please run this command on the local API machine")

+ 22 - 17
cmd/crowdsec-cli/dashboard.go

@@ -45,7 +45,8 @@ func NewDashboardCmd() *cobra.Command {
 		Long: `Install/Start/Stop/Remove a metabase container exposing dashboard and metrics.
 Note: This command requires database direct access, so is intended to be run on Local API/master.
 		`,
-		Args: cobra.ExactArgs(1),
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		Example: `
 cscli dashboard setup
 cscli dashboard start
@@ -87,10 +88,11 @@ cscli dashboard remove
 
 	var force bool
 	var cmdDashSetup = &cobra.Command{
-		Use:   "setup",
-		Short: "Setup a metabase container.",
-		Long:  `Perform a metabase docker setup, download standard dashboards, create a fresh user and start the container`,
-		Args:  cobra.ExactArgs(0),
+		Use:               "setup",
+		Short:             "Setup a metabase container.",
+		Long:              `Perform a metabase docker setup, download standard dashboards, create a fresh user and start the container`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Example: `
 cscli dashboard setup
 cscli dashboard setup --listen 0.0.0.0
@@ -176,10 +178,11 @@ cscli dashboard setup -l 0.0.0.0 -p 443 --password <password>
 	cmdDashboard.AddCommand(cmdDashSetup)
 
 	var cmdDashStart = &cobra.Command{
-		Use:   "start",
-		Short: "Start the metabase container.",
-		Long:  `Stats the metabase container using docker.`,
-		Args:  cobra.ExactArgs(0),
+		Use:               "start",
+		Short:             "Start the metabase container.",
+		Long:              `Stats the metabase container using docker.`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			mb, err := metabase.NewMetabase(metabaseConfigPath, metabaseContainerID)
 			if err != nil {
@@ -195,10 +198,11 @@ cscli dashboard setup -l 0.0.0.0 -p 443 --password <password>
 	cmdDashboard.AddCommand(cmdDashStart)
 
 	var cmdDashStop = &cobra.Command{
-		Use:   "stop",
-		Short: "Stops the metabase container.",
-		Long:  `Stops the metabase container using docker.`,
-		Args:  cobra.ExactArgs(0),
+		Use:               "stop",
+		Short:             "Stops the metabase container.",
+		Long:              `Stops the metabase container using docker.`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if err := metabase.StopContainer(metabaseContainerID); err != nil {
 				log.Fatalf("unable to stop container '%s': %s", metabaseContainerID, err)
@@ -208,10 +212,11 @@ cscli dashboard setup -l 0.0.0.0 -p 443 --password <password>
 	cmdDashboard.AddCommand(cmdDashStop)
 
 	var cmdDashRemove = &cobra.Command{
-		Use:   "remove",
-		Short: "removes the metabase container.",
-		Long:  `removes the metabase container using docker.`,
-		Args:  cobra.ExactArgs(0),
+		Use:               "remove",
+		Short:             "removes the metabase container.",
+		Long:              `removes the metabase container using docker.`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Example: `
 cscli dashboard remove
 cscli dashboard remove --force

+ 9 - 5
cmd/crowdsec-cli/decisions.go

@@ -103,7 +103,8 @@ func NewDecisionsCmd() *cobra.Command {
 		Long:    `Add/List/Delete decisions from LAPI`,
 		Example: `cscli decisions [action] [filter]`,
 		/*TBD example*/
-		Args: cobra.MinimumNArgs(1),
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRun: func(cmd *cobra.Command, args []string) {
 			if err := csConfig.LoadAPIClient(); err != nil {
 				log.Fatalf(err.Error())
@@ -153,7 +154,8 @@ cscli decisions list -r 1.2.3.0/24
 cscli decisions list -s crowdsecurity/ssh-bf
 cscli decisions list -t ban
 `,
-		Args: cobra.ExactArgs(0),
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			/*take care of shorthand options*/
@@ -262,7 +264,8 @@ cscli decisions add --ip 1.2.3.4 --duration 24h --type captcha
 cscli decisions add --scope username --value foobar
 `,
 		/*TBD : fix long and example*/
-		Args: cobra.ExactArgs(0),
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			var ip, ipRange string
@@ -361,8 +364,9 @@ cscli decisions add --scope username --value foobar
 	var delDecisionId string
 	var delDecisionAll bool
 	var cmdDecisionsDelete = &cobra.Command{
-		Use:   "delete [options]",
-		Short: "Delete decisions",
+		Use:               "delete [options]",
+		Short:             "Delete decisions",
+		DisableAutoGenTag: true,
 		Example: `cscli decisions delete -r 1.2.3.0/24
 cscli decisions delete -i 1.2.3.4
 cscli decisions delete -s crowdsecurity/ssh-bf

+ 10 - 6
cmd/crowdsec-cli/hub.go

@@ -24,7 +24,8 @@ Hub is manage by cscli, to get latest hub files from [Crowdsec Hub](https://hub.
 cscli hub list   # List all installed configurations
 cscli hub update # Download list of available configurations from the hub
 		`,
-		Args: cobra.ExactArgs(0),
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if csConfig.Cscli == nil {
 				return fmt.Errorf("you must configure cli before interacting with hub")
@@ -36,9 +37,10 @@ cscli hub update # Download list of available configurations from the hub
 	cmdHub.PersistentFlags().StringVarP(&cwhub.HubBranch, "branch", "b", "", "Use given branch from hub")
 
 	var cmdHubList = &cobra.Command{
-		Use:   "list [-a]",
-		Short: "List installed configs",
-		Args:  cobra.ExactArgs(0),
+		Use:               "list [-a]",
+		Short:             "List installed configs",
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 
 			if err := csConfig.LoadHub(); err != nil {
@@ -73,7 +75,8 @@ cscli hub update # Download list of available configurations from the hub
 		Long: `
 Fetches the [.index.json](https://github.com/crowdsecurity/hub/blob/master/.index.json) file from hub, containing the list of available configs.
 `,
-		Args: cobra.ExactArgs(0),
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if csConfig.Cscli == nil {
 				return fmt.Errorf("you must configure cli before interacting with hub")
@@ -106,7 +109,8 @@ Fetches the [.index.json](https://github.com/crowdsecurity/hub/blob/master/.inde
 		Long: `
 Upgrade all configs installed from Crowdsec Hub. Run 'sudo cscli hub update' if you want the latest versions available.
 `,
-		Args: cobra.ExactArgs(0),
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if csConfig.Cscli == nil {
 				return fmt.Errorf("you must configure cli before interacting with hub")

+ 10 - 7
cmd/crowdsec-cli/lapi.go

@@ -24,9 +24,10 @@ var lapiUser string
 
 func NewLapiCmd() *cobra.Command {
 	var cmdLapi = &cobra.Command{
-		Use:   "lapi [action]",
-		Short: "Manage interaction with Local API (LAPI)",
-		Args:  cobra.MinimumNArgs(1),
+		Use:               "lapi [action]",
+		Short:             "Manage interaction with Local API (LAPI)",
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadAPIClient(); err != nil {
 				return fmt.Errorf("loading api client: %s", err.Error())
@@ -46,7 +47,8 @@ func NewLapiCmd() *cobra.Command {
 		Short: "Register a machine to Local API (LAPI)",
 		Long: `Register you machine to the Local API (LAPI).
 Keep in mind the machine needs to be validated by an administrator on LAPI side to be effective.`,
-		Args: cobra.MinimumNArgs(0),
+		Args:              cobra.MinimumNArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			if lapiUser == "" {
@@ -124,9 +126,10 @@ Keep in mind the machine needs to be validated by an administrator on LAPI side
 	cmdLapi.AddCommand(cmdLapiRegister)
 
 	var cmdLapiStatus = &cobra.Command{
-		Use:   "status",
-		Short: "Check authentication to Local API (LAPI)",
-		Args:  cobra.MinimumNArgs(0),
+		Use:               "status",
+		Short:             "Check authentication to Local API (LAPI)",
+		Args:              cobra.MinimumNArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 

+ 23 - 18
cmd/crowdsec-cli/machines.go

@@ -84,7 +84,8 @@ func NewMachinesCmd() *cobra.Command {
 		Long: `To list/add/delete/validate machines.
 Note: This command requires database direct access, so is intended to be run on the local API machine.
 `,
-		Example: `cscli machines [action]`,
+		Example:           `cscli machines [action]`,
+		DisableAutoGenTag: true,
 		PersistentPreRun: func(cmd *cobra.Command, args []string) {
 			if err := csConfig.LoadAPIServer(); err != nil || csConfig.DisableAPI {
 				log.Fatal("Local API is disabled, please run this command on the local API machine")
@@ -97,11 +98,12 @@ Note: This command requires database direct access, so is intended to be run on
 	}
 
 	var cmdMachinesList = &cobra.Command{
-		Use:     "list",
-		Short:   "List machines",
-		Long:    `List `,
-		Example: `cscli machines list`,
-		Args:    cobra.MaximumNArgs(1),
+		Use:               "list",
+		Short:             "List machines",
+		Long:              `List `,
+		Example:           `cscli machines list`,
+		Args:              cobra.MaximumNArgs(1),
+		DisableAutoGenTag: true,
 		PreRun: func(cmd *cobra.Command, args []string) {
 			var err error
 			dbClient, err = database.NewClient(csConfig.DbConfig)
@@ -156,9 +158,10 @@ Note: This command requires database direct access, so is intended to be run on
 	cmdMachines.AddCommand(cmdMachinesList)
 
 	var cmdMachinesAdd = &cobra.Command{
-		Use:   "add",
-		Short: "add machine to the database.",
-		Long:  `Register a new machine in the database. cscli should be on the same machine as LAPI.`,
+		Use:               "add",
+		Short:             "add machine to the database.",
+		DisableAutoGenTag: true,
+		Long:              `Register a new machine in the database. cscli should be on the same machine as LAPI.`,
 		Example: `
 cscli machines add --auto
 cscli machines add MyTestMachine --auto
@@ -260,10 +263,11 @@ cscli machines add MyTestMachine --password MyPassword
 	cmdMachines.AddCommand(cmdMachinesAdd)
 
 	var cmdMachinesDelete = &cobra.Command{
-		Use:     "delete --machine MyTestMachine",
-		Short:   "delete machines",
-		Example: `cscli machines delete <machine_name>`,
-		Args:    cobra.ExactArgs(1),
+		Use:               "delete --machine MyTestMachine",
+		Short:             "delete machines",
+		Example:           `cscli machines delete "machine_name"`,
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		PreRun: func(cmd *cobra.Command, args []string) {
 			var err error
 			dbClient, err = database.NewClient(csConfig.DbConfig)
@@ -285,11 +289,12 @@ cscli machines add MyTestMachine --password MyPassword
 	cmdMachines.AddCommand(cmdMachinesDelete)
 
 	var cmdMachinesValidate = &cobra.Command{
-		Use:     "validate",
-		Short:   "validate a machine to access the local API",
-		Long:    `validate a machine to access the local API.`,
-		Example: `cscli machines validate <machine_name>`,
-		Args:    cobra.ExactArgs(1),
+		Use:               "validate",
+		Short:             "validate a machine to access the local API",
+		Long:              `validate a machine to access the local API.`,
+		Example:           `cscli machines validate "machine_name"`,
+		Args:              cobra.ExactArgs(1),
+		DisableAutoGenTag: true,
 		PreRun: func(cmd *cobra.Command, args []string) {
 			var err error
 			dbClient, err = database.NewClient(csConfig.DbConfig)

+ 31 - 8
cmd/crowdsec-cli/main.go

@@ -1,6 +1,11 @@
 package main
 
 import (
+	"fmt"
+	"path"
+	"path/filepath"
+	"strings"
+
 	"github.com/crowdsecurity/crowdsec/pkg/csconfig"
 	"github.com/crowdsecurity/crowdsec/pkg/cwhub"
 	"github.com/crowdsecurity/crowdsec/pkg/cwversion"
@@ -83,6 +88,22 @@ var validArgs = []string{
 	"config", "completion", "version", "console",
 }
 
+func prepender(filename string) string {
+	const header = `---
+id: %s
+title: %s
+---
+`
+	name := filepath.Base(filename)
+	base := strings.TrimSuffix(name, path.Ext(name))
+	return fmt.Sprintf(header, base, strings.Replace(base, "_", " ", -1))
+}
+
+func linkHandler(name string) string {
+	base := strings.TrimSuffix(name, path.Ext(name))
+	return fmt.Sprintf("/docs/cscli/%s", base)
+}
+
 func main() {
 
 	var rootCmd = &cobra.Command{
@@ -94,12 +115,13 @@ It is meant to allow you to manage bans, parsers/scenarios/etc, api and generall
 		/*TBD examples*/
 	}
 	var cmdDocGen = &cobra.Command{
-		Use:    "doc",
-		Short:  "Generate the documentation in `./doc/`. Directory must exist.",
-		Args:   cobra.ExactArgs(0),
-		Hidden: true,
+		Use:               "doc",
+		Short:             "Generate the documentation in `./doc/`. Directory must exist.",
+		Args:              cobra.ExactArgs(0),
+		Hidden:            true,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
-			if err := doc.GenMarkdownTree(rootCmd, "./doc/"); err != nil {
+			if err := doc.GenMarkdownTreeCustom(rootCmd, "./doc/", prepender, linkHandler); err != nil {
 				log.Fatalf("Failed to generate cobra doc: %s", err.Error())
 			}
 		},
@@ -107,9 +129,10 @@ It is meant to allow you to manage bans, parsers/scenarios/etc, api and generall
 	rootCmd.AddCommand(cmdDocGen)
 	/*usage*/
 	var cmdVersion = &cobra.Command{
-		Use:   "version",
-		Short: "Display version and exit.",
-		Args:  cobra.ExactArgs(0),
+		Use:               "version",
+		Short:             "Display version and exit.",
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			cwversion.Show()
 		},

+ 5 - 4
cmd/crowdsec-cli/metrics.go

@@ -377,10 +377,11 @@ func ShowPrometheus(url string) {
 func NewMetricsCmd() *cobra.Command {
 	/* ---- UPDATE COMMAND */
 	var cmdMetrics = &cobra.Command{
-		Use:   "metrics",
-		Short: "Display crowdsec prometheus metrics.",
-		Long:  `Fetch metrics from the prometheus server and display them in a human-friendly way`,
-		Args:  cobra.ExactArgs(0),
+		Use:               "metrics",
+		Short:             "Display crowdsec prometheus metrics.",
+		Long:              `Fetch metrics from the prometheus server and display them in a human-friendly way`,
+		Args:              cobra.ExactArgs(0),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if err := csConfig.LoadPrometheus(); err != nil {
 				log.Fatalf(err.Error())

+ 26 - 20
cmd/crowdsec-cli/parsers.go

@@ -20,7 +20,8 @@ cscli parsers upgrade crowdsecurity/sshd-logs
 cscli parsers list
 cscli parsers remove crowdsecurity/sshd-logs
 `,
-		Args: cobra.MinimumNArgs(1),
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadHub(); err != nil {
 				log.Fatalf(err.Error())
@@ -48,11 +49,12 @@ cscli parsers remove crowdsecurity/sshd-logs
 	}
 
 	var cmdParsersInstall = &cobra.Command{
-		Use:     "install [config]",
-		Short:   "Install given parser(s)",
-		Long:    `Fetch and install given parser(s) from hub`,
-		Example: `cscli parsers install crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "install [config]",
+		Short:             "Install given parser(s)",
+		Long:              `Fetch and install given parser(s) from hub`,
+		Example:           `cscli parsers install crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			for _, name := range args {
 				InstallItem(name, cwhub.PARSERS, forceAction)
@@ -64,11 +66,12 @@ cscli parsers remove crowdsecurity/sshd-logs
 	cmdParsers.AddCommand(cmdParsersInstall)
 
 	var cmdParsersRemove = &cobra.Command{
-		Use:     "remove [config]",
-		Short:   "Remove given parser(s)",
-		Long:    `Remove given parse(s) from hub`,
-		Example: `cscli parsers remove crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "remove [config]",
+		Short:             "Remove given parser(s)",
+		Long:              `Remove given parse(s) from hub`,
+		Example:           `cscli parsers remove crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				RemoveMany(cwhub.PARSERS, "")
@@ -85,10 +88,11 @@ cscli parsers remove crowdsecurity/sshd-logs
 	cmdParsers.AddCommand(cmdParsersRemove)
 
 	var cmdParsersUpgrade = &cobra.Command{
-		Use:     "upgrade [config]",
-		Short:   "Upgrade given parser(s)",
-		Long:    `Fetch and upgrade given parser(s) from hub`,
-		Example: `cscli parsers upgrade crowdsec/xxx crowdsec/xyz`,
+		Use:               "upgrade [config]",
+		Short:             "Upgrade given parser(s)",
+		Long:              `Fetch and upgrade given parser(s) from hub`,
+		Example:           `cscli parsers upgrade crowdsec/xxx crowdsec/xyz`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				UpgradeConfig(cwhub.PARSERS, "", forceAction)
@@ -107,11 +111,12 @@ cscli parsers remove crowdsecurity/sshd-logs
 	cmdParsers.AddCommand(cmdParsersUpgrade)
 
 	var cmdParsersInspect = &cobra.Command{
-		Use:     "inspect [name]",
-		Short:   "Inspect given parser",
-		Long:    `Inspect given parser`,
-		Example: `cscli parsers inspect crowdsec/xxx`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "inspect [name]",
+		Short:             "Inspect given parser",
+		Long:              `Inspect given parser`,
+		Example:           `cscli parsers inspect crowdsec/xxx`,
+		DisableAutoGenTag: true,
+		Args:              cobra.MinimumNArgs(1),
 		Run: func(cmd *cobra.Command, args []string) {
 			InspectItem(args[0], cwhub.PARSERS)
 		},
@@ -125,6 +130,7 @@ cscli parsers remove crowdsecurity/sshd-logs
 		Long:  `List all parsers or given one`,
 		Example: `cscli parsers list
 cscli parser list crowdsecurity/xxx`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			ListItem(cwhub.PARSERS, args)
 		},

+ 26 - 20
cmd/crowdsec-cli/postoverflows.go

@@ -19,7 +19,8 @@ func NewPostOverflowsCmd() *cobra.Command {
 		cscli postoverflows upgrade crowdsecurity/cdn-whitelist
 		cscli postoverflows list
 		cscli postoverflows remove crowdsecurity/cdn-whitelist`,
-		Args: cobra.MinimumNArgs(1),
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadHub(); err != nil {
 				log.Fatalf(err.Error())
@@ -47,11 +48,12 @@ func NewPostOverflowsCmd() *cobra.Command {
 	}
 
 	var cmdPostOverflowsInstall = &cobra.Command{
-		Use:     "install [config]",
-		Short:   "Install given postoverflow(s)",
-		Long:    `Fetch and install given postoverflow(s) from hub`,
-		Example: `cscli postoverflows install crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "install [config]",
+		Short:             "Install given postoverflow(s)",
+		Long:              `Fetch and install given postoverflow(s) from hub`,
+		Example:           `cscli postoverflows install crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			for _, name := range args {
 				InstallItem(name, cwhub.PARSERS_OVFLW, forceAction)
@@ -63,11 +65,12 @@ func NewPostOverflowsCmd() *cobra.Command {
 	cmdPostOverflows.AddCommand(cmdPostOverflowsInstall)
 
 	var cmdPostOverflowsRemove = &cobra.Command{
-		Use:     "remove [config]",
-		Short:   "Remove given postoverflow(s)",
-		Long:    `remove given postoverflow(s)`,
-		Example: `cscli postoverflows remove crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "remove [config]",
+		Short:             "Remove given postoverflow(s)",
+		Long:              `remove given postoverflow(s)`,
+		Example:           `cscli postoverflows remove crowdsec/xxx crowdsec/xyz`,
+		DisableAutoGenTag: true,
+		Args:              cobra.MinimumNArgs(1),
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				RemoveMany(cwhub.PARSERS_OVFLW, "")
@@ -84,10 +87,11 @@ func NewPostOverflowsCmd() *cobra.Command {
 	cmdPostOverflows.AddCommand(cmdPostOverflowsRemove)
 
 	var cmdPostOverflowsUpgrade = &cobra.Command{
-		Use:     "upgrade [config]",
-		Short:   "Upgrade given postoverflow(s)",
-		Long:    `Fetch and Upgrade given postoverflow(s) from hub`,
-		Example: `cscli postoverflows upgrade crowdsec/xxx crowdsec/xyz`,
+		Use:               "upgrade [config]",
+		Short:             "Upgrade given postoverflow(s)",
+		Long:              `Fetch and Upgrade given postoverflow(s) from hub`,
+		Example:           `cscli postoverflows upgrade crowdsec/xxx crowdsec/xyz`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				UpgradeConfig(cwhub.PARSERS_OVFLW, "", forceAction)
@@ -106,11 +110,12 @@ func NewPostOverflowsCmd() *cobra.Command {
 	cmdPostOverflows.AddCommand(cmdPostOverflowsUpgrade)
 
 	var cmdPostOverflowsInspect = &cobra.Command{
-		Use:     "inspect [config]",
-		Short:   "Inspect given postoverflow",
-		Long:    `Inspect given postoverflow`,
-		Example: `cscli postoverflows inspect crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "inspect [config]",
+		Short:             "Inspect given postoverflow",
+		Long:              `Inspect given postoverflow`,
+		Example:           `cscli postoverflows inspect crowdsec/xxx crowdsec/xyz`,
+		DisableAutoGenTag: true,
+		Args:              cobra.MinimumNArgs(1),
 		Run: func(cmd *cobra.Command, args []string) {
 			InspectItem(args[0], cwhub.PARSERS_OVFLW)
 		},
@@ -123,6 +128,7 @@ func NewPostOverflowsCmd() *cobra.Command {
 		Long:  `List all postoverflows or given one`,
 		Example: `cscli postoverflows list
 cscli postoverflows list crowdsecurity/xxx`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			ListItem(cwhub.PARSERS_OVFLW, args)
 		},

+ 26 - 20
cmd/crowdsec-cli/scenarios.go

@@ -20,7 +20,8 @@ cscli scenarios inspect crowdsecurity/ssh-bf
 cscli scenarios upgrade crowdsecurity/ssh-bf
 cscli scenarios remove crowdsecurity/ssh-bf
 `,
-		Args: cobra.MinimumNArgs(1),
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadHub(); err != nil {
 				log.Fatalf(err.Error())
@@ -48,11 +49,12 @@ cscli scenarios remove crowdsecurity/ssh-bf
 	}
 
 	var cmdScenariosInstall = &cobra.Command{
-		Use:     "install [config]",
-		Short:   "Install given scenario(s)",
-		Long:    `Fetch and install given scenario(s) from hub`,
-		Example: `cscli scenarios install crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "install [config]",
+		Short:             "Install given scenario(s)",
+		Long:              `Fetch and install given scenario(s) from hub`,
+		Example:           `cscli scenarios install crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			for _, name := range args {
 				InstallItem(name, cwhub.SCENARIOS, forceAction)
@@ -64,11 +66,12 @@ cscli scenarios remove crowdsecurity/ssh-bf
 	cmdScenarios.AddCommand(cmdScenariosInstall)
 
 	var cmdScenariosRemove = &cobra.Command{
-		Use:     "remove [config]",
-		Short:   "Remove given scenario(s)",
-		Long:    `remove given scenario(s)`,
-		Example: `cscli scenarios remove crowdsec/xxx crowdsec/xyz`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "remove [config]",
+		Short:             "Remove given scenario(s)",
+		Long:              `remove given scenario(s)`,
+		Example:           `cscli scenarios remove crowdsec/xxx crowdsec/xyz`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				RemoveMany(cwhub.SCENARIOS, "")
@@ -85,10 +88,11 @@ cscli scenarios remove crowdsecurity/ssh-bf
 	cmdScenarios.AddCommand(cmdScenariosRemove)
 
 	var cmdScenariosUpgrade = &cobra.Command{
-		Use:     "upgrade [config]",
-		Short:   "Upgrade given scenario(s)",
-		Long:    `Fetch and Upgrade given scenario(s) from hub`,
-		Example: `cscli scenarios upgrade crowdsec/xxx crowdsec/xyz`,
+		Use:               "upgrade [config]",
+		Short:             "Upgrade given scenario(s)",
+		Long:              `Fetch and Upgrade given scenario(s) from hub`,
+		Example:           `cscli scenarios upgrade crowdsec/xxx crowdsec/xyz`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if all {
 				UpgradeConfig(cwhub.SCENARIOS, "", forceAction)
@@ -107,11 +111,12 @@ cscli scenarios remove crowdsecurity/ssh-bf
 	cmdScenarios.AddCommand(cmdScenariosUpgrade)
 
 	var cmdScenariosInspect = &cobra.Command{
-		Use:     "inspect [config]",
-		Short:   "Inspect given scenario",
-		Long:    `Inspect given scenario`,
-		Example: `cscli scenarios inspect crowdsec/xxx`,
-		Args:    cobra.MinimumNArgs(1),
+		Use:               "inspect [config]",
+		Short:             "Inspect given scenario",
+		Long:              `Inspect given scenario`,
+		Example:           `cscli scenarios inspect crowdsec/xxx`,
+		Args:              cobra.MinimumNArgs(1),
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			InspectItem(args[0], cwhub.SCENARIOS)
 		},
@@ -125,6 +130,7 @@ cscli scenarios remove crowdsecurity/ssh-bf
 		Long:  `List all scenario(s) or given one`,
 		Example: `cscli scenarios list
 cscli scenarios list crowdsecurity/xxx`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			ListItem(cwhub.SCENARIOS, args)
 		},

+ 13 - 9
cmd/crowdsec-cli/simulation.go

@@ -104,6 +104,7 @@ func NewSimulationCmds() *cobra.Command {
 		Example: `cscli simulation status
 cscli simulation enable crowdsecurity/ssh-bf
 cscli simulation disable crowdsecurity/ssh-bf`,
+		DisableAutoGenTag: true,
 		PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
 			if err := csConfig.LoadSimulation(); err != nil {
 				log.Fatalf(err.Error())
@@ -127,9 +128,10 @@ cscli simulation disable crowdsecurity/ssh-bf`,
 
 	var forceGlobalSimulation bool
 	var cmdSimulationEnable = &cobra.Command{
-		Use:     "enable [scenario] [-global]",
-		Short:   "Enable the simulation, globally or on specified scenarios",
-		Example: `cscli simulation enable`,
+		Use:               "enable [scenario] [-global]",
+		Short:             "Enable the simulation, globally or on specified scenarios",
+		Example:           `cscli simulation enable`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if err := csConfig.LoadHub(); err != nil {
 				log.Fatalf(err.Error())
@@ -189,9 +191,10 @@ cscli simulation disable crowdsecurity/ssh-bf`,
 	cmdSimulation.AddCommand(cmdSimulationEnable)
 
 	var cmdSimulationDisable = &cobra.Command{
-		Use:     "disable [scenario]",
-		Short:   "Disable the simulation mode. Disable only specified scenarios",
-		Example: `cscli simulation disable`,
+		Use:               "disable [scenario]",
+		Short:             "Disable the simulation mode. Disable only specified scenarios",
+		Example:           `cscli simulation disable`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if len(args) > 0 {
 				for _, scenario := range args {
@@ -232,9 +235,10 @@ cscli simulation disable crowdsecurity/ssh-bf`,
 	cmdSimulation.AddCommand(cmdSimulationDisable)
 
 	var cmdSimulationStatus = &cobra.Command{
-		Use:     "status",
-		Short:   "Show simulation mode status",
-		Example: `cscli simulation status`,
+		Use:               "status",
+		Short:             "Show simulation mode status",
+		Example:           `cscli simulation status`,
+		DisableAutoGenTag: true,
 		Run: func(cmd *cobra.Command, args []string) {
 			if err := simulationStatus(); err != nil {
 				log.Fatalf(err.Error())