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

# kiln install

> Install dependencies with npm and JSR protocols, workspaces and a hash-pinned lockfile.

## Install dependencies

```bash theme={null}
kiln install
```

Kiln resolves the npm and JSR protocols and supports workspaces. It reads an existing npm, yarn or pnpm lockfile, so a tree you already have keeps its versions.

## The lockfile

The lockfile pins every tarball by hash. Two machines get the same tree, to the byte. The cache is content-addressed and verified on read.

For CI and release pipelines, run:

```bash theme={null}
kiln install --frozen
```

`--frozen` refuses to guess. If anything in the tree would change, the command fails.

## Speed and memory

Scenario times from the reference bench:

| Scenario | Time | Note |
| - | - | - |
| First install | 6.9 ms | no cache, no lockfile, empty tree |
| Warm cache | 1.3 ms | fresh checkout, every tarball already cached |
| CI, cold cache | 4.6 ms | lockfile committed, tarballs from registry |
| Nothing changed | 0.6 ms | the reinstall after no dependency moved |

Peak memory during install is 9 MB. npm peaks at 698 MB and pnpm at 1.4 GB while doing the same work.

<Tip>Reproduce the numbers above with `kiln bench install`.</Tip>


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