@vk007/autocli 0.1.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 ADDED
@@ -0,0 +1,725 @@
1
+ # AutoCLI
2
+
3
+ [![npm version](https://img.shields.io/npm/v/%40vk007%2Fautocli)](https://www.npmjs.com/package/@vk007/autocli)
4
+ [![license](https://img.shields.io/github/license/vkop007/autocli)](./LICENSE)
5
+ [![providers](https://img.shields.io/badge/providers-104-blue)](#category-overview)
6
+ [![categories](https://img.shields.io/badge/categories-14-6f42c1)](#category-overview)
7
+
8
+ AutoCLI is a terminal automation toolkit for developers and AI agents that turns websites, LLMs, developer platforms, editors, and utilities into one reusable CLI.
9
+
10
+ The core idea is simple:
11
+
12
+ - sign in once
13
+ - save the session or token locally
14
+ - keep using the provider headlessly from the terminal
15
+ - return clean `--json` output for scripts, agents, and orchestration
16
+
17
+ What makes AutoCLI especially useful is that it does not stop at API tokens. It works across cookies, saved browser sessions, user sessions, bot tokens, local tools, and public services, so the same CLI can drive GitHub, ChatGPT, Jira, Reddit, ffmpeg, DNS lookups, and more without switching tools.
18
+
19
+ ## Why It Matters
20
+
21
+ - One command surface across `104` providers.
22
+ - Shared browser login means less manual cookie exporting for cookie-backed platforms.
23
+ - Sessions and tokens stay local, so follow-up commands are short and automation-friendly.
24
+ - Category-based routing stays predictable as the tool grows: `autocli llm ...`, `autocli social ...`, `autocli developer ...`, `autocli devops ...`.
25
+ - Every provider is designed to be script-friendly, with strong `--json` support.
26
+ - Provider capability metadata helps agents see auth type, stability, browser support, and read/write boundaries before they guess.
27
+ - Shared result normalization adds stable JSON aliases like `data.items`, `data.entity`, and `data.guidance`.
28
+
29
+ ## Auto Browser Login
30
+
31
+ AutoCLI can keep a shared browser profile under its own control, let you sign in once, then reuse that browser state for later provider logins.
32
+
33
+ That means you can:
34
+
35
+ - log into Google or another identity provider once
36
+ - use `Continue with Google`, passkeys, or normal web sign-in flows
37
+ - let later provider logins reuse that same saved browser profile
38
+ - avoid re-exporting cookies every time for many cookie-backed providers
39
+
40
+ Typical flow:
41
+
42
+ ```bash
43
+ autocli login --browser
44
+ autocli developer github login --browser
45
+ autocli social x login --browser
46
+ autocli llm qwen login --browser
47
+ ```
48
+
49
+ After the provider session is saved, normal commands stay headless:
50
+
51
+ ```bash
52
+ autocli developer github me --json
53
+ autocli social x post "Shipping from AutoCLI"
54
+ autocli llm qwen text "Summarize this changelog"
55
+ ```
56
+
57
+ ## At a Glance
58
+
59
+ | Item | Value |
60
+ | --- | --- |
61
+ | Package | `@vk007/autocli` |
62
+ | CLI command | `autocli` |
63
+ | Providers | `104` |
64
+ | Categories | `14` |
65
+ | npm install | `npm install -g @vk007/autocli` |
66
+ | bun install | `bun install -g @vk007/autocli` |
67
+ | Local setup | `bun install` |
68
+
69
+ ## Get Started
70
+
71
+ Install globally with npm or Bun:
72
+
73
+ ```bash
74
+ npm install -g @vk007/autocli
75
+ bun install -g @vk007/autocli
76
+ ```
77
+
78
+ Set up the repo locally with Bun:
79
+
80
+ ```bash
81
+ bun install
82
+ bun run build
83
+ ```
84
+
85
+ Bootstrap the shared browser once if you want browser-assisted logins:
86
+
87
+ ```bash
88
+ autocli login --browser
89
+ ```
90
+
91
+ Typical commands:
92
+
93
+ ```bash
94
+ autocli status
95
+ autocli llm chatgpt text "Write release notes for AutoCLI"
96
+ autocli developer github login --browser
97
+ autocli developer github me --json
98
+ autocli developer github capabilities --json
99
+ autocli devops cloudflare zones --json
100
+ autocli devops render services --json
101
+ autocli tools page-links https://example.com --json
102
+ autocli tools http github inspect --json
103
+ ```
104
+
105
+ Every provider help page now includes:
106
+
107
+ - a generated `Quick Start` block
108
+ - a `Support Profile` with auth, discovery, mutation, browser, and async support
109
+ - a `Stability Guide` so agents can tell whether a provider is `stable`, `partial`, or `experimental`
110
+
111
+ ## Why Use AutoCLI
112
+
113
+ - Sign into real web apps once, then reuse the saved session from the terminal.
114
+ - Use the same CLI for LLMs, socials, developer tools, devops platforms, editors, and public utilities.
115
+ - Keep auth local to your machine instead of scattering cookies and tokens across one-off scripts.
116
+ - Give agents and scripts a stable command model with consistent JSON output.
117
+ - Reach protected web surfaces that are awkward to automate with plain APIs alone.
118
+
119
+ ## Command Model
120
+
121
+ AutoCLI is category-only. Provider commands never live at the root.
122
+
123
+ - `autocli llm ...`
124
+ - `autocli editor ...`
125
+ - `autocli finance ...`
126
+ - `autocli maps ...`
127
+ - `autocli movie ...`
128
+ - `autocli news ...`
129
+ - `autocli music ...`
130
+ - `autocli social ...`
131
+ - `autocli shopping ...`
132
+ - `autocli developer ...`
133
+ - `autocli devops ...`
134
+ - `autocli bot ...`
135
+ - `autocli tools ...`
136
+
137
+ Examples:
138
+
139
+ ```bash
140
+ autocli llm chatgpt text "Write release notes for AutoCLI"
141
+ autocli social x post "Shipping AutoCLI today"
142
+ autocli developer confluence search "release process"
143
+ autocli developer github me
144
+ autocli devops vercel projects
145
+ autocli bot telegrambot send 123456789 "Build finished"
146
+ autocli news top "AI"
147
+ autocli tools translate "hello world" --to hi
148
+ autocli tools timezone "Mumbai"
149
+ autocli tools oembed https://www.youtube.com/watch?v=dQw4w9WgXcQ
150
+ autocli tools http github request GET /settings/profile
151
+ ```
152
+
153
+ ## Agent JSON Conventions
154
+
155
+ AutoCLI keeps provider-specific fields, but it also adds a few stable JSON aliases so agents can plan and transform results more reliably:
156
+
157
+ - `data.items` for list-style results, even when the provider also returns keys like `repos`, `projects`, `posts`, or `recommendations`
158
+ - `data.entity` for singular objects, even when the provider also returns keys like `profile`, `page`, `movie`, or `project`
159
+ - `data.meta.count` and `data.meta.listKey` for quick list summaries
160
+ - `data.guidance.recommendedNextCommand` and `data.guidance.nextCommands` for safer follow-up planning
161
+
162
+ Example:
163
+
164
+ ```bash
165
+ autocli social reddit search "bun cli" --json
166
+ autocli movie tmdb title 27205 --json
167
+ autocli developer github capabilities --json
168
+ ```
169
+
170
+ ## Stability Levels
171
+
172
+ - `stable`: ready for routine automation and the default choice when you have options
173
+ - `partial`: core flows work well, but some protected or edge routes may still need care
174
+ - `experimental`: useful, but still changing quickly and best used with extra verification
175
+ - `unknown`: not classified yet, so inspect with `capabilities --json` before leaning on it
176
+
177
+ To inspect a provider before acting:
178
+
179
+ ```bash
180
+ autocli developer github capabilities --json
181
+ autocli social reddit capabilities --json
182
+ autocli devops railway capabilities --json
183
+ ```
184
+
185
+ ## Category Overview
186
+
187
+ | Category | Providers | Count | Needs | Why use it | Route |
188
+ | --- | --- | ---: | --- | --- | --- |
189
+ | `llm` | ChatGPT, Claude, DeepSeek, Gemini, Grok, Mistral, Perplexity, Qwen, Z.ai | 9 | cookies | Browserless prompting, image flows, generation jobs | `autocli llm <provider> ...` |
190
+ | `editor` | Archive, Audio, Document, GIF, Image, PDF, Subtitle, Video | 8 | local tools | Media and file transformations from the terminal | `autocli editor <provider> ...` |
191
+ | `finance` | Crypto, Currency/Forex, Stocks | 3 | none | Market, forex, and crypto lookups | `autocli finance <provider> ...` |
192
+ | `data` | CSV, HTML, JSON, Markdown, Text, XML, YAML | 7 | none | Structured data cleanup, conversion, filtering, and extraction for agents | `autocli data <provider> ...` |
193
+ | `maps` | Geo, OpenStreetMap, OSRM | 3 | none | Geocoding, reverse lookup, routing, geometry helpers | `autocli maps <provider> ...` |
194
+ | `movie` | AniList, IMDb, JustWatch, Kitsu, Letterboxd, MyAnimeList, TMDb, TVMaze | 8 | none or cookies | Public title lookup, anime tracking, streaming availability, and community taste signals | `autocli movie <provider> ...` |
195
+ | `news` | News | 1 | none | Public headline discovery, source search, and feed aggregation | `autocli news ...` |
196
+ | `music` | Bandcamp, Deezer, SoundCloud, Spotify, YouTube Music | 5 | none or cookies | Public music discovery plus session-backed playback and library workflows | `autocli music <provider> ...` |
197
+ | `social` | Bluesky, Facebook, Instagram, LinkedIn, Mastodon, Pinterest, Reddit, Telegram, Threads, TikTok, WhatsApp, X, YouTube | 13 | none, cookies, or session | Public profile/thread lookup plus cookie-backed posting, Reddit discovery and write automation, federated discovery, MTProto messaging, and QR/session-backed chat control where supported | `autocli social <provider> ...` |
198
+ | `shopping` | Amazon, eBay, Etsy, Flipkart | 4 | none or cookies | Product discovery plus account/cart/order surfaces where supported | `autocli shopping <provider> ...` |
199
+ | `developer` | Confluence, GitHub, GitLab, Jira, Linear, Notion, Trello | 7 | cookies | Developer and workspace automation | `autocli developer <provider> ...` |
200
+ | `devops` | Cloudflare, DigitalOcean, Fly.io, Netlify, Railway, Render, Supabase, Vercel | 8 | api token | Infrastructure, deployment, DNS, platform, and backend automation | `autocli devops <provider> ...` |
201
+ | `bot` | Discord Bot, GitHub Bot, Slack Bot, Telegram Bot | 4 | bot token or app token | Notifications, chat ops, bot messaging | `autocli bot <provider> ...` |
202
+ | `tools` | Cheat, DNS, Favicon, Headers, HTTP Toolkit, IP, Markdown Fetch, Metadata, oEmbed, Page Links, QR, Redirect, Robots, RSS, Screenshot, Sitemap, SSL, Time, Timezone, Translate, Uptime, Weather, Web Search, Whois | 24 | none or cookies | Public utilities, session-aware request inspection, and zero-setup helpers | `autocli tools <provider> ...` |
203
+
204
+ AutoCLI currently exposes `104` providers across `14` active command groups.
205
+
206
+ ## Access Modes
207
+
208
+ | Needs | Meaning |
209
+ | --- | --- |
210
+ | `none` | Public or local functionality. No cookies, no token, no API key. |
211
+ | `local tools` | Uses binaries already installed on the machine, like `ffmpeg`, `ffprobe`, `qpdf`, or `yt-dlp`. |
212
+ | `cookies` | Import a browser session with `login --cookies ...` or let AutoCLI open a browser with `login --browser`, then reuse it headlessly. |
213
+ | `session` | Do one interactive login once, save the resulting user session locally, then reuse it headlessly. |
214
+ | `cookies + local token` | Cookie session plus a token the site keeps in localStorage or a similar client store. |
215
+ | `api token` | A personal or service token saved once with `login --token ...`. |
216
+ | `bot token` | A bot token saved once with `login --token ...`. |
217
+ | `browser later` | The current CLI route works for some surfaces, but more protected flows may later get an opt-in browser-backed mode. |
218
+
219
+ ## Installation
220
+
221
+ Install globally with npm or Bun:
222
+
223
+ ```bash
224
+ npm install -g @vk007/autocli
225
+ bun install -g @vk007/autocli
226
+ ```
227
+
228
+ Set up the repo locally with Bun:
229
+
230
+ ```bash
231
+ bun install
232
+ ```
233
+
234
+ Build the Node-targeted bundle:
235
+
236
+ ```bash
237
+ bun run build
238
+ ```
239
+
240
+ Build a standalone Bun binary:
241
+
242
+ ```bash
243
+ bun run build:bin
244
+ ```
245
+
246
+ Link `autocli` globally for local development:
247
+
248
+ ```bash
249
+ bun run link:global
250
+ ```
251
+
252
+ If your shell still says `command not found`, open a new shell or run `hash -r`.
253
+
254
+ ## Open Source Project Files
255
+
256
+ - [LICENSE](./LICENSE)
257
+ - [Contributing Guide](./CONTRIBUTING.md)
258
+ - [Security Policy](./SECURITY.md)
259
+ - [AI Agent Skill](./skills/autocli/SKILL.md)
260
+
261
+ If you plan to contribute, please do not commit live cookies, tokens, QR session state, or personal exports. AutoCLI should only store those locally on the contributor machine, never in the repository.
262
+
263
+ ## Quick Start
264
+
265
+ Check global status:
266
+
267
+ ```bash
268
+ autocli status
269
+ autocli status --json
270
+ autocli doctor
271
+ autocli sessions
272
+ ```
273
+
274
+ If you have not linked the CLI globally yet:
275
+
276
+ ```bash
277
+ bun run dev status
278
+ ```
279
+
280
+ Typical first-run flows:
281
+
282
+ ```bash
283
+ autocli social x login --cookies ./x.cookies.json
284
+ autocli developer github login --browser
285
+ autocli llm chatgpt text "Summarize this changelog"
286
+ autocli developer github login --cookies ./github.cookies.json
287
+ autocli devops cloudflare login --token $CLOUDFLARE_API_TOKEN
288
+ autocli social telegram login --api-id 123456 --api-hash abcdef123456 --qr
289
+ autocli bot telegrambot login --token 123456:ABCDEF --name alerts-bot
290
+ autocli news top "AI"
291
+ autocli tools websearch search "bun commander zod"
292
+ autocli tools http github inspect
293
+ ```
294
+
295
+ ## Best Example Workflows
296
+
297
+ ### Cookie-backed social posting
298
+
299
+ ```bash
300
+ autocli social instagram login --cookies ./instagram.cookies.txt
301
+ autocli social instagram post ./photo.jpg --caption "Shipping from the terminal"
302
+ autocli social x login --cookies ./x.cookies.json
303
+ autocli social x post "Launching AutoCLI" --image ./launch.png
304
+ ```
305
+
306
+ If you do not want to export cookies manually, many cookie-backed providers now also support:
307
+
308
+ ```bash
309
+ autocli login --browser
310
+ autocli developer github login --browser
311
+ autocli social x login --browser
312
+ autocli llm qwen login --browser
313
+ ```
314
+
315
+ `autocli login --browser` opens AutoCLI's shared browser profile so you can sign into Google or other identity providers once. Later provider logins reuse that same saved browser profile, and `autocli <category> <provider> login --browser` still skips opening the browser entirely when an already-saved active provider session is available.
316
+
317
+ ### LLM prompting and generation
318
+
319
+ ```bash
320
+ autocli llm chatgpt text "Write release notes for AutoCLI"
321
+ autocli llm deepseek login --cookies ./deepseek.cookies.json --token <userToken>
322
+ autocli llm deepseek text "Explain retrieval-augmented generation"
323
+ autocli llm grok image "Minimal orange fox logo on white background"
324
+ autocli llm grok video "Minimal orange fox logo with subtle camera motion"
325
+ ```
326
+
327
+ ### Developer and bot automation
328
+
329
+ ```bash
330
+ autocli developer confluence search "deploy backend"
331
+ autocli developer github me
332
+ autocli developer gitlab projects "autocli" --limit 10
333
+ autocli developer jira projects
334
+ autocli developer linear issues --team ENG --limit 20
335
+ autocli developer trello boards
336
+ autocli devops netlify sites
337
+ autocli devops railway projects
338
+ autocli devops fly apps --org personal
339
+ autocli devops digitalocean apps
340
+ autocli bot telegrambot send 123456789 "Build finished"
341
+ autocli bot discordbot send 123456789012345678 "nightly deploy complete"
342
+ ```
343
+
344
+ ### Session-backed messaging
345
+
346
+ ```bash
347
+ autocli social telegram login --api-id 123456 --api-hash abcdef123456 --qr
348
+ autocli social telegram send me "Hello from AutoCLI"
349
+ autocli social reddit search "bun cli"
350
+ autocli social reddit post programming "Launching AutoCLI" "Now with Reddit support."
351
+ autocli social whatsapp login
352
+ autocli social whatsapp send 919876543210 "Ping from AutoCLI"
353
+ ```
354
+
355
+ ### Public utilities
356
+
357
+ ```bash
358
+ autocli news top "AI" --source google
359
+ autocli news search "typescript cli"
360
+ autocli news feed https://hnrss.org/frontpage --limit 5
361
+ autocli tools translate "hello world" --to hi
362
+ autocli tools websearch search "typescript cli bun"
363
+ autocli tools screenshot https://example.com --output-dir ./shots
364
+ autocli tools favicon openai.com
365
+ autocli tools page-links https://example.com --type external
366
+ autocli tools timezone "Mumbai"
367
+ autocli tools oembed https://www.youtube.com/watch?v=dQw4w9WgXcQ
368
+ autocli login --browser
369
+ autocli tools http github.com capture --browser-timeout 60
370
+ autocli tools http github.com capture --summary --group-by endpoint --browser-timeout 60
371
+ autocli tools uptime https://example.com --json
372
+ autocli tools rss https://hnrss.org/frontpage --limit 5
373
+ ```
374
+
375
+ ### Music discovery and download
376
+
377
+ ```bash
378
+ autocli music bandcamp search "radiohead"
379
+ autocli music bandcamp album https://radiohead.bandcamp.com/album/in-rainbows
380
+ autocli music soundcloud search "dandelions"
381
+ autocli music soundcloud user aviciiofficial
382
+ autocli music soundcloud playlist https://soundcloud.com/lofi-hip-hop-music/sets/lofi-lofi
383
+ autocli music soundcloud download "dandelions" --output-dir ./downloads
384
+ ```
385
+
386
+ ### Local editing
387
+
388
+ ```bash
389
+ autocli editor image resize ./photo.png --width 1200
390
+ autocli editor video split ./clip.mp4 --every 30
391
+ autocli editor audio loudness-report ./podcast.wav
392
+ autocli editor pdf watermark ./deck.pdf --text "Internal"
393
+ autocli editor subtitle burn ./video.mp4 --subtitle ./captions.srt
394
+ ```
395
+
396
+ ## Sessions And Connections
397
+
398
+ Cookie sessions are stored under:
399
+
400
+ ```text
401
+ ~/.autocli/sessions/<platform>/<account>.json
402
+ ```
403
+
404
+ Token, bot, and saved session connections are stored under:
405
+
406
+ ```text
407
+ ~/.autocli/connections/<platform>/<account>.json
408
+ ```
409
+
410
+ AutoCLI supports importing:
411
+
412
+ - Netscape `cookies.txt`
413
+ - raw cookie strings
414
+ - JSON cookie arrays
415
+ - serialized `tough-cookie` jars
416
+
417
+ After the first `login`, later commands normally omit `--account` or `--bot` and AutoCLI uses the most recently saved connection for that provider.
418
+
419
+ ## Provider Matrix
420
+
421
+ The `Stability` column below matches the runtime metadata behind `autocli <category> <provider> capabilities --json`.
422
+
423
+ ### LLM
424
+
425
+ | Provider | Stability | Needs | Best for | Notes |
426
+ | --- | --- | --- | --- | --- |
427
+ | ChatGPT | `stable` | cookies | text prompts and image prompting | Authenticated web flow is supported; richer media generation is still evolving. |
428
+ | Claude | `partial` | cookies | Claude web-session access | Text prompting is the clearest supported path today; richer media flows still depend on private web-flow drift. |
429
+ | DeepSeek | `partial` | cookies + local token | browserless DeepSeek chat | Text chat works; image and video prompting are not mapped yet. Needs browser cookies and sometimes `userToken` from site storage. |
430
+ | Gemini | `stable` | cookies | Google Gemini prompting and media flows | Works from imported browser sessions; download helpers are wired for media jobs. |
431
+ | Grok | `partial` | cookies | text, image, and async video generation | Best current fit for job-style image/video workflows. |
432
+ | Mistral | `partial` | cookies | browserless Mistral chat | Cookie-backed text flow is implemented; image/video support is still limited. |
433
+ | Perplexity | `partial` | cookies | search-heavy prompting | Uses Perplexity’s live web flow for browserless text prompts; image/video support is still limited. |
434
+ | Qwen | `partial` | cookies | cookie-backed Qwen chat | Usually works directly from exported browser cookies. |
435
+ | Z.ai | `partial` | cookies | cookie-backed chat workflows | Session-backed provider for text-oriented usage today; media flows are still limited. |
436
+
437
+ ### Editor
438
+
439
+ | Provider | Stability | Needs | Best for | Notes |
440
+ | --- | --- | --- | --- | --- |
441
+ | Archive Editor | `stable` | local tools | create, inspect, and extract archives | Good for zip/tar/gzip workflows. |
442
+ | Audio Editor | `stable` | local tools | trim, convert, normalize, denoise, report | Built around `ffmpeg` and related local tooling. |
443
+ | Document Editor | `stable` | local tools | document conversion, OCR, and text extraction | Useful for format conversion, OCR, and markdown export. |
444
+ | GIF Editor | `stable` | local tools | GIF create, optimize, and video conversion | Great for social clips and quick previews. |
445
+ | Image Editor | `stable` | local tools | image transformation pipelines | Includes upscale, background remove, watermark, compress, metadata strip, and more. |
446
+ | PDF Editor | `stable` | local tools | merge, split, watermark, reorder, secure | Also supports `to-images`, with better multi-page output when `pdftoppm` is installed. |
447
+ | Subtitle Editor | `stable` | local tools | shift, clean, merge, burn subtitles | Pairs well with YouTube and video publishing flows. |
448
+ | Video Editor | `stable` | local tools | split, stabilize, scene detect, overlay, transcode | Strong `ffmpeg`-driven video workflow surface. |
449
+
450
+ ### Finance
451
+
452
+ | Provider | Stability | Needs | Best for | Notes |
453
+ | --- | --- | --- | --- | --- |
454
+ | Crypto | `stable` | none | crypto spot price lookup | No key required. |
455
+ | Currency | `stable` | none | currency conversion and forex math | Also exposed naturally as forex conversion. |
456
+ | Stocks | `stable` | none | stock quote lookups | Public market data surface. |
457
+
458
+ ### Data
459
+
460
+ | Provider | Stability | Needs | Best for | Notes |
461
+ | --- | --- | --- | --- | --- |
462
+ | CSV | `stable` | none | inspect, filter, and convert CSV | Good for tabular exports and spreadsheet-style data. |
463
+ | HTML | `stable` | none | extract plain text or convert HTML to Markdown | Useful after scraping or page capture workflows. |
464
+ | JSON | `stable` | none | format, query, and merge JSON | Best glue layer for agent workflows across providers. |
465
+ | Markdown | `stable` | none | convert Markdown to HTML or text | Good for docs, release notes, and prompt shaping. |
466
+ | Text | `stable` | none | stats, replace, and dedupe lines | Useful for cleanup and normalization between steps. |
467
+ | XML | `stable` | none | format XML and convert it to JSON | Useful for feeds, sitemaps, and older structured formats. |
468
+ | YAML | `stable` | none | format YAML and convert it to JSON | Good for configs, manifests, and infra files. |
469
+
470
+ ### Maps
471
+
472
+ | Provider | Stability | Needs | Best for | Notes |
473
+ | --- | --- | --- | --- | --- |
474
+ | Geo | `stable` | none | distance, midpoint, plus codes, elevation | Pure local/public helpers plus public elevation lookup. |
475
+ | OpenStreetMap | `stable` | none | search, reverse geocode, nearby lookup | Uses public OSM and Overpass services. |
476
+ | OSRM | `stable` | none | route, trip, table, nearest, match | Public routing and trip calculations. |
477
+
478
+ ### Movie
479
+
480
+ | Provider | Stability | Needs | Best for | Notes |
481
+ | --- | --- | --- | --- | --- |
482
+ | AniList | `stable` | none | anime title lookup, trending, recommendations | Public anime metadata plus trending and recs. |
483
+ | IMDb | `stable` | none | movie and show lookup | Public search/title surface. |
484
+ | JustWatch | `stable` | none | where-to-watch checks | Streaming availability lookup. |
485
+ | Kitsu | `stable` | none | anime and manga discovery | Alternative anime metadata source. |
486
+ | Letterboxd | `stable` | none | film pages, diary feeds, and community taste | Public film pages plus profile and diary/RSS reading. |
487
+ | MyAnimeList | `stable` | none or cookies | public search plus your own saved list | Public lookups work without cookies; personal defaults can use cookies. |
488
+ | TMDb | `stable` | none | broad movie and TV title lookup | Uses TMDb's live public web catalog for search, title detail, popular titles, and recommendations. |
489
+ | TVMaze | `stable` | none | TV and episode-oriented title lookup | Strong TV-first public catalog with episode lists. |
490
+
491
+ ### Music
492
+
493
+ | Provider | Stability | Needs | Best for | Notes |
494
+ | --- | --- | --- | --- | --- |
495
+ | Bandcamp | `stable` | none | public artist, album, and track lookup | Uses Bandcamp search plus readable album, track, and artist pages. |
496
+ | Deezer | `stable` | none | public track, album, artist, and playlist lookup | Uses Deezer's public entity API and a public search fallback where regional search is weak. |
497
+ | SoundCloud | `stable` | none | public track, playlist, and user discovery | Uses SoundCloud's public web client flow and can download tracks when a public stream is exposed. |
498
+ | Spotify | `stable` | cookies | library, playback, queue, playlists | Strongest playback-control surface in the repo today. |
499
+ | YouTube Music | `partial` | cookies | search and local playback control | Read commands can fall back to public browsing in some flows. |
500
+
501
+ ### Social
502
+
503
+ | Provider | Stability | Needs | Best for | Notes |
504
+ | --- | --- | --- | --- | --- |
505
+ | Bluesky | `stable` | none | public profile, feed, and thread lookup | Uses Bluesky's public appview API, so it is cleaner and more stable than most social adapters. |
506
+ | Facebook | `partial` | cookies | session import and light account automation | Validation and safer read surfaces are strongest today; protected write flows are still conservative. |
507
+ | Instagram | `partial` | cookies | posting, downloads, stories, follows | One of the strongest cookie-backed social adapters in the repo. |
508
+ | LinkedIn | `partial` | cookies | posting and engagement | Text posting works best; richer media/write surfaces can drift and may need adapter refreshes over time. |
509
+ | Mastodon | `stable` | none | federated profile, posts, and thread lookup | Uses public instance APIs and respects the target instance when resolving accounts and statuses. |
510
+ | Pinterest | `stable` | none | public pin, profile, and board discovery | Good public-read discovery surface without cookies. |
511
+ | Reddit | `partial` | none or cookies | public post/thread discovery plus session-backed posting, comments, votes, and saves | Public reads use Reddit's JSON endpoints; writes can use a saved session or the shared browser profile with `--browser`. |
512
+ | Telegram | `partial` | session | QR, phone, or session-string login for account messaging | Uses MTProto with a saved user session, not browser cookies. |
513
+ | Threads | `partial` | none | public profile, post, and reply lookup | Uses the live Threads web surface through readable extraction; good for discovery, not write automation yet. |
514
+ | TikTok | `partial` | cookies | session handling and light public automation | Session validation and read flows are strongest today; signing for private web writes is still a known hard part. |
515
+ | WhatsApp | `partial` | session | QR or pairing-code login for account messaging | Uses a saved WhatsApp multi-device auth state with cached chats/messages for terminal workflows. |
516
+ | X | `partial` | cookies | posting, likes, profile/tweet lookup | Strong cookie-backed adapter with reliable agent-friendly output. |
517
+ | YouTube | `partial` | cookies | search, likes, comments, downloads | Upload/community posting are still separate future work. |
518
+
519
+ ### Partial Support Notes
520
+
521
+ These providers are intentionally included, but their current browserless surface is narrower than their full website:
522
+
523
+ - `Claude`, `DeepSeek`, `Mistral`, `Perplexity`, and `Z.ai` are strongest on text-oriented prompting today.
524
+ - `Facebook` and `TikTok` are more reliable for session validation and lighter read flows than for protected web writes.
525
+ - `LinkedIn` works best for text-first posting and engagement, but richer web flows can drift.
526
+ - `YouTube` is strong for search, engagement, subscriptions, and downloads, while upload/community publishing is still separate future work.
527
+
528
+ ### Shopping
529
+
530
+ | Provider | Stability | Needs | Best for | Notes |
531
+ | --- | --- | --- | --- | --- |
532
+ | Amazon | `partial` | cookies | account, cart, add-to-cart, remove-from-cart, update-cart, search, product lookup | `add-to-cart`, `remove-from-cart`, `update-cart`, `cart`, `orders`, and `order` support browser-backed execution when the saved session alone is not enough. |
533
+ | eBay | `stable` | none | public listings, item lookup, seller discovery | Uses public readable page extraction plus the public autocomplete endpoint. |
534
+ | Etsy | `partial` | none | public listing and shop discovery | Direct Etsy fetches are anti-bot protected, so this adapter uses public site-search discovery today. |
535
+ | Flipkart | `stable` | cookies | account, wishlist, cart, add-to-cart, remove-from-cart, update-cart, orders | Uses the saved Flipkart session for cart actions. New adds use the authenticated cart endpoint; quantity updates and removals use the saved session in an invisible browser. |
536
+
537
+ ### Developer
538
+
539
+ | Provider | Stability | Needs | Best for | Notes |
540
+ | --- | --- | --- | --- | --- |
541
+ | Confluence | `stable` | cookies | spaces, pages, search, comments, page creation | Uses an Atlassian web session to search and edit workspace documentation from the terminal. |
542
+ | GitHub | `stable` | cookies | repos, issues, pull requests, stars | Uses a saved GitHub web session for browserless developer automation. |
543
+ | GitLab | `stable` | cookies | projects, issues, merge requests | Uses a saved GitLab web session instead of personal access tokens. |
544
+ | Jira | `stable` | cookies | projects, issues, JQL search, issue creation | Saves a site-scoped Jira web session and reuses it for browserless workspace automation. |
545
+ | Linear | `partial` | cookies | issue management and comments | Uses the saved Linear web session for GraphQL issue workflows. |
546
+ | Notion | `partial` | cookies | search, pages, databases, comments | Uses the saved Notion web session instead of an official integration token. |
547
+ | Trello | `stable` | cookies | boards, lists, cards, card creation | Uses a saved Trello web session for browserless board and card workflows. |
548
+
549
+ ### DevOps
550
+
551
+ | Provider | Stability | Needs | Best for | Notes |
552
+ | --- | --- | --- | --- | --- |
553
+ | Cloudflare | `stable` | api token | zones, DNS, and account-level infrastructure automation | Strong official API surface for DNS and zone operations. |
554
+ | DigitalOcean | `stable` | api token | App Platform, deployments, and domains | Uses the official App Platform and account APIs. |
555
+ | Fly.io | `partial` | api token | apps, machines, volumes, and certificates | Some tokens may need an explicit `--org` slug for the cleanest results. |
556
+ | Netlify | `stable` | api token | sites, deploys, DNS, and team account automation | Good fit for deployment and static hosting workflows. |
557
+ | Railway | `partial` | api token | projects, services, and environment-oriented platform workflows | Uses Railway’s GraphQL surface, so deeper actions may still expand over time. |
558
+ | Render | `stable` | api token | services, projects, and env-group automation | Strong official REST API for deployment and service inspection. |
559
+ | Supabase | `stable` | api token | organizations, projects, and functions | Good backend/platform automation surface. |
560
+ | Vercel | `stable` | api token | teams, projects, and deployments | Strong deployment-centric API coverage. |
561
+
562
+ ### Bot
563
+
564
+ | Provider | Stability | Needs | Best for | Notes |
565
+ | --- | --- | --- | --- | --- |
566
+ | Discord Bot | `stable` | bot token | guild/channel messaging automation | Good for notifications and chat ops. |
567
+ | GitHub Bot | `stable` | api token | GitHub app or bot-token actions | Same GitHub surface, but bot-style auth. |
568
+ | Slack Bot | `stable` | bot token | channel history, send, edit, file upload | Strong for workspace notification flows. |
569
+ | Telegram Bot | `stable` | bot token | send, edit, media, updates | Good default bot adapter for lightweight notifications. |
570
+
571
+ ### Tools
572
+
573
+ | Provider | Stability | Needs | Best for | Notes |
574
+ | --- | --- | --- | --- | --- |
575
+ | Cheat | `stable` | none | shell and language cheat sheets | Fast terminal help. |
576
+ | DNS | `stable` | none | DNS record lookups | Good for quick ops checks. |
577
+ | Favicon | `stable` | none | site icon discovery and verification | Resolves declared icon tags, falls back to `/favicon.ico`, and verifies candidates. |
578
+ | Headers | `stable` | none | inspect raw HTTP response headers | Useful for cache, CDN, and server debugging. |
579
+ | HTTP Toolkit | `stable` | none or cookies | inspect saved sessions, attach to the shared browser, and replay authenticated requests | Best for session-aware debugging on sites where plain `curl` is not enough. |
580
+ | IP | `stable` | none | public IP and network details | Fast no-auth network lookup. |
581
+ | Markdown Fetch | `stable` | none | turn pages into markdown-like text | Useful for scraping readable content. |
582
+ | Metadata | `stable` | none | webpage title and social tags | Extracts title, description, canonical, favicon, Open Graph, and Twitter tags. |
583
+ | oEmbed | `stable` | none | embeddable media/page metadata from URLs | Uses page-discovered oEmbed endpoints first, then falls back to a public resolver. |
584
+ | Page Links | `stable` | none | internal/external link extraction from webpages | Useful for crawls, site audits, and agent discovery. |
585
+ | QR | `stable` | none | QR generation | Can save or print a public image URL. |
586
+ | Redirect | `stable` | none | redirect-chain tracing | Shows each HTTP hop and final destination. |
587
+ | Robots | `stable` | none | `robots.txt` inspection | Useful for site crawling checks. |
588
+ | RSS | `stable` | none | feed inspection | Reads RSS/Atom without setup. |
589
+ | Screenshot | `stable` | none | URL-to-image captures | Public no-key render service. |
590
+ | Sitemap | `stable` | none | sitemap discovery and listing | Good for SEO/crawl inspection. |
591
+ | SSL | `stable` | none | TLS certificate inspection | Shows certificate, issuer, SANs, protocol, and expiry. |
592
+ | Time | `stable` | none | timezone and current time lookup | Public time APIs. |
593
+ | Timezone | `stable` | none | resolve timezone from a place, coordinates, or IANA zone | Useful for scheduling, agent routing, and regional workflows. |
594
+ | Translate | `stable` | none | quick translation | Uses a public translation endpoint. |
595
+ | Uptime | `stable` | none | latency and HTTP health checks | Lightweight monitoring helper. |
596
+ | Weather | `stable` | none | weather lookup | No account required. |
597
+ | Web Search | `stable` | none | multi-engine search | Supports summaries and engine selection. |
598
+ | Whois | `stable` | none | domain registration details | Useful for domain inspection. |
599
+
600
+ ### News
601
+
602
+ | Provider | Stability | Needs | Best for | Notes |
603
+ | --- | --- | --- | --- | --- |
604
+ | News | `stable` | none | headline and feed aggregation | Pulls from public no-key sources like Google News, GDELT, Hacker News, Reddit, and raw RSS feeds. |
605
+
606
+ ## Agent-Friendly Output
607
+
608
+ Every command supports `--json`.
609
+
610
+ Success shape:
611
+
612
+ ```json
613
+ {
614
+ "ok": true,
615
+ "platform": "x",
616
+ "account": "personal",
617
+ "action": "post",
618
+ "message": "X post created for personal.",
619
+ "id": "1234567890",
620
+ "url": "https://x.com/user/status/1234567890"
621
+ }
622
+ ```
623
+
624
+ Error shape:
625
+
626
+ ```json
627
+ {
628
+ "ok": false,
629
+ "error": {
630
+ "code": "SESSION_EXPIRED",
631
+ "message": "X returned a logged-out page. Re-import cookies.txt."
632
+ }
633
+ }
634
+ ```
635
+
636
+ This makes AutoCLI friendly for:
637
+
638
+ - shell scripts
639
+ - CI jobs
640
+ - multi-step agents
641
+ - external orchestrators
642
+
643
+ ## Session Refresh
644
+
645
+ AutoCLI includes a refresh layer in `src/utils/autorefresh.ts`.
646
+
647
+ - Instagram, X, and YouTube can use lightweight authenticated keepalive checks before normal actions.
648
+ - Rotated cookies are persisted back into the saved session file when the platform returns them.
649
+ - Some platforms still do not support a durable cookie-only refresh path, so expiration handling remains provider-specific.
650
+
651
+ This is the most practical browserless approach for copied web sessions, but it is not a universal guarantee for every website.
652
+
653
+ For cookie-backed providers that support interactive capture, you can also use `login --browser` to open a real browser, complete the sign-in flow manually, and let AutoCLI save the session automatically.
654
+
655
+ ## Project Structure
656
+
657
+ ```text
658
+ .
659
+ ├── README.md
660
+ ├── package.json
661
+ ├── tsconfig.json
662
+ └── src
663
+ ├── __tests__
664
+ ├── core
665
+ │ ├── auth
666
+ │ └── runtime
667
+ ├── commands
668
+ ├── platforms
669
+ │ ├── bot
670
+ │ ├── developer
671
+ │ ├── editor
672
+ │ ├── finance
673
+ │ ├── llm
674
+ │ ├── maps
675
+ │ ├── movie
676
+ │ ├── music
677
+ │ ├── shopping
678
+ │ ├── social
679
+ │ ├── tools
680
+ │ ├── config.ts
681
+ │ └── index.ts
682
+ ├── utils
683
+ ├── config.ts
684
+ ├── errors.ts
685
+ ├── index.ts
686
+ └── logger.ts
687
+ ```
688
+
689
+ ## Development
690
+
691
+ Run the local CLI:
692
+
693
+ ```bash
694
+ bun run dev --help
695
+ bun run dev social x login --cookies ./cookie.json
696
+ ```
697
+
698
+ Watch mode:
699
+
700
+ ```bash
701
+ bun run dev:watch --help
702
+ ```
703
+
704
+ Typecheck:
705
+
706
+ ```bash
707
+ bun run typecheck
708
+ ```
709
+
710
+ Run tests:
711
+
712
+ ```bash
713
+ bun test
714
+ ```
715
+
716
+ ## Notes On Reliability
717
+
718
+ - Cookie-backed private web flows can drift as providers change internal endpoints.
719
+ - Token-backed developer and bot providers are usually the most stable long-term.
720
+ - Local editor and public utility providers are the least fragile because they do not depend on private web sessions.
721
+ - The category model is intentionally strict so provider names do not collide as AutoCLI grows.
722
+
723
+ ## Star History
724
+
725
+ [![Star History Chart](https://api.star-history.com/svg?repos=vkop007/autocli&type=Date)](https://star-history.com/#vkop007/autocli&Date)