34 lines
No EOL
851 B
Markdown
34 lines
No EOL
851 B
Markdown
---
|
|
date: "2019-03-31:00:00+01:00"
|
|
title: "Adding new cli commands"
|
|
draft: false
|
|
type: "doc"
|
|
menu:
|
|
sidebar:
|
|
parent: "development"
|
|
---
|
|
|
|
# Adding new cli commands
|
|
|
|
All cli-related functions are located in `pkg/cmd`.
|
|
Each cli command usually calls a function in another package.
|
|
For example, the `vikunja migrate` command calls `migration.Migrate()`.
|
|
|
|
Vikunja uses the amazing [cobra](https://github.com/spf13/cobra) library for its cli.
|
|
Please refer to its documentation for informations about how to use flags etc.
|
|
|
|
To add a new cli command, add something like the following:
|
|
|
|
{{< highlight golang >}}
|
|
func init() {
|
|
rootCmd.AddCommand(myCmd)
|
|
}
|
|
|
|
var myCmd = &cobra.Command{
|
|
Use: "My-command",
|
|
Short: "A short description about your command.",
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
// Call other functions
|
|
},
|
|
}
|
|
{{</ highlight >}} |