@kylewadegrove/cutline-mcp-cli 0.5.1 → 0.6.0

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.
@@ -128,6 +128,12 @@ export async function setupCommand(options) {
128
128
  console.log(chalk.dim(' No credentials found — starting login flow.\n'));
129
129
  await loginCommand({ staging: options.staging });
130
130
  console.log();
131
+ const tokenAfterLogin = await getRefreshToken();
132
+ if (!tokenAfterLogin) {
133
+ console.log(chalk.yellow(' Login not completed — trying account creation instead.\n'));
134
+ await loginCommand({ staging: options.staging, signup: true });
135
+ console.log();
136
+ }
131
137
  }
132
138
  const spinner = ora('Detecting account tier...').start();
133
139
  const { tier, email, idToken } = await detectTier({ staging: options.staging });
@@ -231,7 +237,7 @@ export async function setupCommand(options) {
231
237
  }
232
238
  console.log();
233
239
  // ── 6. What you can do ───────────────────────────────────────────────────
234
- console.log(chalk.bold(' Restart your IDE, then ask your AI agent:\n'));
240
+ console.log(chalk.bold(' Start a new terminal or restart your MCP servers, then ask your AI agent:\n'));
235
241
  if (tier === 'premium') {
236
242
  if (!graphConnected) {
237
243
  console.log(` ${chalk.cyan('→')} ${chalk.white('cutline-mcp setup')} ${chalk.dim('(re-run to connect a product graph)')}`);
@@ -243,6 +249,7 @@ export async function setupCommand(options) {
243
249
  { cmd: 'Check constraints for src/api/upload.ts', desc: 'Get NFR boundaries for a specific file' },
244
250
  { cmd: 'Generate .cutline.md for my product', desc: 'Write the constraint routing engine' },
245
251
  { cmd: 'What does my persona think about X?', desc: 'AI persona feedback on features' },
252
+ ...(!graphConnected ? [{ cmd: 'Connect my Cutline product graph', desc: 'Link a completed pre-mortem for constraint-aware code guidance' }] : []),
246
253
  ];
247
254
  for (const item of items) {
248
255
  console.log(` ${chalk.cyan('→')} ${chalk.white(`"${item.cmd}"`)}`);
package/dist/index.js CHANGED
@@ -25,6 +25,11 @@ program
25
25
  .option('--signup', 'Open sign-up page instead of sign-in')
26
26
  .option('--email <address>', 'Request sign-in with specific email address')
27
27
  .action(loginCommand);
28
+ program
29
+ .command('signup')
30
+ .description('Create a new Cutline account')
31
+ .option('--staging', 'Use staging environment')
32
+ .action((opts) => loginCommand({ signup: true, staging: opts.staging }));
28
33
  program
29
34
  .command('logout')
30
35
  .description('Remove stored credentials')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kylewadegrove/cutline-mcp-cli",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "CLI and MCP servers for Cutline — authenticate, then run constraint-aware MCP servers in Cursor or any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",