promptgraph-mcp 1.5.13 → 1.5.14

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/index.js +34 -18
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -104,31 +104,47 @@ if (args[0] === 'marketplace') {
104
104
  }
105
105
 
106
106
  const totalPages = Math.ceil(all.length / PER_PAGE);
107
- const slice = all.slice((page - 1) * PER_PAGE, page * PER_PAGE);
107
+ const startIdx = (page - 1) * PER_PAGE;
108
+ const slice = all.slice(startIdx, startIdx + PER_PAGE);
109
+ const purple = chalk.hex('#7C3AED');
108
110
 
109
- console.log(
110
- boxen(
111
- chalk.hex('#7C3AED').bold('Marketplace') + ' ' +
112
- chalk.gray(`page ${page}/${totalPages} · ${all.length} skills`),
113
- { padding: { top: 0, bottom: 0, left: 2, right: 2 }, borderStyle: 'round', borderColor: '#7C3AED', dimBorder: true }
114
- )
115
- );
111
+ const wrap = (text, width, indent) => {
112
+ const words = (text || '').split(/\s+/);
113
+ const lines = [];
114
+ let line = '';
115
+ for (const w of words) {
116
+ if ((line + ' ' + w).trim().length > width) { lines.push(line.trim()); line = w; }
117
+ else line += ' ' + w;
118
+ }
119
+ if (line.trim()) lines.push(line.trim());
120
+ return lines.map(l => indent + chalk.gray(l)).join('\n');
121
+ };
122
+
123
+ console.log();
124
+ console.log(' ' + purple.bold('PromptGraph Marketplace'));
125
+ console.log(' ' + chalk.gray(`${all.length} skill${all.length === 1 ? '' : 's'} · page ${page}/${totalPages}`));
126
+ console.log(' ' + chalk.gray('─'.repeat(50)));
116
127
  console.log();
117
- for (const s of slice) {
118
- const stars = s.stars ? chalk.yellow('★ ' + s.stars) : chalk.gray('★ 0');
119
- console.log(' ' + chalk.white.bold(s.id) + ' ' + stars);
120
- console.log(' ' + chalk.gray((s.description || '').slice(0, 80)));
121
- if (s.tags?.length) console.log(' ' + chalk.hex('#7C3AED')(s.tags.map(t => '#' + t).join(' ')));
128
+
129
+ slice.forEach((s, i) => {
130
+ const num = chalk.gray(String(startIdx + i + 1).padStart(2) + '.');
131
+ const stars = (s.stars > 0 ? chalk.yellow('' + s.stars) : chalk.gray('★ 0'));
132
+ console.log(' ' + num + ' ' + chalk.white.bold(s.id) + ' ' + stars);
133
+ console.log(wrap(s.description, 64, ' '));
134
+ if (s.tags?.length) console.log(' ' + purple(s.tags.map(t => '#' + t).join(' ')));
135
+ console.log(' ' + chalk.gray('install: ') + chalk.cyan(`/pg-fetch ${s.id}`));
122
136
  console.log();
123
- }
137
+ });
124
138
 
139
+ console.log(' ' + chalk.gray('─'.repeat(50)));
125
140
  if (totalPages > 1) {
126
141
  const nav = [];
127
- if (page > 1) nav.push(`${bin} marketplace ${page - 1}`);
128
- if (page < totalPages) nav.push(`${bin} marketplace ${page + 1}`);
129
- console.log(chalk.gray(' ' + nav.join(' · ')));
142
+ if (page > 1) nav.push(chalk.cyan(`${bin} marketplace ${page - 1}`) + chalk.gray(' ‹ prev'));
143
+ if (page < totalPages) nav.push(chalk.gray('next › ') + chalk.cyan(`${bin} marketplace ${page + 1}`));
144
+ console.log(' ' + nav.join(' '));
130
145
  }
131
- console.log(chalk.gray('\n To publish your own skill, run ') + chalk.hex('#7C3AED')('/pg-publish <file.md>') + chalk.gray(' in your AI assistant.\n'));
146
+ console.log(' ' + chalk.gray('publish a skill: ') + chalk.cyan('/pg-publish <file.md>') + chalk.gray(' (via your AI assistant)'));
147
+ console.log();
132
148
  process.exit(0);
133
149
  }
134
150
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "promptgraph-mcp",
3
- "version": "1.5.13",
3
+ "version": "1.5.14",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "bin": {