aso-cli 0.2.2 → 0.4.0
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 +67 -43
- package/cli/dist/cli.js +263 -346
- package/cli/dist/cli.js.map +4 -4
- package/cli/dist/dashboard-public/aso-sidebar-icon.png +0 -0
- package/cli/dist/dashboard-public/assets/index-B11FooR-.js +23 -0
- package/cli/dist/dashboard-public/assets/index-C9Cq1ZYb.css +1 -0
- package/cli/dist/dashboard-public/dashboard.jpg +0 -0
- package/cli/dist/dashboard-public/favicon.png +0 -0
- package/cli/dist/dashboard-public/index.html +3 -3
- package/cli/dist/dashboard-public/mcp.jpg +0 -0
- package/cli/dist/mcp.js +76 -47
- package/cli/dist/mcp.js.map +4 -4
- package/package.json +13 -6
- package/cli/dist/dashboard-public/assets/index-BtzyVl7h.js +0 -23
- package/cli/dist/dashboard-public/assets/index-CcqTg85O.css +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
<h1 align="center">App Store Optimization CLI</h1>
|
|
2
2
|
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="./assets/app-icon/aso-icon-readme.png" alt="ASO icon" width="132" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
3
7
|
<p align="center">
|
|
4
8
|
<a href="https://www.npmjs.com/package/aso-cli"><img src="https://img.shields.io/npm/v/aso-cli" alt="npm version" /></a>
|
|
5
9
|
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License: MIT" /></a>
|
|
@@ -13,9 +17,22 @@ Research ASO keywords, inspect competition, and manage results from one local-fi
|
|
|
13
17
|
|
|
14
18
|
- Fast, free keyword research and visibility tracking
|
|
15
19
|
- Keyword scoring with popularity + difficulty in one command
|
|
16
|
-
- Local dashboard for reviewing keyword/app data
|
|
17
|
-
- MCP tool (`
|
|
18
|
-
|
|
20
|
+
- Local ASO dashboard for reviewing keyword/app data
|
|
21
|
+
- MCP tool (`aso_evaluate_keywords`) for agent workflows and automated keyword research
|
|
22
|
+
|
|
23
|
+
<h3 align="center">ASO Dashboard</h3>
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<img src="./cli/dashboard-ui/public/dashboard.jpg" alt="ASO dashboard" title="ASO Dashboard" width="900" />
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<h3 align="center">MCP</h3>
|
|
30
|
+
|
|
31
|
+
The dashboard keywords shown above were discovered and added automatically by an agent using the MCP tool.
|
|
32
|
+
|
|
33
|
+
<p align="center">
|
|
34
|
+
<img src="./cli/dashboard-ui/public/mcp.jpg" alt="ASO MCP workflow" width="900" />
|
|
35
|
+
</p>
|
|
19
36
|
|
|
20
37
|
## Install
|
|
21
38
|
|
|
@@ -23,32 +40,42 @@ Research ASO keywords, inspect competition, and manage results from one local-fi
|
|
|
23
40
|
npm install -g aso-cli
|
|
24
41
|
```
|
|
25
42
|
|
|
43
|
+
Note: requires Node.js `>=20.18.1`.
|
|
44
|
+
|
|
26
45
|
## Apple Search Ads Setup
|
|
27
46
|
|
|
28
47
|
ASO commands require Apple Search Ads setup.
|
|
29
48
|
|
|
30
49
|
### Prerequisites
|
|
31
50
|
|
|
32
|
-
-
|
|
33
|
-
- Linked App Store Connect account
|
|
51
|
+
- App Store Connect account
|
|
34
52
|
- App ID of a published app you can access
|
|
35
|
-
- No campaign creation
|
|
53
|
+
- No campaign creation required
|
|
54
|
+
- No billing information required
|
|
36
55
|
|
|
37
56
|
### Setup
|
|
38
57
|
|
|
39
58
|
1. Create/sign in: https://searchads.apple.com
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
- If your country is not available during signup, select `United States`.
|
|
60
|
+
2. Open Apple Search Ads Advanced: https://searchads.apple.com/advanced
|
|
61
|
+
3. Click your account name in the top-left corner.
|
|
62
|
+
4. Under Campaign Groups, click Settings.
|
|
63
|
+
5. Click Link Accounts.
|
|
64
|
+
6. Select your App Store Connect account and save.
|
|
65
|
+
- If this is your first time using Apple Search Ads, you will usually have only one campaign group.
|
|
66
|
+
7. Copy an App ID from your App Store URL (number after `id`)
|
|
67
|
+
Example App Store URL:
|
|
68
|
+
```text
|
|
69
|
+
https://apps.apple.com/us/app/example-app/id123456789
|
|
70
|
+
```
|
|
71
|
+
App ID is `123456789` in this example.
|
|
72
|
+
8. Run `aso auth` and complete Apple ID + password + 2FA in terminal
|
|
73
|
+
|
|
74
|
+
Notes:
|
|
75
|
+
|
|
76
|
+
- You may see a missing billing information warning; this can be safely ignored.
|
|
77
|
+
- Ensure all campaign groups are linked to a valid App Store Connect account.
|
|
78
|
+
- [Troubleshoot App Store Connect account linking](https://ads.apple.com/app-store/help/get-started/0012-link-app-store-connect-accounts)
|
|
52
79
|
|
|
53
80
|
## Quick Start
|
|
54
81
|
|
|
@@ -65,36 +92,39 @@ aso
|
|
|
65
92
|
|
|
66
93
|
## Command Reference
|
|
67
94
|
|
|
68
|
-
| Command
|
|
69
|
-
|
|
|
70
|
-
| `aso`
|
|
71
|
-
| `aso keywords "k1,k2,k3"`
|
|
95
|
+
| Command | What it does |
|
|
96
|
+
| ------------------------------- | ------------------------------------------------------- |
|
|
97
|
+
| `aso` | Starts the local dashboard (default command) |
|
|
98
|
+
| `aso keywords "k1,k2,k3"` | Fetches keyword popularity/difficulty and prints JSON |
|
|
72
99
|
| `aso keywords "k1,k2" --stdout` | Machine-safe non-interactive mode for automation/agents |
|
|
73
|
-
| `aso auth`
|
|
74
|
-
| `aso reset-credentials`
|
|
75
|
-
| `aso --primary-app-id <id>`
|
|
100
|
+
| `aso auth` | Reauthenticates Apple Search Ads session |
|
|
101
|
+
| `aso reset-credentials` | Clears saved credentials/cookies |
|
|
102
|
+
| `aso --primary-app-id <id>` | Sets primary App ID used for popularity requests |
|
|
76
103
|
|
|
77
104
|
### Supported flags
|
|
78
105
|
|
|
79
106
|
- `--country <code>`: currently `US` only
|
|
80
107
|
- `--primary-app-id <id>`: saved locally for future runs
|
|
81
108
|
|
|
82
|
-
## Output Example (`aso keywords`)
|
|
109
|
+
## Output Example (`aso keywords "meditation"`)
|
|
83
110
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
111
|
+
````json
|
|
112
|
+
{
|
|
113
|
+
"items": [
|
|
114
|
+
{
|
|
115
|
+
"keyword": "meditation",
|
|
116
|
+
"popularity": 45,
|
|
117
|
+
"difficultyScore": 62,
|
|
118
|
+
"minDifficultyScore": 38
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"failedKeywords": []
|
|
122
|
+
}
|
|
123
|
+
````
|
|
94
124
|
|
|
95
125
|
## MCP
|
|
96
126
|
|
|
97
|
-
This package also installs `aso-mcp` with tool: `
|
|
127
|
+
This package also installs `aso-mcp` with tool: `aso_evaluate_keywords`.
|
|
98
128
|
|
|
99
129
|
Example MCP config:
|
|
100
130
|
|
|
@@ -108,12 +138,6 @@ Example MCP config:
|
|
|
108
138
|
}
|
|
109
139
|
```
|
|
110
140
|
|
|
111
|
-
## Help
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
aso --help
|
|
115
|
-
```
|
|
116
|
-
|
|
117
141
|
## Current Scope
|
|
118
142
|
|
|
119
143
|
- Storefront support: `US`
|