@rankcli/cli 0.0.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/README.md +319 -0
- package/dist/chunk-Y6FXYEAI.mjs +10 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1901 -0
- package/dist/index.mjs +1913 -0
- package/dist/wasm-engine.d.mts +62 -0
- package/dist/wasm-engine.d.ts +62 -0
- package/dist/wasm-engine.js +198 -0
- package/dist/wasm-engine.mjs +161 -0
- package/package.json +75 -0
- package/wasm/rankcli_audit_engine.d.ts +45 -0
- package/wasm/rankcli_audit_engine.js +274 -0
- package/wasm/rankcli_audit_engine_bg.wasm +0 -0
- package/wasm/rankcli_audit_engine_bg.wasm.d.ts +17 -0
package/README.md
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# RankCLI
|
|
2
|
+
|
|
3
|
+
**Ship code, get ranked. SEO meets CI/CD.**
|
|
4
|
+
|
|
5
|
+
A developer-first SEO automation tool. CLI-based, AI-powered, event-driven.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g rankcli
|
|
11
|
+
# or
|
|
12
|
+
yarn global add rankcli
|
|
13
|
+
# or
|
|
14
|
+
pnpm add -g rankcli
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Verify installation:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
rankcli --version
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Run an SEO audit
|
|
27
|
+
rankcli audit --url https://yoursite.com
|
|
28
|
+
|
|
29
|
+
# Login to unlock all features
|
|
30
|
+
rankcli login
|
|
31
|
+
|
|
32
|
+
# Run a full 280+ check audit
|
|
33
|
+
rankcli audit --url https://yoursite.com --max-pages 5
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Authentication
|
|
37
|
+
|
|
38
|
+
### Interactive Login
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Email/password login
|
|
42
|
+
rankcli login
|
|
43
|
+
|
|
44
|
+
# Browser-based OAuth
|
|
45
|
+
rankcli login --browser
|
|
46
|
+
|
|
47
|
+
# Provide email directly
|
|
48
|
+
rankcli login --email you@example.com
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### API Key (CI/CD)
|
|
52
|
+
|
|
53
|
+
For non-interactive environments like CI/CD pipelines:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Login with API key
|
|
57
|
+
rankcli login --token rankcli_your_api_key_here
|
|
58
|
+
|
|
59
|
+
# Or set environment variable (recommended for CI)
|
|
60
|
+
export RANKCLI_API_KEY=rankcli_your_api_key_here
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Generate API keys from [Account Settings](https://rankcli.dev/account) → API Keys.
|
|
64
|
+
|
|
65
|
+
### Check Status
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
rankcli whoami
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Logout
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
rankcli logout
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Commands
|
|
78
|
+
|
|
79
|
+
### `rankcli audit`
|
|
80
|
+
|
|
81
|
+
Run a comprehensive SEO audit (280+ checks).
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
rankcli audit [options]
|
|
85
|
+
|
|
86
|
+
Options:
|
|
87
|
+
-u, --url <url> URL to audit
|
|
88
|
+
-o, --output <format> Output format: json, console (default: console)
|
|
89
|
+
--max-pages <n> Max pages to crawl (default: 5)
|
|
90
|
+
--check-links Check for broken internal/external links
|
|
91
|
+
--ai Enable AI-powered analysis
|
|
92
|
+
--ai-provider <provider> AI provider: openai or anthropic
|
|
93
|
+
--ai-key <key> API key (or set OPENAI_API_KEY/ANTHROPIC_API_KEY)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Examples:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Basic audit
|
|
100
|
+
rankcli audit --url https://example.com
|
|
101
|
+
|
|
102
|
+
# Multi-page audit with JSON output
|
|
103
|
+
rankcli audit --url https://example.com --max-pages 10 -o json > report.json
|
|
104
|
+
|
|
105
|
+
# AI-enhanced audit
|
|
106
|
+
rankcli audit --url https://example.com --ai
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### `rankcli apply`
|
|
110
|
+
|
|
111
|
+
Generate and apply SEO fixes to your local codebase.
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
rankcli apply [options]
|
|
115
|
+
|
|
116
|
+
Options:
|
|
117
|
+
-u, --url <url> URL to analyze for fixes
|
|
118
|
+
--dry-run Preview changes without applying
|
|
119
|
+
--auto Apply all fixes without confirmation
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Examples:**
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Preview fixes
|
|
126
|
+
rankcli apply --url https://mysite.com --dry-run
|
|
127
|
+
|
|
128
|
+
# Apply fixes with confirmation
|
|
129
|
+
rankcli apply --url https://mysite.com
|
|
130
|
+
|
|
131
|
+
# Auto-apply all fixes (CI mode)
|
|
132
|
+
rankcli apply --url https://mysite.com --auto
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### `rankcli keywords`
|
|
136
|
+
|
|
137
|
+
AI-powered keyword research and analysis.
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
rankcli keywords [options]
|
|
141
|
+
|
|
142
|
+
Options:
|
|
143
|
+
-u, --url <url> Your website URL
|
|
144
|
+
-s, --seed <keywords> Seed keywords (comma-separated)
|
|
145
|
+
--auto Auto-extract seed keywords from your page
|
|
146
|
+
--quick Quick mode - skip questions, use defaults
|
|
147
|
+
--ai Use GPT-4 for enhanced analysis
|
|
148
|
+
--local Force local processing (skip cloud worker)
|
|
149
|
+
--competitor Competitor gap analysis mode
|
|
150
|
+
-c, --competitors <domains> Competitor domains (comma-separated)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Examples:**
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# AI-powered keyword research
|
|
157
|
+
rankcli keywords --url https://mysite.com --ai
|
|
158
|
+
|
|
159
|
+
# Quick analysis with seed keywords
|
|
160
|
+
rankcli keywords --url https://mysite.com --quick -s 'seo tools,seo audit'
|
|
161
|
+
|
|
162
|
+
# Competitor gap analysis
|
|
163
|
+
rankcli keywords --url https://mysite.com --competitor -c 'competitor1.com,competitor2.com' -s 'target keyword'
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### `rankcli content`
|
|
167
|
+
|
|
168
|
+
Analyze content for readability, keyword density, and featured snippets.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
rankcli content [options]
|
|
172
|
+
|
|
173
|
+
Options:
|
|
174
|
+
-u, --url <url> URL to analyze
|
|
175
|
+
-k, --keyword <keyword> Target keyword for analysis
|
|
176
|
+
--headline <headline> Analyze a headline
|
|
177
|
+
--mode <mode> Analysis mode (full, readability, headline, snippet, density)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Examples:**
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Full content analysis
|
|
184
|
+
rankcli content --url https://mysite.com/blog-post --keyword 'seo tips'
|
|
185
|
+
|
|
186
|
+
# Analyze headline
|
|
187
|
+
rankcli content --headline 'The Ultimate Guide to SEO'
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### `rankcli intent`
|
|
191
|
+
|
|
192
|
+
Classify search intent for a keyword.
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
rankcli intent <keyword>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Examples:**
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
rankcli intent 'buy running shoes'
|
|
202
|
+
rankcli intent 'how to optimize images for seo'
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### `rankcli setup`
|
|
206
|
+
|
|
207
|
+
Configure tracking and CI/CD integrations.
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
rankcli setup [options]
|
|
211
|
+
|
|
212
|
+
Options:
|
|
213
|
+
--ga4 <id> Google Analytics 4 Measurement ID (G-XXXXXXXXXX)
|
|
214
|
+
--gsc <code> Google Search Console verification code
|
|
215
|
+
--github-action Set up automated GitHub Action
|
|
216
|
+
--schedule <freq> GitHub Action schedule (daily, weekly, monthly)
|
|
217
|
+
--all Interactive setup wizard
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Examples:**
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Add GA4 tracking
|
|
224
|
+
rankcli setup --ga4 G-XXXXXXXXXX
|
|
225
|
+
|
|
226
|
+
# Create GitHub Actions workflow
|
|
227
|
+
rankcli setup --github-action
|
|
228
|
+
|
|
229
|
+
# Interactive setup wizard
|
|
230
|
+
rankcli setup --all
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### `rankcli init`
|
|
234
|
+
|
|
235
|
+
Initialize RankCLI in your project.
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
rankcli init [options]
|
|
239
|
+
|
|
240
|
+
Options:
|
|
241
|
+
-y, --yes Skip prompts and use defaults
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### `rankcli analyze`
|
|
245
|
+
|
|
246
|
+
AI-powered codebase analysis for SEO opportunities.
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
rankcli analyze [options]
|
|
250
|
+
|
|
251
|
+
Options:
|
|
252
|
+
-v, --verbose Show detailed output
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## CI/CD Integration
|
|
256
|
+
|
|
257
|
+
### GitHub Actions
|
|
258
|
+
|
|
259
|
+
```yaml
|
|
260
|
+
name: SEO Audit
|
|
261
|
+
on:
|
|
262
|
+
push:
|
|
263
|
+
branches: [main]
|
|
264
|
+
pull_request:
|
|
265
|
+
|
|
266
|
+
jobs:
|
|
267
|
+
audit:
|
|
268
|
+
runs-on: ubuntu-latest
|
|
269
|
+
steps:
|
|
270
|
+
- uses: actions/checkout@v4
|
|
271
|
+
|
|
272
|
+
- name: Install RankCLI
|
|
273
|
+
run: npm install -g rankcli
|
|
274
|
+
|
|
275
|
+
- name: Run SEO Audit
|
|
276
|
+
run: rankcli audit --url ${{ secrets.SITE_URL }} -o json > audit.json
|
|
277
|
+
env:
|
|
278
|
+
RANKCLI_API_KEY: ${{ secrets.RANKCLI_API_KEY }}
|
|
279
|
+
|
|
280
|
+
- name: Check for critical issues
|
|
281
|
+
run: |
|
|
282
|
+
errors=$(jq '.issues | map(select(.severity == "error")) | length' audit.json)
|
|
283
|
+
if [ "$errors" -gt 0 ]; then
|
|
284
|
+
echo "::error::Found $errors critical SEO issues"
|
|
285
|
+
exit 1
|
|
286
|
+
fi
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Environment Variables
|
|
290
|
+
|
|
291
|
+
| Variable | Description |
|
|
292
|
+
|----------|-------------|
|
|
293
|
+
| `RANKCLI_API_KEY` | API key for authentication (recommended for CI/CD) |
|
|
294
|
+
| `OPENAI_API_KEY` | OpenAI API key for AI-powered features |
|
|
295
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key (alternative AI provider) |
|
|
296
|
+
|
|
297
|
+
## Pricing Tiers
|
|
298
|
+
|
|
299
|
+
| Feature | Anonymous | Free | Solo ($9/mo) | Pro ($29/mo) |
|
|
300
|
+
|---------|-----------|------|--------------|--------------|
|
|
301
|
+
| SEO Checks | 50 | 100 | 280+ | 280+ |
|
|
302
|
+
| Cloud Sync | - | ✓ | ✓ | ✓ |
|
|
303
|
+
| GitHub Connect | - | - | ✓ | ✓ |
|
|
304
|
+
| Auto-Fix PRs | - | - | - | ✓ |
|
|
305
|
+
| Sites | 0 | 1 | 3 | 10 |
|
|
306
|
+
|
|
307
|
+
## Documentation
|
|
308
|
+
|
|
309
|
+
Full documentation available at [rankcli.dev/docs](https://rankcli.dev/docs)
|
|
310
|
+
|
|
311
|
+
## Support
|
|
312
|
+
|
|
313
|
+
- Documentation: [rankcli.dev/docs](https://rankcli.dev/docs)
|
|
314
|
+
- GitHub Issues: [github.com/rankcli/rankcli/issues](https://github.com/rankcli/rankcli/issues)
|
|
315
|
+
- Email: support@rankcli.dev
|
|
316
|
+
|
|
317
|
+
## License
|
|
318
|
+
|
|
319
|
+
MIT
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
__require
|
|
10
|
+
};
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|