Conversation
…gner rig-preview boots a running, seeded environment per worktree for manual QA (Step 6.5 of rig-task, non-blocking) -- db/backend/frontend as configured, then an iOS Simulator or Browser preview depending on app type. preview-env.sh enforces exclusive port and simulator-device allocation per worktree, refusing to guess at an unowned process rather than killing it blind. Native builds are mandatory on every preview by design: a deep-link reconnect to an already-installed binary was tried first and found unreliable (zero requests reached the target bundler). rig-design + rig-ui-ux-designer turn a ready Figma frame into a filed ticket -- extraction reads the Figma node tree and cross-references the project's existing design tokens instead of inventing new ones. Config-gated behind design.provider, dormant until a Figma MCP is connected. Also: fix install.sh's use of `mapfile`, unavailable in the bash 3.2 macOS ships by default -- install.sh failed on a stock Mac before this. New dev/design config blocks in rig.schema.json, rig.config.example.json, and docs/config.md; agents.designer; both skills added to install.sh's default set (degrade to a clear "not configured" message without their own config, like rig-epic/rig-sprint already do). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
rig-previewandrig-design, plus therig-ui-ux-designerpersona, asa new pillar alongside tracker/review/style — a manual-QA environment booter
and a Figma-to-ticket bridge. Both were built and validated against a real
project before landing here, not designed in the abstract.
Also included: a stray
install.shfix already sitting in this checkout.macOS ships bash 3.2, which has no
mapfile(added in bash 4).install.shfailed on a stock Mac before this fix.
rig-previewBoots a running, seeded environment per worktree for manual QA — db/backend/
frontend as configured, then an iOS Simulator or Browser preview depending on
app type. Runs as Step 6.5 of
rig-task, after the review-bot loop,non-blocking.
Two real bugs shaped its design, not hypotheticals.
Native builds are mandatory, every time, on purpose. A deep-link reconnect
to an already-installed binary was tried first. Zero requests reached the
target bundler. The app kept rendering the previous binary's bundle with no
error. A full
dev.mobileBuildCommandbuild is the safe default untilreconnect-without-rebuild is proven reliable.
Port and device allocation are exclusive per worktree, checked before use.
Two worktrees sharing a bundler port, or installing the same bundle
identifier onto the same simulator, silently clobber each other.
preview-env.shrefuses both. It even refuses to kill a port-holder itcan't identify as belonging to a live worktree, rather than guessing. This
is how the stale-8081 bug that motivated this whole feature got found and
fixed.
Tested live, and confirmed, not assumed. Two concurrent worktrees got distinct
ports and distinct simulator devices with no manual coordination. A restart
on the same worktree correctly self-identified and replaced its own prior
run. Process-group kill correctly took down a grandchild process a plain
PID-based kill would have missed. Teardown via
rig-worktree rmcorrectlyread
.rig-preview.jsonand killed the right processes before removing theworktree.
Known gap, not fixed here. Always rebuilding is the safe choice, not the
fast one. A real project's own worktree tooling already solves the general
version of this problem: detect whether native inputs (deps,
app.config.js,plugins) changed vs. the base branch. If not, cold-relaunch an
already-installed binary in ~15s instead of rebuilding. Porting that
detection into
rig-preview's own Step 5 is the natural next PR.rig-design+rig-ui-ux-designerTurns a ready Figma frame into a filed ticket.
rig-ui-ux-designerextractslayout, spacing, colors, typography, and states from the Figma node tree,
rather than a screenshot alone.
It cross-references the project's existing tokens instead of inventing new
ones.
rig-architectdecomposes and files the result exactly as it would awritten spec. Config-gated behind
design.provider, so it's a dormant no-opuntil a Figma MCP is connected.
Validated against a real Figma community file, not a synthetic example.
The extraction correctly flagged missing interaction states, an undesigned
empty state, and ambiguous copy as open questions. It invented defaults for
none of them.
Config surface
New
devanddesignblocks inrig.schema.json/rig.config.example.json,agents.designer, and both documented indocs/config.md.install.sh'sdefault skill set now includes both. Like
rig-epic/rig-sprint, theydegrade to a clear "not configured" message without their own config — no
cost to installing them by default.
Test plan
rig.schema.json,rig.config.example.json).bash -non every modified/added shell script.rig-preview's port-safety, device-allocation, and teardown behaviorexercised live against real worktrees and a real iOS Simulator, per the
bullet list above — not read through and assumed correct.
rig-design's extraction exercised against a real, public Figma file.interpreted by an agent, same as every other skill in this kit. There's no
existing test harness for skill behavior to extend.