Open
Conversation
🧙 Wizard CIRun the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands: Test all apps:
Test all apps in a directory:
Test an individual app:
Show more apps
Results will be posted here when complete. |
dcac167 to
7239269
Compare
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.
presenting: v1 wizard monorepo skill
when you run the wizard in a monorepo:
What's new
monorepo orchestration:
monorepo-flow.tsthree-phase execution model:
shared setup (OAuth, region, checks) run once and passed to each agent
Workspace detection:
workspace-detection.tsdetects workspaces using a two pass system:
Turborepo is a label upgrade, not its own detector
App filtering:
app-detection.tsnot everything in a monorepo is an app. this filters out library package, dev tool environments, and projects that aren't real apps
uses language-specific signals (entry points, start/dev scripts w/ real dependencies), framework integrations bypass this entirely as their detection signals are app signals
PostHog detection:
posthog-detection.tsFlags if PostHog is already configured for projects in a monorepo
Nx hoisted dependency support
Nx monorepos hoist all dependencies to the root package.json,.
tryGetPackageJsonnow merges root deps when local package.json has zero whenworkspaceRootDiris set (pnpm/yarn/npm workspaces unaffected)Remix as React Router
Remix v2 apps list
@remix-run/reactnotreact-routerbut they are React Router 7 🙃 addedalternatePackageNamesto the framework config so detection/version checks/etc. all recognize RemixDetect Gatsby
Since we don't have a full Gatsby skill yet, I set detection as a JS Web app
What's changed
agent-runner.tssplit the monolithic function into composable phases:
runSharedSetup()runPreflight()runAgentWizard()when called without a
modeargument (single project), behavior is UNCHANGED from main today. Decomposition here is only additivealso, errors now throw
DisplayedErrorinstead ofprocess.exit(1)so the monorepo orchestrator can keep going when one project failsTerminal output:
clack.ts(this may be irrelevant now w/ TUI updates)Added
withSilentOutput(), a proxy that turns clack into no-ops during MONOREPO execution only. this prevents terminal garbage from multiple agents running at the same timethis is never called in single-project mode
Logging:
debug.tsadded AsyncLocalStorage for per-project log files. each agent write to its own log. this just feels the most organized way to handle this/discover these files later if you need.
falls back to the existing module-level log path for single project mode
Framework configs
glob-patterns.tsno behavior change here
Detection order
javascript_webnow requires a browser signal to avoid claiming server-only projectsjavascript_nodeexcludes known framework packages so the catch-all doesn't claim Next.js/Nuxt/etc.