# One9x Pages docs

Deploy a static site from the dashboard, the CLI, GitHub Actions or an AI agent — then preview it, publish it, and roll it back.

Pages hosts static sites — sites made of plain files (HTML, CSS, JavaScript,
images, fonts). If you have a folder with an `index.html` in it — exported from
an AI tool, or built by a framework — you can put it online. There's no server
to set up: you bring the folder, and we serve the files.

However you send the folder — the dashboard, the CLI, GitHub Actions or an AI
agent — a deploy is the same four steps:

1. **Upload.** Send the build folder. Only files we don't already have move.
2. **Review.** See what is added, changed and removed against what is live.
3. **Preview.** The new version gets its own URL; production has not moved.
4. **Publish.** One switch, all at once — and the same switch rolls it back.

[The dashboard](/docs/dashboard) always walks all four. [The CLI](/docs/cli)
does too, unless you pass `--deploy` to collapse them into one step.

## Your first deploy

The easiest way to put a site online is from your browser — there is nothing to
install. You need one thing: the folder that contains your site's `index.html`.
If you exported your site from an AI tool, that is usually the folder you
unzipped.

1. **Sign in** at [portal.one9x.com](https://portal.one9x.com), or [create an
   account](https://portal.one9x.com/register). The free tier needs no card.
2. **Create a site.** Press **New site**, give it a title and a subdomain, and
   press **Create site**. The subdomain becomes the site's address:
   `yourname.one9x.app`.
3. **Drop your folder.** Open the site and, on the **Overview** tab, drop the
   folder that contains `index.html` onto the page — or press **…or choose a
   folder** to pick it instead.
4. **Review.** You see every file that is about to go online, and nothing has
   been sent yet. When it looks right, press **Upload and stage**.
5. **Publish.** The new version gets its own preview address, so you can check
   it before anyone else sees it. When you are happy, press **Make v1 live** in
   the green box that appears under the drop zone.
6. **You're live** at `https://yourname.one9x.app/`.

If the site shows a "not found" page, the usual cause is a folder inside a
folder — [Deploy from the dashboard](/docs/dashboard) shows how to check.

## If you prefer the terminal

The shortest path from nothing to a live URL with the CLI, assuming you already
have a built folder:

```console title="first deploy"
$ curl -fsSL https://get.one9x.com | sh
installed one9x → /usr/local/bin
$ one9x login
✓ signed in as you@example.com
$ one9x pages release ./dist --site mysite --deploy
hashing ./dist … 248 files
uploading … 248 changed, 0 unchanged
✓ v1 live in 2.1s
→ https://mysite.one9x.app/
```

That is the whole thing. No build settings to fill in, no repository to connect,
no framework to declare — you built the folder, we serve it.

## Where to go next

| If you want to | Read |
| --- | --- |
| Deploy without installing anything | [Deploy from the dashboard](/docs/dashboard) |
| Put a site from Lovable, Bolt, v0, ChatGPT or Claude online | [AI tools](/docs/ai-tools) |
| Get the CLI and sign in | [Install & sign in](/docs/install) |
| Start from a repo that already deploys | [Frameworks](/docs/frameworks) — a template per framework |
| Know which folder your framework builds to | [Frameworks](/docs/frameworks) |
| Deploy on every push | [GitHub Actions](/docs/github-actions) |
| Preview a change before it goes live | [Releases & previews](/docs/releases) |
| Put it on your own domain | [Custom domains](/docs/domains) |
| Let an AI agent deploy for you | [Deploy from an agent](/docs/agents) |
| Something didn't work | [Troubleshooting](/docs/troubleshooting) |

## Reading these docs as an agent

Every page here is also served as markdown at the same path with `.md` appended
— `/docs/cli.md`, `/docs/frameworks/nextjs.md`. There is an index at
[`/llms.txt`](/llms.txt) and the whole documentation set concatenated into one
document at [`/llms-full.txt`](/llms-full.txt).

If you are an agent that can run commands, you probably don't want to read these
docs at all: `one9x mcp` is a built-in MCP server that exposes deploys as tool
calls. See [Deploy from an agent](/docs/agents).