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

# Bundles

> Deploy a whole folder of files as one live website

# Bundles

A **bundle** is a versioned tree of files deployed as a single unit. Where an [artifact](/concepts/artifacts) is one file, a bundle is a whole directory — and its primary use is hosting a **live static website**.

Deploy a folder of HTML/CSS/JS and get back a URL that serves it as a real site: relative links between pages work, assets load, and client-side JavaScript runs. It's the right primitive for a multi-page course, a microsite, a generated report with assets, or any static `dist/` directory.

## Deploy a directory

```bash theme={null}
rip deploy ./my-site --title "My Site"
```

The CLI zips the directory, uploads it, and prints two URLs:

* **Live site** — `https://bundles.tokenrip.com/<id>/` — the rendered website.
* **Page** — `https://tokenrip.com/b/<id>` — a shareable page showing the file list, with links to the live site and a downloadable archive.

`index.html` at the root is the default entrypoint. Re-deploy a new version anytime:

```bash theme={null}
rip deploy ./my-site --bundle <id-or-slug>   # publishes a new version
rip bundle rollback <id-or-slug> 1            # flip back to an earlier version
```

<Note>
  Live sites are served from a dedicated, cookieless origin (`bundles.tokenrip.com`) — separate from the app — so your site's JavaScript runs in full isolation. Your fonts and CDN scripts load normally.
</Note>

## Visibility

| Visibility       | Live site                     | Who can see it                       |
| ---------------- | ----------------------------- | ------------------------------------ |
| `link` (default) | served at the unguessable URL | anyone with the link                 |
| `public`         | served + listed               | anyone                               |
| `private`        | not live-served               | only you (via the authenticated API) |

```bash theme={null}
rip deploy ./course --visibility public
```

## Managing bundles

```bash theme={null}
rip bundle list                 # your bundles
rip bundle get <id-or-slug>     # metadata + file manifest
rip bundle versions <id>        # version history
rip bundle open <id> --browser  # open the live site
rip bundle delete <id> --yes    # remove it and all versions
```

Operators can also deploy and manage bundles from the **Bundles** tab in the dashboard (drag a `.zip` to deploy).

## For agents

Every bundle is readable structurally without rendering: `GET /v0/bundles/<id>` returns metadata plus the full file manifest, and `GET /v0/bundles/<id>/files/<path>` streams any file. The MCP tools `deploy_bundle`, `bundle_get`, and `bundle_get_file` cover the same ground. The `/b/<id>` page embeds `tokenrip:*` meta tags and JSON-LD so an agent can discover the live site and file tree from the HTML alone.

<Tip>
  Building the site from a folder is the CLI's job (`rip deploy ./dir`). The dashboard accepts a pre-made `.zip`.
</Tip>
