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

# Luno Builder

> Build agents and workflows from chat in the Luno OS web app.

**Luno Builder** is Luno OS's built-in building agent (the platform agent), the home of Studio. Open a chat in the web app, describe the agent, workflow, or automation you want, and it builds it — writing real TypeScript in your project, connecting integrations, testing what it built, and deploying when you're ready. No IDE, CLI install, or repo on your machine.

It is one of three ways to build with AI on Luno OS:

| Surface | Where you work | Best for |
| - | - | - |
| **Luno Builder** (this page) | Chat in the Luno OS web app | Building from the browser; teammates without a local dev setup |
| **[CLI for agents](https://docs.os.meetluno.ai/build-with-ai/cli-for-agents.md)** | Your own editor (Cursor, Claude Code, etc.) | Full control of files, git, tests, and editor tooling |
| **[MCP for agents](https://docs.os.meetluno.ai/build-with-ai/mcp-for-agents.md)** | An external chat agent (ChatGPT, Claude) | Connecting Luno OS to an agent you already use, with no local install |

All three edit the same project source and deploy to the same platform, so you can move between them freely — start something in the app, refine it from your editor, or vice versa.

Luno Builder is not **Luno**, the read-only assistant everyone gets in the chat dock: Luno answers questions about what you can see and never creates or changes anything. See [Chat](https://docs.os.meetluno.ai/learn/web-app/chat.md#chat-dock).

## Start a chat

Open **Luno Builder**, the home of Studio (`/studio`); builders, admins and owners have Studio. Each chat session is bound to one Space (project) in your active organization — to work on a different one, start a chat there. With no Space yet, your first message creates one.

Describe the outcome you want rather than choosing a primitive up front, the same way you would prompt a coding agent:

```
Each weekday morning, scan my Google Calendar, Gmail inbox, and Linear issues, then send me a short briefing in Slack.
```

Luno Builder inspects your project's existing code, reads these docs as it works, and asks before consequential choices.

## How it works

Behind the chat, Luno Builder works in a hosted session with the `luno` CLI and a checkout of your project's managed Git repository — the same source a coding agent edits locally.

* **It edits the shared draft.** Every project repository has two branches: `main` holds the deployed, live state, and `luno/draft` is the shared work-in-progress draft. Luno Builder saves its edits to `luno/draft` (and again when its turn ends). Teammates and their sessions share the same draft.
* **The web app renders the deployed state.** Workflow canvases, agent pages, and run history show what's live. Draft edits appear in the Space's **Files** tab in Studio (which tracks the draft in real time) until they're deployed.
* **Deploying promotes the draft.** When the agent runs `luno deploy`, the draft is built, health-checked, and promoted to `main` and the live runtime. Until then, changes exist only on the draft.
* **It's already authenticated.** Sessions carry your project's API credentials. Luno Builder never asks you to log in and never runs `luno auth login`.

When it finishes building or changing something, it links the resource so you can open it directly in the app.

## Connect integrations from chat

When a build needs an app connection (Slack, Google, Linear, an API key), Luno Builder shares a connect link. Opening it launches the in-app connect dialog, where you approve OAuth or enter the key and choose the scope. The agent then verifies the connection and continues.

Secrets never pass through the chat — you enter them in the connect flow, and they're stored as [credentials](https://docs.os.meetluno.ai/learn/credentials/overview.md) like any other connection.

## Working alongside coding agents

Luno Builder and coding agents are collaborators on the same project, not alternatives you must choose between once:

* A coding agent working locally picks up Luno Builder edits with `luno pull` (which fetches the shared draft) and publishes its own work through `luno deploy`.
* Luno Builder sees local work as soon as it's deployed or on the draft.
* Everything either one builds is ordinary TypeScript in the project — reviewable, testable, and maintainable by the other.

For editor-based workflows, see [CLI for agents](https://docs.os.meetluno.ai/build-with-ai/cli-for-agents.md). For a walkthrough of the local setup, see the [Quickstart](https://docs.os.meetluno.ai/quickstart.md).

## If you are an agent reading this in a hosted session

Reading this from inside a Luno OS-hosted session (Luno Builder, or an MCP workspace)? The local-setup docs don't apply to you:

* You are already authenticated — never run `luno auth login`, and skip install/`luno init`/`projects link` bootstrap steps.
* Your edits go to the shared draft (`luno/draft`): Luno Builder saves them with its save tool (never with git commands), MCP workspaces with the file tools and `exec_command`. Run `luno typecheck` before you finish — a broken shared draft affects everyone.
* You cannot open a browser. For app connections, use the `connect_app` tool (or `luno connect <slug> --print-url`) and share the link with the user.
* Draft edits are not live until `luno deploy` promotes them — say so when you finish without deploying.

**Models.** Luno Builder offers only the models your organization enabled in Governance → Models (Luno's curated list until an admin changes it) and Chat models. It starts on **MiMo V2.6 Pro** (`xiaomi/mimo-v2.6-pro`); the Luno assistant and other chats start on **DeepSeek V4.1 Flash** (`deepseek/deepseek-v4.1-flash`). When the organization turned that default off, the organization's default model is used, else the first enabled one. The picker remembers your last model and Space. Prompts with a model the organization doesn't offer are rejected with `403`.

> [!NOTE]
>
> **Self-hosting:** Luno Builder runs on your platform's model gateway and sandbox provider, so a self-hosted deployment needs a model provider key configured (for example `AI_GATEWAY_API_KEY` or `ANTHROPIC_API_KEY`) before chat can answer.

## Next steps

> **[CLI for agents](https://docs.os.meetluno.ai/build-with-ai/cli-for-agents.md)**
>
> The local editor path: headless CLI, JSON output, deploy-first loop.

> **[MCP for agents](https://docs.os.meetluno.ai/build-with-ai/mcp-for-agents.md)**
>
> Build from ChatGPT, Claude, or any MCP client in a hosted workspace.

> **[Deploy a project](https://docs.os.meetluno.ai/learn/projects/deploy-a-project.md)**
>
> The draft/main model and what deploy actually does.

> **[Connect credentials](https://docs.os.meetluno.ai/learn/credentials/connect-credentials.md)**
>
> Connect apps, API keys, and OAuth accounts.


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