@daemux/store-automator 0.10.19 → 0.10.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/README.md +1 -1
- package/package.json +1 -1
- package/plugins/store-automator/.claude-plugin/plugin.json +1 -1
- package/plugins/store-automator/agents/devops.md +5 -5
- package/templates/CLAUDE.md.template +1 -1
- package/templates/ci.config.yaml.template +1 -1
- package/templates/scripts/ci/android/upload-metadata.sh +30 -2
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
},
|
|
6
6
|
"metadata": {
|
|
7
7
|
"description": "App Store & Google Play automation for Flutter apps",
|
|
8
|
-
"version": "0.10.
|
|
8
|
+
"version": "0.10.21"
|
|
9
9
|
},
|
|
10
10
|
"plugins": [
|
|
11
11
|
{
|
|
12
12
|
"name": "store-automator",
|
|
13
13
|
"source": "./plugins/store-automator",
|
|
14
14
|
"description": "3 agents for app store publishing: reviewer, meta-creator, media-designer",
|
|
15
|
-
"version": "0.10.
|
|
15
|
+
"version": "0.10.21",
|
|
16
16
|
"keywords": [
|
|
17
17
|
"flutter",
|
|
18
18
|
"app-store",
|
package/README.md
CHANGED
|
@@ -168,7 +168,7 @@ npx @daemux/store-automator \
|
|
|
168
168
|
--track=internal \
|
|
169
169
|
--rollout-fraction=1.0 \
|
|
170
170
|
--in-app-update-priority=3 \
|
|
171
|
-
--domain=amazingapp-pages.workers.dev \
|
|
171
|
+
--domain=amazingapp-pages.account-subdomain.workers.dev \
|
|
172
172
|
--cf-project-name=amazingapp-pages \
|
|
173
173
|
--tagline="The best utility app ever" \
|
|
174
174
|
--primary-color="#2563EB" \
|
package/package.json
CHANGED
|
@@ -220,10 +220,10 @@ Set via environment variables or `.mcp.json`:
|
|
|
220
220
|
After deployment:
|
|
221
221
|
1. Check the output URL is accessible
|
|
222
222
|
2. Verify each page loads correctly:
|
|
223
|
-
- `https://<project>.workers.dev/marketing.html`
|
|
224
|
-
- `https://<project>.workers.dev/privacy.html`
|
|
225
|
-
- `https://<project>.workers.dev/terms.html`
|
|
226
|
-
- `https://<project>.workers.dev/support.html`
|
|
223
|
+
- `https://<project>.<account-subdomain>.workers.dev/marketing.html`
|
|
224
|
+
- `https://<project>.<account-subdomain>.workers.dev/privacy.html`
|
|
225
|
+
- `https://<project>.<account-subdomain>.workers.dev/terms.html`
|
|
226
|
+
- `https://<project>.<account-subdomain>.workers.dev/support.html`
|
|
227
227
|
3. Confirm template variables were replaced (no `${VAR}` in output)
|
|
228
228
|
4. Update store metadata URLs if this is the first deployment:
|
|
229
229
|
- `fastlane/metadata/ios/{locale}/privacy_url.txt`
|
|
@@ -237,7 +237,7 @@ OPERATION: Deploy Cloudflare Pages
|
|
|
237
237
|
PROJECT: [cloudflare-project-name]
|
|
238
238
|
RESULT: Success | Failed
|
|
239
239
|
URL: [deployment-url]
|
|
240
|
-
PRODUCTION: https://[project].workers.dev
|
|
240
|
+
PRODUCTION: https://[project].[account-subdomain].workers.dev
|
|
241
241
|
|
|
242
242
|
Pages deployed:
|
|
243
243
|
- [page]: [status]
|
|
@@ -260,7 +260,7 @@ Implement Flutter app matching designs. Set up Firebase. Fill ci.config.yaml. Ad
|
|
|
260
260
|
appstore-meta-creator generates texts. Fill fastlane/iap_config.json if needed.
|
|
261
261
|
|
|
262
262
|
### Phase 4: Web Pages + Deployment
|
|
263
|
-
app-designer designs marketing page in Stitch MCP. Develop web pages. Deploy via Cloudflare Pages (*.workers.dev domain sufficient).
|
|
263
|
+
app-designer designs marketing page in Stitch MCP. Develop web pages. Deploy via Cloudflare Pages (*.account-subdomain.workers.dev domain sufficient).
|
|
264
264
|
|
|
265
265
|
### Phase 5: Finalize and CI/CD
|
|
266
266
|
Create .gitignore (.claude/.tasks/, Flutter ignores; do NOT ignore *.g.dart). Push to private repo. GitHub Actions auto-triggers on push.
|
|
@@ -45,7 +45,7 @@ metadata:
|
|
|
45
45
|
|
|
46
46
|
# === WEB PAGES ===
|
|
47
47
|
web:
|
|
48
|
-
domain: "yourapp-pages.workers.dev" # *.workers.dev domain is sufficient, no custom DNS needed
|
|
48
|
+
domain: "yourapp-pages.account-subdomain.workers.dev" # *.workers.dev domain is sufficient, no custom DNS needed
|
|
49
49
|
cloudflare_project_name: "yourapp-pages"
|
|
50
50
|
tagline: "Your app tagline here"
|
|
51
51
|
primary_color: "#2563EB"
|
|
@@ -72,7 +72,7 @@ Metadata and screenshots were uploaded by CI but **could not be saved** because
|
|
|
72
72
|
1. Go to [Google Play Console](https://play.google.com/console) → Select your app
|
|
73
73
|
2. **Dashboard** → Complete all required setup tasks shown in the checklist
|
|
74
74
|
3. **Store listing** → Create your default store listing (title, description, screenshots)
|
|
75
|
-
- *
|
|
75
|
+
- *Copy-paste the values from the **Store Listing** table below, then re-run CI after setup to auto-upload future changes.*
|
|
76
76
|
4. **Content rating** → Complete the content rating questionnaire
|
|
77
77
|
5. **App pricing** → Set pricing and distribution countries
|
|
78
78
|
6. **First release** → Go to **Testing → Internal testing** → Click **Create new release**
|
|
@@ -84,8 +84,36 @@ Metadata and screenshots were uploaded by CI but **could not be saved** because
|
|
|
84
84
|
All subsequent CI runs will automatically upload metadata, screenshots, and new builds without manual intervention. Re-trigger the CI workflow after completing the steps above.
|
|
85
85
|
SUMMARY
|
|
86
86
|
|
|
87
|
-
# --- Append
|
|
87
|
+
# --- Append store listing table (read from metadata files) ---
|
|
88
88
|
META_DIR="$PROJECT_ROOT/fastlane/metadata/en-US"
|
|
89
|
+
_app_name="" _short_desc="" _full_desc=""
|
|
90
|
+
[ -s "$META_DIR/title.txt" ] && _app_name=$(cat "$META_DIR/title.txt")
|
|
91
|
+
[ -s "$META_DIR/short_description.txt" ] && _short_desc=$(cat "$META_DIR/short_description.txt")
|
|
92
|
+
[ -s "$META_DIR/full_description.txt" ] && _full_desc=$(cat "$META_DIR/full_description.txt")
|
|
93
|
+
|
|
94
|
+
if [ -n "$_app_name" ] || [ -n "$_short_desc" ] || [ -n "$_full_desc" ]; then
|
|
95
|
+
{
|
|
96
|
+
echo ""
|
|
97
|
+
echo "### Store Listing (copy-paste into Google Play Console)"
|
|
98
|
+
echo ""
|
|
99
|
+
if [ -n "$_app_name" ] || [ -n "$_short_desc" ]; then
|
|
100
|
+
echo "| Field | Value |"
|
|
101
|
+
echo "|-------|-------|"
|
|
102
|
+
[ -n "$_app_name" ] && echo "| App Name (max 30 chars) | \`$_app_name\` |"
|
|
103
|
+
[ -n "$_short_desc" ] && echo "| Short description (max 80 chars) | \`$_short_desc\` |"
|
|
104
|
+
fi
|
|
105
|
+
if [ -n "$_full_desc" ]; then
|
|
106
|
+
echo ""
|
|
107
|
+
echo "**Full description** (max 4000 chars):"
|
|
108
|
+
echo ""
|
|
109
|
+
echo "~~~"
|
|
110
|
+
echo "$_full_desc"
|
|
111
|
+
echo "~~~"
|
|
112
|
+
fi
|
|
113
|
+
} >> "$GITHUB_STEP_SUMMARY"
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
# --- Append app URLs table (read from metadata files) ---
|
|
89
117
|
_privacy_url="" _support_url="" _marketing_url="" _support_email=""
|
|
90
118
|
[ -s "$META_DIR/privacy_url.txt" ] && _privacy_url=$(cat "$META_DIR/privacy_url.txt")
|
|
91
119
|
[ -s "$META_DIR/support_url.txt" ] && _support_url=$(cat "$META_DIR/support_url.txt")
|