forkfeed-mcp 1.0.8 → 1.0.10

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.
@@ -197,7 +197,11 @@ Casual, cheeky, technically accurate. Like your funniest friend reviewing your c
197
197
  - Humor is the default
198
198
 
199
199
  ### Incremental updates
200
- If the user has pushed before (check with forkfeed_status), generate only NEW feeds/cards. Prepend new feed IDs to the fork's feedIds array. Never regenerate existing commits.
200
+ Always call **forkfeed_status** before generating content. It lists published feeds by their externalFeedId (which contains the commit SHA, e.g. \`tfip-owner-repo-abc1234\`).
201
+
202
+ - **New commit**: Generate only the new feed and cards. The fork's feedIds must include ALL existing feed IDs plus the new one. Missing old IDs causes them to be deleted.
203
+ - **Existing commit**: Warn the user that this commit already has a feed. Only regenerate if they confirm. The old cards will be replaced.
204
+ - **Multiple commits**: Generate one feed per commit. Include all feed IDs (old + new) in the fork's feedIds array.
201
205
 
202
206
  ---
203
207
 
package/dist/index.js CHANGED
@@ -102,7 +102,6 @@ server.tool('forkfeed_push', 'Push a generated manifest (forks, feeds, cards) to
102
102
  ?.map((f) => ` - ${f.title} (${f.feeds} feeds)`)
103
103
  .join('\n');
104
104
  // Generate QR code for the first fork's deep link
105
- const forkId = manifest.forks?.[0]?._id;
106
105
  let qrBlock = '';
107
106
  if (forkId) {
108
107
  const url = `https://forkfeed.link/fork/${forkId}`;
@@ -200,6 +199,13 @@ server.tool('forkfeed_status', 'Check your current forkfeed content: which forks
200
199
  lines.push(` Feeds: ${fork.feeds}`);
201
200
  lines.push('');
202
201
  }
202
+ if (data.feeds?.length) {
203
+ lines.push('Published feeds:');
204
+ for (const feed of data.feeds) {
205
+ lines.push(` - ${feed.externalFeedId} | ${feed.title} | ${feed.cardCount ?? 0} cards`);
206
+ }
207
+ lines.push('');
208
+ }
203
209
  return { content: [{ type: 'text', text: lines.join('\n') }] };
204
210
  }
205
211
  catch (err) {
@@ -225,14 +231,15 @@ server.prompt('forkfeed', 'Turn GitHub commits into swipeable forkfeed content.
225
231
 
226
232
  1. Call **forkfeed_guide** to get the full content generation guide. Read it carefully.
227
233
  2. Call **forkfeed_images** to get the IT Scenes image catalog (200 scenes + 30 backgrounds).
228
- 3. Detect the current repo from the working directory. Use git to get commit data.
229
- 4. Ask which commits to process (default: latest). Do NOT ask about image style (always use IT Scenes).
230
- 5. Fetch the diff, analyze it, and generate the 8-card manifest following the guide exactly.
231
- 6. Match images from the catalog to card content by tags and semantic similarity.
232
- 7. Validate the manifest against the checklist in the guide.
233
- 8. Call **forkfeed_push** with the complete manifest to publish it.
234
+ 3. Call **forkfeed_status** to check for existing content. Note which feeds (commits) are already published.
235
+ 4. Detect the current repo from the working directory. Use git to get commit data.
236
+ 5. Ask which commits to process (default: latest). Do NOT ask about image style (always use IT Scenes). If any selected commits already have feeds, warn the user and ask for confirmation before regenerating them.
237
+ 6. Fetch the diff, analyze it, and generate the 8-card manifest following the guide exactly. Include ALL existing feed IDs in the fork's feedIds array (see "Incremental updates" in the guide).
238
+ 7. Match images from the catalog to card content by tags and semantic similarity.
239
+ 8. Validate the manifest against the checklist in the guide.
240
+ 9. Call **forkfeed_push** with the complete manifest to publish it.
234
241
 
235
- Start now. Detect the repo and ask which commits to process.`,
242
+ Start now. Detect the repo and check for existing content.`,
236
243
  },
237
244
  },
238
245
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forkfeed-mcp",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "MCP server for pushing GitHub commits to forkfeed",
5
5
  "type": "module",
6
6
  "bin": {