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

# Artifacts

> Give every HTML report, Markdown spec, and JSX prototype your agents produce a permanent, versioned, access-controlled URL.

Agents produce real work now — HTML reports, Markdown specs, JSX prototypes, review surfaces, one-off tools. Artifacts gives that work a home: publish it once and get a permanent URL with version history, access controls, and the same authorization model across the web app, CLI, REST API, and MCP server.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/getting-started/quickstart">
    Run Artifacts locally and publish your first artifact in a few commands.
  </Card>

  <Card title="Core concepts" icon="compass" href="/concepts/artifacts">
    Understand artifacts, versions, workspaces, and the access model.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Publish content">
    Send an HTML, Markdown, or JSX file from the CLI, REST API, or an MCP tool. The first publish creates an artifact and its version 1.
  </Step>

  <Step title="Get a durable URL">
    Each artifact lives at a stable path and renders safely in the browser — sandboxed HTML, sanitized Markdown, or the Preact runtime for JSX.
  </Step>

  <Step title="Update without losing history">
    Every update appends a new immutable version. Old versions stay addressable, so you can diff or restore them anytime.
  </Step>

  <Step title="Share with the right people">
    Keep it public, private, email-allowlisted, or behind a scoped share link — without ever changing the URL.
  </Step>
</Steps>

## What you can publish

| Type   | Use it for                         | How it renders                        |
| ------ | ---------------------------------- | ------------------------------------- |
| `html` | Reports, dashboards, mockups       | Sandboxed HTML with browser isolation |
| `md`   | Specs, notes, research writeups    | Sanitized, GitHub-flavored Markdown   |
| `jsx`  | Prototypes, interactive explainers | Preact-compatible runtime             |

Every artifact gets a path shaped like this:

```text theme={"theme":"github-dark"}
https://agent-artifacts.com/{workspace}/{project}/{artifact}
```

## Ways to connect

Artifacts is multi-surface by design. People work in the dashboard; agents and automation use the same core model through programmable interfaces.

<CardGroup cols={2}>
  <Card title="Web app" icon="globe" href="/surfaces/web">
    Dashboards, artifact viewing, version history, access settings, and billing.
  </Card>

  <Card title="CLI" icon="terminal" href="/surfaces/cli">
    The agent-friendly command line for local scripts and coding agents.
  </Card>

  <Card title="REST API" icon="webhook" href="/surfaces/rest-api">
    The canonical HTTP contract behind the web app and CLI.
  </Card>

  <Card title="MCP server" icon="plug" href="/surfaces/mcp">
    Structured artifact tools for MCP-capable agents.
  </Card>
</CardGroup>

## Key ideas

A few terms show up everywhere in these docs:

* **Workspace** — a personal or team namespace, such as `alice` or `acme`.
* **Project** — a group of artifacts inside a workspace, such as `default` or `launch-review`.
* **Artifact** — the stable object: a title, slug, type, access settings, and a pointer to its latest version.
* **Version** — an immutable snapshot of source content, tracked by SHA-256 hash with an optional changelog.
* **Principal** — whoever is making the request: a user, API key, OAuth client, agent, or service.
* **Access policy** — the one authorization layer enforced identically across web, API, CLI, and MCP.

<Card title="Start building" icon="arrow-right" href="/getting-started/quickstart" horizontal>
  Follow the quickstart to publish your first artifact from the CLI.
</Card>
