shipscreens 0.1.2 → 0.1.4
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 +49 -0
- package/bin/shipscreens.js +15 -1
- package/cli/commands/build.js +19 -4
- package/cli/mcpServer.js +573 -0
- package/dist/.well-known/ai-agents.json +88 -0
- package/dist/.well-known/llms-full.txt +150 -0
- package/dist/.well-known/llms.txt +57 -0
- package/dist/.well-known/mcp-server.json +40 -0
- package/dist/ai-agents.json +88 -0
- package/dist/app/assets/AgentCli-DNTDYBbk.js +17 -0
- package/dist/app/assets/AgentCli-DNTDYBbk.js.map +1 -0
- package/dist/app/assets/App-BwQ1zI7a.css +1 -0
- package/dist/app/assets/App-DPi9LW-y.js +13 -0
- package/dist/app/assets/App-DPi9LW-y.js.map +1 -0
- package/dist/app/assets/AppReviewAso-BUTGLatx.js +4 -0
- package/dist/app/assets/AppReviewAso-BUTGLatx.js.map +1 -0
- package/dist/app/assets/{Cancelled-66ixTUrm.js → Cancelled-BeS-WlPj.js} +2 -2
- package/dist/app/assets/{Cancelled-66ixTUrm.js.map → Cancelled-BeS-WlPj.js.map} +1 -1
- package/dist/app/assets/CopyButton-BZQEBHBq.js +2 -0
- package/dist/app/assets/CopyButton-BZQEBHBq.js.map +1 -0
- package/dist/app/assets/FastlaneScreenshots-Dn7jfpuz.js +52 -0
- package/dist/app/assets/FastlaneScreenshots-Dn7jfpuz.js.map +1 -0
- package/dist/app/assets/FirstExport-CzioMqbJ.js +6 -0
- package/dist/app/assets/FirstExport-CzioMqbJ.js.map +1 -0
- package/dist/app/assets/FitPanel-DzYzTMEi.js +2 -0
- package/dist/app/assets/FitPanel-DzYzTMEi.js.map +1 -0
- package/dist/app/assets/FivePanelFramework-Bt5-NjCV.js +62 -0
- package/dist/app/assets/FivePanelFramework-Bt5-NjCV.js.map +1 -0
- package/dist/{assets/ForgotPassword-B9_si1tH.js → app/assets/ForgotPassword-DuHNHuUe.js} +2 -2
- package/dist/app/assets/{ForgotPassword-B9_si1tH.js.map → ForgotPassword-DuHNHuUe.js.map} +1 -1
- package/dist/app/assets/Landing-DB9pTPoT.js +2 -0
- package/dist/app/assets/Landing-DB9pTPoT.js.map +1 -0
- package/dist/app/assets/{LanguageSwitcher-BD9N-dla.js → LanguageSwitcher-CfUhVVuT.js} +2 -2
- package/dist/{assets/LanguageSwitcher-BD9N-dla.js.map → app/assets/LanguageSwitcher-CfUhVVuT.js.map} +1 -1
- package/dist/app/assets/{Legal-D3cAXQXw.js → Legal-p-YIX5Jv.js} +2 -2
- package/dist/app/assets/{Legal-D3cAXQXw.js.map → Legal-p-YIX5Jv.js.map} +1 -1
- package/dist/app/assets/{NotFound-ClV-6RmP.js → NotFound-XohZYy7w.js} +2 -2
- package/dist/app/assets/{NotFound-ClV-6RmP.js.map → NotFound-XohZYy7w.js.map} +1 -1
- package/dist/app/assets/Pricing-CxCutpT0.js +2 -0
- package/dist/app/assets/Pricing-CxCutpT0.js.map +1 -0
- package/dist/app/assets/{Privacy-DfxgWwC3.js → Privacy-D8m3h6P-.js} +2 -2
- package/dist/{assets/Privacy-DfxgWwC3.js.map → app/assets/Privacy-D8m3h6P-.js.map} +1 -1
- package/dist/app/assets/{SignIn-ghQCKcPe.js → SignIn-CINUig91.js} +2 -2
- package/dist/app/assets/{SignIn-ghQCKcPe.js.map → SignIn-CINUig91.js.map} +1 -1
- package/dist/{assets/SignUp-BKB87hd4.js → app/assets/SignUp-B1H6dQgE.js} +2 -2
- package/dist/{assets/SignUp-BKB87hd4.js.map → app/assets/SignUp-B1H6dQgE.js.map} +1 -1
- package/dist/app/assets/SiteHeader-BGQW06JF.js +2 -0
- package/dist/app/assets/SiteHeader-BGQW06JF.js.map +1 -0
- package/dist/app/assets/StickyMobileCta-C41cW-Ji.js +2 -0
- package/dist/app/assets/StickyMobileCta-C41cW-Ji.js.map +1 -0
- package/dist/app/assets/StoreAssetsPipeline-bUVDqZAU.js +6 -0
- package/dist/app/assets/StoreAssetsPipeline-bUVDqZAU.js.map +1 -0
- package/dist/app/assets/{Success-819qvzmp.js → Success-CMpdlLi2.js} +2 -2
- package/dist/app/assets/{Success-819qvzmp.js.map → Success-CMpdlLi2.js.map} +1 -1
- package/dist/app/assets/{Terms-7k3nA4SU.js → Terms-C8NcE4sw.js} +2 -2
- package/dist/app/assets/{Terms-7k3nA4SU.js.map → Terms-C8NcE4sw.js.map} +1 -1
- package/dist/app/assets/ToolGuardrailsPanel-DbjLhdX8.js +2 -0
- package/dist/app/assets/ToolGuardrailsPanel-DbjLhdX8.js.map +1 -0
- package/dist/app/assets/ToolsIndex-BuZSvoBC.js +6 -0
- package/dist/app/assets/ToolsIndex-BuZSvoBC.js.map +1 -0
- package/dist/app/assets/WorkloadCalculator-CjdG5TVq.js +5 -0
- package/dist/app/assets/WorkloadCalculator-CjdG5TVq.js.map +1 -0
- package/dist/app/assets/{calculator-CiqKFdRp.js → calculator-_D64kDDH.js} +2 -2
- package/dist/app/assets/{calculator-CiqKFdRp.js.map → calculator-_D64kDDH.js.map} +1 -1
- package/dist/app/assets/check-BaiZ7vYg.js +2 -0
- package/dist/app/assets/check-BaiZ7vYg.js.map +1 -0
- package/dist/app/assets/chevron-down-DVRa-y8D.js +2 -0
- package/dist/app/assets/{chevron-down-_xIkRLaA.js.map → chevron-down-DVRa-y8D.js.map} +1 -1
- package/dist/app/assets/circle-check-reAyVfkP.js +2 -0
- package/dist/app/assets/circle-check-reAyVfkP.js.map +1 -0
- package/dist/app/assets/{clipboard-copy-DCJioqIc.js → clipboard-copy-BfB1mutp.js} +2 -2
- package/dist/app/assets/{clipboard-copy-DCJioqIc.js.map → clipboard-copy-BfB1mutp.js.map} +1 -1
- package/dist/app/assets/{copy-AQdWJCcs.js → copy-B9y2mtjd.js} +2 -2
- package/dist/app/assets/{copy-AQdWJCcs.js.map → copy-B9y2mtjd.js.map} +1 -1
- package/dist/app/assets/{crop-DOMVp18h.js → crop-2_j5MtOq.js} +2 -2
- package/dist/app/assets/{crop-DOMVp18h.js.map → crop-2_j5MtOq.js.map} +1 -1
- package/dist/app/assets/{download-D5RbyXDm.js → download-CqEtEEpe.js} +2 -2
- package/dist/app/assets/{download-D5RbyXDm.js.map → download-CqEtEEpe.js.map} +1 -1
- package/dist/app/assets/{eye-CLcZi_uk.js → eye-B1LPDhW7.js} +2 -2
- package/dist/app/assets/{eye-CLcZi_uk.js.map → eye-B1LPDhW7.js.map} +1 -1
- package/dist/app/assets/folder-tree-CnF1eSpg.js +2 -0
- package/dist/app/assets/folder-tree-CnF1eSpg.js.map +1 -0
- package/dist/app/assets/{grid-3x3-AKmIrhzv.js → grid-3x3-BB0TBwXQ.js} +2 -2
- package/dist/{assets/grid-3x3-AKmIrhzv.js.map → app/assets/grid-3x3-BB0TBwXQ.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-Bffw9flM.js +180 -0
- package/dist/app/assets/index-Bffw9flM.js.map +1 -0
- package/dist/app/assets/index-CQecHUcy.css +1 -0
- package/dist/app/assets/{layout-grid-CpGXUPMR.js → layout-grid-DbSzm5KY.js} +2 -2
- package/dist/app/assets/{layout-grid-CpGXUPMR.js.map → layout-grid-DbSzm5KY.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-d1Ntm8ge.js} +2 -2
- package/dist/app/assets/{rocket-IzRFv1aW.js.map → rocket-d1Ntm8ge.js.map} +1 -1
- package/dist/app/assets/{shield-check-CngdN3zn.js → shield-check-DXqKmrPT.js} +2 -2
- package/dist/app/assets/{shield-check-CngdN3zn.js.map → shield-check-DXqKmrPT.js.map} +1 -1
- package/dist/app/assets/{signIn-Cn6FaQYi.js → signIn-D-eCUhFT.js} +2 -2
- package/dist/{assets/signIn-Cn6FaQYi.js.map → app/assets/signIn-D-eCUhFT.js.map} +1 -1
- package/dist/app/assets/{smartphone-CpNG_Pfk.js → smartphone-Cjrk_YxV.js} +2 -2
- package/dist/app/assets/{smartphone-CpNG_Pfk.js.map → smartphone-Cjrk_YxV.js.map} +1 -1
- package/dist/app/assets/{terminal-BbBESfoU.js → terminal-CT_KE008.js} +2 -2
- package/dist/{assets/terminal-BbBESfoU.js.map → app/assets/terminal-CT_KE008.js.map} +1 -1
- package/dist/{assets/useAuth-3WWZ3GCD.js → app/assets/useAuth-ctmUbyCR.js} +2 -2
- package/dist/app/assets/{useAuth-3WWZ3GCD.js.map → useAuth-ctmUbyCR.js.map} +1 -1
- package/dist/app/index.html +6 -2
- package/dist/assets/AgentCli-DNTDYBbk.js +17 -0
- package/dist/assets/AgentCli-DNTDYBbk.js.map +1 -0
- package/dist/assets/App-BwQ1zI7a.css +1 -0
- package/dist/assets/App-DPi9LW-y.js +13 -0
- package/dist/assets/App-DPi9LW-y.js.map +1 -0
- package/dist/assets/AppReviewAso-BUTGLatx.js +4 -0
- package/dist/assets/AppReviewAso-BUTGLatx.js.map +1 -0
- package/dist/assets/{Cancelled-66ixTUrm.js → Cancelled-BeS-WlPj.js} +2 -2
- package/dist/assets/{Cancelled-66ixTUrm.js.map → Cancelled-BeS-WlPj.js.map} +1 -1
- package/dist/assets/CopyButton-BZQEBHBq.js +2 -0
- package/dist/assets/CopyButton-BZQEBHBq.js.map +1 -0
- package/dist/assets/FastlaneScreenshots-Dn7jfpuz.js +52 -0
- package/dist/assets/FastlaneScreenshots-Dn7jfpuz.js.map +1 -0
- package/dist/assets/FirstExport-CzioMqbJ.js +6 -0
- package/dist/assets/FirstExport-CzioMqbJ.js.map +1 -0
- package/dist/assets/FitPanel-DzYzTMEi.js +2 -0
- package/dist/assets/FitPanel-DzYzTMEi.js.map +1 -0
- package/dist/assets/FivePanelFramework-Bt5-NjCV.js +62 -0
- package/dist/assets/FivePanelFramework-Bt5-NjCV.js.map +1 -0
- package/dist/{app/assets/ForgotPassword-B9_si1tH.js → assets/ForgotPassword-DuHNHuUe.js} +2 -2
- package/dist/assets/{ForgotPassword-B9_si1tH.js.map → ForgotPassword-DuHNHuUe.js.map} +1 -1
- package/dist/assets/Landing-DB9pTPoT.js +2 -0
- package/dist/assets/Landing-DB9pTPoT.js.map +1 -0
- package/dist/assets/{LanguageSwitcher-BD9N-dla.js → LanguageSwitcher-CfUhVVuT.js} +2 -2
- package/dist/{app/assets/LanguageSwitcher-BD9N-dla.js.map → assets/LanguageSwitcher-CfUhVVuT.js.map} +1 -1
- package/dist/assets/{Legal-D3cAXQXw.js → Legal-p-YIX5Jv.js} +2 -2
- package/dist/assets/{Legal-D3cAXQXw.js.map → Legal-p-YIX5Jv.js.map} +1 -1
- package/dist/assets/{NotFound-ClV-6RmP.js → NotFound-XohZYy7w.js} +2 -2
- package/dist/assets/{NotFound-ClV-6RmP.js.map → NotFound-XohZYy7w.js.map} +1 -1
- package/dist/assets/Pricing-CxCutpT0.js +2 -0
- package/dist/assets/Pricing-CxCutpT0.js.map +1 -0
- package/dist/assets/{Privacy-DfxgWwC3.js → Privacy-D8m3h6P-.js} +2 -2
- package/dist/{app/assets/Privacy-DfxgWwC3.js.map → assets/Privacy-D8m3h6P-.js.map} +1 -1
- package/dist/assets/{SignIn-ghQCKcPe.js → SignIn-CINUig91.js} +2 -2
- package/dist/assets/{SignIn-ghQCKcPe.js.map → SignIn-CINUig91.js.map} +1 -1
- package/dist/{app/assets/SignUp-BKB87hd4.js → assets/SignUp-B1H6dQgE.js} +2 -2
- package/dist/{app/assets/SignUp-BKB87hd4.js.map → assets/SignUp-B1H6dQgE.js.map} +1 -1
- package/dist/assets/SiteHeader-BGQW06JF.js +2 -0
- package/dist/assets/SiteHeader-BGQW06JF.js.map +1 -0
- package/dist/assets/StickyMobileCta-C41cW-Ji.js +2 -0
- package/dist/assets/StickyMobileCta-C41cW-Ji.js.map +1 -0
- package/dist/assets/StoreAssetsPipeline-bUVDqZAU.js +6 -0
- package/dist/assets/StoreAssetsPipeline-bUVDqZAU.js.map +1 -0
- package/dist/assets/{Success-819qvzmp.js → Success-CMpdlLi2.js} +2 -2
- package/dist/assets/{Success-819qvzmp.js.map → Success-CMpdlLi2.js.map} +1 -1
- package/dist/assets/{Terms-7k3nA4SU.js → Terms-C8NcE4sw.js} +2 -2
- package/dist/assets/{Terms-7k3nA4SU.js.map → Terms-C8NcE4sw.js.map} +1 -1
- package/dist/assets/ToolGuardrailsPanel-DbjLhdX8.js +2 -0
- package/dist/assets/ToolGuardrailsPanel-DbjLhdX8.js.map +1 -0
- package/dist/assets/ToolsIndex-BuZSvoBC.js +6 -0
- package/dist/assets/ToolsIndex-BuZSvoBC.js.map +1 -0
- package/dist/assets/WorkloadCalculator-CjdG5TVq.js +5 -0
- package/dist/assets/WorkloadCalculator-CjdG5TVq.js.map +1 -0
- package/dist/assets/{calculator-CiqKFdRp.js → calculator-_D64kDDH.js} +2 -2
- package/dist/assets/{calculator-CiqKFdRp.js.map → calculator-_D64kDDH.js.map} +1 -1
- package/dist/assets/check-BaiZ7vYg.js +2 -0
- package/dist/assets/check-BaiZ7vYg.js.map +1 -0
- package/dist/assets/chevron-down-DVRa-y8D.js +2 -0
- package/dist/assets/{chevron-down-_xIkRLaA.js.map → chevron-down-DVRa-y8D.js.map} +1 -1
- package/dist/assets/circle-check-reAyVfkP.js +2 -0
- package/dist/assets/circle-check-reAyVfkP.js.map +1 -0
- package/dist/assets/{clipboard-copy-DCJioqIc.js → clipboard-copy-BfB1mutp.js} +2 -2
- package/dist/assets/{clipboard-copy-DCJioqIc.js.map → clipboard-copy-BfB1mutp.js.map} +1 -1
- package/dist/assets/{copy-AQdWJCcs.js → copy-B9y2mtjd.js} +2 -2
- package/dist/assets/{copy-AQdWJCcs.js.map → copy-B9y2mtjd.js.map} +1 -1
- package/dist/assets/{crop-DOMVp18h.js → crop-2_j5MtOq.js} +2 -2
- package/dist/assets/{crop-DOMVp18h.js.map → crop-2_j5MtOq.js.map} +1 -1
- package/dist/assets/{download-D5RbyXDm.js → download-CqEtEEpe.js} +2 -2
- package/dist/assets/{download-D5RbyXDm.js.map → download-CqEtEEpe.js.map} +1 -1
- package/dist/assets/{eye-CLcZi_uk.js → eye-B1LPDhW7.js} +2 -2
- package/dist/assets/{eye-CLcZi_uk.js.map → eye-B1LPDhW7.js.map} +1 -1
- package/dist/assets/folder-tree-CnF1eSpg.js +2 -0
- package/dist/assets/folder-tree-CnF1eSpg.js.map +1 -0
- package/dist/assets/{grid-3x3-AKmIrhzv.js → grid-3x3-BB0TBwXQ.js} +2 -2
- package/dist/{app/assets/grid-3x3-AKmIrhzv.js.map → assets/grid-3x3-BB0TBwXQ.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-Bffw9flM.js +180 -0
- package/dist/assets/index-Bffw9flM.js.map +1 -0
- package/dist/assets/index-CQecHUcy.css +1 -0
- package/dist/assets/{layout-grid-CpGXUPMR.js → layout-grid-DbSzm5KY.js} +2 -2
- package/dist/assets/{layout-grid-CpGXUPMR.js.map → layout-grid-DbSzm5KY.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-d1Ntm8ge.js} +2 -2
- package/dist/assets/{rocket-IzRFv1aW.js.map → rocket-d1Ntm8ge.js.map} +1 -1
- package/dist/assets/{shield-check-CngdN3zn.js → shield-check-DXqKmrPT.js} +2 -2
- package/dist/assets/{shield-check-CngdN3zn.js.map → shield-check-DXqKmrPT.js.map} +1 -1
- package/dist/assets/{signIn-Cn6FaQYi.js → signIn-D-eCUhFT.js} +2 -2
- package/dist/{app/assets/signIn-Cn6FaQYi.js.map → assets/signIn-D-eCUhFT.js.map} +1 -1
- package/dist/assets/{smartphone-CpNG_Pfk.js → smartphone-Cjrk_YxV.js} +2 -2
- package/dist/assets/{smartphone-CpNG_Pfk.js.map → smartphone-Cjrk_YxV.js.map} +1 -1
- package/dist/assets/{terminal-BbBESfoU.js → terminal-CT_KE008.js} +2 -2
- package/dist/{app/assets/terminal-BbBESfoU.js.map → assets/terminal-CT_KE008.js.map} +1 -1
- package/dist/{app/assets/useAuth-3WWZ3GCD.js → assets/useAuth-ctmUbyCR.js} +2 -2
- package/dist/assets/{useAuth-3WWZ3GCD.js.map → useAuth-ctmUbyCR.js.map} +1 -1
- package/dist/cancelled/index.html +6 -2
- package/dist/forgot-password/index.html +6 -2
- package/dist/index.html +6 -2
- package/dist/legal/index.html +6 -2
- package/dist/llms-full.txt +150 -0
- package/dist/llms.txt +57 -0
- package/dist/mcp-server.json +40 -0
- package/dist/pricing/index.html +37 -0
- package/dist/privacy/index.html +6 -2
- package/dist/robots.txt +8 -0
- package/dist/signin/index.html +6 -2
- package/dist/signup/index.html +6 -2
- package/dist/sitemap.xml +40 -0
- package/dist/success/index.html +6 -2
- package/dist/terms/index.html +6 -2
- package/dist/tools/5-panel-screenshot-framework/index.html +6 -2
- package/dist/tools/agent-cli/index.html +14 -8
- package/dist/tools/app-review-aso/index.html +6 -2
- package/dist/tools/fastlane-screenshots/index.html +6 -2
- package/dist/tools/first-export/index.html +6 -2
- package/dist/tools/index.html +6 -2
- package/dist/tools/screenshot-workload-calculator/index.html +6 -2
- package/dist/tools/store-assets-pipeline/index.html +6 -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 +0 -180
- 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 +0 -180
- 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,44 @@ 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
|
+
```
|
|
57
|
+
|
|
58
|
+
Gemini CLI setup (`~/.gemini/settings.json`):
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"mcpServers": {
|
|
62
|
+
"shipscreens": {
|
|
63
|
+
"command": "npx",
|
|
64
|
+
"args": ["--yes", "shipscreens@latest", "mcp", "serve"]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
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 },
|