wicked-studio README

The project's README from github.com/mikeparcewski/wicked-studio. As one markdown file: README.md.

wicked-studio

npm · CI · License: MIT

The cockpit for AI coding agents you can actually trust. wicked-studio is a browser UI for running coding-agent CLIs (Claude Code, Codex, Antigravity, and more) as governed workers: you give an intent, the agents do the work behind verification gates, and you approve the decisions that matter — with the evidence behind every "done" one click away.

It's the human surface of the wicked platform. The agents run headless in the background; studio is where you point them at your repos, watch them work in real time, unblock them when they need a human, and see what actually happened.


Why you'd want it

Coding agents are fast but unsupervised — they assert "done," grade their own work, and bury the reasoning in a scrollback you'll never read. wicked-studio flips that:

What you can do


Get started

Studio ships inside wicked-crew — one command gives you the API, the engine, and this UI on a single port:

npx wicked-crew serve
# then open the URL it prints (default http://127.0.0.1:7701)

That's the whole install for most people — no separate studio setup. Prefer a guided setup, or want the rest of the wicked family too? Use the installer:

npx wicked-installer

It installs and wires wicked-crew (which serves this UI) alongside the other wicked-* tools, across whichever coding-agent CLIs you already use.

Keeping it up to date

Studio rides along with crew, so you update it by updating crew:

npm i -g wicked-crew@latest    # or: npx wicked-installer  (updates the whole family)

Each wicked-crew release bundles the matching studio build, so a fresh crew is a fresh UI. To see what changed, check the releases.

Requirements


For developers

Studio is a Vite/React SPA and a pure HTTP/WS client of the wicked-crew daemon — it talks only to crew's published /api/v1 REST surface and /ws event stream, and imports zero crew source. The one thing the two share is the wire-contract package wicked-crew-api-types.

┌─────────────────┐     HTTP /api/v1 + WS /ws    ┌────────────────────┐
│  wicked-studio  │ ───────────────────────────▶ │ wicked-crew daemon │
│   (React SPA)   │ ◀─────────────────────────── │  API · engine ·    │
│                 │   contract: wicked-crew-api-types │  gates · evidence │
└─────────────────┘                              └────────────────────┘

Develop

npx wicked-crew serve          # a control plane on :7701 for the SPA to talk to
npm install
npm run dev                    # vite on http://127.0.0.1:4200, pointed at :7701

npm test (vitest + testing-library), npm run typecheck, npm run lint, npm run build (tsc + vite → dist/). CI runs all four on ubuntu / macos / windows for every PR.

Standalone build

You can build studio and host it yourself, pointed at any reachable daemon:

VITE_API_HOST=127.0.0.1:7701 npm run build
npx serve dist                 # any static server with SPA fallback works

The SPA finds its daemon two ways: bundled/same-origin (production) calls back to window.location.origin, so --port / CREW_PORT just work with no host baked in; standalone uses VITE_API_HOST (host:port, no scheme) fixed at build time. The daemon's loopback CORS admits any localhost / 127.0.0.1 origin, so a standalone studio drives a local daemon out of the box. e2e/studio_standalone_test.py is the scripted proof of this mode.

How crew ships this UI

The npm package publishes dist/ only. wicked-crew declares wicked-studio as a devDependency and its build:with-studio step copies node_modules/wicked-studio/dist into the daemon's serving tree, so npx wicked-crew serve is same-origin UI + API on one port (with a headless fallback when the dist is absent). A studio release therefore also bumps crew's devDep pin.

The repo also carries a data-testid selector contract (testid-inventory.json, regenerated with npm run manifest:testids and drift-checked in CI) that the test generators build against — see CLAUDE.md for the full contributor doctrine.

Contributing

  1. Fork and branch.
  2. npm install && npm run dev — SPA on :4200, daemon on :7701.
  3. npm test && npm run typecheck && npm run lint before committing.
  4. Open a PR; CI runs all four gates on ubuntu / macos / windows.

Keep the wire-contract boundary intact: all crew interaction goes through /api/v1 and /ws, never a crew-source import — if a type is missing, it lands in wicked-crew-api-types first.

Provenance

Studio was extracted from the wicked-crew monorepo (packages/studio) as its own product, preserving the full in-monorepo history via git subtree split. An earlier, pre-consolidation incarnation is archived read-only at wicked-studio-archived.

License

MIT

wicked-studio (mikeparcewski/wicked-studio)

Searching Database…

Что это?wicked-studio — это браузерная панель управления для запуска CLI кодинг-агентов вроде Claude Code, Codex и Antigravity как управляемых фоновых воркеров: вы задаёте намерение, агенты работают без интерфейса, а вы одобряете только важные решения, причём подтверждение каждого «готово» — в одном клике.
Это отдельное приложение или ему нужно, чтобы что-то ещё работало?Это одностраничное приложение на Vite/React и чистый HTTP/WS-клиент демона wicked-crew — оно общается только с опубликованным REST-интерфейсом /api/v1 и потоком событий /ws демона crew и не импортирует ни строчки его исходников.
Как его запустить?Запустите `npx wicked-crew serve` — одна команда поднимает wicked-crew API, движок и этот интерфейс студии вместе на одном порту, так что большинству не приходится настраивать студию отдельно.
Что нужно установить заранее?Node.js 22+ и npm 10+, работающий демон wicked-crew (v0.7.0+, команда serve поднимает его автоматически) и современный браузер.
Работает ли студия без демона wicked-crew?Нет — у студии нет собственной агентской логики; чтобы хоть что-то делать, ей нужен работающий демон wicked-crew, будь то встроенный или отдельный демон, на который вы её нацелите.
В каких браузерах и на каких ОС это работает?В любом современном браузере — Chrome, Edge, Firefox или Safari — на macOS, Linux или Windows; CI также собирает и тестирует студию на всех трёх ОС.
Как студия убеждается, что «готово» — правда?Каждый запуск оставляет транскрипты, диффы и скачиваемый пакет доказательств, а проверяющий никогда не совпадает с исполнителем — студия показывает вам результаты шлюзов, а не оценивает работу сама.
Что можно делать с функцией графа кода?После регистрации репозитория студия строит граф кода, в котором можно исследовать радиус влияния любого символа, горячие точки, представление домена/требований и доступный для поиска план «кто кого вызывает».
Что происходит, когда запуску агента нужен человек?Он появляется как шлюз на таймлайне запуска, где можно одобрить, одобрить с направляющей пометкой или отклонить; есть пакетная разборка с клавиатуры, когда шлюзов скапливается несколько, и уведомления на рабочем столе, чтобы не следить за терминалом.
Можно ли одновременно сравнить ответы нескольких агентских CLI?Да — можно разослать один вопрос всем настроенным «прогретым» CLI и сравнить их ответы бок о бок.
Size
29.5 MB
Stars
162
Age
2mo
Commits · 90 Days