You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Hypothesis:** Smithery CLI now supports bundling non-code assets in stdio deploys, removing the need for the local workaround.
57
+
**Findings:** PR #532 adds a `build.assets` array in `smithery.yaml` for stdio bundles, copies matched assets into `.smithery/stdio/` before packing `server.mcpb`, and preserves directory structure. It uses `fast-glob` patterns, excludes `**/node_modules/**` and `**/.git/**` by default, warns when assets are configured for non-stdio transports or when patterns match zero files, and fails the build if patterns escape the project root, hit permission errors, or match reserved root filenames (`index.cjs`, `mcpb-manifest.json`, `manifest.json`, `server.mcpb`). The PR also documents runtime access via `__dirname` with assets available at the same relative paths inside the bundle.
58
+
**Evidence:** Smithery issue `smithery-ai/cli#524` (opened Jan 22, 2026) and PR `smithery-ai/cli#532` (merged Jan 27, 2026) summary/usage/behavior sections.
59
+
**Conclusion:** We can migrate from the `smithery.config.js` side-effect bundling workaround once we upgrade to a CLI version that includes PR #532 and configure `smithery.yaml``build.assets` for `bundled/**`.
60
+
55
61
## Root Cause
56
62
Two coupled assumptions break Smithery installs:
57
63
1)`getAxePath()` is bundled-only and derives the path from `process.argv[1]`, which points into Smithery’s cache (missing `bundled/axe`), so it always returns null.
@@ -63,6 +69,15 @@ Two coupled assumptions break Smithery installs:
63
69
3. Align Doctor output: show both bundled availability and PATH availability, and use that in the UI automation supported status.
64
70
4. Update Smithery build to run `bundle:axe` and copy `bundled/` into the Smithery bundle output; skip binary verification on non-mac builders to avoid build failures.
65
71
72
+
## Migration Plan (official Smithery resource bundling)
73
+
1. Upgrade Smithery CLI to `>=3.4.0` on all developer machines and CI that build/deploy via Smithery.
74
+
2. Replace the `smithery.config.js` side-effect copy workaround with official bundling config in `smithery.yaml`:
75
+
-`build.assets: [ "bundled/**" ]`
76
+
3. Remove the Smithery prepack copy step once 3.4.0 is in use.
77
+
4. Ensure `bundle:axe` still runs during build so `bundled/` exists before Smithery packages resources.
78
+
5. Validate a Smithery install contains `bundled/axe` in its cache and that UI automation + `record_sim_video` work without PATH fallbacks.
79
+
6. Remove any Linux-specific skips that were only needed to avoid bundled verification for the workaround, once the official bundling flow proves stable.
80
+
66
81
## Preventive Measures
67
82
- Add tests for AXe resolution precedence (bundled, env override, PATH) and for Doctor output consistency.
68
83
- Document Smithery-specific install requirements and verify `bundled/` presence in Smithery artifacts during CI.
0 commit comments