create-disposabl-app 0.0.4 → 0.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/dist/index.js +490 -105
- package/dist/templates/default/LICENSE +21 -0
- package/dist/templates/default/apps/blog/package.json +1 -0
- package/dist/templates/default/apps/changelog/package.json +1 -0
- package/dist/templates/default/apps/desktop/.oxfmtrc.json +5 -0
- package/dist/templates/default/apps/desktop/.oxlintrc.json +6 -0
- package/dist/templates/default/apps/desktop/README.md +58 -0
- package/dist/templates/default/apps/desktop/forge.config.mts +90 -0
- package/dist/templates/default/apps/desktop/index.html +12 -0
- package/dist/templates/default/apps/desktop/package.json +55 -0
- package/dist/templates/default/apps/desktop/src/declarations.d.ts +2 -0
- package/dist/templates/default/apps/desktop/src/index.css +8 -0
- package/dist/templates/default/apps/desktop/src/main.ts +58 -0
- package/dist/templates/default/apps/desktop/src/preload.ts +3 -0
- package/dist/templates/default/apps/desktop/src/renderer.ts +19 -0
- package/dist/templates/default/apps/desktop/tsconfig.json +14 -0
- package/dist/templates/default/apps/desktop/vite.main.config.mts +4 -0
- package/dist/templates/default/apps/desktop/vite.preload.config.mts +4 -0
- package/dist/templates/default/apps/desktop/vite.renderer.config.mts +4 -0
- package/dist/templates/default/apps/docs/package.json +1 -0
- package/dist/templates/default/apps/mobile/.agents/skills/agent-device/SKILL.md +22 -0
- package/dist/templates/default/apps/mobile/.agents/skills/android-emulator/SKILL.md +32 -0
- package/dist/templates/default/apps/mobile/.agents/skills/dogfood/SKILL.md +27 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/SKILL.md +176 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/app-store-metadata.md +497 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/ios-app-store.md +376 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/native-ios.md +167 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/play-store.md +244 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/testflight.md +62 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/workflows.md +120 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-hosting/SKILL.md +431 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-hosting/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/SKILL.md +46 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/metrics.md +98 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/queries.md +444 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/setup.md +529 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/third-party.md +136 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/SKILL.md +237 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/controllers.md +139 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/logs-and-crashes.md +101 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/run-your-app.md +256 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/troubleshooting.md +56 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-update/SKILL.md +146 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-update/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/SKILL.md +238 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/references/update-insights-schema.md +69 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/SKILL.md +99 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/scripts/fetch.js +109 -0
- package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/scripts/package.json +6 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/LICENSE +21 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/RECIPES.md +385 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/SKILL.md +274 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-app-clip/SKILL.md +290 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-app-clip/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-app-clip/references/native-module.md +96 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/SKILL.md +69 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/brownfield-integrated.md +551 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/brownfield-isolated.md +449 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/comparison.md +63 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/feature-integration.md +163 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/troubleshooting.md +88 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/version-compatibility.md +40 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/SKILL.md +478 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/references/expo-router-loaders.md +341 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/references/offline-and-cancellation.md +68 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/SKILL.md +376 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/references/audit.md +190 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/references/native-slop.md +74 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-dev-client/SKILL.md +184 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-dev-client/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-dom/SKILL.md +425 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-dom/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-examples/SKILL.md +106 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-examples/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-examples/references/catalog.md +105 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/SKILL.md +124 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/references/compatibility.md +130 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/references/example.md +212 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/references/migration-map.md +457 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/SKILL.md +151 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/config-plugin.md +90 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/create-expo-module.md +206 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/lifecycle.md +127 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/module-config.md +48 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/native-module.md +286 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/native-view.md +171 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/SKILL.md +201 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/controls.md +231 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/gradients.md +106 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/icons.md +232 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/media.md +193 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/storage.md +121 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/visual-effects.md +198 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/webgpu-three.md +605 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-overview/SKILL.md +120 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-overview/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-overview/references/launch-without-dev-menu.md +24 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-project-structure/SKILL.md +114 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-project-structure/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/SKILL.md +240 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/form-sheet.md +253 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/route-structure.md +229 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/search.md +248 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/tabs.md +433 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/toolbar-and-headers.md +284 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/zoom-transitions.md +158 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/SKILL.md +314 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/agents/visual-grader.md +52 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/references/design-rubric.md +45 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/references/runtime-matrix.md +34 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/check-static.sh +64 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/clean-fixture.sh +56 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/generate_viewer.py +450 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/latest-sdk.sh +46 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/make-fixture.sh +95 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/make-workspace.sh +31 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/snapshot-android.sh +284 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/snapshot-ios.sh +132 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/snapshot-web.sh +61 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/SKILL.md +101 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/drop-in-replacements.md +27 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/jetpack-compose.md +73 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/swift-ui.md +73 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/universal.md +104 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/scripts/list-components.js +193 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/SKILL.md +150 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/expo-av-to-audio.md +132 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/expo-av-to-video.md +160 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/native-tabs.md +124 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/new-architecture.md +79 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/react-19.md +79 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/react-compiler.md +59 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/react-navigation-to-expo-router.md +61 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/SKILL.md +91 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/false-friends.md +119 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/native-patterns.md +39 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/run-as-goal.md +48 -0
- package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/verify-on-device.md +45 -0
- package/dist/templates/default/apps/mobile/.agents/skills/ios-simulator/SKILL.md +32 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/POWER.md +172 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/SKILL.md +238 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/agents/openai.yaml +4 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-analyze-app.md +208 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-analyze-js.md +264 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-barrel-exports.md +250 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-code-splitting.md +255 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-hermes-mmap.md +167 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-library-size.md +164 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-native-assets.md +208 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-r8-android.md +231 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-tree-shaking.md +215 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/bundle-treemap-source-map-explorer.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/controlled-textinput-pingpong.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/devtools-flamegraph.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/emerge-xray-ios.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/expo-atlas-treemap.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/flashlight-flatlist-vs-flashlist.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/fps-drop-graph.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/memory-heap-snapshot.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/tti-warm-start-diagram.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/view-hierarchy-flattening.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/xcode-instruments-templates.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/xcode-thread-view.png +0 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-animations-reanimated.md +273 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-atomic-state.md +190 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-bottomsheet.md +339 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-concurrent-react.md +238 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-lists-flatlist-flashlist.md +223 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-measure-fps.md +178 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-memory-leaks.md +168 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-profile-react.md +138 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-react-compiler.md +261 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-uncontrolled-components.md +219 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-android-16kb-alignment.md +114 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-measure-tti.md +221 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-memory-leaks.md +206 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-memory-patterns.md +240 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-platform-setup.md +112 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-profiling.md +140 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-sdks-over-polyfills.md +192 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-threading-model.md +230 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-turbo-modules.md +210 -0
- package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-view-flattening.md +180 -0
- package/dist/templates/default/apps/mobile/AGENTS.md +41 -0
- package/dist/templates/default/apps/mobile/app.json +38 -0
- package/dist/templates/default/apps/mobile/assets/expo.icon/Assets/expo-symbol 2.svg +3 -0
- package/dist/templates/default/apps/mobile/assets/expo.icon/Assets/grid.png +0 -0
- package/dist/templates/default/apps/mobile/assets/expo.icon/icon.json +40 -0
- package/dist/templates/default/apps/mobile/assets/images/android-icon-background.png +0 -0
- package/dist/templates/default/apps/mobile/assets/images/android-icon-foreground.png +0 -0
- package/dist/templates/default/apps/mobile/assets/images/android-icon-monochrome.png +0 -0
- package/dist/templates/default/apps/mobile/assets/images/icon.png +0 -0
- package/dist/templates/default/apps/mobile/assets/images/splash-icon.png +0 -0
- package/dist/templates/default/apps/mobile/eslint.config.js +10 -0
- package/dist/templates/default/apps/mobile/package.json +43 -0
- package/dist/templates/default/apps/mobile/skills-lock.json +185 -0
- package/dist/templates/default/apps/mobile/src/app/_layout.tsx +5 -0
- package/dist/templates/default/apps/mobile/src/app/index.tsx +17 -0
- package/dist/templates/default/apps/mobile/tsconfig.json +20 -0
- package/dist/templates/default/apps/web/.agents/skills/frontend-design/SKILL.md +71 -0
- package/dist/templates/default/apps/web/.agents/skills/web-design-guidelines/SKILL.md +39 -0
- package/dist/templates/default/apps/web/.env.example +3 -0
- package/dist/templates/default/apps/web/components.json +23 -0
- package/dist/templates/default/apps/web/eslint.config.ts +21 -0
- package/dist/templates/default/apps/web/package.json +39 -0
- package/dist/templates/default/apps/web/public/disposabl-logo.svg +8 -0
- package/dist/templates/default/apps/web/public/favicon.ico +0 -0
- package/dist/templates/default/apps/web/public/manifest.json +25 -0
- package/dist/templates/default/apps/web/skills-lock.json +17 -0
- package/dist/templates/default/apps/web/src/index.css +92 -0
- package/dist/templates/default/apps/web/src/routeTree.gen.ts +282 -0
- package/dist/templates/default/apps/web/src/router/__root.tsx +63 -0
- package/dist/templates/default/apps/web/src/router/_authenticated/dashboard.tsx +9 -0
- package/dist/templates/default/apps/web/src/router/_authenticated/todos/$id.tsx +27 -0
- package/dist/templates/default/apps/web/src/router/_authenticated/todos/index.tsx +33 -0
- package/dist/templates/default/apps/web/src/router/index.tsx +15 -0
- package/dist/templates/default/apps/web/src/router.tsx +20 -0
- package/dist/templates/default/apps/web/tsconfig.json +33 -0
- package/dist/templates/default/apps/web/tsr.config.json +6 -0
- package/dist/templates/default/apps/web/vite.config.ts +67 -0
- package/dist/templates/default/bun.lock +3932 -0
- package/dist/templates/default/bunfig.toml +5 -0
- package/dist/templates/default/disposabl.json +5 -0
- package/dist/templates/default/gitignore +10 -0
- package/dist/templates/default/package.json +31 -10
- package/dist/templates/default/packages/backend/.agents/skills/convex/SKILL.md +69 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-add/SKILL.md +26 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-advisor/SKILL.md +32 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-agent/SKILL.md +25 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-auth/SKILL.md +29 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-authz/SKILL.md +36 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-backup/SKILL.md +33 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-billing/SKILL.md +69 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-cost/SKILL.md +29 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/SKILL.md +325 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/agents/openai.yaml +14 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/assets/icon.svg +3 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/advanced-patterns.md +146 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/hybrid-components.md +38 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/local-components.md +39 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/packaged-components.md +54 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-crons/SKILL.md +23 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-deploy-guard/SKILL.md +29 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-design/SKILL.md +30 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-docs/SKILL.md +31 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-domains/SKILL.md +26 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-env/SKILL.md +24 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-expert/SKILL.md +38 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-explain-app/SKILL.md +29 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-improve-convex-plugin/SKILL.md +24 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-insights/SKILL.md +32 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-launch-readiness/SKILL.md +35 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-migrate/SKILL.md +23 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-migrate-rehearse/SKILL.md +31 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-monitor/SKILL.md +22 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-optimize/SKILL.md +26 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-quickstart/SKILL.md +29 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-quickstart/agents/openai.yaml +14 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-quickstart/assets/icon.svg +4 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-reviewer/SKILL.md +26 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-seed/SKILL.md +23 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-self-heal/SKILL.md +38 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-sentinel/SKILL.md +25 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-suggest/SKILL.md +27 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-test/SKILL.md +23 -0
- package/dist/templates/default/packages/backend/.agents/skills/convex-verify/SKILL.md +34 -0
- package/dist/templates/default/packages/backend/.prettierignore +4 -0
- package/dist/templates/default/packages/backend/AGENTS.md +18 -0
- package/dist/templates/default/packages/backend/CLAUDE.md +13 -0
- package/dist/templates/default/packages/backend/README.md +25 -0
- package/dist/templates/default/packages/backend/convex/_generated/ai/ai-files.state.json +6 -0
- package/dist/templates/default/packages/backend/convex/_generated/ai/guidelines.md +286 -0
- package/dist/templates/default/packages/backend/convex/_generated/api.d.ts +66 -0
- package/dist/templates/default/packages/backend/convex/_generated/api.js +23 -0
- package/dist/templates/default/packages/backend/convex/_generated/dataModel.d.ts +60 -0
- package/dist/templates/default/packages/backend/convex/_generated/server.d.ts +164 -0
- package/dist/templates/default/packages/backend/convex/_generated/server.js +101 -0
- package/dist/templates/default/packages/backend/convex/auth.config.ts +14 -0
- package/dist/templates/default/packages/backend/convex/auth.ts +15 -0
- package/dist/templates/default/packages/backend/convex/convex.config.ts +30 -0
- package/dist/templates/default/packages/backend/convex/http.ts +5 -0
- package/dist/templates/default/packages/backend/convex/mcp.ts +8 -0
- package/dist/templates/default/packages/backend/convex/schema.ts +10 -0
- package/dist/templates/default/packages/backend/convex/todos/index.ts +26 -0
- package/dist/templates/default/packages/backend/convex/todos/internal.ts +43 -0
- package/dist/templates/default/packages/backend/convex/tsconfig.json +27 -0
- package/dist/templates/default/packages/backend/convex/users.ts +20 -0
- package/dist/templates/default/packages/backend/eslint.config.mjs +62 -0
- package/dist/templates/default/packages/backend/package.json +36 -0
- package/dist/templates/default/packages/backend/skills-lock.json +203 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/accordion.tsx +77 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/alert-dialog.tsx +185 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/alert.tsx +75 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/aspect-ratio.tsx +22 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/attachment.tsx +207 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/avatar.tsx +106 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/badge.tsx +51 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/breadcrumb.tsx +121 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/bubble.tsx +127 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/button-group.tsx +87 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/button.tsx +57 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/calendar.tsx +241 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/card.tsx +102 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/carousel.tsx +239 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/chart.tsx +368 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/checkbox.tsx +27 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/code-block.tsx +243 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/collapsible.tsx +19 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/combobox.tsx +300 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/command.tsx +194 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/context-menu.tsx +271 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/dialog.tsx +156 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/direction.tsx +4 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/drawer.tsx +224 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/dropdown-menu.tsx +269 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/empty.tsx +103 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/field.tsx +236 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/hover-card.tsx +50 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/input-group.tsx +158 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/input-otp.tsx +83 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/input.tsx +19 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/item.tsx +201 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/kbd.tsx +26 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/label.tsx +19 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/marker.tsx +70 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/menubar.tsx +284 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/message-scroller.tsx +128 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/message.tsx +91 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/native-select.tsx +64 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/navigation-menu.tsx +170 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/pagination.tsx +133 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/popover.tsx +87 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/progress.tsx +82 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/questionnaire.tsx +330 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/radio-group.tsx +35 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/resizable.tsx +49 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/scroll-area.tsx +51 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/select.tsx +201 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/separator.tsx +22 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/sheet.tsx +132 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/sidebar.tsx +723 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/skeleton.tsx +13 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/slider.tsx +51 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/spinner.tsx +16 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/switch.tsx +31 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/table.tsx +113 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/tabs.tsx +81 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/textarea.tsx +17 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/toast.tsx +229 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/toggle-group.tsx +87 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/toggle.tsx +42 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/tooltip.tsx +65 -0
- package/dist/templates/default/packages/disposabl-kit/client/components/ui/trace.tsx +161 -0
- package/dist/templates/default/packages/disposabl-kit/client/hooks/use-mobile.ts +21 -0
- package/dist/templates/default/packages/disposabl-kit/client/lib/prerender.ts +89 -0
- package/dist/templates/default/packages/disposabl-kit/client/lib/return-to.ts +12 -0
- package/dist/templates/default/packages/disposabl-kit/client/lib/utils.ts +1 -0
- package/dist/templates/default/packages/disposabl-kit/client/routes/_auth-pages/login.tsx +114 -0
- package/dist/templates/default/packages/disposabl-kit/client/routes/_auth-pages/signUp.tsx +120 -0
- package/dist/templates/default/packages/disposabl-kit/client/routes/_authenticated/route.tsx +38 -0
- package/dist/templates/default/packages/disposabl-kit/client/routes/consent.tsx +137 -0
- package/dist/templates/default/packages/disposabl-kit/client/routes/route.tsx +30 -0
- package/dist/templates/default/packages/disposabl-kit/client/styles/globals.css +60 -0
- package/dist/templates/default/packages/disposabl-kit/client/vite.config.ts +32 -0
- package/dist/templates/default/packages/disposabl-kit/components.json +23 -0
- package/dist/templates/default/packages/disposabl-kit/eslint.config.js +21 -0
- package/dist/templates/default/packages/disposabl-kit/package.json +60 -0
- package/dist/templates/default/packages/disposabl-kit/server/http.ts +86 -0
- package/dist/templates/default/packages/disposabl-kit/server/lib/functions.ts +40 -0
- package/dist/templates/default/packages/disposabl-kit/server/lib/platforms.ts +20 -0
- package/dist/templates/default/packages/disposabl-kit/server/lib/static-routes.ts +56 -0
- package/dist/templates/default/packages/disposabl-kit/tsconfig.json +17 -0
- package/dist/templates/default/patches/@convex-dev%2Fauth@2.0.0-beta.0.patch +310 -0
- package/dist/templates/default/patches/@convex-dev%2Fstatic-hosting@0.2.1.patch +187 -0
- package/dist/templates/default/tsconfig.json +9 -0
- package/dist/templates/default/turbo.json +51 -0
- package/package.json +21 -5
- package/README.md +0 -34
- package/dist/templates/default/README.md +0 -12
- package/dist/templates/default/docs/index.html +0 -8
- package/dist/templates/default/eslint.config.js +0 -18
- package/dist/templates/default/index.ts +0 -14
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Desktop
|
|
2
|
+
|
|
3
|
+
Electron Forge with Vite and TypeScript, managed by the repository's Bun workspace.
|
|
4
|
+
Requires Bun 1.4.4 and Node.js 22.13 or newer.
|
|
5
|
+
|
|
6
|
+
Run these commands from the repository root:
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
bun install
|
|
10
|
+
bun run --cwd apps/desktop dev
|
|
11
|
+
bun run --cwd apps/desktop typecheck
|
|
12
|
+
bun run --cwd apps/desktop lint
|
|
13
|
+
bun run --cwd apps/desktop build
|
|
14
|
+
bun run --cwd apps/desktop make
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
`dev` opens the app with Vite hot reload. `build` packages the application into
|
|
18
|
+
`apps/desktop/out/`. `make` also creates distributables for the current platform.
|
|
19
|
+
The desktop app participates in the root Turbo tasks, so
|
|
20
|
+
`bun run dev --filter=desktop` also starts it.
|
|
21
|
+
|
|
22
|
+
Use the root `bun.lock`; do not generate a separate npm lockfile or run npm install
|
|
23
|
+
inside this workspace. Forge 8 still probes npm's version during its CLI system
|
|
24
|
+
check, so its output can say `Found npm`. Bun installs the dependencies and runs
|
|
25
|
+
the project scripts; Forge and Electron still use Node.js.
|
|
26
|
+
|
|
27
|
+
## Distribution targets
|
|
28
|
+
|
|
29
|
+
| Platform | Architecture | Distributables | Bun script |
|
|
30
|
+
| -------- | -------------------- | ------------------------------------------ | -------------- |
|
|
31
|
+
| Windows | x64 | Squirrel `Setup.exe`, `.nupkg`, `RELEASES` | `make:windows` |
|
|
32
|
+
| Linux | x64 | `.deb` and `.rpm` | `make:linux` |
|
|
33
|
+
| macOS | arm64, Apple Silicon | `.zip` containing the `.app` | `make:macos` |
|
|
34
|
+
|
|
35
|
+
Run each script with `bun run --cwd apps/desktop <script>`. Packaging rejects other
|
|
36
|
+
platform and architecture combinations, including Windows ARM and Intel macOS.
|
|
37
|
+
Build Windows installers on Windows, Linux packages on Linux, and macOS packages
|
|
38
|
+
on macOS. Linux builders need `fakeroot`, `dpkg`, and `rpm` installed.
|
|
39
|
+
|
|
40
|
+
## GitHub releases
|
|
41
|
+
|
|
42
|
+
The GitHub publisher uploads to `disposabl-dev/create-disposabl-app`. Desktop
|
|
43
|
+
releases use `desktop-v<version>` tags to avoid collisions with the generator's
|
|
44
|
+
`v<version>` releases. The version comes from this workspace's `package.json`.
|
|
45
|
+
Uploads create a draft release for review before making the downloads public.
|
|
46
|
+
|
|
47
|
+
With `GITHUB_TOKEN` supplied in the environment, run the matching `make:*` script
|
|
48
|
+
on each platform, followed by:
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
bun run --cwd apps/desktop release --from-make
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The token needs repository contents write access. Each platform uploads to the
|
|
55
|
+
same draft for that version. Create the draft with one platform first, then upload
|
|
56
|
+
the other platforms to avoid racing release creation. Code signing, notarization,
|
|
57
|
+
and in-app updates are not configured.
|
|
58
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ForgeConfig } from '@electron-forge/shared-types';
|
|
2
|
+
import { MakerSquirrel } from '@electron-forge/maker-squirrel';
|
|
3
|
+
import { MakerZIP } from '@electron-forge/maker-zip';
|
|
4
|
+
import { MakerDeb } from '@electron-forge/maker-deb';
|
|
5
|
+
import { MakerRpm } from '@electron-forge/maker-rpm';
|
|
6
|
+
import { VitePlugin } from '@electron-forge/plugin-vite';
|
|
7
|
+
import { FusesPlugin } from '@electron-forge/plugin-fuses';
|
|
8
|
+
import { PublisherGitHub } from '@electron-forge/publisher-github';
|
|
9
|
+
import { FuseV1Options, FuseVersion } from '@electron/fuses';
|
|
10
|
+
|
|
11
|
+
const config: ForgeConfig = {
|
|
12
|
+
packagerConfig: {
|
|
13
|
+
asar: true,
|
|
14
|
+
// Native bundle metadata needs a numeric version; package.json retains the PR suffix.
|
|
15
|
+
appVersion: process.env.DESKTOP_VERSION?.split('-')[0],
|
|
16
|
+
buildVersion: process.env.DESKTOP_VERSION?.split('-')[0],
|
|
17
|
+
download: {
|
|
18
|
+
cacheRoot: process.env.electron_config_cache,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
rebuildConfig: {},
|
|
22
|
+
hooks: {
|
|
23
|
+
prePackage: async (_config, platform, arch) => {
|
|
24
|
+
const supported =
|
|
25
|
+
(platform === 'darwin' && arch === 'arm64') ||
|
|
26
|
+
((platform === 'win32' || platform === 'linux') && arch === 'x64');
|
|
27
|
+
|
|
28
|
+
if (!supported) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
`Unsupported desktop target ${platform}/${arch}. Use Windows x64, Linux x64, or macOS arm64.`,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
makers: [
|
|
36
|
+
new MakerSquirrel({}),
|
|
37
|
+
new MakerZIP({}, ['darwin']),
|
|
38
|
+
new MakerRpm({}),
|
|
39
|
+
new MakerDeb({}),
|
|
40
|
+
],
|
|
41
|
+
publishers: [
|
|
42
|
+
new PublisherGitHub({
|
|
43
|
+
repository: {
|
|
44
|
+
owner: 'disposabl-dev',
|
|
45
|
+
name: 'create-disposabl-app',
|
|
46
|
+
},
|
|
47
|
+
tagPrefix: 'desktop-v',
|
|
48
|
+
draft: true,
|
|
49
|
+
prerelease: false,
|
|
50
|
+
}),
|
|
51
|
+
],
|
|
52
|
+
plugins: [
|
|
53
|
+
new VitePlugin({
|
|
54
|
+
// `build` can specify multiple entry builds, which can be Main process, Preload scripts, Worker process, etc.
|
|
55
|
+
// If you are familiar with Vite configuration, it will look really familiar.
|
|
56
|
+
build: [
|
|
57
|
+
{
|
|
58
|
+
// `entry` is just an alias for `build.lib.entry` in the corresponding file of `config`.
|
|
59
|
+
entry: 'src/main.ts',
|
|
60
|
+
config: 'vite.main.config.mts',
|
|
61
|
+
target: 'main',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
entry: 'src/preload.ts',
|
|
65
|
+
config: 'vite.preload.config.mts',
|
|
66
|
+
target: 'preload',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
renderer: [
|
|
70
|
+
{
|
|
71
|
+
name: 'main_window',
|
|
72
|
+
config: 'vite.renderer.config.mts',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
}),
|
|
76
|
+
// Fuses are used to enable/disable various Electron functionality
|
|
77
|
+
// at package time, before code signing the application
|
|
78
|
+
new FusesPlugin({
|
|
79
|
+
version: FuseVersion.V1,
|
|
80
|
+
[FuseV1Options.RunAsNode]: false,
|
|
81
|
+
[FuseV1Options.EnableCookieEncryption]: true,
|
|
82
|
+
[FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
|
|
83
|
+
[FuseV1Options.EnableNodeCliInspectArguments]: false,
|
|
84
|
+
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
|
|
85
|
+
[FuseV1Options.OnlyLoadAppFromAsar]: true,
|
|
86
|
+
}),
|
|
87
|
+
],
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export default config;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<title>Hello World!</title>
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<h1>💖 Hello World!</h1>
|
|
9
|
+
<p>Welcome to your Electron application.</p>
|
|
10
|
+
<script type="module" src="/src/renderer.ts"></script>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "desktop",
|
|
3
|
+
"productName": "desktop",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"private": true,
|
|
6
|
+
"description": "My Electron application description",
|
|
7
|
+
"keywords": [],
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"author": {
|
|
10
|
+
"name": "vivek-yast",
|
|
11
|
+
"email": "vivek@yast.ai"
|
|
12
|
+
},
|
|
13
|
+
"main": ".vite/build/main.cjs",
|
|
14
|
+
"packageManager": "bun@1.4.4",
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=22.13.0"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "electron-forge start",
|
|
20
|
+
"start": "electron-forge start",
|
|
21
|
+
"build": "electron-forge package",
|
|
22
|
+
"package": "electron-forge package",
|
|
23
|
+
"make": "electron-forge make",
|
|
24
|
+
"make:windows": "electron-forge make --platform=win32 --arch=x64",
|
|
25
|
+
"make:linux": "electron-forge make --platform=linux --arch=x64",
|
|
26
|
+
"make:macos": "electron-forge make --platform=darwin --arch=arm64",
|
|
27
|
+
"release": "electron-forge release",
|
|
28
|
+
"lint": "oxlint && oxfmt --check",
|
|
29
|
+
"lint:fix": "oxlint --fix && oxfmt --write",
|
|
30
|
+
"format": "oxfmt --write",
|
|
31
|
+
"typecheck": "tsc --noEmit"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"electron-squirrel-startup": "^1.0.1"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@electron-forge/cli": "8.0.1",
|
|
38
|
+
"@electron-forge/maker-deb": "8.0.1",
|
|
39
|
+
"@electron-forge/maker-rpm": "8.0.1",
|
|
40
|
+
"@electron-forge/maker-squirrel": "8.0.1",
|
|
41
|
+
"@electron-forge/maker-zip": "8.0.1",
|
|
42
|
+
"@electron-forge/plugin-fuses": "8.0.1",
|
|
43
|
+
"@electron-forge/plugin-vite": "8.0.1",
|
|
44
|
+
"@electron-forge/publisher-github": "8.0.1",
|
|
45
|
+
"@electron-forge/shared-types": "8.0.1",
|
|
46
|
+
"@electron/fuses": "^2.1.3",
|
|
47
|
+
"@types/electron-squirrel-startup": "^1.0.2",
|
|
48
|
+
"@types/node": "^24",
|
|
49
|
+
"electron": "45.2.1",
|
|
50
|
+
"oxfmt": "^0.75.0",
|
|
51
|
+
"oxlint": "^1.90.0",
|
|
52
|
+
"typescript": "^6.0.2",
|
|
53
|
+
"vite": "^8"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { app, BrowserWindow } from 'electron';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import started from 'electron-squirrel-startup';
|
|
4
|
+
|
|
5
|
+
// Handle creating/removing shortcuts on Windows when installing/uninstalling.
|
|
6
|
+
if (started) {
|
|
7
|
+
app.quit();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const createWindow = () => {
|
|
11
|
+
// Create the browser window.
|
|
12
|
+
const mainWindow = new BrowserWindow({
|
|
13
|
+
width: 800,
|
|
14
|
+
height: 600,
|
|
15
|
+
webPreferences: {
|
|
16
|
+
preload: path.join(__dirname, 'preload.cjs'),
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// and load the index.html of the app.
|
|
21
|
+
if (MAIN_WINDOW_VITE_DEV_SERVER_URL) {
|
|
22
|
+
mainWindow.loadURL(MAIN_WINDOW_VITE_DEV_SERVER_URL);
|
|
23
|
+
} else {
|
|
24
|
+
mainWindow.loadFile(
|
|
25
|
+
path.join(__dirname, `../renderer/${MAIN_WINDOW_VITE_NAME}/index.html`),
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Open the DevTools.
|
|
30
|
+
mainWindow.webContents.openDevTools();
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// This method will be called when Electron has finished
|
|
34
|
+
// initialization and is ready to create browser windows.
|
|
35
|
+
// Some APIs can only be used after this event occurs.
|
|
36
|
+
app.whenReady().then(() => {
|
|
37
|
+
createWindow();
|
|
38
|
+
|
|
39
|
+
// On OS X it's common to re-create a window in the app when the
|
|
40
|
+
// dock icon is clicked and there are no other windows open.
|
|
41
|
+
app.on('activate', () => {
|
|
42
|
+
if (BrowserWindow.getAllWindows().length === 0) {
|
|
43
|
+
createWindow();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Quit when all windows are closed, except on macOS. There, it's common
|
|
49
|
+
// for applications and their menu bar to stay active until the user quits
|
|
50
|
+
// explicitly with Cmd + Q.
|
|
51
|
+
app.on('window-all-closed', () => {
|
|
52
|
+
if (process.platform !== 'darwin') {
|
|
53
|
+
app.quit();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
// In this file you can include the rest of your app's specific main process
|
|
58
|
+
// code. You can also put them in separate files and import them here.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file will automatically be loaded by vite and run in the "renderer" context.
|
|
3
|
+
* To learn more about the differences between the "main" and the "renderer" context in
|
|
4
|
+
* Electron, visit:
|
|
5
|
+
*
|
|
6
|
+
* https://electronjs.org/docs/tutorial/process-model
|
|
7
|
+
*
|
|
8
|
+
* By default, Node.js integration in this file is disabled. When enabling Node.js integration
|
|
9
|
+
* in a renderer process, please be aware of potential security implications. You can read
|
|
10
|
+
* more about security risks here:
|
|
11
|
+
*
|
|
12
|
+
* https://electronjs.org/docs/tutorial/security
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import './index.css';
|
|
16
|
+
|
|
17
|
+
console.log(
|
|
18
|
+
'👋 This message is being logged by the renderer process, included via Vite',
|
|
19
|
+
);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ESNext",
|
|
4
|
+
"module": "preserve",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"allowJs": true,
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"noImplicitAny": true,
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"resolveJsonModule": true
|
|
12
|
+
},
|
|
13
|
+
"include": ["src/**/*", "*.ts", "*.mts"]
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-device
|
|
3
|
+
description: Automates Apple-platform apps (iOS, tvOS, macOS), Android devices (including Android TV and Fire TV on Fire OS), and Amazon Vega OS TV apps in Vega Virtual Devices. Use when navigating apps, taking snapshots/screenshots where supported, driving TV remotes, tapping, typing, scrolling, extracting UI info, collecting evidence, or planning agent-device CLI commands.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# agent-device
|
|
7
|
+
|
|
8
|
+
For a normal app-driving task, start immediately. Do not probe first with `--help`, `--version`, `devices`, `appstate`, `snapshot`, or `screenshot`:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
agent-device open <app> --foreground
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
That starts the session and returns the initial interactive snapshot with `@refs`.
|
|
15
|
+
|
|
16
|
+
Loop: act with `press|click|fill|longpress <target> ... --settle`, `scroll <direction> --settle`, or `back --settle`; continue from the printed diff, verify the named expectation (`wait text "..."`, `is`, `get`, or `find`), then run `agent-device close`.
|
|
17
|
+
|
|
18
|
+
Reaching an off-screen target is one command, not a scroll-and-check loop: `scroll down --until <selector>` scrolls until that element is on screen, and `scroll bottom` runs to the end of the content. Repeated bare `scroll down` calls are the slow way to find something.
|
|
19
|
+
|
|
20
|
+
Copy refs byte-for-byte: `@e12`, `@e12~s4` — keep the `@` and any `~sN`. Prefer current refs, then `id`/`label`/`role` selectors; coordinates are a last resort. If snapshot reports sparse/AX-unavailable, its refs and selectors are invalid: run `agent-device screenshot`, inspect the image, use coordinates, then retry `snapshot -i` after navigating. Otherwise run `snapshot -i` only when the diff lacks the next target.
|
|
21
|
+
|
|
22
|
+
Error output includes corrective hints; follow them instead of re-planning. Only when the task is specialized (for example gestures, scripting, TV, macOS, remote, or debugging) or a command shape is unclear, run `agent-device help <topic>`. `agent-device --help` lists topics, but is not a startup step.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: android-emulator
|
|
3
|
+
description: Verify and debug native, React Native, Expo, or Flutter apps on an Android Emulator with agent-device. Use when an agent needs to launch an app, inspect its live UI, tap, type, scroll, validate a code change, collect failure evidence, or reproduce a workflow on an Android virtual device.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Android Emulator
|
|
7
|
+
|
|
8
|
+
Require the `agent-device` CLI to be installed separately before driving an emulator:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g agent-device@latest
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Treat installation and upgrades as user-owned setup steps. Do not run that command autonomously or substitute a mutable `npx -y agent-device@latest` invocation.
|
|
15
|
+
|
|
16
|
+
For a normal app-driving task, start immediately. Do not probe first with `--help`, `--version`, `devices`, `appstate`, `snapshot`, or `screenshot`. Target Android explicitly when opening an app or package id:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
agent-device open <app-or-package-id> --platform android --foreground
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Follow the initial interactive snapshot and corrective error hints. If the shell reports that `agent-device` is unavailable, stop and ask the user to install it or expose their existing installation on `PATH`.
|
|
23
|
+
|
|
24
|
+
Only when the task is specialized or a command shape is unclear, read the relevant version-matched help topic:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
agent-device help validate # engineering validation and build freshness
|
|
28
|
+
agent-device help debugging # screenshots, logs, traces, video, and failures
|
|
29
|
+
agent-device help react-native # React Native and Expo runtime guidance
|
|
30
|
+
agent-device help react-devtools # React components, props/state/hooks, render profiling
|
|
31
|
+
agent-device help scripting # durable replay and CI workflows
|
|
32
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dogfood
|
|
3
|
+
description: Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to dogfood, QA, exploratory test, find issues, bug hunt, or test this app on mobile.
|
|
4
|
+
allowed-tools: Bash(agent-device:*), Bash(npx agent-device:*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dogfood
|
|
8
|
+
|
|
9
|
+
Router for exploratory QA. Private setup before using this skill:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
agent-device --version
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
If that fails, stop and tell the user to expose a trusted `agent-device` binary on PATH or approve an exact-version npm command. This skill intentionally keeps allowed tools restricted to `agent-device` and `npx agent-device`.
|
|
16
|
+
|
|
17
|
+
Require `agent-device >= 0.14.0`; older CLIs lack these help topics. If older, stop and tell the user to upgrade the trusted install or approve an exact-version npm command. Do not run `npm install -g agent-device@latest` or `npx -y agent-device@latest` autonomously, and do not include version/upgrade commands in final plans.
|
|
18
|
+
|
|
19
|
+
Read current CLI guidance:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
agent-device help dogfood
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Loop: open app -> snapshot -i + screenshot -> explore flows -> capture evidence per issue -> close.
|
|
26
|
+
|
|
27
|
+
Target app is required; infer platform or ask. Findings must come from runtime behavior, not source reads. Let `help dogfood` provide exact report shape, evidence commands, and current workflow guidance.
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eas-app-stores
|
|
3
|
+
description: Build and submit iOS and Android apps with EAS to TestFlight, the App Store, or Google Play. Supports Expo and other React Native projects, plus existing native apps. Use for eas.json setup, release pipelines, signing, app versions and build numbers, store submissions, and listing metadata. For Expo websites and API routes, use eas-hosting; for adding React Native screens to a native app, use expo-brownfield.
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
license: MIT
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# App Store Deployment
|
|
9
|
+
|
|
10
|
+
> **EAS service - costs apply.** Cloud builds use EAS plan resources, and EAS services have free-tier and paid-plan limits. Apple Developer and Google Play memberships are separate. Check https://expo.dev/pricing for the requested service.
|
|
11
|
+
|
|
12
|
+
This skill covers building and releasing iOS and Android apps with EAS: Expo and other React Native projects, plus existing native apps. EAS is a delivery service; native apps can use it without adding Expo or React Native to their runtime. The native setup walkthrough currently covers SwiftUI/UIKit on iOS.
|
|
13
|
+
|
|
14
|
+
## Choose the project path
|
|
15
|
+
|
|
16
|
+
- **SwiftUI/UIKit app with no React Native runtime:** read [references/native-ios.md](references/native-ios.md) before changing its build configuration. Keep the Xcode project and Swift code as the app's source of truth. The Expo/React Native quick-start and development-client examples below do not apply to this path.
|
|
17
|
+
- **Native Android app with no React Native runtime:** preserve its existing native build setup. See [references/play-store.md](references/play-store.md) for submission; the Swift/iOS setup instructions do not apply. A dedicated native Android setup walkthrough is not yet included.
|
|
18
|
+
- **Expo/React Native app:** use the quick-start below, then the relevant store reference.
|
|
19
|
+
- **Adding React Native screens to an existing native app:** use `expo-brownfield` for that integration; return here for distribution.
|
|
20
|
+
|
|
21
|
+
Use the archive and icon checks in [references/native-ios.md](references/native-ios.md) during initial native iOS setup, after changing versioning, bundle IDs, or icons, or when diagnosing a rejected upload. Routine releases follow the EAS build/submit flow and the processing and availability checks in [references/testflight.md](references/testflight.md). A successful EAS build or a queued submission does not establish Apple acceptance, tester access, or an App Store release.
|
|
22
|
+
|
|
23
|
+
## References
|
|
24
|
+
|
|
25
|
+
Consult these resources as needed:
|
|
26
|
+
|
|
27
|
+
- ./references/workflows.md -- CI/CD workflows for automated store releases and PR previews
|
|
28
|
+
- ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing
|
|
29
|
+
- ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization
|
|
30
|
+
- ./references/play-store.md -- Submitting Android builds to Google Play Store
|
|
31
|
+
- ./references/ios-app-store.md -- iOS App Store submission and review process
|
|
32
|
+
- ./references/native-ios.md -- Native Swift/SwiftUI/UIKit setup, versioning, and archive verification without an Expo runtime
|
|
33
|
+
|
|
34
|
+
## Expo / React Native Quick Start
|
|
35
|
+
|
|
36
|
+
### Install EAS CLI
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install -g eas-cli
|
|
40
|
+
eas login
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Initialize EAS
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx eas-cli@latest init
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`eas init` links or creates the EAS project. Run `eas build:configure` to create build profiles in `eas.json`; preserve existing project and store identifiers when a release setup already exists.
|
|
50
|
+
|
|
51
|
+
## Build Commands
|
|
52
|
+
|
|
53
|
+
### Production Builds
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# iOS App Store build
|
|
57
|
+
npx eas-cli@latest build -p ios --profile production
|
|
58
|
+
|
|
59
|
+
# Android Play Store build
|
|
60
|
+
npx eas-cli@latest build -p android --profile production
|
|
61
|
+
|
|
62
|
+
# Both platforms
|
|
63
|
+
npx eas-cli@latest build --profile production
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Submit to Stores
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# iOS: Build and submit to App Store Connect
|
|
70
|
+
npx eas-cli@latest build -p ios --profile production --auto-submit
|
|
71
|
+
|
|
72
|
+
# Android: Build and submit to Play Store
|
|
73
|
+
npx eas-cli@latest build -p android --profile production --auto-submit
|
|
74
|
+
|
|
75
|
+
# Expo / React Native shortcut for iOS TestFlight
|
|
76
|
+
npx testflight
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Web & API Route Hosting
|
|
80
|
+
|
|
81
|
+
Deploying an Expo website or Expo Router API routes to EAS Hosting (`npx expo export -p web` then `eas deploy`) is covered by the `eas-hosting` skill. This skill focuses on native app store releases.
|
|
82
|
+
|
|
83
|
+
## EAS Configuration
|
|
84
|
+
|
|
85
|
+
Example for an Expo / React Native project (native Swift profiles are in `references/native-ios.md`):
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"cli": {
|
|
90
|
+
"version": ">= 16.0.1",
|
|
91
|
+
"appVersionSource": "remote"
|
|
92
|
+
},
|
|
93
|
+
"build": {
|
|
94
|
+
"production": {
|
|
95
|
+
"autoIncrement": true,
|
|
96
|
+
"ios": {
|
|
97
|
+
"resourceClass": "m-medium"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"development": {
|
|
101
|
+
"developmentClient": true,
|
|
102
|
+
"distribution": "internal"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"submit": {
|
|
106
|
+
"production": {
|
|
107
|
+
"ios": {
|
|
108
|
+
"appleId": "your@email.com",
|
|
109
|
+
"ascAppId": "1234567890"
|
|
110
|
+
},
|
|
111
|
+
"android": {
|
|
112
|
+
"serviceAccountKeyPath": "./google-service-account.json",
|
|
113
|
+
"track": "internal"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Platform-Specific Guides
|
|
121
|
+
|
|
122
|
+
### iOS
|
|
123
|
+
|
|
124
|
+
- For native Swift apps, use the explicit build/submit flow in `references/native-ios.md`
|
|
125
|
+
- For Expo / React Native apps, `npx testflight` provides a quick TestFlight flow
|
|
126
|
+
- Configure Apple credentials via `eas credentials`
|
|
127
|
+
- See ./references/testflight.md for credential setup
|
|
128
|
+
- See ./references/ios-app-store.md for App Store submission
|
|
129
|
+
|
|
130
|
+
### Android
|
|
131
|
+
|
|
132
|
+
- Set up Google Play Console service account
|
|
133
|
+
- Configure tracks: internal → closed → open → production
|
|
134
|
+
- See ./references/play-store.md for detailed setup
|
|
135
|
+
|
|
136
|
+
## Automated Releases
|
|
137
|
+
|
|
138
|
+
EAS Workflows automate the build → submit → update pipeline for CI/CD. See ./references/workflows.md for store-release examples. To author or validate workflow YAML, use the `eas-workflows` skill - it works from the live workflow schema.
|
|
139
|
+
|
|
140
|
+
## Version Management
|
|
141
|
+
|
|
142
|
+
EAS manages version numbers automatically with `appVersionSource: "remote"`:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Check current versions
|
|
146
|
+
eas build:version:get
|
|
147
|
+
|
|
148
|
+
# Manually set version
|
|
149
|
+
eas build:version:set -p ios
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The version-set command prompts for the value. When setting up or changing native iOS versioning, or diagnosing a duplicate build number, inspect the archived `CFBundleVersion`: the remote counter alone does not prove that Xcode used it.
|
|
153
|
+
|
|
154
|
+
## Monitoring
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# List recent builds
|
|
158
|
+
eas build:list
|
|
159
|
+
|
|
160
|
+
# Check build status
|
|
161
|
+
eas build:view BUILD_ID
|
|
162
|
+
|
|
163
|
+
# Inspect submissions (verified with EAS CLI 23.2.0)
|
|
164
|
+
eas submit:list -p ios --json
|
|
165
|
+
eas submit:view SUBMISSION_ID --json
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Check the CLI version before interpreting a missing command: these submission commands are available in 23.2.0 but not in the tested 18.6.0 installation. A pinned `npx eas-cli@23.2.0` invocation can use them without changing the global installation. See `references/testflight.md` for live Apple status and retry guidance. Follow the returned log URLs when the JSON result omits the underlying failure. Report the exact build ID/version and the furthest verified release state.
|
|
169
|
+
|
|
170
|
+
## Submitting Feedback
|
|
171
|
+
If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:
|
|
172
|
+
```bash
|
|
173
|
+
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<actionable feedback>"
|
|
174
|
+
```
|
|
175
|
+
Only submit when you have something specific and actionable to report. Include as much relevant context as possible.
|
|
176
|
+
If an agent repeatedly fails at an Expo task or the user has to step in, submit a brief report of the task, expected result, and what went wrong using `--category evals` and the relevant Expo package or command as `--subject`.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "EAS App Stores"
|
|
3
|
+
short_description: "Build and submit iOS and Android apps."
|
|
4
|
+
default_prompt: "Use $eas-app-stores to set up or verify EAS builds, TestFlight and store submissions, signing, versioning, and store metadata for iOS and Android apps: Expo and other React Native projects, plus existing native apps."
|