pmpt-cli 1.14.11 → 1.14.13

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 CHANGED
@@ -104,6 +104,7 @@ The generated prompt is **automatically copied to your clipboard**. Just paste i
104
104
  | `pmpt export` | Export project as `.pmpt` file |
105
105
  | `pmpt import <file>` | Import from `.pmpt` file |
106
106
  | `pmpt recover` | Recover damaged pmpt.md via AI-generated prompt |
107
+ | `pmpt mcp-setup` | Auto-configure MCP server for your AI tool |
107
108
  | `pmpt -v` | Show current CLI version |
108
109
 
109
110
  ### Platform
@@ -113,8 +114,9 @@ The generated prompt is **automatically copied to your clipboard**. Just paste i
113
114
  | `pmpt login` | Authenticate via GitHub (one-time) |
114
115
  | `pmpt publish` | Publish your project (requires quality score ≥ 40) |
115
116
  | `pmpt update` | Quick re-publish: update content without changing metadata |
116
- | `pmpt edit` | Edit published project metadata (description, tags, category) |
117
+ | `pmpt edit` | Edit published project metadata (description, tags, category, visibility, related projects, product URL) |
117
118
  | `pmpt unpublish` | Remove a published project from pmptwiki |
119
+ | `pmpt graduate` | Graduate a project — archive with badge, move to Hall of Fame |
118
120
  | `pmpt clone <slug>` | Clone and reproduce someone's project |
119
121
  | `pmpt explore` | Open pmptwiki.com/explore in your browser |
120
122
 
@@ -133,7 +135,7 @@ pmpt includes a built-in [MCP](https://modelcontextprotocol.io) server so AI too
133
135
  `pmpt-mcp` is included when you install pmpt — no separate installation needed.
134
136
 
135
137
  ```bash
136
- npm install -g pmpt # pmpt + pmpt-mcp both installed
138
+ npm install -g pmpt-cli # pmpt + pmpt-mcp both installed
137
139
  ```
138
140
 
139
141
  #### Automatic Setup (Recommended)
@@ -164,11 +166,18 @@ Add to your `.mcp.json` (or IDE MCP config):
164
166
 
165
167
  | Tool | Description |
166
168
  |------|-------------|
167
- | `pmpt_save` | Save a snapshot after completing features, fixes, or milestones |
169
+ | `pmpt_plan_questions` | Get planning questions to ask the user conversationally |
170
+ | `pmpt_plan` | Submit answers to generate AI prompt and project docs |
171
+ | `pmpt_save` | Save a snapshot with detailed summary |
172
+ | `pmpt_update_doc` | Check off features, add progress notes, backfill summaries |
173
+ | `pmpt_log_decision` | Record architectural/technical decisions with reasoning |
174
+ | `pmpt_read_context` | Read full project context (plan, docs, history, quality) |
168
175
  | `pmpt_status` | Check tracked files, snapshot count, and quality score |
169
176
  | `pmpt_history` | View version history with git commit info |
170
177
  | `pmpt_diff` | Compare two versions, or a version against working copy |
178
+ | `pmpt_edit_plan` | Edit plan fields — regenerates plan.md and pmpt.ai.md |
171
179
  | `pmpt_quality` | Check quality score and publish readiness |
180
+ | `pmpt_publish` | Publish project to pmptwiki.com |
172
181
 
173
182
  All tools accept an optional `projectPath` parameter (defaults to cwd).
174
183
 
@@ -51,24 +51,27 @@ export async function cmdEdit() {
51
51
  { value: 'other', label: 'Other' },
52
52
  ].find((o) => o.value === project.category)?.label ?? project.category ?? 'Other';
53
53
  p.note([
54
+ project.graduated ? '🎓 Graduated — only Product URL can be updated.' : null,
54
55
  `Description: ${project.description || '(none)'}`,
55
56
  `Tags: ${project.tags?.length ? project.tags.join(', ') : '(none)'}`,
56
57
  `Category: ${categoryLabel}`,
57
58
  project.productUrl ? `Product: ${project.productUrl}` : 'Product: (none)',
58
59
  `Visibility: ${project.unlisted ? 'Unlisted' : 'Listed'}`,
59
60
  `Related: ${project.related?.length ? project.related.join(', ') : '(none)'}`,
60
- ].join('\n'), 'Current Settings');
61
+ ].filter(Boolean).join('\n'), 'Current Settings');
61
62
  // Pick fields to edit
62
63
  const fields = await p.multiselect({
63
64
  message: 'What do you want to edit?',
64
- options: [
65
- { value: 'description', label: 'Description' },
66
- { value: 'tags', label: 'Tags' },
67
- { value: 'category', label: 'Category' },
68
- { value: 'productUrl', label: 'Product Link' },
69
- { value: 'unlisted', label: 'Visibility (listed/unlisted)' },
70
- { value: 'related', label: 'Related Projects' },
71
- ],
65
+ options: project.graduated
66
+ ? [{ value: 'productUrl', label: 'Product Link' }]
67
+ : [
68
+ { value: 'description', label: 'Description' },
69
+ { value: 'tags', label: 'Tags' },
70
+ { value: 'category', label: 'Category' },
71
+ { value: 'productUrl', label: 'Product Link' },
72
+ { value: 'unlisted', label: 'Visibility (listed/unlisted)' },
73
+ { value: 'related', label: 'Related Projects' },
74
+ ],
72
75
  });
73
76
  if (p.isCancel(fields)) {
74
77
  p.cancel('Cancelled');
@@ -275,6 +275,10 @@ function ensureMinimalDocs(projectPath) {
275
275
  '',
276
276
  '## Decisions',
277
277
  '',
278
+ '## Constraints',
279
+ '',
280
+ '## Lessons',
281
+ '',
278
282
  ].join('\n');
279
283
  writeFileSync(pmptMdPath, skeleton, 'utf-8');
280
284
  }
package/dist/lib/plan.js CHANGED
@@ -105,6 +105,20 @@ After completing each feature above:
105
105
  1. Mark the feature done in \`.pmpt/docs/pmpt.md\` (change \`- [ ]\` to \`- [x]\`)
106
106
  2. Add a brief note to the Snapshot Log section
107
107
  3. Run \`pmpt save\` in terminal
108
+
109
+ ### What to Record in pmpt.md
110
+
111
+ **## Decisions** — Record WHY, not just WHAT. Include the data or observation that led to the decision.
112
+ - Bad: "Set minimum description length to 150 chars"
113
+ - Good: "Set minimum description length to 150 chars (50-char threshold caused 60% low-quality entries)"
114
+
115
+ **## Constraints** — Record platform/library limitations discovered during development.
116
+ - Examples: DB quirks, API limits, framework restrictions, version incompatibilities
117
+ - Format: \`- [Platform]: what doesn't work → workaround used\`
118
+
119
+ **## Lessons** — Record anti-patterns and "we tried X, it broke because Y" discoveries.
120
+ - Examples: wrong deletion order causing FK errors, caching issues, race conditions
121
+ - Format: \`- [What failed] → [Root cause] → [Fix applied]\`
108
122
  `;
109
123
  }
110
124
  // Generate human-facing project document (pmpt.md)
@@ -138,6 +152,12 @@ ${techSection}
138
152
  ### v1 - Initial Setup
139
153
  - Project initialized with pmpt
140
154
 
155
+ ## Decisions
156
+
157
+ ## Constraints
158
+
159
+ ## Lessons
160
+
141
161
  ---
142
162
  *This document tracks your project progress. Update it as you build.*
143
163
  *AI instructions are in \`pmpt.ai.md\` — paste that into your AI tool.*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmpt-cli",
3
- "version": "1.14.11",
3
+ "version": "1.14.13",
4
4
  "description": "Record and share your AI-driven product development journey",
5
5
  "type": "module",
6
6
  "bin": {