@easysociable/cli 0.1.25 → 0.1.27
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 +3 -3
- package/dist/easysociable.js +56 -388
- package/dist/easysociable.js.map +1 -1
- package/package.json +3 -6
- package/skills/ONBOARDING.md +1 -1
- package/skills/easysociable-tweet-image/SKILL.md +0 -57
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easysociable/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.27",
|
|
4
4
|
"mcpName": "io.github.murphywuwu/easysociable-mcp",
|
|
5
5
|
"description": "Agent-first CLI for EasySociable: Content Engine, Template, Slideshow, and MCP",
|
|
6
6
|
"type": "module",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"node": ">=20.0.0"
|
|
42
42
|
},
|
|
43
43
|
"bin": {
|
|
44
|
-
"easysociable": "
|
|
44
|
+
"easysociable": "bin/easysociable.js"
|
|
45
45
|
},
|
|
46
46
|
"files": [
|
|
47
47
|
"bin",
|
|
@@ -63,15 +63,12 @@
|
|
|
63
63
|
"registry": "https://registry.npmjs.org/"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"
|
|
67
|
-
"commander": "^11.1.0",
|
|
68
|
-
"satori": "^0.36.0"
|
|
66
|
+
"commander": "^11.1.0"
|
|
69
67
|
},
|
|
70
68
|
"devDependencies": {
|
|
71
69
|
"@easysociable/mcp-server": "workspace:*",
|
|
72
70
|
"@easysociable/template-gateway-client": "workspace:*",
|
|
73
71
|
"@easysociable/tsconfig": "workspace:*",
|
|
74
|
-
"@easysociable/tweet-card": "workspace:*",
|
|
75
72
|
"@easysociable/vitest-config": "workspace:*",
|
|
76
73
|
"@types/node": "^22.14.0",
|
|
77
74
|
"tsup": "^8.0.2",
|
package/skills/ONBOARDING.md
CHANGED
|
@@ -11,7 +11,7 @@ V1 expects an Agent (Grok Bot, Codex, Claude Code, …) to drive setup. The webs
|
|
|
11
11
|
# or: npm i -g @easysociable/cli
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
2. **Install Skills + MCP** (
|
|
14
|
+
2. **Install Skills + MCP** (Slideshow by default; for Codex / Claude Code). The curl installer already does this; run it yourself after an npm install.
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
17
|
easysociable install --yes
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: easysociable-tweet-image
|
|
3
|
-
description: >
|
|
4
|
-
Turn one or many X (Twitter) posts into clean PNG images with the `easysociable tweets render`
|
|
5
|
-
CLI. Use when the user pastes x.com / twitter.com status links (or tweet ids) and wants
|
|
6
|
-
images, screenshots or "cards" of them — e.g. "tweet to image", "turn these tweets into
|
|
7
|
-
pictures", "推文转图片", "把这几条推特做成图". One link → one PNG; never a carousel.
|
|
8
|
-
Do not use for writing new tweets, multi-slide carousels (use easysociable-slideshow), or
|
|
9
|
-
scraping profiles/timelines.
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# EasySociable Tweet Image
|
|
13
|
-
|
|
14
|
-
Renders each X post as its own PNG: avatar, display name, verified badge, @handle, text,
|
|
15
|
-
up to 4 media thumbnails, timestamp and reply/like counts on a gradient background.
|
|
16
|
-
Tweets are fetched through the EasySociable gateway (login required, free quota) and
|
|
17
|
-
rendered locally on this machine.
|
|
18
|
-
|
|
19
|
-
## Run
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
easysociable tweets render <link-or-id> [more links…] --json
|
|
23
|
-
easysociable tweets render --file links.txt --json # one link per line
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
| Flag | Default | Values |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| `--size` | `auto` | `auto` (card height fits the tweet) · `4:5` · `3:4` · `9:16` · `1:1` |
|
|
29
|
-
| `--theme` | `light` | `light` · `dark` |
|
|
30
|
-
| `--background` | `plum-plate` | `none` · `#hex` · `plum-plate` `sunset` `oceanic` `hyper` `cotton-candy` `gotham-dark` `neon` `emerald` `night-fade` `midnight` |
|
|
31
|
-
| `--hide-metrics` | off | hide reply/like counts |
|
|
32
|
-
| `--out` | `./tweets` | output folder; files are `tweet-<handle>-<id>.png` |
|
|
33
|
-
|
|
34
|
-
If the command says `EASYSOCIABLE_API_KEY is required`, ask the user to run
|
|
35
|
-
`easysociable auth login` (opens the browser), then retry.
|
|
36
|
-
|
|
37
|
-
## Rules
|
|
38
|
-
|
|
39
|
-
1. **Never rewrite, translate, summarize or "fix" tweet text.** The image must show the post exactly as published. Same for author name, @handle and avatar — do not swap or hide them.
|
|
40
|
-
2. **One link → one image.** Do not merge tweets, build threads or carousels. Duplicates are rendered once.
|
|
41
|
-
3. **Do not ask about size, theme or background up front.** Use the defaults unless the user already said what they want (e.g. "for Instagram" → `--size 4:5`, "for Stories/TikTok" → `--size 9:16`, "dark mode" → `--theme dark`, "no background"/"transparent" → `--background none`).
|
|
42
|
-
4. **Failures are final, not something to work around.** `TWEET_NOT_FOUND` (deleted), `TWEET_UNAVAILABLE` (protected, age-restricted, suspended) and `INVALID_TWEET_URL` must be reported as failed. Never reconstruct a tweet from memory, search results or another site.
|
|
43
|
-
5. `RATE_LIMITED` is retried automatically; if it still fails, tell the user to rerun just the failed links in a minute. `UPSTREAM_UNAVAILABLE` → suggest retrying later.
|
|
44
|
-
6. Pass every link the user gave in one command (batch); don't loop one call per link.
|
|
45
|
-
|
|
46
|
-
## Report
|
|
47
|
-
|
|
48
|
-
Exit code 1 means at least one item failed; the others still rendered. Reply with a short
|
|
49
|
-
per-link table from the `--json` items:
|
|
50
|
-
|
|
51
|
-
| Link | Result |
|
|
52
|
-
|---|---|
|
|
53
|
-
| x.com/jack/status/20 | `./tweets/tweet-jack-20.png` |
|
|
54
|
-
| x.com/foo/status/123 | failed — deleted (`TWEET_NOT_FOUND`) |
|
|
55
|
-
|
|
56
|
-
Mention `warnings` only if present (e.g. avatar or media could not be downloaded, so a
|
|
57
|
-
placeholder was used). Repost and view counts are not available from X and are never shown.
|