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

# graph pack add

> Install a pack from git as a plain copy in the project, global or given graph directory

packs.lock records the commit each release tag pointed at when it was installed. A published release must never move: when the repository's copy of a recorded tag now points elsewhere, or a clone checks out a different commit than git ls-remote reported, the install is refused and nothing changes. Branch-tracking packs are exempt.

## Arguments

**NAME|URL** `string` *required*

A bare name (the \<name> directory of github.com/tylerdavis/graph-packs) or a git URL; a name already in \[packs] installs that entry

## Options

**--path** `string`

The pack's directory inside the repository, whose releases are the tags \<DIR>/vX.Y.Z; default: the repository root (a bare name's own directory)

Format: `DIR`.

**--as** `string`

Install under this name instead of the manifest's

Format: `NAME`.

**--ref** `string`

A major line (v2), an exact release (v2.1.0, pinned) or a branch; default: the newest release

Format: `REF`.

**--global** `boolean`

Target the global layer (\~/.config/graph/) instead of the project's ./.graph/

**--dir** `string`

Target this graph directory, laid out like .graph/ (config.toml, packs/, packs.lock)

Format: `PATH`.

**--json** `boolean`

Print a JSON envelope instead of text

## Global options

**-v, --verbose** `integer`

Increase log verbosity (-v info, -vv debug, -vvv trace)

```bash Usage theme={null}
graph pack add [OPTIONS] <NAME|URL>
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.