Skip to content

Wire Framework v3.3.0: Wire Studio local mode, plugin install command, handbook in plugin#18

Merged
markrittman merged 5 commits intomainfrom
wire-studio-local
Mar 23, 2026
Merged

Wire Framework v3.3.0: Wire Studio local mode, plugin install command, handbook in plugin#18
markrittman merged 5 commits intomainfrom
wire-studio-local

Conversation

@markrittman
Copy link
Copy Markdown
Contributor

@markrittman markrittman commented Mar 22, 2026

Summary

  • No-Docker local mode — Wire Studio runs entirely on the host filesystem (SQLite, Node.js child processes, no Docker, no GitHub OAuth app)
  • One-command install/wire:studio-install plugin command (primary) or curl -fsSL https://raw.githubusercontent.com/rittmananalytics/wire/main/install-wire-studio.sh | bash (fallback)
  • GitHub token at install time — installer auto-detects gh auth token (GitHub CLI) or prompts for a PAT; stored once, reused silently for all future repo clones. If skipped, the "Clone from GitHub" dialog in Wire Studio provides the same two options
  • Sprint 1 runtime hardening — workspace-scoped storage, operation lock, structured logging
  • Consultant Handbook bundled in plugin — Claude can reference it directly when answering engagement questions
  • Hosted Wire Studio disabled — GitHub Actions workflows disabled, Cloud Run allUsers IAM binding removed

What changed

Wire Studio (wire-web-ui/)

  • Removed all Docker/auth dependencies for local mode
  • New POST /api/user/github-token endpoint: runs gh auth token server-side, stores in DB
  • Settings GET + git-inspect fall back to GITHUB_TOKEN env var (set at install time)
  • AddProjectDialog: replaced GitHub OAuth App redirect with PAT input + GitHub CLI button
  • SQLite (prisma/dev.db now gitignored)

Install

  • install-wire-studio.sh — curl-installable; adds GitHub token step after API key
  • wire/specs/studio/install.md/wire:studio-install spec; same token step

Plugin / Extension

  • wire/packaging/claude-plugin/CLAUDE.md — handbook + Wire Studio sections added
  • wire/packaging/claude-plugin/.claude-plugin/plugin.json — bumped to v3.3.0
  • wire/packaging/gemini-extension/gemini-extension.json — bumped to v1.2.0
  • wire/scripts/build-packages.sh — copies handbook + studio/install into packages

Docs

  • Root README, wire-web-ui README, Consultant Handbook (Sections 4, 14, FAQ) — Docker removed, GitHub token flow documented
  • CHANGELOG.md + RELEASE_NOTES.md — v3.3.0 entry

Test plan

  • Fresh install via /wire:studio-install — confirm GitHub token step runs, token stored
  • Fresh install via curl — same
  • wire-studio start → browser opens at localhost:3000, no login required
  • Clone from GitHub dialog: "Use GitHub CLI token" button works if gh is authenticated
  • Clone from GitHub dialog: PAT input saves token and shows repo list
  • Cloning a private repo works with stored token
  • wire-studio stop / update / logs work

🤖 Generated with Claude Code

markrittman and others added 3 commits March 21, 2026 22:21
… fs)

- Switch from PostgreSQL to SQLite; remove cloud models (User, Account,
  Session, Workspace, WorkspaceEvent, EnvironmentMember, RecentProject)
- Replace NextAuth/GitHub OAuth with a hardcoded local-user stub
- Add localPath field to Environment; repoUrl made optional
- Replace workspace agent HTTP proxy with direct fs operations + safePath()
- Replace Docker/GKE runner with child_process.spawn via worker/run-command.mjs
- worker: support LOCAL_PATH env var to skip git clone
- useWorkspace: always-ready stub (no provisioning state machine)
- AddProjectDialog: simple local-path form instead of GitHub repo picker
- NewProjectDialog: local-path form instead of GitHub repo/branch wizard
- Remove members/owner RBAC from all components and API routes
- Use --webpack build flag to bypass Turbopack's .mjs module tracing issue
- All 169 tests pass; tsc --noEmit clean; next build clean

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…andbook in plugin

Wire Studio:
- Remove Docker requirement: commands run via Node.js child processes on host fs
- Sprint 1 hardening: workspace-scoped storage, operation lock, structured logging
- SQLite DB (no Postgres), no GitHub OAuth required for local use
- install-wire-studio.sh: curl-installable single-command setup
- wire-studio CLI: start/stop/status/update/logs subcommands
- wire-studio.sh: legacy launch script retained

UI fixes:
- Grey out "Open Validation Report" when report file doesn't exist on disk
- "Add Existing Project" always visible on welcome screen
- Browse button on local path field in Add Project dialog
- dbt node restored to palette as "dbt (All Layers)"; status.md is canonical for graph
- Fix clone path expanding ~ server-side (process.env.HOME undefined in browser)
- Fix status.md not loading when localPath is the .wire project dir itself

Documentation:
- All docs updated: no Docker required for local Wire Studio
- Consultant handbook bundled in Claude Code plugin package
- Plugin CLAUDE.md references handbook and Wire Studio install
- CHANGELOG, RELEASE_NOTES updated for v3.3.0
- Plugin version 3.2.1 → 3.3.0; Gemini extension 1.1.1 → 1.2.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… Wire Studio

- wire/specs/studio/install.md: new command spec that guides Claude Code through
  the full Wire Studio installation (prerequisites, sparse clone, npm build,
  API key setup, SQLite DB creation, wire-studio CLI install)
- build-packages.sh: register studio/install in COMMANDS array so it is built
  into the distributed plugin package
- All docs updated: /wire:studio-install is now the primary install method;
  curl script retained as a fallback for users without the plugin
  (README, wire-web-ui/README, consultant_handbook, CLAUDE.md,
   CHANGELOG, RELEASE_NOTES)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@markrittman markrittman changed the title Wire Framework v3.3.0: Wire Studio local mode, one-command install, handbook in plugin Wire Framework v3.3.0: Wire Studio local mode, plugin install command, handbook in plugin Mar 22, 2026
markrittman and others added 2 commits March 22, 2026 23:24
62 embedded commands — adds /wire:studio-install.
Consultant handbook included in claude-plugin/docs/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New POST /api/user/github-token endpoint: runs `gh auth token` server-side
  and stores the result in the Setting table (same key as manual PAT flow)
- Settings GET now also checks process.env.GITHUB_TOKEN as a fallback, so
  tokens set at install time (in .env.local) are recognised without re-entry
- git-inspect route falls back to process.env.GITHUB_TOKEN when no DB token
- AddProjectDialog: replace GitHub OAuth redirect with PAT input field +
  "Use GitHub CLI token (gh)" button; token is stored once, reused silently
- install-wire-studio.sh: add GitHub token prompt after API key (auto-detects
  gh CLI token first, falls back to PAT prompt, press Enter to skip)
- wire/specs/studio/install.md: add Step 6 for GitHub token setup
- Docs: update handbook (install steps, local vs hosted table, new FAQ) and
  wire-web-ui README to reflect no-OAuth-app requirement
- Add prisma/*.db to .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@markrittman markrittman merged commit 9a3a408 into main Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant