Skip to content
This repository has been archived by the owner on Sep 6, 2023. It is now read-only.

Commit

Permalink
Fix tatcli link (#78)
Browse files Browse the repository at this point in the history
* Fix tatcli link

Signed-off-by: Arnaud Morin <arnaud.morin@corp.ovh.com>

* chore: remove unused docs file

* docs: updated generated docs files

* docs: update tatcli link in tatcli ui
  • Loading branch information
arnaudmorin authored and maximecaruchet committed Jan 24, 2019
1 parent 937b153 commit 9e95c6a
Show file tree
Hide file tree
Showing 11 changed files with 52 additions and 778 deletions.
2 changes: 1 addition & 1 deletion docs/build/content/overview/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Some use cases:
- Team Communication & Reporting facilities
...

Tat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tatcli.
Tat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tree/master/tatcli.

A WebUI is also available, see https://github.com/ovh/tatwebui.

Expand Down
2 changes: 1 addition & 1 deletion docs/build/content/sdk/golang-full-example.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,4 @@ func readConfig() {
## Notice
You should split this file into many files.

See https://github.com/ovh/tat/tatcli for CLI with many subcommands.
See https://github.com/ovh/tat/tree/master/tatcli for CLI with many subcommands.
4 changes: 2 additions & 2 deletions docs/build/static/json/search.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
{
"uri": "./tat/overview/introduction",
"title": "Introduction",
"content": "---\ntitle: \"Introduction\"\nweight: 1\nprev: \"/overview\"\nnext: \"/overview/concepts\"\ntoc: false\n\n---\n\nTat, aka Text And Tags, is a communication tool - Human & Robot all together.\n\nSome use cases:\n\nViewing Pull Requests, Build And Deployment in one place\nAlerting & Monitoring Overview\nAgile view as simple as a whiteboard with post-it\nTeam Communication & Reporting facilities\n...\n\nTat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tatcli.\n\nA WebUI is also available, see https://github.com/ovh/tatwebui.\n\nTat Engine:\n\nUses MongoDB as backend\nIs fully stateless, scale as you want\nIs the central Hub of Tat microservices ecosystem\n\nThe initial goal of TAT was to make an overview on Continuous Delivery Pipeline, with some pre-requisites:\n\nScalable, High Availability, Self-Hosted\nAPI, CLI\nSimple Usage\n\n",
"content": "---\ntitle: \"Introduction\"\nweight: 1\nprev: \"/overview\"\nnext: \"/overview/concepts\"\ntoc: false\n\n---\n\nTat, aka Text And Tags, is a communication tool - Human & Robot all together.\n\nSome use cases:\n\nViewing Pull Requests, Build And Deployment in one place\nAlerting & Monitoring Overview\nAgile view as simple as a whiteboard with post-it\nTeam Communication & Reporting facilities\n...\n\nTat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tree/master/tatcli.\n\nA WebUI is also available, see https://github.com/ovh/tatwebui.\n\nTat Engine:\n\nUses MongoDB as backend\nIs fully stateless, scale as you want\nIs the central Hub of Tat microservices ecosystem\n\nThe initial goal of TAT was to make an overview on Continuous Delivery Pipeline, with some pre-requisites:\n\nScalable, High Availability, Self-Hosted\nAPI, CLI\nSimple Usage\n\n",
"tags": []
},
{
Expand All @@ -122,7 +122,7 @@
{
"uri": "./tat/sdk/golang-full-example",
"title": "Golang - Full Example",
"content": "---\ntitle: \"Golang - Full Example\"\nweight: 2\ntoc: true\nprev: \"/sdk/golang-simple-main\"\n\n---\n\nUsage\n\nThis example uses viper, cobra and tatcli config file.\n\nUsage:\n go build && ./mycli-full demo /YouTopic/subTopic your message\n\nwith a config file:\n go build && ./mycli-full --configFile $HOME/.tatcli/config.local.json demo /YouTopic/subTopic your message\n\n File main.go\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\tlog \"github.com/Sirupsen/logrus\"\n\t\"github.com/ovh/tat\"\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n)\n\nvar rootCmd = &cobra.Command{\n\tUse: \"mycli-full\",\n\tLong: SDK Use Demo,\n}\n\n// URL of tat engine, tat username and tat password\nvar (\n\thome = os.Getenv(\"HOME\")\n\ttaturl string\n\tusername string\n\tpassword string\n\n\t// ConfigFile is $HOME/.tatcli/config.json per default\n\t// contains user, password and url of tat\n\tconfigFile string\n)\n\nfunc main() {\n\taddCommands()\n\n\trootCmd.PersistentFlags().StringVarP(&taturl, \"url\", \"\", \"\", \"URL Tat Engine, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&username, \"username\", \"u\", \"\", \"username, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&password, \"password\", \"p\", \"\", \"password, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&configFile, \"configFile\", \"c\", home+\"/.tatcli/config.json\", \"configuration file, default is \"+home+\"/.tatcli/config.json\")\n\n\tviper.BindPFlag(\"url\", rootCmd.PersistentFlags().Lookup(\"url\"))\n\tviper.BindPFlag(\"username\", rootCmd.PersistentFlags().Lookup(\"username\"))\n\tviper.BindPFlag(\"password\", rootCmd.PersistentFlags().Lookup(\"password\"))\n\n\tlog.SetLevel(log.DebugLevel)\n\n\tif err := rootCmd.Execute(); err != nil {\n\t\tfmt.Println(err)\n\t\tos.Exit(-1)\n\t}\n}\n\n//AddCommands adds child commands to the root command rootCmd.\nfunc addCommands() {\n\trootCmd.AddCommand(cmdDemo)\n}\n\nvar cmdDemo = &cobra.Command{\n\tUse: \"demo topic msg\",\n\tShort: \"Demo Post Msg\",\n\tRun: func(cmd *cobra.Command, args []string) {\n\t\tcreate(args[0], args[1])\n\t},\n}\n\n// create creates a message in specified topic\nfunc create(topic, message string) {\n\treadConfig()\n\tm := tat.MessageJSON{Text: message, Topic: topic}\n\tmsgCreated, err := getClient().MessageAdd(m)\n\tif err != nil {\n\t\tlog.Errorf(\"Error:%s\", err)\n\t\treturn\n\t}\n\tlog.Debugf(\"ID Message Created: %d\", msgCreated.Message.ID)\n}\n\nfunc getClient() *tat.Client {\n\ttc, err := tat.NewClient(tat.Options{\n\t\tURL: viper.GetString(\"url\"),\n\t\tUsername: viper.GetString(\"username\"),\n\t\tPassword: viper.GetString(\"password\"),\n\t\tReferer: \"mycli.v0\",\n\t})\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error while create new Tat Client: %s\", err)\n\t}\n\n\ttat.DebugLogFunc = log.Debugf\n\treturn tc\n}\n\n// readConfig reads config in .tatcli/config per default\nfunc readConfig() {\n\tif configFile != \"\" {\n\t\tviper.SetConfigFile(configFile)\n\t\tviper.ReadInConfig() // Find and read the config file\n\t}\n}\n\nNotice\nYou should split this file into many files.\n\nSee https://github.com/ovh/tat/tatcli for CLI with many subcommands.\n",
"content": "---\ntitle: \"Golang - Full Example\"\nweight: 2\ntoc: true\nprev: \"/sdk/golang-simple-main\"\n\n---\n\nUsage\n\nThis example uses viper, cobra and tatcli config file.\n\nUsage:\n go build && ./mycli-full demo /YouTopic/subTopic your message\n\nwith a config file:\n go build && ./mycli-full --configFile $HOME/.tatcli/config.local.json demo /YouTopic/subTopic your message\n\n File main.go\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\tlog \"github.com/Sirupsen/logrus\"\n\t\"github.com/ovh/tat\"\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n)\n\nvar rootCmd = &cobra.Command{\n\tUse: \"mycli-full\",\n\tLong: SDK Use Demo,\n}\n\n// URL of tat engine, tat username and tat password\nvar (\n\thome = os.Getenv(\"HOME\")\n\ttaturl string\n\tusername string\n\tpassword string\n\n\t// ConfigFile is $HOME/.tatcli/config.json per default\n\t// contains user, password and url of tat\n\tconfigFile string\n)\n\nfunc main() {\n\taddCommands()\n\n\trootCmd.PersistentFlags().StringVarP(&taturl, \"url\", \"\", \"\", \"URL Tat Engine, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&username, \"username\", \"u\", \"\", \"username, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&password, \"password\", \"p\", \"\", \"password, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&configFile, \"configFile\", \"c\", home+\"/.tatcli/config.json\", \"configuration file, default is \"+home+\"/.tatcli/config.json\")\n\n\tviper.BindPFlag(\"url\", rootCmd.PersistentFlags().Lookup(\"url\"))\n\tviper.BindPFlag(\"username\", rootCmd.PersistentFlags().Lookup(\"username\"))\n\tviper.BindPFlag(\"password\", rootCmd.PersistentFlags().Lookup(\"password\"))\n\n\tlog.SetLevel(log.DebugLevel)\n\n\tif err := rootCmd.Execute(); err != nil {\n\t\tfmt.Println(err)\n\t\tos.Exit(-1)\n\t}\n}\n\n//AddCommands adds child commands to the root command rootCmd.\nfunc addCommands() {\n\trootCmd.AddCommand(cmdDemo)\n}\n\nvar cmdDemo = &cobra.Command{\n\tUse: \"demo topic msg\",\n\tShort: \"Demo Post Msg\",\n\tRun: func(cmd *cobra.Command, args []string) {\n\t\tcreate(args[0], args[1])\n\t},\n}\n\n// create creates a message in specified topic\nfunc create(topic, message string) {\n\treadConfig()\n\tm := tat.MessageJSON{Text: message, Topic: topic}\n\tmsgCreated, err := getClient().MessageAdd(m)\n\tif err != nil {\n\t\tlog.Errorf(\"Error:%s\", err)\n\t\treturn\n\t}\n\tlog.Debugf(\"ID Message Created: %d\", msgCreated.Message.ID)\n}\n\nfunc getClient() *tat.Client {\n\ttc, err := tat.NewClient(tat.Options{\n\t\tURL: viper.GetString(\"url\"),\n\t\tUsername: viper.GetString(\"username\"),\n\t\tPassword: viper.GetString(\"password\"),\n\t\tReferer: \"mycli.v0\",\n\t})\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error while create new Tat Client: %s\", err)\n\t}\n\n\ttat.DebugLogFunc = log.Debugf\n\treturn tc\n}\n\n// readConfig reads config in .tatcli/config per default\nfunc readConfig() {\n\tif configFile != \"\" {\n\t\tviper.SetConfigFile(configFile)\n\t\tviper.ReadInConfig() // Find and read the config file\n\t}\n}\n\nNotice\nYou should split this file into many files.\n\nSee https://github.com/ovh/tat/tree/master/tatcli for CLI with many subcommands.\n",
"tags": []
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Usage - General Rules A successful command will give you no feedback. If you wan
<guid>https://ovh.github.io/tat/overview/introduction/</guid>
<description>Tat, aka Text And Tags, is a communication tool - Human &amp;amp; Robot all together.
Some use cases:
Viewing Pull Requests, Build And Deployment in one place Alerting &amp;amp; Monitoring Overview Agile view as simple as a whiteboard with post-it Team Communication &amp;amp; Reporting facilities &amp;hellip; Tat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tatcli.</description>
Viewing Pull Requests, Build And Deployment in one place Alerting &amp;amp; Monitoring Overview Agile view as simple as a whiteboard with post-it Team Communication &amp;amp; Reporting facilities &amp;hellip; Tat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tree/master/tatcli.</description>
</item>

<item>
Expand Down
4 changes: 2 additions & 2 deletions docs/json/search.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
{
"uri": "./tat/overview/introduction",
"title": "Introduction",
"content": "---\ntitle: \"Introduction\"\nweight: 1\nprev: \"/overview\"\nnext: \"/overview/concepts\"\ntoc: false\n\n---\n\nTat, aka Text And Tags, is a communication tool - Human & Robot all together.\n\nSome use cases:\n\nViewing Pull Requests, Build And Deployment in one place\nAlerting & Monitoring Overview\nAgile view as simple as a whiteboard with post-it\nTeam Communication & Reporting facilities\n...\n\nTat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tatcli.\n\nA WebUI is also available, see https://github.com/ovh/tatwebui.\n\nTat Engine:\n\nUses MongoDB as backend\nIs fully stateless, scale as you want\nIs the central Hub of Tat microservices ecosystem\n\nThe initial goal of TAT was to make an overview on Continuous Delivery Pipeline, with some pre-requisites:\n\nScalable, High Availability, Self-Hosted\nAPI, CLI\nSimple Usage\n\n",
"content": "---\ntitle: \"Introduction\"\nweight: 1\nprev: \"/overview\"\nnext: \"/overview/concepts\"\ntoc: false\n\n---\n\nTat, aka Text And Tags, is a communication tool - Human & Robot all together.\n\nSome use cases:\n\nViewing Pull Requests, Build And Deployment in one place\nAlerting & Monitoring Overview\nAgile view as simple as a whiteboard with post-it\nTeam Communication & Reporting facilities\n...\n\nTat Engine exposes only an HTTP REST API. You can manipulate this API with Tat Command Line Interface, aka tatcli, see https://github.com/ovh/tat/tree/master/tatcli.\n\nA WebUI is also available, see https://github.com/ovh/tatwebui.\n\nTat Engine:\n\nUses MongoDB as backend\nIs fully stateless, scale as you want\nIs the central Hub of Tat microservices ecosystem\n\nThe initial goal of TAT was to make an overview on Continuous Delivery Pipeline, with some pre-requisites:\n\nScalable, High Availability, Self-Hosted\nAPI, CLI\nSimple Usage\n\n",
"tags": []
},
{
Expand All @@ -122,7 +122,7 @@
{
"uri": "./tat/sdk/golang-full-example",
"title": "Golang - Full Example",
"content": "---\ntitle: \"Golang - Full Example\"\nweight: 2\ntoc: true\nprev: \"/sdk/golang-simple-main\"\n\n---\n\nUsage\n\nThis example uses viper, cobra and tatcli config file.\n\nUsage:\n go build && ./mycli-full demo /YouTopic/subTopic your message\n\nwith a config file:\n go build && ./mycli-full --configFile $HOME/.tatcli/config.local.json demo /YouTopic/subTopic your message\n\n File main.go\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\tlog \"github.com/Sirupsen/logrus\"\n\t\"github.com/ovh/tat\"\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n)\n\nvar rootCmd = &cobra.Command{\n\tUse: \"mycli-full\",\n\tLong: SDK Use Demo,\n}\n\n// URL of tat engine, tat username and tat password\nvar (\n\thome = os.Getenv(\"HOME\")\n\ttaturl string\n\tusername string\n\tpassword string\n\n\t// ConfigFile is $HOME/.tatcli/config.json per default\n\t// contains user, password and url of tat\n\tconfigFile string\n)\n\nfunc main() {\n\taddCommands()\n\n\trootCmd.PersistentFlags().StringVarP(&taturl, \"url\", \"\", \"\", \"URL Tat Engine, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&username, \"username\", \"u\", \"\", \"username, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&password, \"password\", \"p\", \"\", \"password, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&configFile, \"configFile\", \"c\", home+\"/.tatcli/config.json\", \"configuration file, default is \"+home+\"/.tatcli/config.json\")\n\n\tviper.BindPFlag(\"url\", rootCmd.PersistentFlags().Lookup(\"url\"))\n\tviper.BindPFlag(\"username\", rootCmd.PersistentFlags().Lookup(\"username\"))\n\tviper.BindPFlag(\"password\", rootCmd.PersistentFlags().Lookup(\"password\"))\n\n\tlog.SetLevel(log.DebugLevel)\n\n\tif err := rootCmd.Execute(); err != nil {\n\t\tfmt.Println(err)\n\t\tos.Exit(-1)\n\t}\n}\n\n//AddCommands adds child commands to the root command rootCmd.\nfunc addCommands() {\n\trootCmd.AddCommand(cmdDemo)\n}\n\nvar cmdDemo = &cobra.Command{\n\tUse: \"demo topic msg\",\n\tShort: \"Demo Post Msg\",\n\tRun: func(cmd *cobra.Command, args []string) {\n\t\tcreate(args[0], args[1])\n\t},\n}\n\n// create creates a message in specified topic\nfunc create(topic, message string) {\n\treadConfig()\n\tm := tat.MessageJSON{Text: message, Topic: topic}\n\tmsgCreated, err := getClient().MessageAdd(m)\n\tif err != nil {\n\t\tlog.Errorf(\"Error:%s\", err)\n\t\treturn\n\t}\n\tlog.Debugf(\"ID Message Created: %d\", msgCreated.Message.ID)\n}\n\nfunc getClient() *tat.Client {\n\ttc, err := tat.NewClient(tat.Options{\n\t\tURL: viper.GetString(\"url\"),\n\t\tUsername: viper.GetString(\"username\"),\n\t\tPassword: viper.GetString(\"password\"),\n\t\tReferer: \"mycli.v0\",\n\t})\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error while create new Tat Client: %s\", err)\n\t}\n\n\ttat.DebugLogFunc = log.Debugf\n\treturn tc\n}\n\n// readConfig reads config in .tatcli/config per default\nfunc readConfig() {\n\tif configFile != \"\" {\n\t\tviper.SetConfigFile(configFile)\n\t\tviper.ReadInConfig() // Find and read the config file\n\t}\n}\n\nNotice\nYou should split this file into many files.\n\nSee https://github.com/ovh/tat/tatcli for CLI with many subcommands.\n",
"content": "---\ntitle: \"Golang - Full Example\"\nweight: 2\ntoc: true\nprev: \"/sdk/golang-simple-main\"\n\n---\n\nUsage\n\nThis example uses viper, cobra and tatcli config file.\n\nUsage:\n go build && ./mycli-full demo /YouTopic/subTopic your message\n\nwith a config file:\n go build && ./mycli-full --configFile $HOME/.tatcli/config.local.json demo /YouTopic/subTopic your message\n\n File main.go\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\tlog \"github.com/Sirupsen/logrus\"\n\t\"github.com/ovh/tat\"\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n)\n\nvar rootCmd = &cobra.Command{\n\tUse: \"mycli-full\",\n\tLong: SDK Use Demo,\n}\n\n// URL of tat engine, tat username and tat password\nvar (\n\thome = os.Getenv(\"HOME\")\n\ttaturl string\n\tusername string\n\tpassword string\n\n\t// ConfigFile is $HOME/.tatcli/config.json per default\n\t// contains user, password and url of tat\n\tconfigFile string\n)\n\nfunc main() {\n\taddCommands()\n\n\trootCmd.PersistentFlags().StringVarP(&taturl, \"url\", \"\", \"\", \"URL Tat Engine, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&username, \"username\", \"u\", \"\", \"username, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&password, \"password\", \"p\", \"\", \"password, facultative if you have a \"+home+\"/.tatcli/config.json file\")\n\trootCmd.PersistentFlags().StringVarP(&configFile, \"configFile\", \"c\", home+\"/.tatcli/config.json\", \"configuration file, default is \"+home+\"/.tatcli/config.json\")\n\n\tviper.BindPFlag(\"url\", rootCmd.PersistentFlags().Lookup(\"url\"))\n\tviper.BindPFlag(\"username\", rootCmd.PersistentFlags().Lookup(\"username\"))\n\tviper.BindPFlag(\"password\", rootCmd.PersistentFlags().Lookup(\"password\"))\n\n\tlog.SetLevel(log.DebugLevel)\n\n\tif err := rootCmd.Execute(); err != nil {\n\t\tfmt.Println(err)\n\t\tos.Exit(-1)\n\t}\n}\n\n//AddCommands adds child commands to the root command rootCmd.\nfunc addCommands() {\n\trootCmd.AddCommand(cmdDemo)\n}\n\nvar cmdDemo = &cobra.Command{\n\tUse: \"demo topic msg\",\n\tShort: \"Demo Post Msg\",\n\tRun: func(cmd *cobra.Command, args []string) {\n\t\tcreate(args[0], args[1])\n\t},\n}\n\n// create creates a message in specified topic\nfunc create(topic, message string) {\n\treadConfig()\n\tm := tat.MessageJSON{Text: message, Topic: topic}\n\tmsgCreated, err := getClient().MessageAdd(m)\n\tif err != nil {\n\t\tlog.Errorf(\"Error:%s\", err)\n\t\treturn\n\t}\n\tlog.Debugf(\"ID Message Created: %d\", msgCreated.Message.ID)\n}\n\nfunc getClient() *tat.Client {\n\ttc, err := tat.NewClient(tat.Options{\n\t\tURL: viper.GetString(\"url\"),\n\t\tUsername: viper.GetString(\"username\"),\n\t\tPassword: viper.GetString(\"password\"),\n\t\tReferer: \"mycli.v0\",\n\t})\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error while create new Tat Client: %s\", err)\n\t}\n\n\ttat.DebugLogFunc = log.Debugf\n\treturn tc\n}\n\n// readConfig reads config in .tatcli/config per default\nfunc readConfig() {\n\tif configFile != \"\" {\n\t\tviper.SetConfigFile(configFile)\n\t\tviper.ReadInConfig() // Find and read the config file\n\t}\n}\n\nNotice\nYou should split this file into many files.\n\nSee https://github.com/ovh/tat/tree/master/tatcli for CLI with many subcommands.\n",
"tags": []
},
{
Expand Down
Loading

0 comments on commit 9e95c6a

Please sign in to comment.