Twig

Laptop companion

Plug USB. Get power. Phone still home. No state theft.

Phone always home. Laptop = power outlet.

Plug phone into laptop over USB. Companion (apps/cli) lends CPU + real TypeScript runtime to same agents. Never becomes source of truth.

  • Tool requests + results
  • Scripts under scripts/ phone refuses to run
  • Maybe heavier compute next to models

What never moves

  • Ownership of Twig root
  • Durable memory / skills / transcripts as canonical copy
  • Idea that laptop “is” Twig while phone is dumb disk

Cable dies mid-tool? Phone still consistent. Journals, files, index live on device. Companion tool calls marked ranOnCompanion in transcript. You see where work ran.

Macros vs scripts

ThingPhoneCompanion
Macro (tool chain)YesYes
Script (scripts/*.ts)NoYes

Intentional. Arbitrary code on phone = not a problem because forbidden. See Skills, macros & scripts.

Status

Companion in monorepo layout. Domain already records companion-run tools. USB protocol package (@twig/link) will carry requests between native and cli.

bun run companion