Cxddie

Workspaces

One task, one worktree, one CAD session.

A workspace is where an agent works on one task. It is three things:

  1. A git worktree on branch cxddie/<name>, under ~/.cxddie/workspaces/. Every workspace starts from the project's HEAD and never touches your main checkout.
  2. A CAD session on the workspace's own port. This is a FreeCAD or Blender window with the Cxddie bridge loaded, a code-CAD session served by Cxddie, or the workspace's own document in a running app with its own MCP server, such as Fusion, Rhino or Revit.
  3. Terminals — any number of agents and shells. See Agents & terminals.

Because each workspace has its own files, branch and CAD session, you can run as many at once as your machine can handle. Agents never step on each other.

Creating one

Use the project's +. Choose a name, the CAD system and the agent for the first terminal. Installed tools are listed first; missing ones show Install. Cxddie remembers your last CAD system and agent.

The document

Each workspace has one active CAD document:

CAD systemDocument
FreeCADthe first .FCStd in the repo, or model.FCStd
Blenderthe first .blend in the repo, or model.blend
OpenSCADthe first .scad in the repo, or model.scad
CadQuery / build123dmodel.py
Autodesk Fusionthe first .f3d in the repo, or model.f3d
Rhinothe first .3dm in the repo, or model.3dm
Autodesk Revitthe first .rvt in the repo, or model.rvt
SketchUpthe first .skp in the repo, or model.skp
SolidWorksthe first .SLDPRT in the repo, or model.SLDPRT
AutoCADthe first .dwg in the repo, or model.dwg

Removing one

Removing a workspace stops its CAD session and terminals, then deletes the worktree and its cxddie/<name> branch.

Merge or push anything you want to keep before removing a workspace — unmerged commits on its branch are deleted too.

On this page