pmpt-cli 1.14.4 → 1.14.6

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.
Files changed (2) hide show
  1. package/dist/mcp.js +10 -3
  2. package/package.json +1 -1
package/dist/mcp.js CHANGED
@@ -12,7 +12,7 @@ import { resolve, join } from 'path';
12
12
  import { existsSync, readFileSync, writeFileSync } from 'fs';
13
13
  import glob from 'fast-glob';
14
14
  import { createRequire } from 'module';
15
- import { isInitialized, loadConfig, getDocsDir, getHistoryDir } from './lib/config.js';
15
+ import { isInitialized, loadConfig, saveConfig, getDocsDir, getHistoryDir } from './lib/config.js';
16
16
  import { createFullSnapshot, getAllSnapshots, getTrackedFiles, resolveFullSnapshot } from './lib/history.js';
17
17
  import { computeQuality } from './lib/quality.js';
18
18
  import { getPlanProgress, savePlanProgress, savePlanDocuments, PLAN_QUESTIONS } from './lib/plan.js';
@@ -476,7 +476,7 @@ server.tool('pmpt_read_context', 'Read project context to understand current sta
476
476
  return { content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }], isError: true };
477
477
  }
478
478
  });
479
- server.tool('pmpt_update_doc', 'Update pmpt.md: check off completed features, add progress notes, or append content. Use this after completing work to keep the project document up to date.', {
479
+ server.tool('pmpt_update_doc', 'Update pmpt.md: check off completed features, add progress notes, or backfill missing version summaries. Use after completing work OR before publishing to fill in empty Snapshot Log entries. To backfill: set snapshotVersion="v2 — Description" and progressNote="What was done in this version".', {
480
480
  projectPath: z.string().optional().describe('Project root path. Defaults to cwd.'),
481
481
  completedFeatures: z.array(z.string()).optional().describe('Feature names to mark as done (matches against checkbox items in pmpt.md).'),
482
482
  progressNote: z.string().optional().describe('Progress note to append to the Snapshot Log section.'),
@@ -582,7 +582,7 @@ server.tool('pmpt_log_decision', 'Record an architectural or technical decision
582
582
  return { content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }], isError: true };
583
583
  }
584
584
  });
585
- server.tool('pmpt_publish', 'Publish the project to pmptwiki.com. Non-interactive — just provide slug and optional metadata. BEFORE publishing, verify: (1) Run pmpt_history to check all snapshots have meaningful summaries empty versions look bad on the project page. (2) If any versions lack descriptions, run pmpt_save with a summary or update pmpt.md Snapshot Log section with ### vNTitle entries. (3) Run pmpt_quality to check publish readiness. Note: user must have run `pmpt login` once before.', {
585
+ server.tool('pmpt_publish', 'Publish the project to pmptwiki.com. Non-interactive — just provide slug and optional metadata. MANDATORY pre-publish checklist: (1) Run pmpt_history if ANY version lacks a note/summary, you MUST fix it before publishing. (2) For each empty version, run pmpt_diff for that version to understand changes, then use pmpt_update_doc with progressNote and snapshotVersion (e.g. snapshotVersion="v2 Tech stack migration to Cloudflare") to add Snapshot Log entries to pmpt.md. (3) After backfilling all versions, run pmpt_save with a summary. (4) Run pmpt_quality to verify readiness. DO NOT publish with empty versions — they display poorly on the project page. Note: user must have run `pmpt login` once before.', {
586
586
  projectPath: z.string().optional().describe('Project root path. Defaults to cwd.'),
587
587
  slug: z.string().describe('Project slug (3-50 chars, lowercase alphanumeric and hyphens).'),
588
588
  description: z.string().optional().describe('Project description (max 500 chars).'),
@@ -656,6 +656,13 @@ server.tool('pmpt_publish', 'Publish the project to pmptwiki.com. Non-interactiv
656
656
  productUrl,
657
657
  productUrlType,
658
658
  });
659
+ // Save publish state to config so `pmpt update` works
660
+ if (config) {
661
+ config.lastPublished = new Date().toISOString();
662
+ config.lastPublishedSlug = slug;
663
+ config.lastPublishedVersionCount = snapshots.length;
664
+ saveConfig(pp, config);
665
+ }
659
666
  return {
660
667
  content: [{
661
668
  type: 'text',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmpt-cli",
3
- "version": "1.14.4",
3
+ "version": "1.14.6",
4
4
  "description": "Record and share your AI-driven product development journey",
5
5
  "type": "module",
6
6
  "bin": {