buildanything 1.8.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +17 -3
- package/CHANGELOG.md +57 -0
- package/README.md +57 -61
- package/agents/a11y-architect.md +168 -0
- package/agents/briefing-officer.md +172 -0
- package/agents/business-model.md +82 -29
- package/agents/code-architect.md +80 -0
- package/agents/code-reviewer.md +256 -0
- package/agents/code-simplifier.md +72 -0
- package/agents/design-brand-guardian.md +312 -53
- package/agents/design-critic.md +144 -0
- package/agents/design-inclusive-visuals-specialist.md +8 -19
- package/agents/design-ui-designer.md +352 -56
- package/agents/design-ux-architect.md +418 -55
- package/agents/design-ux-researcher.md +359 -49
- package/agents/engineering-ai-engineer.md +28 -36
- package/agents/engineering-backend-architect.md +187 -36
- package/agents/engineering-data-engineer.md +227 -43
- package/agents/engineering-devops-automator.md +229 -74
- package/agents/engineering-frontend-developer.md +223 -34
- package/agents/engineering-mobile-app-builder.md +8 -1
- package/agents/engineering-rapid-prototyper.md +45 -11
- package/agents/engineering-security-engineer.md +265 -61
- package/agents/engineering-senior-developer.md +141 -19
- package/agents/engineering-sre.md +86 -0
- package/agents/engineering-technical-writer.md +287 -41
- package/agents/feature-intel.md +111 -0
- package/agents/ios-app-review-guardian.md +21 -2
- package/agents/ios-foundation-models-specialist.md +22 -2
- package/agents/ios-product-reality-auditor.md +292 -0
- package/agents/ios-storekit-specialist.md +11 -2
- package/agents/ios-swift-architect.md +29 -1
- package/agents/ios-swift-search.md +9 -1
- package/agents/ios-swift-ui-design.md +40 -5
- package/agents/marketing-app-store-optimizer.md +248 -64
- package/agents/planner.md +221 -0
- package/agents/pr-test-analyzer.md +64 -0
- package/agents/product-feedback-synthesizer.md +70 -2
- package/agents/product-owner.md +163 -0
- package/agents/product-reality-auditor.md +216 -0
- package/agents/product-spec-writer.md +176 -0
- package/agents/refactor-cleaner.md +110 -0
- package/agents/security-reviewer.md +129 -0
- package/agents/silent-failure-hunter.md +55 -0
- package/agents/swift-build-resolver.md +121 -0
- package/agents/swift-reviewer.md +113 -0
- package/agents/tech-feasibility.md +26 -4
- package/agents/testing-api-tester.md +238 -59
- package/agents/testing-evidence-collector.md +50 -1
- package/agents/testing-performance-benchmarker.md +23 -1
- package/agents/testing-reality-checker.md +7 -1
- package/agents/visual-research.md +118 -0
- package/bin/adapters/cycle-counter-tool.ts +155 -0
- package/bin/adapters/scribe-tool.ts +73 -0
- package/bin/adapters/state-save-tool.ts +130 -0
- package/bin/adapters/write-lease-tool.ts +127 -0
- package/bin/buildanything-runtime.js +15 -0
- package/bin/buildanything-runtime.ts +241 -0
- package/bin/graph-index.js +24 -0
- package/bin/graph-index.ts +340 -0
- package/bin/mcp-servers/graph-mcp.js +26 -0
- package/bin/mcp-servers/graph-mcp.ts +481 -0
- package/bin/mcp-servers/orchestrator-mcp.js +26 -0
- package/bin/mcp-servers/orchestrator-mcp.ts +361 -0
- package/bin/setup.js +312 -76
- package/commands/add-feature.md +2 -0
- package/commands/build.md +994 -265
- package/commands/fix.md +1 -1
- package/commands/idea-sweep.md +2 -2
- package/commands/self-check.md +121 -0
- package/commands/setup.md +61 -9
- package/commands/ux-review.md +5 -5
- package/commands/verify.md +9 -9
- package/docs/migration/agents.yaml +729 -0
- package/docs/migration/phase-graph.yaml +1504 -0
- package/docs/migration/sdk-host-compat.md +18 -0
- package/hooks/compile-writer-owner-cache.ts +171 -0
- package/hooks/design-md-lint +4 -0
- package/hooks/design-md-lint.ts +295 -0
- package/hooks/hooks.json +36 -0
- package/hooks/pre-tool-use +19 -0
- package/hooks/pre-tool-use.ts +807 -0
- package/hooks/record-mode-transitions.ts +235 -0
- package/hooks/session-start +71 -1
- package/hooks/subagent-start +17 -0
- package/hooks/subagent-start.ts +472 -0
- package/hooks/subagent-stop +17 -0
- package/hooks/subagent-stop.ts +153 -0
- package/package.json +26 -4
- package/protocols/agent-prompt-authoring.md +165 -0
- package/protocols/architecture-schema.md +178 -0
- package/protocols/cleanup.md +4 -0
- package/protocols/decision-log.md +135 -0
- package/protocols/design-md-authoring.md +520 -0
- package/protocols/design-md-spec.md +362 -0
- package/protocols/fake-data-detector.md +1 -1
- package/protocols/ios-context.md +10 -11
- package/protocols/ios-fake-data-detector.md +65 -0
- package/protocols/ios-phase-branches.md +299 -39
- package/protocols/launch-readiness.md +262 -0
- package/protocols/metric-loop.md +62 -2
- package/protocols/page-spec-schema.md +234 -0
- package/protocols/product-spec-schema.md +354 -0
- package/protocols/smoke-test.md +9 -1
- package/protocols/sprint-tasks-schema.md +53 -0
- package/protocols/state-schema.json +423 -0
- package/protocols/state-schema.md +202 -0
- package/protocols/verify.md +91 -3
- package/protocols/web-phase-branches.md +395 -75
- package/skills/ios/_VENDORED.md +2 -0
- package/skills/ios/app-store-connect-metadata/SKILL.md +148 -0
- package/skills/ios/asc-privacy-manifest/SKILL.md +350 -0
- package/skills/ios/hig-components-content/SKILL.md +86 -0
- package/skills/ios/hig-components-content/references/activity-views.md +79 -0
- package/skills/ios/hig-components-content/references/charts.md +180 -0
- package/skills/ios/hig-components-content/references/collections.md +48 -0
- package/skills/ios/hig-components-content/references/color-wells.md +42 -0
- package/skills/ios/hig-components-content/references/image-views.md +82 -0
- package/skills/ios/hig-components-content/references/image-wells.md +34 -0
- package/skills/ios/hig-components-content/references/lockups.md +78 -0
- package/skills/ios/hig-components-content/references/web-views.md +36 -0
- package/skills/ios/hig-components-controls/SKILL.md +88 -0
- package/skills/ios/hig-components-controls/references/combo-boxes.md +40 -0
- package/skills/ios/hig-components-controls/references/controls.md +112 -0
- package/skills/ios/hig-components-controls/references/gauges.md +74 -0
- package/skills/ios/hig-components-controls/references/labels.md +92 -0
- package/skills/ios/hig-components-controls/references/pickers.md +128 -0
- package/skills/ios/hig-components-controls/references/rating-indicators.md +38 -0
- package/skills/ios/hig-components-controls/references/segmented-controls.md +94 -0
- package/skills/ios/hig-components-controls/references/sliders.md +92 -0
- package/skills/ios/hig-components-controls/references/steppers.md +40 -0
- package/skills/ios/hig-components-controls/references/text-fields.md +88 -0
- package/skills/ios/hig-components-controls/references/text-views.md +56 -0
- package/skills/ios/hig-components-controls/references/toggles.md +127 -0
- package/skills/ios/hig-components-controls/references/token-fields.md +48 -0
- package/skills/ios/hig-components-controls/references/virtual-keyboards.md +156 -0
- package/skills/ios/hig-components-dialogs/SKILL.md +76 -0
- package/skills/ios/hig-components-dialogs/references/action-sheets.md +74 -0
- package/skills/ios/hig-components-dialogs/references/alerts.md +158 -0
- package/skills/ios/hig-components-dialogs/references/digit-entry-views.md +32 -0
- package/skills/ios/hig-components-dialogs/references/popovers.md +81 -0
- package/skills/ios/hig-components-dialogs/references/sheets.md +157 -0
- package/skills/ios/hig-components-layout/SKILL.md +99 -0
- package/skills/ios/hig-components-layout/references/boxes.md +48 -0
- package/skills/ios/hig-components-layout/references/column-views.md +44 -0
- package/skills/ios/hig-components-layout/references/lists-and-tables.md +99 -0
- package/skills/ios/hig-components-layout/references/ornaments.md +56 -0
- package/skills/ios/hig-components-layout/references/outline-views.md +64 -0
- package/skills/ios/hig-components-layout/references/panels.md +75 -0
- package/skills/ios/hig-components-layout/references/scroll-views.md +123 -0
- package/skills/ios/hig-components-layout/references/sidebars.md +109 -0
- package/skills/ios/hig-components-layout/references/split-views.md +110 -0
- package/skills/ios/hig-components-layout/references/tab-bars.md +173 -0
- package/skills/ios/hig-components-layout/references/tab-views.md +68 -0
- package/skills/ios/hig-components-layout/references/windows.md +188 -0
- package/skills/ios/hig-components-menus/SKILL.md +81 -0
- package/skills/ios/hig-components-menus/references/action-button.md +61 -0
- package/skills/ios/hig-components-menus/references/buttons.md +261 -0
- package/skills/ios/hig-components-menus/references/context-menus.md +105 -0
- package/skills/ios/hig-components-menus/references/disclosure-controls.md +84 -0
- package/skills/ios/hig-components-menus/references/dock-menus.md +40 -0
- package/skills/ios/hig-components-menus/references/edit-menus.md +88 -0
- package/skills/ios/hig-components-menus/references/menus.md +171 -0
- package/skills/ios/hig-components-menus/references/pop-up-buttons.md +70 -0
- package/skills/ios/hig-components-menus/references/pull-down-buttons.md +77 -0
- package/skills/ios/hig-components-menus/references/the-menu-bar.md +303 -0
- package/skills/ios/hig-components-menus/references/toolbars.md +256 -0
- package/skills/ios/hig-components-search/SKILL.md +68 -0
- package/skills/ios/hig-components-search/references/page-controls.md +120 -0
- package/skills/ios/hig-components-search/references/path-controls.md +40 -0
- package/skills/ios/hig-components-search/references/search-fields.md +189 -0
- package/skills/ios/hig-components-status/SKILL.md +80 -0
- package/skills/ios/hig-components-status/references/activity-rings.md +105 -0
- package/skills/ios/hig-components-status/references/progress-indicators.md +116 -0
- package/skills/ios/hig-components-status/references/status-bars.md +38 -0
- package/skills/ios/hig-components-system/SKILL.md +88 -0
- package/skills/ios/hig-components-system/references/app-clips.md +387 -0
- package/skills/ios/hig-components-system/references/app-shortcuts.md +114 -0
- package/skills/ios/hig-components-system/references/complications.md +425 -0
- package/skills/ios/hig-components-system/references/home-screen-quick-actions.md +42 -0
- package/skills/ios/hig-components-system/references/live-activities.md +442 -0
- package/skills/ios/hig-components-system/references/notifications.md +153 -0
- package/skills/ios/hig-components-system/references/top-shelf.md +135 -0
- package/skills/ios/hig-components-system/references/watch-faces.md +40 -0
- package/skills/ios/hig-components-system/references/widgets.md +517 -0
- package/skills/ios/hig-foundations/SKILL.md +98 -0
- package/skills/ios/hig-foundations/references/accessibility.md +291 -0
- package/skills/ios/hig-foundations/references/app-icons.md +210 -0
- package/skills/ios/hig-foundations/references/branding.md +44 -0
- package/skills/ios/hig-foundations/references/color.md +274 -0
- package/skills/ios/hig-foundations/references/dark-mode.md +116 -0
- package/skills/ios/hig-foundations/references/icons.md +263 -0
- package/skills/ios/hig-foundations/references/images.md +176 -0
- package/skills/ios/hig-foundations/references/immersive-experiences.md +174 -0
- package/skills/ios/hig-foundations/references/inclusion.md +189 -0
- package/skills/ios/hig-foundations/references/layout.md +425 -0
- package/skills/ios/hig-foundations/references/materials.md +238 -0
- package/skills/ios/hig-foundations/references/motion.md +103 -0
- package/skills/ios/hig-foundations/references/privacy.md +231 -0
- package/skills/ios/hig-foundations/references/right-to-left.md +206 -0
- package/skills/ios/hig-foundations/references/sf-symbols.md +310 -0
- package/skills/ios/hig-foundations/references/spatial-layout.md +142 -0
- package/skills/ios/hig-foundations/references/typography.md +1146 -0
- package/skills/ios/hig-foundations/references/writing.md +91 -0
- package/skills/ios/hig-inputs/SKILL.md +94 -0
- package/skills/ios/hig-inputs/references/apple-pencil-and-scribble.md +148 -0
- package/skills/ios/hig-inputs/references/camera-control.md +107 -0
- package/skills/ios/hig-inputs/references/digital-crown.md +83 -0
- package/skills/ios/hig-inputs/references/eyes.md +120 -0
- package/skills/ios/hig-inputs/references/focus-and-selection.md +120 -0
- package/skills/ios/hig-inputs/references/game-controls.md +156 -0
- package/skills/ios/hig-inputs/references/gestures.md +208 -0
- package/skills/ios/hig-inputs/references/gyro-and-accelerometer.md +40 -0
- package/skills/ios/hig-inputs/references/keyboards.md +234 -0
- package/skills/ios/hig-inputs/references/nearby-interactions.md +70 -0
- package/skills/ios/hig-inputs/references/pointing-devices.md +237 -0
- package/skills/ios/hig-inputs/references/remotes.md +67 -0
- package/skills/ios/hig-inputs/references/spatial-interactions.md +70 -0
- package/skills/ios/hig-patterns/SKILL.md +104 -0
- package/skills/ios/hig-patterns/references/charting-data.md +81 -0
- package/skills/ios/hig-patterns/references/collaboration-and-sharing.md +86 -0
- package/skills/ios/hig-patterns/references/drag-and-drop.md +134 -0
- package/skills/ios/hig-patterns/references/entering-data.md +69 -0
- package/skills/ios/hig-patterns/references/feedback.md +67 -0
- package/skills/ios/hig-patterns/references/file-management.md +135 -0
- package/skills/ios/hig-patterns/references/going-full-screen.md +79 -0
- package/skills/ios/hig-patterns/references/launching.md +81 -0
- package/skills/ios/hig-patterns/references/live-viewing-apps.md +79 -0
- package/skills/ios/hig-patterns/references/loading.md +59 -0
- package/skills/ios/hig-patterns/references/managing-accounts.md +107 -0
- package/skills/ios/hig-patterns/references/managing-notifications.md +99 -0
- package/skills/ios/hig-patterns/references/modality.md +82 -0
- package/skills/ios/hig-patterns/references/multitasking.md +131 -0
- package/skills/ios/hig-patterns/references/offering-help.md +117 -0
- package/skills/ios/hig-patterns/references/onboarding.md +69 -0
- package/skills/ios/hig-patterns/references/playing-audio.md +124 -0
- package/skills/ios/hig-patterns/references/playing-haptics.md +280 -0
- package/skills/ios/hig-patterns/references/playing-video.md +180 -0
- package/skills/ios/hig-patterns/references/printing.md +50 -0
- package/skills/ios/hig-patterns/references/ratings-and-reviews.md +48 -0
- package/skills/ios/hig-patterns/references/searching.md +70 -0
- package/skills/ios/hig-patterns/references/settings.md +84 -0
- package/skills/ios/hig-patterns/references/undo-and-redo.md +58 -0
- package/skills/ios/hig-patterns/references/workouts.md +76 -0
- package/skills/ios/hig-platforms/SKILL.md +84 -0
- package/skills/ios/hig-platforms/references/designing-for-games.md +159 -0
- package/skills/ios/hig-platforms/references/designing-for-ios.md +66 -0
- package/skills/ios/hig-platforms/references/designing-for-ipados.md +64 -0
- package/skills/ios/hig-platforms/references/designing-for-macos.md +70 -0
- package/skills/ios/hig-platforms/references/designing-for-tvos.md +68 -0
- package/skills/ios/hig-platforms/references/designing-for-visionos.md +85 -0
- package/skills/ios/hig-platforms/references/designing-for-watchos.md +74 -0
- package/skills/ios/hig-project-context/SKILL.md +133 -0
- package/skills/ios/hig-technologies/SKILL.md +107 -0
- package/skills/ios/hig-technologies/references/airplay.md +125 -0
- package/skills/ios/hig-technologies/references/always-on.md +62 -0
- package/skills/ios/hig-technologies/references/apple-pay.md +441 -0
- package/skills/ios/hig-technologies/references/augmented-reality.md +247 -0
- package/skills/ios/hig-technologies/references/carekit.md +224 -0
- package/skills/ios/hig-technologies/references/carplay.md +119 -0
- package/skills/ios/hig-technologies/references/game-center.md +343 -0
- package/skills/ios/hig-technologies/references/generative-ai.md +110 -0
- package/skills/ios/hig-technologies/references/healthkit.md +120 -0
- package/skills/ios/hig-technologies/references/homekit.md +343 -0
- package/skills/ios/hig-technologies/references/icloud.md +52 -0
- package/skills/ios/hig-technologies/references/id-verifier.md +73 -0
- package/skills/ios/hig-technologies/references/imessage-apps-and-stickers.md +105 -0
- package/skills/ios/hig-technologies/references/in-app-purchase.md +263 -0
- package/skills/ios/hig-technologies/references/live-photos.md +54 -0
- package/skills/ios/hig-technologies/references/mac-catalyst.md +216 -0
- package/skills/ios/hig-technologies/references/machine-learning.md +394 -0
- package/skills/ios/hig-technologies/references/maps.md +221 -0
- package/skills/ios/hig-technologies/references/nfc.md +51 -0
- package/skills/ios/hig-technologies/references/photo-editing.md +40 -0
- package/skills/ios/hig-technologies/references/researchkit.md +134 -0
- package/skills/ios/hig-technologies/references/shareplay.md +142 -0
- package/skills/ios/hig-technologies/references/shazamkit.md +47 -0
- package/skills/ios/hig-technologies/references/sign-in-with-apple.md +288 -0
- package/skills/ios/hig-technologies/references/siri.md +523 -0
- package/skills/ios/hig-technologies/references/tap-to-pay-on-iphone.md +208 -0
- package/skills/ios/hig-technologies/references/voiceover.md +90 -0
- package/skills/ios/hig-technologies/references/wallet.md +420 -0
- package/skills/ios/ios-bootstrap/SKILL.md +17 -8
- package/skills/ios/swift-actor-persistence/SKILL.md +143 -0
- package/skills/ios/swift-concurrency-6-2/SKILL.md +216 -0
- package/skills/ios/swift-protocol-di-testing/SKILL.md +190 -0
- package/skills/ios/swiftui-design-tokens/SKILL.md +475 -0
- package/skills/ios/writing-for-interfaces/SKILL.md +75 -0
- package/skills/web/accessibility/SKILL.md +146 -0
- package/skills/web/aceternity-ui/SKILL.md +719 -0
- package/skills/web/aceternity-ui/metadata.json +10 -0
- package/skills/web/api-design/SKILL.md +523 -0
- package/skills/web/chart-accessibility/SKILL.md +332 -0
- package/skills/web/composition-patterns/AGENTS.md +946 -0
- package/skills/web/composition-patterns/README.md +60 -0
- package/skills/web/composition-patterns/SKILL.md +89 -0
- package/skills/web/composition-patterns/metadata.json +11 -0
- package/skills/web/composition-patterns/rules/_sections.md +29 -0
- package/skills/web/composition-patterns/rules/_template.md +24 -0
- package/skills/web/composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/skills/web/composition-patterns/rules/architecture-compound-components.md +112 -0
- package/skills/web/composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/skills/web/composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/skills/web/composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/skills/web/composition-patterns/rules/state-context-interface.md +191 -0
- package/skills/web/composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/skills/web/composition-patterns/rules/state-lift-state.md +125 -0
- package/skills/web/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/skills/web/database-migrations/SKILL.md +429 -0
- package/skills/web/deployment-patterns/SKILL.md +427 -0
- package/skills/web/docker-patterns/SKILL.md +364 -0
- package/skills/web/e2e-testing/SKILL.md +326 -0
- package/skills/web/lighthouse-ci/SKILL.md +361 -0
- package/skills/web/mcp-server-patterns/SKILL.md +69 -0
- package/skills/web/next-best-practices/SKILL.md +153 -0
- package/skills/web/next-best-practices/async-patterns.md +87 -0
- package/skills/web/next-best-practices/bundling.md +180 -0
- package/skills/web/next-best-practices/data-patterns.md +297 -0
- package/skills/web/next-best-practices/debug-tricks.md +105 -0
- package/skills/web/next-best-practices/directives.md +73 -0
- package/skills/web/next-best-practices/error-handling.md +227 -0
- package/skills/web/next-best-practices/file-conventions.md +140 -0
- package/skills/web/next-best-practices/font.md +245 -0
- package/skills/web/next-best-practices/functions.md +108 -0
- package/skills/web/next-best-practices/hydration-error.md +91 -0
- package/skills/web/next-best-practices/image.md +173 -0
- package/skills/web/next-best-practices/metadata.md +301 -0
- package/skills/web/next-best-practices/parallel-routes.md +287 -0
- package/skills/web/next-best-practices/route-handlers.md +146 -0
- package/skills/web/next-best-practices/rsc-boundaries.md +159 -0
- package/skills/web/next-best-practices/runtime-selection.md +39 -0
- package/skills/web/next-best-practices/scripts.md +141 -0
- package/skills/web/next-best-practices/self-hosting.md +371 -0
- package/skills/web/next-best-practices/suspense-boundaries.md +67 -0
- package/skills/web/next-cache-components/SKILL.md +411 -0
- package/skills/web/postgres-best-practices/SKILL.md +14 -0
- package/skills/web/postgres-best-practices/references/schema-design.md +9 -0
- package/skills/web/react-best-practices/AGENTS.md +3810 -0
- package/skills/web/react-best-practices/README.md +123 -0
- package/skills/web/react-best-practices/SKILL.md +149 -0
- package/skills/web/react-best-practices/metadata.json +15 -0
- package/skills/web/react-best-practices/rules/_sections.md +46 -0
- package/skills/web/react-best-practices/rules/_template.md +28 -0
- package/skills/web/react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/skills/web/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/web/react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/web/react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/web/react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/web/react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/skills/web/react-best-practices/rules/async-defer-await.md +82 -0
- package/skills/web/react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/web/react-best-practices/rules/async-parallel.md +28 -0
- package/skills/web/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/web/react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/skills/web/react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/skills/web/react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/web/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/web/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/web/react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/web/react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/web/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/web/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/web/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/web/react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/web/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/web/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/web/react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/web/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/web/react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/web/react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/skills/web/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/web/react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/web/react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/web/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/web/react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/skills/web/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/web/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/web/react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/web/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/web/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/web/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/web/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/web/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/web/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/web/react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/skills/web/react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/skills/web/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/web/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/web/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/web/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/web/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/web/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/web/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/web/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/web/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/web/react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/web/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/web/react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/skills/web/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/web/react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/skills/web/react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/web/react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/skills/web/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/web/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/web/react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/web/react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/web/react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/web/react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/web/react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/skills/web/react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/skills/web/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/web/react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/skills/web/react-best-practices/rules/server-serialization.md +38 -0
- package/skills/web/seo/SKILL.md +154 -0
- package/skills/web/web-design-guidelines/SKILL.md +39 -0
- package/skills/web/zap-scan-config/SKILL.md +444 -0
- package/skills/web/zap-scan-config/assets/.gitkeep +9 -0
- package/skills/web/zap-scan-config/assets/github_action.yml +207 -0
- package/skills/web/zap-scan-config/assets/gitlab_ci.yml +226 -0
- package/skills/web/zap-scan-config/assets/zap_automation.yaml +196 -0
- package/skills/web/zap-scan-config/assets/zap_context.xml +192 -0
- package/skills/web/zap-scan-config/references/EXAMPLE.md +40 -0
- package/skills/web/zap-scan-config/references/api_testing_guide.md +475 -0
- package/skills/web/zap-scan-config/references/authentication_guide.md +431 -0
- package/skills/web/zap-scan-config/references/false_positive_handling.md +427 -0
- package/skills/web/zap-scan-config/references/owasp_mapping.md +255 -0
- package/src/graph/ids.ts +86 -0
- package/src/graph/index.ts +32 -0
- package/src/graph/parser/architecture.ts +603 -0
- package/src/graph/parser/component-manifest.ts +268 -0
- package/src/graph/parser/decisions-jsonl.ts +407 -0
- package/src/graph/parser/design-md-pass2.ts +253 -0
- package/src/graph/parser/design-md.ts +477 -0
- package/src/graph/parser/page-spec.ts +496 -0
- package/src/graph/parser/product-spec.ts +930 -0
- package/src/graph/parser/screenshot.ts +342 -0
- package/src/graph/parser/sprint-tasks.ts +317 -0
- package/src/graph/storage/index.ts +1154 -0
- package/src/graph/types.ts +432 -0
- package/src/graph/util/dhash.ts +84 -0
- package/src/lrr/aggregator.ts +175 -0
- package/src/orchestrator/hooks/context-header.ts +119 -0
- package/src/orchestrator/hooks/token-accounting-emitter.ts +77 -0
- package/src/orchestrator/hooks/token-accounting.ts +112 -0
- package/src/orchestrator/mcp/cycle-counter.ts +130 -0
- package/src/orchestrator/mcp/scribe.ts +294 -0
- package/src/orchestrator/mcp/state-save.ts +149 -0
- package/src/orchestrator/mcp/write-lease.ts +184 -0
- package/src/orchestrator/phase4-shared-context.ts +57 -0
- package/src/orchestrator/schemas/backward-edge.ts +46 -0
- package/agents/agentic-identity-trust.md +0 -121
- package/agents/data-consolidation-agent.md +0 -39
- package/agents/design-image-prompt-engineer.md +0 -105
- package/agents/design-visual-storyteller.md +0 -147
- package/agents/design-whimsy-injector.md +0 -89
- package/agents/engineering-autonomous-optimization-architect.md +0 -105
- package/agents/market-intel.md +0 -35
- package/agents/marketing-instagram-curator.md +0 -111
- package/agents/marketing-reddit-community-builder.md +0 -121
- package/agents/marketing-social-media-strategist.md +0 -74
- package/agents/marketing-tiktok-strategist.md +0 -123
- package/agents/marketing-twitter-engager.md +0 -124
- package/agents/marketing-wechat-official-account.md +0 -143
- package/agents/marketing-xiaohongshu-specialist.md +0 -136
- package/agents/marketing-zhihu-strategist.md +0 -160
- package/agents/product-behavioral-nudge-engine.md +0 -78
- package/agents/project-management-experiment-tracker.md +0 -102
- package/agents/report-distribution-agent.md +0 -43
- package/agents/risk-analysis.md +0 -45
- package/agents/sales-data-extraction-agent.md +0 -46
- package/agents/specialized-cultural-intelligence-strategist.md +0 -65
- package/agents/specialized-developer-advocate.md +0 -146
- package/agents/support-analytics-reporter.md +0 -133
- package/agents/support-executive-summary-generator.md +0 -64
- package/agents/support-finance-tracker.md +0 -145
- package/agents/support-legal-compliance-checker.md +0 -129
- package/agents/support-support-responder.md +0 -91
- package/agents/testing-accessibility-auditor.md +0 -110
- package/agents/testing-test-results-analyzer.md +0 -97
- package/agents/testing-tool-evaluator.md +0 -76
- package/agents/testing-workflow-optimizer.md +0 -99
- package/agents/user-research.md +0 -40
- package/protocols/brainstorm.md +0 -99
- package/protocols/design.md +0 -269
- package/protocols/planning.md +0 -87
- package/skills/ios/ios-hig/SKILL.md +0 -41
- package/skills/ios/ios-hig/references/accessibility.md +0 -81
- package/skills/ios/ios-hig/references/content.md +0 -142
- package/skills/ios/ios-hig/references/feedback.md +0 -123
- package/skills/ios/ios-hig/references/interaction.md +0 -199
- package/skills/ios/ios-hig/references/performance-platform.md +0 -129
- package/skills/ios/ios-hig/references/privacy-permissions.md +0 -181
- package/skills/ios/ios-hig/references/visual-design.md +0 -84
package/commands/fix.md
CHANGED
|
@@ -125,7 +125,7 @@ Match the symptom to exactly one row. Dispatch the skill in the rightmost column
|
|
|
125
125
|
| Data race, actor isolation warning, `Sendable` violation, hang on main | Concurrency | `skills/ios/swift-concurrency` |
|
|
126
126
|
| `@Query` not updating, predicate wrong, migration failure, CloudKit sync | SwiftData | `skills/ios/swiftdata-pro` |
|
|
127
127
|
| VoiceOver silent/wrong, Dynamic Type clipping, contrast fail, Reduce Motion ignored | Accessibility | `skills/ios/swift-accessibility` |
|
|
128
|
-
| Touch target <44pt, no dark mode, hard-coded padding, HIG violation | HIG | `skills/ios/
|
|
128
|
+
| Touch target <44pt, no dark mode, hard-coded padding, HIG violation | HIG | `skills/ios/hig-foundations` |
|
|
129
129
|
| Build fails, signing error, entitlement / Info.plist / provisioning | Build/infra | dispatch `build-error-resolver` agent |
|
|
130
130
|
| Keychain/Crypto misuse, ATS exception, insecure storage, secret leak | Security | `skills/ios/swift-security-expert` |
|
|
131
131
|
|
package/commands/idea-sweep.md
CHANGED
|
@@ -102,7 +102,7 @@ organized by theme. Include direct quotes where the user's exact words matter.]
|
|
|
102
102
|
|
|
103
103
|
1. **market-intel agent** — Research market size (TAM/SAM/SOM), competitive landscape (5-10 players), timing/macro trends, and market structure for this idea: [paste SCQA]. Founder context: [paste Context Brief]
|
|
104
104
|
|
|
105
|
-
2. **tech-feasibility agent** — Evaluate technical architecture, hard problems, build-vs-buy decisions,
|
|
105
|
+
2. **tech-feasibility agent** — Evaluate technical architecture, hard problems, build-vs-buy decisions, scope, and stack recommendation for this idea: [paste SCQA]. Founder context: [paste Context Brief]
|
|
106
106
|
|
|
107
107
|
3. **user-research agent** — Analyze target user persona, jobs-to-be-done, current alternatives, behavioral barriers to adoption, and activation metrics for this idea: [paste SCQA]. Founder context: [paste Context Brief]
|
|
108
108
|
|
|
@@ -157,7 +157,7 @@ Write a markdown document titled `# [IDEA NAME] — Decision Brief` with these s
|
|
|
157
157
|
- **Critical Tensions** — 2-3 contradictions that must be resolved during build
|
|
158
158
|
- **Kill Criteria Status** — Table: Criterion | Status (CLEAR/AMBER/RED) | Evidence
|
|
159
159
|
- **Recommended Action** — One of: GO (proceed to brainstorming), PIVOT (adjacent opportunity), INVESTIGATE (specific questions), KILL (reason)
|
|
160
|
-
- **If GO:
|
|
160
|
+
- **If GO: Product Definition** — Core value prop, primary user, feature scope (under 50 words), revenue model, first 1,000 users channel, tech stack, first milestone
|
|
161
161
|
|
|
162
162
|
Save this document to `docs/briefs/` with today's date and a slug of the idea name.
|
|
163
163
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Plugin maintainer self-check — runs schema sanity, manifest sync, V.H.P. regression proof, and silent-skip detection before publish"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /buildanything:self-check
|
|
6
|
+
|
|
7
|
+
Run before `git push` / `npm publish` to catch plugin regressions locally. Takes ~10-30 seconds.
|
|
8
|
+
|
|
9
|
+
This is **plugin-maintainer tooling**, not a user-facing build command. It does not build any user project; it validates the plugin itself. Zero external dependencies — no git hosting, no CI, no nightly runs. Just one command, executed on the maintainer's laptop.
|
|
10
|
+
|
|
11
|
+
## What it checks
|
|
12
|
+
|
|
13
|
+
Four sequential checks, **stop on first FAIL** (except Check 3, which may SKIP without failing if its fixture is unavailable):
|
|
14
|
+
|
|
15
|
+
1. **Schema sanity** — every protocol and command file parses cleanly and all cross-references resolve.
|
|
16
|
+
2. **Manifest sync** — agent count on disk matches the claim in `.claude-plugin/plugin.json`.
|
|
17
|
+
3. **V.H.P. regression check** — the Layer C stub detector still flags a known-stub Swift test file from the capdotai project. This is the deterministic proof that the V.H.P. fix still works.
|
|
18
|
+
4. **Silent-skip detection** — no forbidden "skip silently" phrases have been reintroduced into the protocols.
|
|
19
|
+
|
|
20
|
+
You are the orchestrator. Run each check via the Bash tool, record the result, and proceed to the next unless a FAIL aborts the run.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Check 1: Schema Sanity
|
|
25
|
+
|
|
26
|
+
**Goal:** every file in `protocols/` and `commands/` parses as valid markdown with valid cross-references.
|
|
27
|
+
|
|
28
|
+
For every file in `/Users/sujit/projects/oneshot-claude-plugin/protocols/*.md`:
|
|
29
|
+
|
|
30
|
+
1. First non-blank line must start with `# ` (top-level heading).
|
|
31
|
+
2. Count of ` ``` ` (triple-backtick) fences must be even — no unclosed code fences.
|
|
32
|
+
|
|
33
|
+
For every file in `/Users/sujit/projects/oneshot-claude-plugin/commands/*.md`:
|
|
34
|
+
|
|
35
|
+
1. Must begin with a `---` frontmatter block that contains a `description:` field. `argument-hint:` is optional.
|
|
36
|
+
2. Must have at least one `# ` heading after the frontmatter.
|
|
37
|
+
3. Same even-count rule for code fences.
|
|
38
|
+
|
|
39
|
+
For every protocol and command file, grep for references of the form `protocols/<name>.md` and `commands/<name>.md`. For each match, resolve the target relative to the plugin root and confirm the file exists on disk. A broken reference is a FAIL.
|
|
40
|
+
|
|
41
|
+
Use Bash + Grep for the walk. Report PASS with file counts (e.g., `PASS — 15 protocols, 10 commands, 47 cross-refs, all resolve`) or FAIL with the offending file and specific reason.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Check 2: Manifest Sync
|
|
46
|
+
|
|
47
|
+
**Goal:** the on-disk agent roster matches the plugin's advertised count.
|
|
48
|
+
|
|
49
|
+
1. Run `ls /Users/sujit/projects/oneshot-claude-plugin/agents/ | wc -l` to get the actual count.
|
|
50
|
+
2. Read `/Users/sujit/projects/oneshot-claude-plugin/.claude-plugin/plugin.json` and extract any integer from the `description` field (e.g., "73 specialist agents"). If `plugin.json` has a dedicated `agent_count` field, prefer that.
|
|
51
|
+
3. If the two numbers disagree, FAIL with both values.
|
|
52
|
+
4. If no agent count is claimed anywhere in `plugin.json`, report PASS with a warning: `PASS — 44 agents on disk, no claim in manifest to check against`.
|
|
53
|
+
|
|
54
|
+
Report format: `PASS — 44 agents on disk, manifest claims 44` or `FAIL — 44 agents on disk, manifest claims 73`.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Check 3: V.H.P. Regression Check
|
|
59
|
+
|
|
60
|
+
**Goal:** prove that the V.H.P. Layer C stub detector still correctly flags Apple-template Swift test files as STUB. This is the deterministic regression proof that the verification fix is intact.
|
|
61
|
+
|
|
62
|
+
**Fixture dependency:** this check requires `/Users/sujit/projects/capdotai/cap/capTests/capTests.swift` to exist on disk. If the fixture path is missing (the maintainer doesn't have capdotai checked out), **SKIP this check** with the explanatory note `SKIPPED — capdotai fixture not present at /Users/sujit/projects/capdotai/; clone capdotai locally to enable V.H.P. regression proof`. A SKIP here does NOT cause the overall self-check to fail — it's a legitimate absence, not a regression.
|
|
63
|
+
|
|
64
|
+
**If the fixture exists**, run the Layer C stub detector heuristic against it:
|
|
65
|
+
|
|
66
|
+
1. **File size:** `wc -c < /Users/sujit/projects/capdotai/cap/capTests/capTests.swift`. A real test file is ≥ 500 bytes. Smaller → stub signal.
|
|
67
|
+
2. **Apple template markers:** grep (case-sensitive) for any of: `Write your test here`, `Swift Testing Documentation`, `developer.apple.com/documentation/testing`. Any match → stub signal.
|
|
68
|
+
3. **Assertion count:** count occurrences of `#expect(` and `#require(` (Swift Testing) plus `XCTAssert` (XCTest). Zero → stub signal.
|
|
69
|
+
|
|
70
|
+
A file is a STUB if it trips **all three** signals simultaneously (size < 500 AND template markers present AND zero assertions).
|
|
71
|
+
|
|
72
|
+
Known fixture state: `capTests.swift` is 358 bytes, contains `Write your test here` and `Swift Testing Documentation`, and has zero `#expect` / `#require` / `XCTAssert` calls. The detector MUST classify it as STUB.
|
|
73
|
+
|
|
74
|
+
- If the detector correctly classifies it as STUB → PASS. Report: `PASS — detector correctly flagged capdotai/capTests.swift as STUB (358 bytes, 2 template markers, 0 assertions)`.
|
|
75
|
+
- If the detector classifies it as NOT-STUB → **FAIL**. Report: `FAIL — V.H.P. regression: detector did NOT flag capdotai/capTests.swift as STUB. The verification fix is broken.` This is the loudest failure in the entire self-check because a silent regression here means user builds will ship untested code.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Check 4: Silent-Skip Detection
|
|
80
|
+
|
|
81
|
+
**Goal:** no forbidden "skip silently" phrases have been reintroduced into the protocol prose.
|
|
82
|
+
|
|
83
|
+
Grep every file in `/Users/sujit/projects/oneshot-claude-plugin/protocols/*.md` (case-insensitive) for each of the following forbidden phrases:
|
|
84
|
+
|
|
85
|
+
- `do not block the build`
|
|
86
|
+
- `skipped check counts as pass`
|
|
87
|
+
- `otherwise skip`
|
|
88
|
+
|
|
89
|
+
Use Grep with `-i` (case-insensitive) and output-mode content to capture file + line number for any match.
|
|
90
|
+
|
|
91
|
+
- If zero matches → PASS. Report: `PASS — no silent-skip phrases found in protocols/`.
|
|
92
|
+
- If any match → FAIL. Report: `FAIL — silent-skip phrase "<phrase>" found in protocols/<file>.md:<line>`. Include the full offending line so the maintainer can locate and fix it.
|
|
93
|
+
|
|
94
|
+
The `otherwise skip` check is specifically for autonomous-mode contexts (i.e., the surrounding prose should be about autonomous / unattended behavior). If a match appears in a non-autonomous context (e.g., user-instruction flow where "otherwise skip" means "if the user declines, skip"), note it in the report but still FAIL — any reintroduction deserves human review.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Output format
|
|
99
|
+
|
|
100
|
+
For each check, emit one line with the check name, verdict, and one-sentence reason:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Check 1 — Schema Sanity: PASS — 15 protocols, 10 commands, 47 cross-refs, all resolve
|
|
104
|
+
Check 2 — Manifest Sync: PASS — 44 agents on disk, no claim in manifest to check against
|
|
105
|
+
Check 3 — V.H.P. Regression: PASS — detector correctly flagged capdotai/capTests.swift as STUB (358 bytes, 2 markers, 0 assertions)
|
|
106
|
+
Check 4 — Silent-Skip: PASS — no silent-skip phrases found in protocols/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
At the end, emit one of:
|
|
110
|
+
|
|
111
|
+
- `SELF-CHECK PASS (4/4)` — all four checks passed (or Check 3 SKIPPED, others passed → `SELF-CHECK PASS (3/4, Check 3 SKIPPED)`).
|
|
112
|
+
- `SELF-CHECK FAIL: Check <N> — <one-line reason>` — the first check that failed.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Exit conditions
|
|
117
|
+
|
|
118
|
+
- **Stop on first FAIL.** The moment any check returns FAIL, emit the per-check results gathered so far, emit the overall `SELF-CHECK FAIL` verdict, and stop. Do not continue to later checks — a failing plugin should not ship, and running the rest wastes time when the maintainer needs to fix the first failure.
|
|
119
|
+
- **Report all results up to and including the failure.** If Check 3 fails, still print Check 1 and Check 2 results.
|
|
120
|
+
- **Check 3 SKIPPED is not a failure.** If the capdotai fixture is missing, Check 3 reports SKIPPED, and the run proceeds to Check 4. The overall verdict is `SELF-CHECK PASS (3/4, Check 3 SKIPPED)` iff Checks 1, 2, and 4 all pass.
|
|
121
|
+
- **Final verdict goes last.** Always end the output with the single `SELF-CHECK PASS` or `SELF-CHECK FAIL` line so the maintainer's eye lands on it immediately.
|
package/commands/setup.md
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Install buildanything's external dependencies — companion plugins, agent-browser CLI, Chrome for Testing, and
|
|
2
|
+
description: "Install buildanything's external dependencies — tsx, companion plugins, agent-browser CLI, Chrome for Testing, skills, and optional iOS toolchain (XcodeBuildMCP, apple-docs-mcp, Maestro)"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Setup
|
|
6
6
|
|
|
7
7
|
You are installing buildanything's external dependencies. The plugin itself is already installed (that's how this command is running), but the companion plugins, CLI tools, and skills it depends on are not — they need to be installed separately. This command does that in one shot.
|
|
8
8
|
|
|
9
|
+
**iOS project?** If the user's intent is to build an iOS app, also run Steps 8–10 below. Skip them otherwise.
|
|
10
|
+
|
|
9
11
|
Run every step below. Each step is idempotent: check first, install only if missing, continue on failure. Collect results as you go and report them all at the end.
|
|
10
12
|
|
|
11
13
|
## Step 1: Install companion plugins from `claude-plugins-official`
|
|
@@ -22,25 +24,70 @@ For each plugin below, run `claude plugin install <name>@claude-plugins-official
|
|
|
22
24
|
|
|
23
25
|
For each one, treat a non-zero exit as "already installed or failed" — record it as `skipped` and keep going. Treat a success as `installed`.
|
|
24
26
|
|
|
25
|
-
## Step 2: Install
|
|
27
|
+
## Step 2: Install `tsx` globally
|
|
28
|
+
|
|
29
|
+
`tsx` is required by all plugin hooks (pre-tool-use, subagent-start, subagent-stop, session-start cache compiler). Hooks call `npx --no-install tsx` and silently degrade if tsx is missing.
|
|
30
|
+
|
|
31
|
+
1. Run `which tsx`. If it returns a path, record as `already present` and skip to Step 3.
|
|
32
|
+
2. Otherwise run `npm install -g tsx`. Record `installed` or `failed` based on exit status.
|
|
33
|
+
|
|
34
|
+
## Step 3: Install the `agent-browser` CLI globally
|
|
26
35
|
|
|
27
|
-
1. Run `which agent-browser`. If it returns a path, record as `already present` and skip to Step
|
|
36
|
+
1. Run `which agent-browser`. If it returns a path, record as `already present` and skip to Step 4.
|
|
28
37
|
2. Otherwise run `npm install -g agent-browser`. Record `installed` or `failed` based on exit status.
|
|
29
38
|
|
|
30
|
-
## Step
|
|
39
|
+
## Step 4: Download Chrome for Testing
|
|
31
40
|
|
|
32
41
|
Run `agent-browser install`. This downloads a pinned Chrome build. If `agent-browser` isn't on PATH (Step 2 failed), record `skipped (agent-browser CLI missing)` and continue. Otherwise record `ready` or `failed`.
|
|
33
42
|
|
|
34
43
|
Note: this is safe to re-run — `agent-browser install` no-ops if Chrome is already downloaded.
|
|
35
44
|
|
|
36
|
-
## Step
|
|
45
|
+
## Step 5: Install the `agent-browser` skill
|
|
37
46
|
|
|
38
47
|
Run `npx skills add vercel-labs/agent-browser`. Record `installed` or `failed`.
|
|
39
48
|
|
|
40
|
-
## Step
|
|
49
|
+
## Step 6: Install the `dogfood` skill
|
|
41
50
|
|
|
42
51
|
Run `npx skills add vercel-labs/agent-browser --skill dogfood`. Record `installed` or `failed`.
|
|
43
52
|
|
|
53
|
+
### Step 7 — Install design.md linter (web/iOS Phase 3 lint gate)
|
|
54
|
+
|
|
55
|
+
`@google/design.md` is the linter that runs at Phase 3 Step 3.8 to validate `DESIGN.md`. It is pinned as a devDependency in `package.json` so lint behavior is reproducible across runs.
|
|
56
|
+
|
|
57
|
+
1. Check if installed: `npm ls @google/design.md` from the plugin root. If listed, record `already installed` and continue.
|
|
58
|
+
2. Otherwise run `npm install --save-dev @google/design.md` from the plugin root. Record `installed` or `failed` based on exit status.
|
|
59
|
+
|
|
60
|
+
A missing linter does NOT block Phase 0/1/2 — it only fails Phase 3.8 with a "linter spawn failed" stderr that names the install command. The plugin keeps working without it.
|
|
61
|
+
|
|
62
|
+
Note: the lint hook (`hooks/design-md-lint.ts`) auto-installs the pinned version on first use if it's listed in `package.json` devDependencies but missing from `node_modules`. This means setup is technically optional for design.md — the first Phase 3.8 will install on demand (~5-15s, one-time). Setup pre-installs to avoid that delay during a build.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Step 8: Install iOS MCP servers _(iOS only)_
|
|
67
|
+
|
|
68
|
+
For each MCP server below, run `claude mcp list` first. If the name already appears, record `already configured`. Otherwise run the install command and record `configured` or `failed`.
|
|
69
|
+
|
|
70
|
+
| MCP | Install command | Purpose |
|
|
71
|
+
|-----|-----------------|---------|
|
|
72
|
+
| `xcodebuildmcp` | `claude mcp add xcodebuildmcp -- npx -y xcodebuildmcp@latest` | Xcode build, simulator, scheme discovery, plist editing |
|
|
73
|
+
| `apple-docs` | `claude mcp add apple-docs -- npx -y apple-docs-mcp@latest` | Live Apple developer documentation and API lookup |
|
|
74
|
+
|
|
75
|
+
If either fails: record the failure with the exact manual-install command.
|
|
76
|
+
|
|
77
|
+
## Step 9: Install Maestro _(iOS only)_
|
|
78
|
+
|
|
79
|
+
Maestro runs E2E flow YAML tests against a booted iOS simulator.
|
|
80
|
+
|
|
81
|
+
1. Run `which maestro`. If present, record `already installed`.
|
|
82
|
+
2. Otherwise run `brew install maestro`. Record `installed` or `failed`.
|
|
83
|
+
3. If `brew` is missing, record `skipped — install Homebrew first (brew.sh), then: brew install maestro`.
|
|
84
|
+
|
|
85
|
+
## Step 10: Verify iOS toolchain _(iOS only)_
|
|
86
|
+
|
|
87
|
+
Run `xcodebuild -version`. Record the version string. If not found, warn: "Xcode 26.3+ required — install from the Mac App Store."
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
44
91
|
## Report
|
|
45
92
|
|
|
46
93
|
Print a single summary block with three sections:
|
|
@@ -66,8 +113,13 @@ Omit any section that has no entries. For every item in the `Failed` section, in
|
|
|
66
113
|
After the summary, print this reminder:
|
|
67
114
|
|
|
68
115
|
```
|
|
69
|
-
Next: restart Claude Code so newly installed plugins
|
|
116
|
+
Next: restart Claude Code so newly installed plugins and MCP servers load.
|
|
70
117
|
Then try:
|
|
71
|
-
/buildanything:build <your idea>
|
|
72
|
-
/buildanything:idea-sweep <your idea>
|
|
118
|
+
/buildanything:build <your idea> — full product pipeline
|
|
119
|
+
/buildanything:idea-sweep <your idea> — parallel research sweep
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
If iOS steps were run, also print:
|
|
123
|
+
```
|
|
124
|
+
iOS: after restarting, confirm mcp__xcodebuildmcp__ and mcp__apple-docs__ tools appear.
|
|
73
125
|
```
|
package/commands/ux-review.md
CHANGED
|
@@ -103,8 +103,8 @@ iOS has no `/design-system` component gallery. The reference surface is **Apple
|
|
|
103
103
|
|
|
104
104
|
The design board is GENERATED by `/buildanything:build` Phase 3 Step 3.1 — this command only READS it.
|
|
105
105
|
|
|
106
|
-
- If `
|
|
107
|
-
- If it exists: use it as-is. Do NOT re-scrape references. **Cache rule:** to refresh the board, the user must delete `
|
|
106
|
+
- If `DESIGN.md` does NOT exist: **HALT** and instruct the user to run `/buildanything:build` Phase 3 first. Do not regenerate here.
|
|
107
|
+
- If it exists: use it as-is. Do NOT re-scrape references. **Cache rule:** to refresh the board, the user must delete `DESIGN.md` and re-run Phase 3.
|
|
108
108
|
|
|
109
109
|
### Step 3: Capture Current State
|
|
110
110
|
|
|
@@ -121,14 +121,14 @@ For scoped reviews (single screen/issue from `$ARGUMENTS`), capture only that sc
|
|
|
121
121
|
Run all four in parallel, each inheriting `protocols/ios-context.md`:
|
|
122
122
|
|
|
123
123
|
a. **`skills/ios/ios-debugger-agent`** — simulator screenshot sweep + UI state capture + console/log scrape for runtime UI warnings.
|
|
124
|
-
b. **`skills/ios/
|
|
124
|
+
b. **`skills/ios/hig-foundations`** (audit mode) — HIG severity audit across color, typography, SF Symbols, dark mode, layout, motion. Return findings framed as **P0** (blocker / ships broken), **P1** (fix-before-ship), **P2** (polish).
|
|
125
125
|
c. **`skills/ios/swift-accessibility`** (Mode 3: audit pass) — VoiceOver labels, Dynamic Type scaling, contrast ratios, hit-target sizes across all SwiftUI screens in scope.
|
|
126
126
|
d. **`skills/ios/swiftui-design-principles`** — 10-rule visual polish checklist (spacing, hierarchy, alignment, color, type, motion, consistency, affordance, feedback, restraint).
|
|
127
|
-
e. **`writing-for-interfaces`** — microcopy + tone review.
|
|
127
|
+
e. **`skills/ios/writing-for-interfaces`** — microcopy + tone review. Audit button labels, error messages, empty states, alerts, permission prompts, and navigation titles for clarity, brevity, and tone consistency.
|
|
128
128
|
|
|
129
129
|
### Step 5: Compare Against Design Board
|
|
130
130
|
|
|
131
|
-
Diff live simulator screenshots against `
|
|
131
|
+
Diff live simulator screenshots against `DESIGN.md`:
|
|
132
132
|
- Where does the live app match the board's vibe / patterns?
|
|
133
133
|
- Where does it drift (color, spacing, hierarchy, type, navigation model)?
|
|
134
134
|
- Which board patterns are NOT yet implemented but should be?
|
package/commands/verify.md
CHANGED
|
@@ -28,9 +28,12 @@ Check the user's argument:
|
|
|
28
28
|
| `security` | Check 5 only |
|
|
29
29
|
| `diff` | Check 6 only |
|
|
30
30
|
| `behavioral` | Check 7 only |
|
|
31
|
+
| `static` | Checks 1, 2, 3, 6 (build + types + lint + diff — Phase 6 post-metric-loop) |
|
|
31
32
|
|
|
32
33
|
Multiple scopes can be combined: `tests security` runs checks 4 and 5.
|
|
33
34
|
|
|
35
|
+
The `static` macro is used by Phase 6 after the metric loop has already evaluated behavioral quality — see `protocols/verify.md` Step 2 "Scope macros".
|
|
36
|
+
|
|
34
37
|
## Step 2: Run the Verification Protocol
|
|
35
38
|
|
|
36
39
|
Follow `protocols/verify.md` exactly:
|
|
@@ -67,22 +70,19 @@ Every dispatched agent below inherits `protocols/ios-context.md` (Senior iOS Eng
|
|
|
67
70
|
|
|
68
71
|
Run in order. Stop on first hard blocker; soft findings accumulate into the report.
|
|
69
72
|
|
|
70
|
-
**a. Test triage — `skills/ios/swift-testing-expert`**
|
|
71
|
-
> Load `protocols/ios-context.md`. Triage existing `@Test` / XCTest suites: parallel-safety, isolation correctness, missing coverage on critical paths, test-plan wiring. Output: list of test issues with severity.
|
|
72
|
-
|
|
73
|
-
**b. Snapshot / doubles review — `skills/ios/swift-testing` _(TBD — bocato cherry-pick not yet ported; skip with a note if absent)_**
|
|
74
|
-
> If skill exists: review snapshot tests and Fowler-style test doubles. If absent: log `swift-testing (bocato) — PENDING PORT` in the report and continue.
|
|
73
|
+
**a. Test triage + snapshot/doubles review — `skills/ios/swift-testing-expert`**
|
|
74
|
+
> Load `protocols/ios-context.md`. Triage existing `@Test` / XCTest suites: parallel-safety, isolation correctness, missing coverage on critical paths, test-plan wiring. Also review snapshot tests and Fowler-style test doubles for correctness, isolation, and coverage gaps. Output: list of test + snapshot/doubles issues with severity.
|
|
75
75
|
|
|
76
|
-
**
|
|
76
|
+
**b. Security audit — `skills/ios/swift-security-expert` (audit mode)**
|
|
77
77
|
> Load `protocols/ios-context.md`. Audit Keychain usage, CryptoKit calls, ATS exceptions in Info.plist, biometric gating. Report any hardcoded secrets or weak primitives. Severity: P0 / P1 / P2.
|
|
78
78
|
|
|
79
|
-
**
|
|
79
|
+
**c. App Review compliance — `agents/ios-app-review-guardian`**
|
|
80
80
|
> Load `protocols/ios-context.md`. Check App Review guidelines, privacy manifest (`PrivacyInfo.xcprivacy`), IAP/StoreKit rules, required usage-description strings, tracking/ATT compliance. Report blockers vs. warnings.
|
|
81
81
|
|
|
82
|
-
**
|
|
82
|
+
**d. Maestro flow authoring — `skills/ios/ios-maestro-flow-author`** _(conditional)_
|
|
83
83
|
> If a critical user journey lacks E2E coverage, author a `.yaml` Maestro flow for it. Skip if coverage is adequate.
|
|
84
84
|
|
|
85
|
-
**
|
|
85
|
+
**e. Build + test run — XcodeBuildMCP**
|
|
86
86
|
> `BuildProject` all targets → run the active test plan via XcodeBuildMCP → capture failures, warnings, and test output. This is the hard gate.
|
|
87
87
|
|
|
88
88
|
### Pass/fail gates
|