Atelier

Integrating with existing projects

Atelier doesn’t ask you to switch editors. Use Cursor, Claude Code, Codex CLI, OpenCode, Windsurf, or plain vim — Atelier provides the backend and the AI agent in your editor uses it natively.

Three integration tiers

Tier 1 — CLI only

Run atelier init in your project. The CLI lets your agent (or you) deploy, manage the DB, and tail logs. Works in every editor.

Tier 2 — MCP server

Add @atelier/mcp to your editor’s MCP config. The agent gets native tools (atelier.deploy, atelier.db.query, etc.) and calls them automatically.

Tier 3 — IDE extension (Cursor / VSCode)

Install the extension for an inline DB browser, logs panel, deploy button, and secret manager. Available for VSCode and any VSCode-fork (Cursor, Windsurf).

You can use one tier or combine them. CLI is the floor — everything else builds on it.

Per-editor walkthroughs

Cursor

  1. atelier init in your project
  2. Add the MCP config to .cursor/mcp.json:
    { "mcpServers": { "atelier": { "command": "npx", "args": ["@atelier/mcp"] } } }
  3. Install the Cursor extension (optional, recommended)
  4. Tell the agent: “deploy this” — it will use the MCP tool.

Claude Code

  1. atelier init
  2. Add .mcp.json:
    { "mcpServers": { "atelier": { "command": "npx", "args": ["@atelier/mcp"] } } }
  3. In a Claude Code session: “set up Atelier and deploy a preview”. The agent runs the rest.

Codex CLI

  1. atelier init
  2. Edit ~/.codex/config.toml:
    [mcp_servers.atelier]
    command = "npx"
    args = ["@atelier/mcp"]
  3. codex — your interactive session now has Atelier tools.

OpenCode

  1. atelier init
  2. OpenCode’s MCP config (see OpenCode docs for the file path)
  3. Same MCP server entry as the others.

Windsurf

Same as Cursor — Windsurf is a VSCode fork, so the Cursor extension and MCP config patterns apply.

Vim / Neovim / Emacs (with an AI plugin)

If your AI plugin supports MCP, plug in @atelier/mcp the same way. If it doesn’t, fall back to Tier 1 — the agent calls atelier deploy --json and reads stdout.

Importing an existing project

When you want to bring a project under Atelier’s umbrella all at once:

# Local folder
atelier import .
 
# GitHub repo
atelier import github:owner/repo

The importer:

  • Detects Drizzle / Prisma / raw SQL and generates .atelier/migrations/ files
  • Rewrites fetch / axios / supabase-js calls to @atelier/sdk (codemod, optional)
  • Maps environment variables
  • Commits the changes to a new branch for review

You stay in your editor; Atelier just becomes the backend underneath.

How it stays portable

Your code never gets “Atelier-locked”:

  • Schema lives as plain SQL in .atelier/migrations/. Take it anywhere.
  • @atelier/sdk calls compile to standard HTTP. If you self-host or move off, the SDK can target your own server.
  • Functions are plain TypeScript. Run them on any Node host.
  • Storage is S3-compatible. Point at your own bucket if you self-host.

The integration is shallow on purpose. We win because you want to stay, not because you can’t leave.

See also