> ## Documentation Index
> Fetch the complete documentation index at: https://jncpkg.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Global Tools

> Install and manage globally available CLI tools with jnc.

# Global Tools

jnc can install tools globally in isolated environments, making them available from anywhere on your system. This is similar to tools like `apt` or `pipx`, but uses the conda ecosystem.

## Installing tools

```bash theme={null}
jnc global install gh ripgrep bat
```

Each tool gets its own isolated environment, so dependencies never conflict between tools.

## Managing global tools

### Add a package to an existing environment

```bash theme={null}
jnc global add --environment gh gh-dash
```

### List installed environments

```bash theme={null}
jnc global list
```

### Update all global environments

```bash theme={null}
jnc global update
```

### Remove a global tool

```bash theme={null}
jnc global uninstall ripgrep
```

## The global manifest

Global installations are tracked in a manifest file at `~/.jnc/manifests/jnc-global.toml`. You can edit it directly:

```bash theme={null}
jnc global edit
```

Or sync the installed environments to match the manifest:

```bash theme={null}
jnc global sync
```

This makes it easy to share your global tool configuration across machines — just copy the manifest and run `jnc global sync`.

## Exposed binaries

When you install a global tool, jnc automatically exposes the package's binaries on your `PATH` via lightweight trampolines in `~/.jnc/bin/`.

You can manage which binaries are exposed:

```bash theme={null}
jnc global expose add --environment python python3.12
jnc global expose remove --environment python python3.12
```

## Shortcuts

Create shortcut commands for tools:

```bash theme={null}
jnc global shortcut add --environment python py python3.12
jnc global shortcut remove --environment python py
```

## Dependency tree

View the dependency tree of a global environment:

```bash theme={null}
jnc global tree --environment gh
```
