forkfeed-mcp 1.0.15 → 1.0.16

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.
@@ -62,7 +62,7 @@ Skip merge commits (>1 parent) unless it's the only commit.
62
62
  ### ID conventions
63
63
  - Fork: \`tfip-{owner}-{repo}\` or \`tfip-local-{dirname}\`
64
64
  - Feed: \`tfip-{owner}-{repo}-{7char-sha}\`
65
- - Card: UUID v4 (generate upfront with \`node -e "for(let i=0;i<N;i++) process.stdout.write(require('crypto').randomUUID()+'\\n')"\`)
65
+ - Card: UUID v4 (generate inline, do not use any scripts or commands)
66
66
 
67
67
  All IDs must match \`/^[a-z0-9-]+$/\` (except card UUIDs).
68
68
 
@@ -205,52 +205,13 @@ Always call **forkfeed_status** before generating content. It lists published fe
205
205
  - **Existing commit**: Warn the user that this commit already has a feed. Only regenerate if they confirm. The old cards will be replaced.
206
206
  - **One commit per run**: Never process multiple commits at once. If the user wants more, they run the command again.
207
207
 
208
- ### Parallel card generation
209
-
210
- Generate all 8 cards simultaneously using the Agent tool. This is critical for speed.
211
-
212
- **Planning phase** (main context, before launching agents):
213
- 1. Assign images upfront: pick 8 unique covers (img*), 8 unique backgrounds (bg*), and split the remaining scene images into 8 non-overlapping pools for inline CONTENT_IMAGE use per card.
214
- 2. Pre-generate 8 card UUIDs (use \`crypto.randomUUID()\` inline or a single node command).
215
- 3. Output the skeleton (fork, feed, image assignments, UUIDs) so it's visible.
216
-
217
- **Agent prompts** (launch ALL 8 in a single message):
218
- Each agent generates exactly one card. The agent prompt must include:
219
- - Card number and section name (e.g., "Card 1: The roast")
220
- - The section rules from this guide: variant count range, block pattern, tone
221
- - The full commit diff and stats
222
- - Assigned cover imageSrc (img*), backgroundSrc (bg*), and the pool of available inline images for this card
223
- - The card UUID (\`_id\`) and feed ID (\`feedId\`)
224
- - "Return ONLY the raw JSON card object, no markdown, no explanation. Do NOT use any tools, scripts, or commands - just output the JSON directly."
225
-
226
- Example agent prompt structure:
227
- \`\`\`
228
- Generate Card 2 (Commit message, decoded) for forkfeed.
229
-
230
- Card JSON structure: { "_id": "{uuid}", "feedId": "{feedId}", "order": 2, "variants": [...] }
231
-
232
- Rules: 2-4 detail variants. Pattern: SOCIAL -> TITLE -> TEXT -> optional CODE. Escalating absurdity.
233
- Personas: "What you meant" (source: "x"), "Corporate speak" (source: "linkedin").
234
-
235
- Cover: { "type": "FULL_IMAGE", "imageSrc": "{assigned-cover}", "title": "...", "subtitle": "..." }
236
- Background for all CONTENT variants: "{assigned-bg}"
237
- Available inline images: {pool}
238
-
239
- Commit diff:
240
- {diff}
241
-
242
- Return ONLY the JSON object. No markdown fences, no explanation.
243
- Do NOT use any tools, scripts, or commands. Just output the JSON directly as text.
244
- \`\`\`
245
-
246
- **Assembly** (main context, after agents complete):
247
- Collect 8 card JSONs, combine with fork and feed into the manifest, validate against the checklist, and push.
248
-
249
208
  ---
250
209
 
251
210
  ## Phase 4: Push
252
211
 
253
- After assembling the manifest, call the **forkfeed_push** tool with it:
212
+ Generate the entire manifest (forks, feeds, and all 8 cards with variants) in a single JSON output. Do NOT use any scripts, tools, agents, or commands to generate content, UUIDs, or JSON. Everything must be produced purely in your response.
213
+
214
+ After generating the manifest JSON, call the **forkfeed_push** tool with it:
254
215
  \`\`\`
255
216
  forkfeed_push({ manifest: { forks: [...], feeds: [...], cards: [...] } })
256
217
  \`\`\`
package/dist/index.js CHANGED
@@ -327,26 +327,13 @@ server.prompt('forkfeed', 'Turn GitHub commits into swipeable forkfeed content.
327
327
  type: 'text',
328
328
  text: `Turn the commits in this repo into forkfeed content. Follow these steps exactly:
329
329
 
330
- 1. Call **forkfeed_guide** and **forkfeed_images** in parallel to load the content guide and image catalog.
331
- 2. Call **forkfeed_status** to check for existing content.
332
- 3. Detect the repo from the working directory. Show recent commits in a table with a column indicating whether each already has a published feed (match 7-char SHA from status feed IDs). Ask which ONE commit to process (default: latest). One commit at a time, never more. Do NOT ask about image style.
333
- 4. Fetch the commit diff and stats via git.
334
- 5. Plan the manifest skeleton (output this before generating cards):
335
- - Fork: ID, title, description, imageSrc
336
- - Feed: ID, title, description, imageSrc, mode: "sequential", scrollDirection: "vertical", engagement: true
337
- - Assign 8 unique cover images (img*) and 8 unique backgrounds (bg*) to cards 0-7
338
- - Pre-generate 8 card UUIDs
339
- - Split remaining scene images into 8 non-overlapping pools for inline CONTENT_IMAGE use
340
- - Include ALL existing feed IDs in the fork's feedIds array (see "Incremental updates" in guide)
341
- 6. Generate all 8 cards IN PARALLEL using the Agent tool. Launch ALL 8 agents in a SINGLE message.
342
- Each agent prompt must include: the card number, section type and rules (from the guide), the full commit diff, assigned cover/background/inline images, the card UUID, and the feed ID.
343
- Each agent must return ONLY the raw card JSON object: { "_id": "...", "feedId": "...", "order": N, "variants": [...] }
344
- Tell each agent: "Do NOT use any tools, scripts, or commands. Just output the JSON directly as text."
345
- See "Parallel card generation" in the guide for details.
346
- 7. Assemble the full manifest from the skeleton + 8 card JSON results. Validate against the checklist.
347
- 8. Call **forkfeed_push** with the complete manifest.
330
+ 1. Call **forkfeed_guide**, **forkfeed_images**, and **forkfeed_status** to load the guide, image catalog, and existing content.
331
+ 2. Detect the repo from the working directory. Show recent commits in a table with a column indicating whether each already has a published feed (match 7-char SHA from status feed IDs). Ask which ONE commit to process (default: latest). One commit at a time, never more. Do NOT ask about image style.
332
+ 3. Fetch the commit diff and stats via git.
333
+ 4. Generate the complete manifest JSON directly. Do NOT use any scripts, tools, or commands to generate UUIDs or content. Generate everything (card UUIDs, all text, all JSON) purely in your response. Include ALL existing feed IDs in the fork's feedIds array (see "Incremental updates" in guide). Output the full manifest as a single JSON block.
334
+ 5. Call **forkfeed_push** with the complete manifest.
348
335
 
349
- Start now. Load the guide and images in parallel, then detect the repo.`,
336
+ Start now. Load the guide, images, and status, then detect the repo.`,
350
337
  },
351
338
  },
352
339
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forkfeed-mcp",
3
- "version": "1.0.15",
3
+ "version": "1.0.16",
4
4
  "description": "MCP server for pushing GitHub commits to forkfeed",
5
5
  "type": "module",
6
6
  "bin": {