shipscreens 0.1.1 → 0.1.3
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/README.md +37 -0
- package/bin/shipscreens.js +15 -1
- package/cli/commands/build.js +19 -4
- package/cli/mcpServer.js +573 -0
- package/dist/app/assets/AgentCli-CJHTv5S4.js +17 -0
- package/dist/app/assets/AgentCli-CJHTv5S4.js.map +1 -0
- package/dist/app/assets/App-BwQ1zI7a.css +1 -0
- package/dist/app/assets/App-DV5XHwn8.js +13 -0
- package/dist/app/assets/App-DV5XHwn8.js.map +1 -0
- package/dist/app/assets/AppReviewAso-Dvh6A_g-.js +4 -0
- package/dist/app/assets/AppReviewAso-Dvh6A_g-.js.map +1 -0
- package/dist/app/assets/{Cancelled-66ixTUrm.js → Cancelled-D6i4ywc8.js} +2 -2
- package/dist/app/assets/{Cancelled-66ixTUrm.js.map → Cancelled-D6i4ywc8.js.map} +1 -1
- package/dist/app/assets/CopyButton-BlPQEoP3.js +2 -0
- package/dist/app/assets/CopyButton-BlPQEoP3.js.map +1 -0
- package/dist/app/assets/FastlaneScreenshots-DF74cNwo.js +52 -0
- package/dist/app/assets/FastlaneScreenshots-DF74cNwo.js.map +1 -0
- package/dist/app/assets/FirstExport-BMHdPGDX.js +6 -0
- package/dist/app/assets/FirstExport-BMHdPGDX.js.map +1 -0
- package/dist/app/assets/FitPanel-Fp4iPZxf.js +2 -0
- package/dist/app/assets/FitPanel-Fp4iPZxf.js.map +1 -0
- package/dist/app/assets/FivePanelFramework-B967Cblg.js +62 -0
- package/dist/app/assets/FivePanelFramework-B967Cblg.js.map +1 -0
- package/dist/{assets/ForgotPassword-B9_si1tH.js → app/assets/ForgotPassword-CApAdwy1.js} +2 -2
- package/dist/app/assets/{ForgotPassword-B9_si1tH.js.map → ForgotPassword-CApAdwy1.js.map} +1 -1
- package/dist/app/assets/Landing-Vxx4PfE4.js +2 -0
- package/dist/app/assets/Landing-Vxx4PfE4.js.map +1 -0
- package/dist/app/assets/{LanguageSwitcher-BD9N-dla.js → LanguageSwitcher-Cp-6zMXz.js} +2 -2
- package/dist/{assets/LanguageSwitcher-BD9N-dla.js.map → app/assets/LanguageSwitcher-Cp-6zMXz.js.map} +1 -1
- package/dist/app/assets/{Legal-D3cAXQXw.js → Legal-CGgUYM9f.js} +2 -2
- package/dist/app/assets/{Legal-D3cAXQXw.js.map → Legal-CGgUYM9f.js.map} +1 -1
- package/dist/app/assets/{NotFound-ClV-6RmP.js → NotFound-DCeMrR7Q.js} +2 -2
- package/dist/app/assets/{NotFound-ClV-6RmP.js.map → NotFound-DCeMrR7Q.js.map} +1 -1
- package/dist/app/assets/Pricing-CGZnCST5.js +2 -0
- package/dist/app/assets/Pricing-CGZnCST5.js.map +1 -0
- package/dist/app/assets/{Privacy-DfxgWwC3.js → Privacy-D86um9Ox.js} +2 -2
- package/dist/{assets/Privacy-DfxgWwC3.js.map → app/assets/Privacy-D86um9Ox.js.map} +1 -1
- package/dist/app/assets/{SignIn-ghQCKcPe.js → SignIn-J1V55TpG.js} +2 -2
- package/dist/app/assets/{SignIn-ghQCKcPe.js.map → SignIn-J1V55TpG.js.map} +1 -1
- package/dist/app/assets/{SignUp-BKB87hd4.js → SignUp-D6y9FaIp.js} +2 -2
- package/dist/{assets/SignUp-BKB87hd4.js.map → app/assets/SignUp-D6y9FaIp.js.map} +1 -1
- package/dist/app/assets/SiteHeader-Ch5fAKkA.js +2 -0
- package/dist/app/assets/SiteHeader-Ch5fAKkA.js.map +1 -0
- package/dist/app/assets/StickyMobileCta-BdjmxjZ4.js +2 -0
- package/dist/app/assets/StickyMobileCta-BdjmxjZ4.js.map +1 -0
- package/dist/app/assets/StoreAssetsPipeline-Cl-3GPfw.js +6 -0
- package/dist/app/assets/StoreAssetsPipeline-Cl-3GPfw.js.map +1 -0
- package/dist/app/assets/{Success-819qvzmp.js → Success-BtaUzpPJ.js} +2 -2
- package/dist/app/assets/{Success-819qvzmp.js.map → Success-BtaUzpPJ.js.map} +1 -1
- package/dist/app/assets/{Terms-7k3nA4SU.js → Terms-D_qNDuwq.js} +2 -2
- package/dist/app/assets/{Terms-7k3nA4SU.js.map → Terms-D_qNDuwq.js.map} +1 -1
- package/dist/app/assets/ToolGuardrailsPanel-Dqo_LDWu.js +2 -0
- package/dist/app/assets/ToolGuardrailsPanel-Dqo_LDWu.js.map +1 -0
- package/dist/app/assets/ToolsIndex-D7Z_LkLt.js +6 -0
- package/dist/app/assets/ToolsIndex-D7Z_LkLt.js.map +1 -0
- package/dist/app/assets/WorkloadCalculator-6PgA8Qfc.js +5 -0
- package/dist/app/assets/WorkloadCalculator-6PgA8Qfc.js.map +1 -0
- package/dist/app/assets/{calculator-CiqKFdRp.js → calculator-BJHViS7f.js} +2 -2
- package/dist/app/assets/{calculator-CiqKFdRp.js.map → calculator-BJHViS7f.js.map} +1 -1
- package/dist/app/assets/check-IxdpNvaC.js +2 -0
- package/dist/app/assets/check-IxdpNvaC.js.map +1 -0
- package/dist/app/assets/chevron-down-DFKVs9n4.js +2 -0
- package/dist/app/assets/{chevron-down-_xIkRLaA.js.map → chevron-down-DFKVs9n4.js.map} +1 -1
- package/dist/app/assets/circle-check-DA-NWInD.js +2 -0
- package/dist/app/assets/circle-check-DA-NWInD.js.map +1 -0
- package/dist/app/assets/{clipboard-copy-DCJioqIc.js → clipboard-copy-B2p9wr40.js} +2 -2
- package/dist/app/assets/{clipboard-copy-DCJioqIc.js.map → clipboard-copy-B2p9wr40.js.map} +1 -1
- package/dist/app/assets/{copy-AQdWJCcs.js → copy-BnUx1vxq.js} +2 -2
- package/dist/app/assets/{copy-AQdWJCcs.js.map → copy-BnUx1vxq.js.map} +1 -1
- package/dist/app/assets/{crop-DOMVp18h.js → crop-BLAB1KK_.js} +2 -2
- package/dist/app/assets/{crop-DOMVp18h.js.map → crop-BLAB1KK_.js.map} +1 -1
- package/dist/app/assets/{download-D5RbyXDm.js → download-DNjju5h9.js} +2 -2
- package/dist/app/assets/{download-D5RbyXDm.js.map → download-DNjju5h9.js.map} +1 -1
- package/dist/app/assets/{eye-CLcZi_uk.js → eye-DkJdJAvt.js} +2 -2
- package/dist/app/assets/{eye-CLcZi_uk.js.map → eye-DkJdJAvt.js.map} +1 -1
- package/dist/app/assets/folder-tree-zQOd55nP.js +2 -0
- package/dist/app/assets/folder-tree-zQOd55nP.js.map +1 -0
- package/dist/app/assets/{grid-3x3-AKmIrhzv.js → grid-3x3-BCPiZxWL.js} +2 -2
- package/dist/{assets/grid-3x3-AKmIrhzv.js.map → app/assets/grid-3x3-BCPiZxWL.js.map} +1 -1
- package/dist/app/assets/hero/cli-build-tree-15s.mp4 +0 -0
- package/dist/app/assets/hero/cli-build-tree-15s.webm +0 -0
- package/dist/app/assets/hero/cli-build-tree-25s.mp4 +0 -0
- package/dist/app/assets/hero/cli-build-tree-25s.webm +0 -0
- package/dist/app/assets/hero/cli-build-tree-poster.png +0 -0
- package/dist/app/assets/hero/demo-25s-poster.jpg +0 -0
- package/dist/app/assets/hero/demo-25s.mp4 +0 -0
- package/dist/app/assets/hero/demo-25s.webm +0 -0
- package/dist/app/assets/hero/demo-poster.jpg +0 -0
- package/dist/app/assets/hero/demo.mp4 +0 -0
- package/dist/app/assets/hero/demo.webm +0 -0
- package/dist/app/assets/{index-Bqv2NztY.js → index-C4xM6WAU.js} +18 -18
- package/dist/app/assets/index-C4xM6WAU.js.map +1 -0
- package/dist/app/assets/index-CQecHUcy.css +1 -0
- package/dist/app/assets/{layout-grid-CpGXUPMR.js → layout-grid-DvMRLTBT.js} +2 -2
- package/dist/app/assets/{layout-grid-CpGXUPMR.js.map → layout-grid-DvMRLTBT.js.map} +1 -1
- package/dist/app/assets/noto-sans-arabic-arabic-400-normal-AAMxebZb.woff2 +0 -0
- package/dist/app/assets/noto-sans-arabic-arabic-400-normal-hsqIUL9Q.woff +0 -0
- package/dist/app/assets/noto-sans-arabic-arabic-500-normal-CoaTbVwZ.woff +0 -0
- package/dist/app/assets/noto-sans-arabic-arabic-500-normal-DPISWLls.woff2 +0 -0
- package/dist/app/assets/noto-sans-arabic-arabic-700-normal-3CqrwsiZ.woff2 +0 -0
- package/dist/app/assets/noto-sans-arabic-arabic-700-normal-DXnsSW3z.woff +0 -0
- package/dist/app/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2 +0 -0
- package/dist/app/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff +0 -0
- package/dist/app/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff +0 -0
- package/dist/app/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2 +0 -0
- package/dist/app/assets/noto-sans-thai-thai-700-normal-C9ISMlQq.woff +0 -0
- package/dist/app/assets/noto-sans-thai-thai-700-normal-Cm52XUnT.woff2 +0 -0
- package/dist/app/assets/{rocket-IzRFv1aW.js → rocket-fjJ-qzsl.js} +2 -2
- package/dist/app/assets/{rocket-IzRFv1aW.js.map → rocket-fjJ-qzsl.js.map} +1 -1
- package/dist/app/assets/{shield-check-CngdN3zn.js → shield-check-C-qC9fhU.js} +2 -2
- package/dist/app/assets/{shield-check-CngdN3zn.js.map → shield-check-C-qC9fhU.js.map} +1 -1
- package/dist/app/assets/{signIn-Cn6FaQYi.js → signIn-CYNXaR1Y.js} +2 -2
- package/dist/{assets/signIn-Cn6FaQYi.js.map → app/assets/signIn-CYNXaR1Y.js.map} +1 -1
- package/dist/app/assets/{smartphone-CpNG_Pfk.js → smartphone-DRYkbHrn.js} +2 -2
- package/dist/app/assets/{smartphone-CpNG_Pfk.js.map → smartphone-DRYkbHrn.js.map} +1 -1
- package/dist/app/assets/{terminal-BbBESfoU.js → terminal-CY2dKmaU.js} +2 -2
- package/dist/{assets/terminal-BbBESfoU.js.map → app/assets/terminal-CY2dKmaU.js.map} +1 -1
- package/dist/{assets/useAuth-3WWZ3GCD.js → app/assets/useAuth-D_UWt-CP.js} +2 -2
- package/dist/app/assets/{useAuth-3WWZ3GCD.js.map → useAuth-D_UWt-CP.js.map} +1 -1
- package/dist/app/index.html +2 -2
- package/dist/assets/AgentCli-CJHTv5S4.js +17 -0
- package/dist/assets/AgentCli-CJHTv5S4.js.map +1 -0
- package/dist/assets/App-BwQ1zI7a.css +1 -0
- package/dist/assets/App-DV5XHwn8.js +13 -0
- package/dist/assets/App-DV5XHwn8.js.map +1 -0
- package/dist/assets/AppReviewAso-Dvh6A_g-.js +4 -0
- package/dist/assets/AppReviewAso-Dvh6A_g-.js.map +1 -0
- package/dist/assets/{Cancelled-66ixTUrm.js → Cancelled-D6i4ywc8.js} +2 -2
- package/dist/assets/{Cancelled-66ixTUrm.js.map → Cancelled-D6i4ywc8.js.map} +1 -1
- package/dist/assets/CopyButton-BlPQEoP3.js +2 -0
- package/dist/assets/CopyButton-BlPQEoP3.js.map +1 -0
- package/dist/assets/FastlaneScreenshots-DF74cNwo.js +52 -0
- package/dist/assets/FastlaneScreenshots-DF74cNwo.js.map +1 -0
- package/dist/assets/FirstExport-BMHdPGDX.js +6 -0
- package/dist/assets/FirstExport-BMHdPGDX.js.map +1 -0
- package/dist/assets/FitPanel-Fp4iPZxf.js +2 -0
- package/dist/assets/FitPanel-Fp4iPZxf.js.map +1 -0
- package/dist/assets/FivePanelFramework-B967Cblg.js +62 -0
- package/dist/assets/FivePanelFramework-B967Cblg.js.map +1 -0
- package/dist/{app/assets/ForgotPassword-B9_si1tH.js → assets/ForgotPassword-CApAdwy1.js} +2 -2
- package/dist/assets/{ForgotPassword-B9_si1tH.js.map → ForgotPassword-CApAdwy1.js.map} +1 -1
- package/dist/assets/Landing-Vxx4PfE4.js +2 -0
- package/dist/assets/Landing-Vxx4PfE4.js.map +1 -0
- package/dist/assets/{LanguageSwitcher-BD9N-dla.js → LanguageSwitcher-Cp-6zMXz.js} +2 -2
- package/dist/{app/assets/LanguageSwitcher-BD9N-dla.js.map → assets/LanguageSwitcher-Cp-6zMXz.js.map} +1 -1
- package/dist/assets/{Legal-D3cAXQXw.js → Legal-CGgUYM9f.js} +2 -2
- package/dist/assets/{Legal-D3cAXQXw.js.map → Legal-CGgUYM9f.js.map} +1 -1
- package/dist/assets/{NotFound-ClV-6RmP.js → NotFound-DCeMrR7Q.js} +2 -2
- package/dist/assets/{NotFound-ClV-6RmP.js.map → NotFound-DCeMrR7Q.js.map} +1 -1
- package/dist/assets/Pricing-CGZnCST5.js +2 -0
- package/dist/assets/Pricing-CGZnCST5.js.map +1 -0
- package/dist/assets/{Privacy-DfxgWwC3.js → Privacy-D86um9Ox.js} +2 -2
- package/dist/{app/assets/Privacy-DfxgWwC3.js.map → assets/Privacy-D86um9Ox.js.map} +1 -1
- package/dist/assets/{SignIn-ghQCKcPe.js → SignIn-J1V55TpG.js} +2 -2
- package/dist/assets/{SignIn-ghQCKcPe.js.map → SignIn-J1V55TpG.js.map} +1 -1
- package/dist/assets/{SignUp-BKB87hd4.js → SignUp-D6y9FaIp.js} +2 -2
- package/dist/{app/assets/SignUp-BKB87hd4.js.map → assets/SignUp-D6y9FaIp.js.map} +1 -1
- package/dist/assets/SiteHeader-Ch5fAKkA.js +2 -0
- package/dist/assets/SiteHeader-Ch5fAKkA.js.map +1 -0
- package/dist/assets/StickyMobileCta-BdjmxjZ4.js +2 -0
- package/dist/assets/StickyMobileCta-BdjmxjZ4.js.map +1 -0
- package/dist/assets/StoreAssetsPipeline-Cl-3GPfw.js +6 -0
- package/dist/assets/StoreAssetsPipeline-Cl-3GPfw.js.map +1 -0
- package/dist/assets/{Success-819qvzmp.js → Success-BtaUzpPJ.js} +2 -2
- package/dist/assets/{Success-819qvzmp.js.map → Success-BtaUzpPJ.js.map} +1 -1
- package/dist/assets/{Terms-7k3nA4SU.js → Terms-D_qNDuwq.js} +2 -2
- package/dist/assets/{Terms-7k3nA4SU.js.map → Terms-D_qNDuwq.js.map} +1 -1
- package/dist/assets/ToolGuardrailsPanel-Dqo_LDWu.js +2 -0
- package/dist/assets/ToolGuardrailsPanel-Dqo_LDWu.js.map +1 -0
- package/dist/assets/ToolsIndex-D7Z_LkLt.js +6 -0
- package/dist/assets/ToolsIndex-D7Z_LkLt.js.map +1 -0
- package/dist/assets/WorkloadCalculator-6PgA8Qfc.js +5 -0
- package/dist/assets/WorkloadCalculator-6PgA8Qfc.js.map +1 -0
- package/dist/assets/{calculator-CiqKFdRp.js → calculator-BJHViS7f.js} +2 -2
- package/dist/assets/{calculator-CiqKFdRp.js.map → calculator-BJHViS7f.js.map} +1 -1
- package/dist/assets/check-IxdpNvaC.js +2 -0
- package/dist/assets/check-IxdpNvaC.js.map +1 -0
- package/dist/assets/chevron-down-DFKVs9n4.js +2 -0
- package/dist/assets/{chevron-down-_xIkRLaA.js.map → chevron-down-DFKVs9n4.js.map} +1 -1
- package/dist/assets/circle-check-DA-NWInD.js +2 -0
- package/dist/assets/circle-check-DA-NWInD.js.map +1 -0
- package/dist/assets/{clipboard-copy-DCJioqIc.js → clipboard-copy-B2p9wr40.js} +2 -2
- package/dist/assets/{clipboard-copy-DCJioqIc.js.map → clipboard-copy-B2p9wr40.js.map} +1 -1
- package/dist/assets/{copy-AQdWJCcs.js → copy-BnUx1vxq.js} +2 -2
- package/dist/assets/{copy-AQdWJCcs.js.map → copy-BnUx1vxq.js.map} +1 -1
- package/dist/assets/{crop-DOMVp18h.js → crop-BLAB1KK_.js} +2 -2
- package/dist/assets/{crop-DOMVp18h.js.map → crop-BLAB1KK_.js.map} +1 -1
- package/dist/assets/{download-D5RbyXDm.js → download-DNjju5h9.js} +2 -2
- package/dist/assets/{download-D5RbyXDm.js.map → download-DNjju5h9.js.map} +1 -1
- package/dist/assets/{eye-CLcZi_uk.js → eye-DkJdJAvt.js} +2 -2
- package/dist/assets/{eye-CLcZi_uk.js.map → eye-DkJdJAvt.js.map} +1 -1
- package/dist/assets/folder-tree-zQOd55nP.js +2 -0
- package/dist/assets/folder-tree-zQOd55nP.js.map +1 -0
- package/dist/assets/{grid-3x3-AKmIrhzv.js → grid-3x3-BCPiZxWL.js} +2 -2
- package/dist/{app/assets/grid-3x3-AKmIrhzv.js.map → assets/grid-3x3-BCPiZxWL.js.map} +1 -1
- package/dist/assets/hero/cli-build-tree-15s.mp4 +0 -0
- package/dist/assets/hero/cli-build-tree-15s.webm +0 -0
- package/dist/assets/hero/cli-build-tree-25s.mp4 +0 -0
- package/dist/assets/hero/cli-build-tree-25s.webm +0 -0
- package/dist/assets/hero/cli-build-tree-poster.png +0 -0
- package/dist/assets/hero/demo-25s-poster.jpg +0 -0
- package/dist/assets/hero/demo-25s.mp4 +0 -0
- package/dist/assets/hero/demo-25s.webm +0 -0
- package/dist/assets/hero/demo-poster.jpg +0 -0
- package/dist/assets/hero/demo.mp4 +0 -0
- package/dist/assets/hero/demo.webm +0 -0
- package/dist/assets/{index-Bqv2NztY.js → index-C4xM6WAU.js} +18 -18
- package/dist/assets/index-C4xM6WAU.js.map +1 -0
- package/dist/assets/index-CQecHUcy.css +1 -0
- package/dist/assets/{layout-grid-CpGXUPMR.js → layout-grid-DvMRLTBT.js} +2 -2
- package/dist/assets/{layout-grid-CpGXUPMR.js.map → layout-grid-DvMRLTBT.js.map} +1 -1
- package/dist/assets/noto-sans-arabic-arabic-400-normal-AAMxebZb.woff2 +0 -0
- package/dist/assets/noto-sans-arabic-arabic-400-normal-hsqIUL9Q.woff +0 -0
- package/dist/assets/noto-sans-arabic-arabic-500-normal-CoaTbVwZ.woff +0 -0
- package/dist/assets/noto-sans-arabic-arabic-500-normal-DPISWLls.woff2 +0 -0
- package/dist/assets/noto-sans-arabic-arabic-700-normal-3CqrwsiZ.woff2 +0 -0
- package/dist/assets/noto-sans-arabic-arabic-700-normal-DXnsSW3z.woff +0 -0
- package/dist/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2 +0 -0
- package/dist/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff +0 -0
- package/dist/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff +0 -0
- package/dist/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2 +0 -0
- package/dist/assets/noto-sans-thai-thai-700-normal-C9ISMlQq.woff +0 -0
- package/dist/assets/noto-sans-thai-thai-700-normal-Cm52XUnT.woff2 +0 -0
- package/dist/assets/{rocket-IzRFv1aW.js → rocket-fjJ-qzsl.js} +2 -2
- package/dist/assets/{rocket-IzRFv1aW.js.map → rocket-fjJ-qzsl.js.map} +1 -1
- package/dist/assets/{shield-check-CngdN3zn.js → shield-check-C-qC9fhU.js} +2 -2
- package/dist/assets/{shield-check-CngdN3zn.js.map → shield-check-C-qC9fhU.js.map} +1 -1
- package/dist/assets/{signIn-Cn6FaQYi.js → signIn-CYNXaR1Y.js} +2 -2
- package/dist/{app/assets/signIn-Cn6FaQYi.js.map → assets/signIn-CYNXaR1Y.js.map} +1 -1
- package/dist/assets/{smartphone-CpNG_Pfk.js → smartphone-DRYkbHrn.js} +2 -2
- package/dist/assets/{smartphone-CpNG_Pfk.js.map → smartphone-DRYkbHrn.js.map} +1 -1
- package/dist/assets/{terminal-BbBESfoU.js → terminal-CY2dKmaU.js} +2 -2
- package/dist/{app/assets/terminal-BbBESfoU.js.map → assets/terminal-CY2dKmaU.js.map} +1 -1
- package/dist/{app/assets/useAuth-3WWZ3GCD.js → assets/useAuth-D_UWt-CP.js} +2 -2
- package/dist/assets/{useAuth-3WWZ3GCD.js.map → useAuth-D_UWt-CP.js.map} +1 -1
- package/dist/cancelled/index.html +2 -2
- package/dist/forgot-password/index.html +2 -2
- package/dist/index.html +2 -2
- package/dist/legal/index.html +2 -2
- package/dist/llms-full.txt +106 -0
- package/dist/llms.txt +35 -0
- package/dist/pricing/index.html +33 -0
- package/dist/privacy/index.html +2 -2
- package/dist/robots.txt +2 -0
- package/dist/signin/index.html +2 -2
- package/dist/signup/index.html +2 -2
- package/dist/sitemap.xml +12 -0
- package/dist/success/index.html +2 -2
- package/dist/terms/index.html +2 -2
- package/dist/tools/5-panel-screenshot-framework/index.html +2 -2
- package/dist/tools/agent-cli/index.html +2 -2
- package/dist/tools/app-review-aso/index.html +2 -2
- package/dist/tools/fastlane-screenshots/index.html +2 -2
- package/dist/tools/first-export/index.html +2 -2
- package/dist/tools/index.html +2 -2
- package/dist/tools/screenshot-workload-calculator/index.html +2 -2
- package/dist/tools/store-assets-pipeline/index.html +2 -2
- package/package.json +22 -2
- package/dist/app/assets/AgentCli-FWNCO1pb.js +0 -17
- package/dist/app/assets/AgentCli-FWNCO1pb.js.map +0 -1
- package/dist/app/assets/App-yU7CFXCv.js +0 -13
- package/dist/app/assets/App-yU7CFXCv.js.map +0 -1
- package/dist/app/assets/AppReviewAso-BYfaP1Lu.js +0 -4
- package/dist/app/assets/AppReviewAso-BYfaP1Lu.js.map +0 -1
- package/dist/app/assets/CliPreflightCard-D7utpFux.js +0 -2
- package/dist/app/assets/CliPreflightCard-D7utpFux.js.map +0 -1
- package/dist/app/assets/CopyButton-CmVmSaYn.js +0 -2
- package/dist/app/assets/CopyButton-CmVmSaYn.js.map +0 -1
- package/dist/app/assets/FastlaneScreenshots-CRMcetq-.js +0 -52
- package/dist/app/assets/FastlaneScreenshots-CRMcetq-.js.map +0 -1
- package/dist/app/assets/FirstExport-C0WgL4Hl.js +0 -6
- package/dist/app/assets/FirstExport-C0WgL4Hl.js.map +0 -1
- package/dist/app/assets/FivePanelFramework-BwCRmXIK.js +0 -60
- package/dist/app/assets/FivePanelFramework-BwCRmXIK.js.map +0 -1
- package/dist/app/assets/Landing-s1ni1n-7.js +0 -2
- package/dist/app/assets/Landing-s1ni1n-7.js.map +0 -1
- package/dist/app/assets/SiteHeader-DxsqNPnt.js +0 -2
- package/dist/app/assets/SiteHeader-DxsqNPnt.js.map +0 -1
- package/dist/app/assets/StickyMobileCta-C_x2pUIF.js +0 -2
- package/dist/app/assets/StickyMobileCta-C_x2pUIF.js.map +0 -1
- package/dist/app/assets/StoreAssetsPipeline-4hXRONUd.js +0 -4
- package/dist/app/assets/StoreAssetsPipeline-4hXRONUd.js.map +0 -1
- package/dist/app/assets/ToolsIndex-CzrxymnM.js +0 -6
- package/dist/app/assets/ToolsIndex-CzrxymnM.js.map +0 -1
- package/dist/app/assets/WorkloadCalculator-D2TuKS4B.js +0 -5
- package/dist/app/assets/WorkloadCalculator-D2TuKS4B.js.map +0 -1
- package/dist/app/assets/chevron-down-_xIkRLaA.js +0 -2
- package/dist/app/assets/index-Bqv2NztY.js.map +0 -1
- package/dist/app/assets/index-DGVMa-P7.css +0 -1
- package/dist/assets/AgentCli-FWNCO1pb.js +0 -17
- package/dist/assets/AgentCli-FWNCO1pb.js.map +0 -1
- package/dist/assets/App-yU7CFXCv.js +0 -13
- package/dist/assets/App-yU7CFXCv.js.map +0 -1
- package/dist/assets/AppReviewAso-BYfaP1Lu.js +0 -4
- package/dist/assets/AppReviewAso-BYfaP1Lu.js.map +0 -1
- package/dist/assets/CliPreflightCard-D7utpFux.js +0 -2
- package/dist/assets/CliPreflightCard-D7utpFux.js.map +0 -1
- package/dist/assets/CopyButton-CmVmSaYn.js +0 -2
- package/dist/assets/CopyButton-CmVmSaYn.js.map +0 -1
- package/dist/assets/FastlaneScreenshots-CRMcetq-.js +0 -52
- package/dist/assets/FastlaneScreenshots-CRMcetq-.js.map +0 -1
- package/dist/assets/FirstExport-C0WgL4Hl.js +0 -6
- package/dist/assets/FirstExport-C0WgL4Hl.js.map +0 -1
- package/dist/assets/FivePanelFramework-BwCRmXIK.js +0 -60
- package/dist/assets/FivePanelFramework-BwCRmXIK.js.map +0 -1
- package/dist/assets/Landing-s1ni1n-7.js +0 -2
- package/dist/assets/Landing-s1ni1n-7.js.map +0 -1
- package/dist/assets/SiteHeader-DxsqNPnt.js +0 -2
- package/dist/assets/SiteHeader-DxsqNPnt.js.map +0 -1
- package/dist/assets/StickyMobileCta-C_x2pUIF.js +0 -2
- package/dist/assets/StickyMobileCta-C_x2pUIF.js.map +0 -1
- package/dist/assets/StoreAssetsPipeline-4hXRONUd.js +0 -4
- package/dist/assets/StoreAssetsPipeline-4hXRONUd.js.map +0 -1
- package/dist/assets/ToolsIndex-CzrxymnM.js +0 -6
- package/dist/assets/ToolsIndex-CzrxymnM.js.map +0 -1
- package/dist/assets/WorkloadCalculator-D2TuKS4B.js +0 -5
- package/dist/assets/WorkloadCalculator-D2TuKS4B.js.map +0 -1
- package/dist/assets/chevron-down-_xIkRLaA.js +0 -2
- package/dist/assets/index-Bqv2NztY.js.map +0 -1
- package/dist/assets/index-DGVMa-P7.css +0 -1
package/README.md
CHANGED
|
@@ -7,6 +7,14 @@ Build store screenshots as a build step.
|
|
|
7
7
|
npx --yes shipscreens@latest demo
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
+
## Rendered mode (optional)
|
|
11
|
+
Rendered mode runs the UI renderer headlessly via Playwright Chromium.
|
|
12
|
+
Install Chromium once per machine/CI runner:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx playwright install --with-deps chromium
|
|
16
|
+
```
|
|
17
|
+
|
|
10
18
|
## CI pipeline (copy/paste)
|
|
11
19
|
```bash
|
|
12
20
|
npx --yes shipscreens@latest validate
|
|
@@ -17,3 +25,32 @@ npx --yes shipscreens@latest stage --from out --out out/stage --profile appstore
|
|
|
17
25
|
```
|
|
18
26
|
|
|
19
27
|
Docs: https://shipscreens.com/tools/agent-cli/
|
|
28
|
+
|
|
29
|
+
## MCP server (stdio)
|
|
30
|
+
```bash
|
|
31
|
+
npx --yes shipscreens@latest mcp serve
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Claude Code local setup (.mcp.json)
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"shipscreens": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["--yes", "shipscreens@latest", "mcp", "serve"]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Windows users can force `npx` through `cmd /c`:
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"mcpServers": {
|
|
50
|
+
"shipscreens": {
|
|
51
|
+
"command": "cmd",
|
|
52
|
+
"args": ["/c", "npx", "--yes", "shipscreens@latest", "mcp", "serve"]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
package/bin/shipscreens.js
CHANGED
|
@@ -18,6 +18,7 @@ import { runWizard } from '../cli/commands/wizard.js';
|
|
|
18
18
|
import { runCopyImport } from '../cli/commands/copyImport.js';
|
|
19
19
|
import { resolveCliAuth } from '../cli/auth.js';
|
|
20
20
|
import { listTemplateIds, resolveTemplateConfig } from '../cli/templateConfig.js';
|
|
21
|
+
import { runMcpServer } from '../cli/mcpServer.js';
|
|
21
22
|
import { loadShipScreensConfig } from '../cli/loadConfig.js';
|
|
22
23
|
import { collectAssetReferences } from '../cli/assetRefs.js';
|
|
23
24
|
import {
|
|
@@ -49,6 +50,7 @@ Usage:
|
|
|
49
50
|
shipscreens plan [-c shipscreens.config.yml] [--out <dir>] [--zip-out <path>] [--profile appstore|playstore|any] [--json]
|
|
50
51
|
shipscreens copy import [-c shipscreens.config.yml] [--csv <path>] [--import-mode merge|replace]
|
|
51
52
|
shipscreens auth <login|finish|status|logout> [--domain <cognito-domain>] [--client-id <id>] [--api-base <url>] [--port <port>] [--manual] [--redirect-url <url>]
|
|
53
|
+
shipscreens mcp serve
|
|
52
54
|
|
|
53
55
|
Commands:
|
|
54
56
|
init Create a starter config + placeholder PNGs + copy.csv
|
|
@@ -66,6 +68,7 @@ Commands:
|
|
|
66
68
|
plan Print a deterministic build/stage plan (JSON)
|
|
67
69
|
copy Import locale copy from copy.csv into shipscreens.config.yml
|
|
68
70
|
auth Manage CLI sign-in (required to remove watermarks in CLI exports)
|
|
71
|
+
mcp Start a stdio MCP server that exposes ShipScreens tools
|
|
69
72
|
|
|
70
73
|
Options:
|
|
71
74
|
-c, --config <path> Path to shipscreens.config.yml (default: ./shipscreens.config.yml)
|
|
@@ -105,6 +108,9 @@ Quickstart (no browser):
|
|
|
105
108
|
shipscreens wizard
|
|
106
109
|
shipscreens build --mode raw --zip --out out
|
|
107
110
|
shipscreens verify --out out --zip --profile appstore
|
|
111
|
+
|
|
112
|
+
MCP quickstart:
|
|
113
|
+
shipscreens mcp serve
|
|
108
114
|
`);
|
|
109
115
|
}
|
|
110
116
|
|
|
@@ -184,7 +190,6 @@ async function loadDemoScreenPngs() {
|
|
|
184
190
|
|
|
185
191
|
const buffers = [];
|
|
186
192
|
for (const name of pngNames) {
|
|
187
|
-
// eslint-disable-next-line no-await-in-loop
|
|
188
193
|
buffers.push(await fs.readFile(path.join(DEMO_SCREENS_DIR, name)));
|
|
189
194
|
}
|
|
190
195
|
return buffers;
|
|
@@ -338,6 +343,15 @@ async function main() {
|
|
|
338
343
|
return;
|
|
339
344
|
}
|
|
340
345
|
|
|
346
|
+
if (command === 'mcp') {
|
|
347
|
+
const subcommand = positionals[1] || 'serve';
|
|
348
|
+
if (subcommand !== 'serve') {
|
|
349
|
+
throw new Error(`Unknown mcp command: ${subcommand}`);
|
|
350
|
+
}
|
|
351
|
+
await runMcpServer();
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
|
|
341
355
|
if (command === 'wizard') {
|
|
342
356
|
const stylePreset = resolveStylePreset({ styleFlag: values.style, templateFlag: values.template });
|
|
343
357
|
const result = await runWizard({
|
package/cli/commands/build.js
CHANGED
|
@@ -224,12 +224,13 @@ export async function runBuild({
|
|
|
224
224
|
|
|
225
225
|
let chromium;
|
|
226
226
|
try {
|
|
227
|
-
({ chromium } = await import('playwright-
|
|
227
|
+
({ chromium } = await import('playwright-core'));
|
|
228
228
|
} catch (err) {
|
|
229
229
|
await closeServer();
|
|
230
230
|
throw new Error(
|
|
231
|
-
`Playwright
|
|
232
|
-
`Install
|
|
231
|
+
`Playwright is required for rendered builds.\n` +
|
|
232
|
+
`Install Chromium once (or use --mode raw):\n` +
|
|
233
|
+
` npx playwright install --with-deps chromium\n` +
|
|
233
234
|
`${err?.message || String(err)}`
|
|
234
235
|
);
|
|
235
236
|
}
|
|
@@ -240,7 +241,21 @@ export async function runBuild({
|
|
|
240
241
|
|
|
241
242
|
let browser = null;
|
|
242
243
|
try {
|
|
243
|
-
|
|
244
|
+
try {
|
|
245
|
+
browser = await chromium.launch({ headless: true });
|
|
246
|
+
} catch (err) {
|
|
247
|
+
const msg = err?.message || String(err);
|
|
248
|
+
if (msg.includes("Executable doesn't exist") || msg.includes('playwright install')) {
|
|
249
|
+
throw new Error(
|
|
250
|
+
`Playwright Chromium is not installed on this machine.\n` +
|
|
251
|
+
`Run:\n` +
|
|
252
|
+
` npx playwright install --with-deps chromium\n` +
|
|
253
|
+
`Then rerun shipscreens build.\n` +
|
|
254
|
+
msg
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
throw err;
|
|
258
|
+
}
|
|
244
259
|
const context = await browser.newContext({
|
|
245
260
|
acceptDownloads: true,
|
|
246
261
|
viewport: { width: 1400, height: 900 },
|