Skip to content

gztomas/atriana

Repository files navigation

Atriana

AI-native architectural design. Atriana replaces traditional CAD workflows with an AI-first approach: instead of drawing lines and shapes, you describe what you want to an agent, which builds and modifies the design through Atriana's MCP server. The browser UI is a view onto canonical state held by a local Node server, kept in sync over WebSocket.

Designs are represented as semantic objects (walls, shelves, panels, flue pipes, granite supports) rather than raw geometric primitives, so the agent reasons about what it's building, not where lines go.

Example: modeling a wood-burning stove

I gave Claude a photo of an existing wood stove and asked it to recreate the design through the MCP. A few seconds later the model was sitting in Atriana, ready to inspect, edit, and export.

Reference photo of a wood-burning stove

The reference photo passed to the agent.

The agent prompt

The full prompt. No CAD vocabulary, no coordinates, just the photo and an instruction.

3D rendered result in Atriana

The 3D result. The MCP log on the left captures every design call the agent made; the components panel on the right lists the semantic objects.

2D drafting view with top, front, and right projections

Same canonical state in 2D drafting mode. Top, front, and right projections are generated automatically and can be exported as PDF, SVG, or DXF.

How it works

┌─────────────┐                   ┌─────────────────┐
│   AI Agent  │◄─────────────────►│   Atriana App   │
│  (any LLM)  │    Tool calls     │    (Browser)    │
└─────────────┘                   └─────────────────┘
       ▲                                   ▲
       │  natural language                 │  real-time view
       ▼                                   ▼
┌─────────────┐                   ┌─────────────────┐
│    User     │                   │  Design Canvas  │
│  (prompts)  │                   │ (2D/3D viewer)  │
└─────────────┘                   └─────────────────┘
  1. User describes a design to their agent (e.g. "Build a 2m x 1m modular TV rack with three shelves").
  2. Agent uses Atriana's MCP tools to create and manipulate semantic design objects.
  3. Atriana renders the design in real time in the browser.
  4. Atriana can capture screenshots back to the agent for visual feedback loops.
  5. User views, navigates, and exports the final design.

Features

  • Semantic object model: walls, panels, shelves, pipes, supports, dimensions, labels, fills, polylines. Optimized for agent reasoning, not line-by-line drafting.
  • 2D and 3D views: 3D render for inspection, 2D drafting mode with automatic top/front/right projections.
  • Export: PDF, SVG, and DXF output from the 2D views.
  • Screenshot capture: programmatic canvas capture, including off-screen, so the agent can see its own output.
  • Real-time sync: every server-side state change streams to the browser over WebSocket.
  • Local persistence: projects are stored as JSON files under .atriana/ by the local server, one file per project.

Getting started

Prerequisites

  • Node.js 20+
  • pnpm

Install

pnpm install

Run in development

pnpm dev

Runs the Node server (port 3001) and the Vite dev server (port 5173) in parallel. Open http://localhost:5173/. The Vite dev server proxies /api, /mcp, and /ws to the Node server. MCP is available at http://localhost:3001/mcp.

Run in production

pnpm build
pnpm start

pnpm build produces the browser bundle in dist/. pnpm start launches the Node server, which serves the app, the MCP endpoint, and the WebSocket on a single port (3001 by default; override with PORT).

Connect an agent

Atriana exposes a streamable HTTP MCP endpoint at http://localhost:3001/mcp. Any agent that supports MCP over HTTP can drive it, including Claude Code, Cursor, and Claude Desktop.

Example entry for an MCP client config:

{
  "mcpServers": {
    "atriana": {
      "type": "http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

Start Atriana first (pnpm dev or pnpm start), then connect the agent. Open the browser UI at http://localhost:5173/ (dev) or http://localhost:3001/ (production) to watch the design update as the agent works.

Agent instruction sync

AGENTS.md and .agents/skills/ are the canonical source for shared repo instructions and skills. CLAUDE.md and .claude/skills/ are generated from them; Claude settings under .claude/ remain manually editable.

After changing AGENTS.md or .agents/skills/, run:

pnpm agents:sync

License

MIT. See LICENSE.

About

AI-powered architecture design viewer with MCP server for agent-driven CAD workflows

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages