Code IDE Tour

Every kind of work has its proper surface. In Circuitry you think on the whiteboard, design in the Designer, and run pipelines on the workflow board — and when the work is project code, the right surface is a proper IDE. Nothing less does the job.

So open a project — File → Open Project O, or New Project N — and Circuitry becomes exactly that: a full agentic IDE, reshaped around your codebase with a file browser, git version control, real editors for your files, and a coding agent one click away. If you know editors like VS Code, you'll be at home in minutes. And what joins this surface to all the others is the AI chat assistant: the same conversation that edits your code can work on every other aspect of the project — the sketches, the designs, the pipelines — each on the surface it belongs to.

A project open in the Code IDE — the file browser on the left, a TypeScript file and the project README side by side

Just one file

Not every job is a whole project. File → Open File O opens a single file in its proper editor — a markdown note, an image, a spreadsheet, a script — with no project around it. Browse to it, or paste the path straight into the path box at the top of the picker and press : handy when another tool has just told you a path and you have nothing to drag.

The project workspace

  • File browser — the left panel becomes your project tree: browse, open, and manage the project's files; open files are marked so you can see at a glance what's already in your tabs.
  • Git version control — a source-control panel tracks your working tree: see changes, stage, commit, and manage branches without leaving the studio.
  • Editors for many file types — code with syntax highlighting and intelligent completions, plus viewers and editors for markdown, HTML, images, PDFs, data files, and more. Every file opens as a tab; split the view to work side by side.

Markdown and HTML, with live split previews

Markdown and HTML files get a split view — source on one side, the rendered result on the other:

A markdown file in split view — source beside the live rendered preview

The HTML split view is wired in both directions:

  • Hover the rendered page and the matching code is selected in the editor ( inspect mode — a Chrome-style element picker).
  • Hover the code and the related element highlights on the design ( hover select).

You read the page the way you read code, and the code the way you see the page.

The chat agent

Press the chat icon in the app header and Circuitry's dedicated chat agent opens beside your work. It's the same two-way channel every Circuitry editor shares: select anything — code, a file, a design element — and ask the chat to edit, change, or review "this". It knows what's selected and in which file, so you point instead of describing. When it edits your code, the changes land as approve / reject markers in the editor — nothing is silently applied. Here the agent has reworked a project file: every hunk carries its own Accept / Reject buttons, the review bar tallies what's pending with Accept All / Reject All, and the chat's file card shows the same change counts. Note the picker at the top of the chat — this conversation is powered by the Claude Code CLI:

The coding agent's edits as reviewable diff hunks — per-change Accept and Reject buttons in the editor, the review bar counting pending changes, and the agent chat alongside

The agent runs on whatever intelligence suits you:

  • Cloud frontier models — the latest hosted models.
  • Local models — private, on your own machine. See Local AI Models.
  • CLI coding agents — drive tools like Claude Code, Gemini CLI, or Codex through the same chat.

And if you'd rather work directly in a coding assistant, switch the chat to CLI mode and talk straight to the tool itself — same pane, no translation layer. Direct CLI mode needs the Circuitry MCP server installed for that assistant — it's how the CLI communicates with Circuitry and your documents. See Coding Agent for the full setup.

A tour of the controls

Keyboard shortcuts below use Cmd — that's Ctrl on Windows and Linux.

Top toolbar

The toolbar stays out of the way until there's something to act on — unsaved changes, a pending AI edit, or a storage connection.

  • Accept All / Reject All — when an agent or AI edit is pending, a review bar appears on the left with change stats and these two buttons. The proposed changes are shown as a diff right in the editor; nothing is final until you decide.
  • RevertRevert discards your unsaved changes and restores the file's saved content. Appears only while the file is modified.
  • SaveSave writes the buffer back to the local or remote file (S). Disabled when there's nothing to save.
  • Connection readout — text on the right shows where the file lives when it's opened through a storage connection or the Circuitry Server.

Status bar

Always present along the bottom of the editor.

  • Language readout — the detected language driving syntax highlighting, alongside the file size and an amber Modified marker while there are unsaved changes.
  • AI inline completion toggle — a small sparkle-plus-Tab-key glyph. When it's on, ghost-text suggestions appear as you type and accepts them; click to switch inline AI off or back on. Visible for every language.

Markdown and HTML extras

  • Preview toggles between the rendered page and the source.
  • Split view — a two-column button places source and live preview side by side, with the two-way hover sync described above.
  • Refresh preview re-renders the HTML preview; an amber dot warns when the source isn't in a renderable state and the preview is stale.
  • AUTO / MAN — toggles HTML preview auto-refresh; in manual mode the preview updates only when you press refresh.

In the editor itself

  • Ghost text — inline AI drafts the next few lines in faint text; accepts, keep typing to ignore. See Inline AI.
  • Inline prompt — press K and describe the change you want at the cursor; the edit comes back as a reviewable diff.
  • Breakpoints — JavaScript, TypeScript, and Python files support line breakpoints for debug runs.
  • Vim keybindings — optional modal editing across editors and terminals, so you can code and navigate many nodes and files without leaving the home row. Toggled with V once enabled in Settings → Code Editing. See Vim Mode.

The Edit and Select menus

Most of what you'd reach for in a mature code editor lives here, grouped so the menu stays short:

  • Convert Case — UPPERCASE, lowercase, Title Case, camelCase, PascalCase, snake_case, kebab-case.
  • Lines — move, duplicate, delete, join, sort ascending or descending, remove duplicates, trim trailing whitespace, transpose characters.
  • Format — format the whole document or just the selection, indent and outdent, reindent, convert indentation between spaces and tabs, or detect it from the file.
  • Find — find and replace, and two different ways to rename: Change All Occurrences (F2) edits every match of the word under the cursor, while Rename Symbol (F2) understands scope, so it leaves a same-named variable in another function alone.
  • Select — expand and shrink the selection, add cursors above and below, put a cursor at the end of every selected line, and add occurrences one at a time (D) or all at once (L).

Filter Through Command (R) sends the selection — or the whole file, if nothing is selected — to a Python or shell command and replaces it with the output. It's the escape hatch for the transform no menu has: deduplicate and sort a list, reformat a block of JSON, renumber something. Python runs without any setup; the Shell option appears once you have a computer of your own connected. One undo puts the file back.

You don't have to remember how the command gets its input. Press Describe it, say what you want in plain English — "sort the lines and drop duplicates", "strip the timestamps off the front" — and it writes the command for you. It sees a sample of the text you selected, so it can match the format that's actually there rather than guessing. Describing it needs a paid plan; the Hobby plan is enough.

Editing code that lives on the canvas

Code and Agent nodes in a workflow carry the same editor. Open a node's code and it docks beside the canvas with its own header:

  • Language dropdown — switches the code node's language: JavaScript, Python, Three.js, then Go, Rust, C, C++ and Zig, plus Shell when a computer of your own is connected. Go, Rust, C, C++ and Zig are compiled — see Code nodes for what that changes.
  • Run this node executes just the linked node.
  • Prompt Wizard (agent nodes) drafts or refines the node's prompt using upstream output.
  • Configure opens the node's settings panel.
  • The footer has the same AI inline completion toggle, with a reminder that K opens inline AI.

Press Expand editor — for a distraction-free fullscreen surface with its own tools: AI Wizard to generate code from a description, Run for this node, Run All for the whole workflow, Save, Copy code, zoom controls (Cmd −, Cmd 0, Cmd +), and Exit fullscreen (Esc).

Keyboard

KeysAction
O / NOpen Project / New Project
OOpen File — one file, no project needed
SSave file
Accept inline AI completion
KInline prompt at the cursor
VToggle Vim mode
/Comment or uncomment
D / LAdd next occurrence / select all occurrences
F2 / F2Change all occurrences / rename symbol
RFilter through command
/ Next / previous tab
Full screen

Works with the rest of the studio

The IDE is one surface of one studio — your code lives beside the boards that plan it and the agents that build it: