---
title: Installation
description: How to install jackin' on your system
---
import { Aside, TabItem, Tabs } from '@astrojs/starlight/components'


## Prerequisites

- **Docker** — jackin' uses Docker to create isolated containers. Make sure Docker is installed and the Docker daemon is running.
- **macOS or Linux** — jackin' currently supports macOS and Linux. Windows support via WSL2 is possible but untested.

## Install jackin'

The easiest way to install on macOS or Linux is via Homebrew. The Homebrew formulae are maintained in the [jackin-project/homebrew-tap](https://github.com/jackin-project/homebrew-tap) repository.

<Tabs>
<TabItem label="Homebrew">

```bash
brew tap jackin-project/tap

# Stable
brew install jackin

# Or install the rolling preview channel
brew install jackin@preview
```

</TabItem>

<TabItem label="From source">

```bash
cargo install --git https://github.com/jackin-project/jackin.git
```

</TabItem>
</Tabs>
## Verify installation

```bash
jackin --version
```

You should see the jackin' version and the banner:

```
jackin 0.6.0-dev
```

## Docker setup

jackin' requires Docker to be running. Verify with:

```bash
docker info
```

<Aside type="tip">
On macOS, [OrbStack](https://orbstack.dev/) is a lightweight alternative to Docker Desktop that works well with jackin'.
</Aside>
## What gets installed

jackin' itself is a single binary. When you first load an agent, jackin' will:

1. **Pull the `construct` image** — the shared Debian-based base image every agent extends
2. **Fetch the role repository** — cached locally so subsequent loads of the same role do not re-clone
3. **Build a derived image** — layers the role's tools and the agent runtime on top of the `construct`
4. **Create a per-agent `Docker` network** — for isolation between agents

Subsequent loads of the same role are typically fast: `Docker`'s layer cache is reused, the role-repo cache is reused, and only changed layers rebuild. Pass `--rebuild` when you want jackin' to refresh the agent-runtime install layer (for example, to pick up a newer agent release).

## Next steps

Ready to go? Head to the [Quick Start](/getting-started/quickstart) to load your first agent.
