Skip to main content

Commands

mani

repositories manager and task runner

Options

  -c, --config string        specify config
-h, --help help for mani
--no-color disable color
-u, --user-config string specify user config

run

Run tasks

Synopsis

Run tasks.

The tasks are specified in a mani.yaml file along with the projects you can target.

run <task>

Examples

  # Run task <task> for all projects
mani run <task> --all

# Run task <task> for all projects <project>
mani run <task> --projects <project>

# Run task <task> for all projects that have tags <tag>
mani run <task> --tags <tag>

# Run task <task> for all projects matching paths <path>
mani run <task> --paths <path>

Options

  -a, --all                target all projects
-k, --cwd current working directory
--describe print task information
--dry-run prints the task to see what will be executed
-e, --edit edit task
-h, --help help for run
--omit-empty omit empty results
-o, --output string set output [text|table|html|markdown]
--parallel run tasks in parallel for each project
-d, --paths strings target projects by paths
-p, --projects strings target projects by names
-t, --tags strings target projects by tags
--theme string set theme

exec

Execute arbitrary commands

Synopsis

Execute arbitrary commands.

Single quote your command if you don't want the file globbing and environments variables expansion to take place before the command gets executed in each directory.

exec <command> [flags]

Examples

  # List files in all projects
mani exec --all ls

# List git files that have markdown suffix for all projects
mani exec --all 'git ls-files | grep -e ".md"'

Options

  -a, --all                target all projects
-k, --cwd current working directory
--dry-run prints the command to see what will be executed
-h, --help help for exec
--omit-empty omit empty results
-o, --output string set output [text|table|markdown|html]
--parallel run tasks in parallel for each project
-d, --paths strings target projects by paths
-p, --projects strings target projects by names
-t, --tags strings target projects by tags
--theme string set theme (default "default")

init

Initialize a mani repository

Synopsis

Initialize a mani repository.

Creates a mani repository - a directory with config file mani.yaml and a .gitignore file.

init [flags]

Examples

  # Basic example
mani init

# Skip auto-discovery of projects
mani init --auto-discovery=false

# Skip creation of .gitignore file
mani init --vcs=none

Options

      --auto-discovery   walk current directory and add git repositories to mani.yaml (default true)
-h, --help help for init
--vcs string initialize directory using version control system. Acceptable values: <git|none> (default "git")

sync

Clone repositories and add them to gitignore

Synopsis

Clone repositories and add them to gitignore. In-case you need to enter credentials before cloning, run the command without the parallel flag.

sync [flags]

Examples

  # Clone repositories one at a time
mani sync

# Clone repositories in parallell
mani sync --parallel

# Show cloned projects
mani sync --status

Options

  -h, --help       help for sync
-p, --parallel clone projects in parallel
-s, --status print sync status only

edit

Open up mani config file in $EDITOR

Synopsis

Open up mani config file in $EDITOR

edit [flags]

Examples

  # Edit current context
mani edit

Options

  -h, --help   help for edit

edit project

Edit mani project

Synopsis

Edit mani project

edit project [project] [flags]

Examples

  # Edit projects
mani edit project

# Edit project <project>
mani edit project <project>

Options

  -h, --help   help for project

edit task

Edit mani task

Synopsis

Edit mani task

edit task [task] [flags]

Examples

  # Edit tasks
mani edit task

# Edit task <task>
mani edit task <task>

Options

  -h, --help   help for task

list projects

List projects

Synopsis

List projects

list projects [projects] [flags]

Examples

  # List all projects
mani list projects

# List projects <project>
mani list projects <project>

# List projects that have tag <tag>
mani list projects --tags <tag>

# List projects matching paths <path>
mani list projects --paths <path>

Options

      --headers strings   set headers. Available headers: project, path, relpath, description, url, tag (default [project,tag,description])
-h, --help help for projects
-d, --paths strings filter projects by paths
-t, --tags strings filter projects by tags
--tree tree output

Options inherited from parent commands

  -o, --output string   set output [table|markdown|html] (default "table")
--theme string set theme (default "default")

list tags

List tags

Synopsis

List tags.

list tags [tags] [flags]

Examples

  # List all tags
mani list tags

Options

      --headers strings   set headers. Available headers: tag, project (default [tag,project])
-h, --help help for tags

Options inherited from parent commands

  -o, --output string   set output [table|markdown|html] (default "table")
--theme string set theme (default "default")

list tasks

List tasks

Synopsis

List tasks.

list tasks [tasks] [flags]

Examples

  # List all tasks
mani list tasks

# List task <task>
mani list task <task>

Options

      --headers strings   set headers. Available headers: task, description (default [task,description])
-h, --help help for tasks

Options inherited from parent commands

  -o, --output string   set output [table|markdown|html] (default "table")
--theme string set theme (default "default")

describe projects

Describe projects

Synopsis

Describe projects.

describe projects [projects] [flags]

Examples

  # Describe all projects
mani describe projects

# Describe project <project>
mani describe projects <project>

# Describe projects that have tag <tag>
mani describe projects --tags <tag>

# Describe projects matching paths <path>
mani describe projects --paths <path>

Options

  -e, --edit            edit project
-h, --help help for projects
-d, --paths strings filter projects by paths
-t, --tags strings filter projects by tags

describe tasks

Describe tasks

Synopsis

Describe tasks.

describe tasks [tasks] [flags]

Examples

  # Describe all tasks
mani describe tasks

# Describe task <task>
mani describe task <task>

Options

  -e, --edit   edit task
-h, --help help for tasks

gen

Generate man page

gen

Options

  -d, --dir string   directory to save manpage to (default "./")
-h, --help help for gen

version

Print version/build info

Synopsis

Print version/build info.

version [flags]

Options

  -h, --help   help for version