forkfeed-mcp 1.3.3 → 1.3.4
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/dist/guide-content.js +10 -10
- package/dist/index.js +23 -21
- package/package.json +1 -1
package/dist/guide-content.js
CHANGED
|
@@ -79,18 +79,18 @@ Only 5 fields + cards. Everything else is auto-populated.
|
|
|
79
79
|
|
|
80
80
|
## The 8 cards
|
|
81
81
|
|
|
82
|
-
Each card = array of detail variants (cover is auto-generated). Provide 1+ variants per card.
|
|
82
|
+
Each card = array of detail variants (cover is auto-generated). Provide 1+ variants per card. Quality over quantity: pick only the most impactful, funny, or educational content.
|
|
83
83
|
|
|
84
84
|
| # | Section | Detail variants | Block pattern | Tone |
|
|
85
85
|
|---|---------|----------------|---------------|------|
|
|
86
|
-
| 0 | Explain like I'm 5 | 3
|
|
87
|
-
| 1 | The roast | 3
|
|
88
|
-
| 2 | Commit message, decoded | 2-
|
|
89
|
-
| 3 | The LinkedIn post | 2-
|
|
90
|
-
| 4 | Statistics | 3
|
|
91
|
-
| 5 | Learning moment | 3
|
|
92
|
-
| 6 | Alternatives | 3
|
|
93
|
-
| 7 | Quiz |
|
|
86
|
+
| 0 | Explain like I'm 5 | 2-3 | img -> title -> text | Playful, zero jargon |
|
|
87
|
+
| 1 | The roast | 2-3 | img -> title -> text, optional subtext | Maximum cheekiness, swearing ok |
|
|
88
|
+
| 2 | Commit message, decoded | 2-3 | social -> title -> text -> optional code | Escalating absurdity |
|
|
89
|
+
| 3 | The LinkedIn post | 2-3 | social -> title -> text -> subtext | Peak LinkedIn parody |
|
|
90
|
+
| 4 | Statistics | 2-3 | img -> title -> code | Deadpan data humor |
|
|
91
|
+
| 5 | Learning moment | 2-3 | img -> title -> text -> optional code -> button(last) | Teach with personality |
|
|
92
|
+
| 6 | Alternatives | 2-3 | img -> title -> text -> optional code | Constructive snark |
|
|
93
|
+
| 7 | Quiz | 4-6 | title -> quiz (no img blocks) | Quiz show energy |
|
|
94
94
|
|
|
95
95
|
### Card 2 personas (Decoded)
|
|
96
96
|
- "What you meant" (source: "x" or "threads")
|
|
@@ -108,7 +108,7 @@ Each card = array of detail variants (cover is auto-generated). Provide 1+ varia
|
|
|
108
108
|
|
|
109
109
|
- Exactly 8 cards in the cards array (one per section above)
|
|
110
110
|
- Use short image IDs from forkfeed_commits output (img47, not full URLs)
|
|
111
|
-
- 12
|
|
111
|
+
- 8-12 unique scene images (img*) across the feed, no duplicate within same card
|
|
112
112
|
- Cards 0-5: code must be REAL from the diff (never fabricated)
|
|
113
113
|
- Card 6: synthesized code IS allowed
|
|
114
114
|
- Card 7: no img blocks, quiz blocks only (with title per variant)
|
package/dist/index.js
CHANGED
|
@@ -482,31 +482,32 @@ async function pushManifestToServer(manifest) {
|
|
|
482
482
|
const url = `https://forkfeed.link/fork/${forkId}`;
|
|
483
483
|
try {
|
|
484
484
|
const qr = await QRCode.toString(url, { type: 'utf8', errorCorrectionLevel: 'L' });
|
|
485
|
-
qrBlock = ['', 'Scan to open in forkfeed:', '', qr
|
|
485
|
+
qrBlock = ['', 'Scan to open in forkfeed:', '', qr].join('\n');
|
|
486
486
|
}
|
|
487
487
|
catch {
|
|
488
|
-
qrBlock =
|
|
488
|
+
qrBlock = '';
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
}
|
|
491
|
+
const blocks = [{
|
|
492
|
+
type: 'text',
|
|
493
|
+
text: [
|
|
494
|
+
'Content pushed successfully!',
|
|
495
|
+
'',
|
|
496
|
+
`Uploaded: ${data.uploaded?.feeds || 0} feeds, ${data.uploaded?.cards || 0} cards`,
|
|
497
|
+
'',
|
|
498
|
+
'Forks:',
|
|
499
|
+
forkSummary || ' (none)',
|
|
500
|
+
'',
|
|
501
|
+
saveError || `Manifest saved to ${filepath}`,
|
|
502
|
+
'',
|
|
503
|
+
'Your content is now live in the forkfeed app. It starts as private.',
|
|
504
|
+
'To make it public, change visibility in the app (requires admin approval).',
|
|
505
|
+
].join('\n'),
|
|
506
|
+
}];
|
|
507
|
+
if (qrBlock) {
|
|
508
|
+
blocks.push({ type: 'text', text: qrBlock });
|
|
509
|
+
}
|
|
510
|
+
return { content: blocks };
|
|
510
511
|
}
|
|
511
512
|
catch (err) {
|
|
512
513
|
return {
|
|
@@ -756,6 +757,7 @@ server.prompt('forkfeed', 'Turn GitHub commits into swipeable forkfeed content.
|
|
|
756
757
|
3. Call **forkfeed_commits** with the selected commit SHA. This returns the diff, file stats, and suggested scene images. Do NOT run git commands yourself.
|
|
757
758
|
4. Generate the simplified content JSON: sha, feedTitle, feedDescription, forkTitle, forkDescription, and 8 cards with blocks. Use short image IDs (img47) for inline images. Do NOT provide owner, repo, backgrounds, existingFeedIds, UUIDs, covers, or type wrappers. The builder auto-detects and generates all of that.
|
|
758
759
|
5. Call **forkfeed_build** with the simplified content (push defaults to true).
|
|
760
|
+
6. Display the QR code block from the push result exactly as returned, so the user can scan it.
|
|
759
761
|
|
|
760
762
|
Start now.`,
|
|
761
763
|
},
|