Arcwright

Sheet 00 / Arcwright / AI coding editor for Windows, macOS and Linux

The AI editor that asks first.

Arcwright is a desktop code editor with four ways to work with AI. Every edit arrives as a diff. Every agent action is checked by the app, not the model, and written to a log. One shortcut stops the agent dead.

01 / One session, drawn to scale

Watch it build the thing it just drew.

Phase 1 of 6: Blueprint

Illustrative session. Scroll to drive it.

api-service

Explorer

  • api-service
  • lib
  • auth.ts
  • limiter.ts
  • routes
  • login.ts
  • test
  • login.test.ts
  • package.json

Agent Forge

READ routes/login.ts ok
Forge asks: create lib/limiter.tsDenyAllow
WRITE lib/limiter.ts +10
Forge asks: edit routes/login.tsDenyAllow
EDIT routes/login.ts +4 −1
WRITE test/login.test.ts +18
RUN npm test running
Done. 3 files changed, 4 tests pass. Halt is Ctrl Alt Shift H.

Terminal

FORGE Tokens 0 Cost $0.0000 Free time 5:00

A short animation: an AI agent in Arcwright's Forge mode reads a route, asks permission, writes a rate limiter, edits the login route as a diff, writes a test and runs it. Four tests pass.

02Four modes1 / 4

Ask, Forge, Blueprint and Sketch

Ask

Alt + 1

Chat about your code. The open file and your selection are attached automatically.

limiter.tsSelection attached
export function createLimiter(max, windowMs) {
  const hits = new Map();
  return function allow(key, now = Date.now()) {
    const recent = (hits.get(key) || []).filter((t) => now - t < windowMs);
    if (recent.length >= max) return false;
    recent.push(now);
    return true;

Forge activityasks first
  • READ src/routes/login.ts allowed
  • SEARCH "checkPassword" allowed
  • ASK delete src/old-auth.ts DenyAllow
  • DENIED by you. Nothing was deleted.
  • RUN npm test allowed

Halt: Ctrl Alt Shift H stops it at once.

Blueprint: add login rate limit4 tasks
  • Create lib/limiter.ts +10
  • Guard POST /login +4 −1
  • Add tests +18
Apply 3 tasks Undo all

Applied as one step. Undone as one step.

Pricing.tsxCtrl + J
export function Pricing() {
  return (
  > 
  );
+<section className="tiers">
+ <Tier name="Hobby" price="0" />
+ <Tier name="Team" price="15" featured />
+ <Tier name="Scale" price="49" />
+</section>
Accept Reject
03What the app enforcesNot suggestions to the model

The model proposes. The app decides.

Permission
Forge asks before it acts by default. The check runs in the app, outside the model's reach, on every action it takes.
Record
Each action is written to an activity log you can read afterwards.
Stop
Ctrl Alt Shift H halts the agent immediately.
Undo
Sketch applies as one undoable edit. Blueprint applies in one step and has Undo all.
Secrets
Keys are stored by the main process, encrypted with DPAPI, Keychain or libsecret. Never in config.json. Never sent to the interface.
Hosted key
On Arcwright Cloud the provider key exists only on the server. Your app holds a short-lived token tied to your device.
04Backends and costPick under the chat box

Pay once, pay us, or pay nobody.

Switch backend any time. The editor, modes and diffs behave the same on all three.

  1. A

    Your own key

    Hundreds of models, billed by your AI provider. Arcwright never sees the money.

  2. B

    Arcwright Cloud

    5 minutes of hosted AI free, once. Pro is $15 a month with 1,500,000 tokens a day on included models.

  3. C

    Local models

    Free and offline. Models unload after two minutes idle in light mode.

Open a file.
Ask it something.