Skip to content

Command Reference ​

This page provides detailed information about all available actions in tsūru.

Action Overview ​

tsūru provides the following main actions:

  • install - Download and install tool versions
  • use - Set a specific tool version or all tools in a profile as the current one
  • add - Add a tool version to a profile
  • postinstall - Configure post-installation scripts/commands to be executed after a tool is installed
  • config - Configure tsūru settings
  • help - Display help information

The general syntax for tsūru commands is:

bash
tsuru <action> [parameters]

Common Options ​

The following options are available for multiple actions:

  • -f, --force - Force the action even if it would overwrite existing installations
  • -g, --global - Apply the action globally (system-wide) rather than just for the current session

install ​

The install action downloads and installs a specific tool version.

Syntax ​

bash
tsuru install <provider> [vendor] <version> [options]

Parameters ​

  • provider - The tool family to install (e.g., jdk, nodejs)
  • vendor - (Optional for some providers) The vendor of the tool (e.g., zulu, graalcommunity for jdk)
  • version - The version to install

Options ​

  • -f, --force - Force download even if the version is already installed

Examples ​

INFO

Installing JDK (Java Development Kit) requires specifying a vendor

bash
# Install Zulu JDK 21
tsuru install jdk zulu 21

# Install GraalVM Community Edition JDK 24
tsuru install jdk graalcommunity 24

# Force reinstallation of NodeJS 22
tsuru install nodejs 22 --force

add ​

The add action allow to set a tool version into a profile.

Syntax ​

bash
tsuru add <provider> [vendor] <version> to <profile>

Parameters ​

  • provider - The type of tool to use (e.g., jdk, nodejs)
  • vendor - (Optional for some providers) The vendor of the tool (e.g., zulu, graalcommunity)
  • version - The version to use
  • profile - The name of a group of tools

Examples ​

bash
# Add Zulu JDK 21 to the profile 'backend'
tsuru add jdk zulu 21 to backend

# Add NodeJS 22 to the profile 'backend'
tsuru add nodejs 22 to backend

# 'backend' profile now contains Zulu JDK 21 and NodeJS 22

use ​

The use action sets a specific tool version or a set of tool versions (using profile) as the current one, updating environment variables accordingly.

INFO

If a tool version is not installed yet, tsūru will install it.

Syntax ​

bash
tsuru use <provider> [vendor] <version> [options]
tsuru use <profile> [options]

Parameters ​

  • provider - The type of tool to use (e.g., jdk, nodejs)
  • vendor - (Optional for some providers) The vendor of the tool (e.g., zulu, graalcommunity)
  • version - The version to use
  • profile - The name of a group of tools

Options ​

  • -g, --global - Apply the change globally (system-wide)
  • -f, --force - Force download even if the version is already installed

Examples ​

bash
# Use Zulu JDK 21 for the current session
tsuru use jdk zulu 21

# Use NodeJS 22 globally (system-wide)
tsuru use nodejs 22 -g

# Use and install (if necessary) GraalVM Community Edition JDK 24
tsuru use jdk graalcommunity 24 -f

# Activate all every tool in the 'backend' profile
tsuru use backend

postinstall ​

The postinstall action configures scripts or commands to be executed after tool installation.

Syntax ​

bash
tsuru postinstall <provider> [vendor] <script_path|command>

Parameters ​

  • provider - The type of tool the post-install script is for (e.g., jdk, nodejs)
  • vendor - (Optional for some providers) The vendor of the tool (e.g., zulu, graalcommunity)
  • script_path|command - Either a path to an executable script or a direct command to run

Examples ​

bash
# Add a post-install script for JDK
tsuru postinstall jdk zulu /path/to/my-java-setup.sh

# Add a post-install command for NodeJS
tsuru postinstall nodejs "npm install -g yarn"

config ​

The config action allows you to view and set configuration values.

Syntax ​

bash
tsuru config <key> [value]

Parameters ​

  • key - The configuration key to view or set
  • value - (Optional) The value to set for the configuration key

Examples ​

bash
# View a configuration value
tsuru config github.token

# Set a configuration value
tsuru config github.token <my-token>

help ​

The help action displays usage information.

Syntax ​

bash
tsuru help

Output ​

The help action displays:

  • Basic usage syntax
  • Available actions
  • Examples of common actions

Example ​

bash
$ tsuru help
tsūru (ツール) - the tools manager - v0.3.0

tsuru - manage your development tool versions

Usage
-----
  tsuru <action> [parameters]

Actions
-------
  Tools
    install <provider> [vendor] <version>    Download and install a tool version
    use <provider> [vendor] <version>        Make a tool version the current one

  Profiles
    add <provider> [vendor] <version> to <profile>
                                             Add a tool version to a profile
    use <profile>                            Make all tools of a profile current

  Setup
    init                                     Set up the shell environment for tsuru
    config <key> [value]                     Show a configuration value, or set it
    help                                     Show this help message

Parameters
----------
  <provider>    Tool family, e.g. jdk, nodejs
  [vendor]      Optional distribution, e.g. zulu, temurin (provider dependent)
  <version>     Version to install or use, e.g. 21, 22
  <profile>     Name of a group of tools, e.g. backend

Examples
--------
  tsuru install jdk zulu 21           Install Zulu JDK 21
  tsuru install nodejs 22             Install Node.js 22
  tsuru use jdk zulu 21               Switch to Zulu JDK 21
  tsuru add jdk zulu 21 to backend    Add Zulu JDK 21 to the 'backend' profile
  tsuru use backend                   Activate every tool in the 'backend' profile