@locusai/cli 0.23.2 → 0.23.3

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/bin/locus.js +17 -10
  2. package/package.json +2 -2
package/bin/locus.js CHANGED
@@ -11399,7 +11399,7 @@ ${bold2("locus plan")} — AI-powered sprint planning
11399
11399
 
11400
11400
  ${bold2("Usage:")}
11401
11401
  locus plan "<directive>" ${dim2("# AI creates a plan file")}
11402
- locus plan approve <id> [--sprint <name>] ${dim2("# Create GitHub issues from saved plan")}
11402
+ locus plan approve <id> <sprintname> ${dim2("# Create GitHub issues from saved plan")}
11403
11403
  locus plan list ${dim2("# List saved plans")}
11404
11404
  locus plan show <id> ${dim2("# Show a saved plan")}
11405
11405
  locus plan --from-issues --sprint <name> ${dim2("# Organize existing issues")}
@@ -11412,8 +11412,7 @@ ${bold2("Options:")}
11412
11412
  ${bold2("Examples:")}
11413
11413
  locus plan "Build user authentication with OAuth"
11414
11414
  locus plan "Improve API performance" --sprint "Sprint 3"
11415
- locus plan approve abc123
11416
- locus plan approve abc123 --sprint "Sprint 3"
11415
+ locus plan approve abc123 "Sprint 3"
11417
11416
  locus plan list
11418
11417
  locus plan --from-issues --sprint "Sprint 2"
11419
11418
 
@@ -11463,7 +11462,15 @@ async function planCommand(projectRoot, args, flags = {}) {
11463
11462
  }
11464
11463
  if (args[0] === "approve") {
11465
11464
  const approveArgs = parsePlanArgs(args.slice(2));
11466
- return handleApprovePlan(projectRoot, args[1], { ...flags, dryRun: flags.dryRun || approveArgs.dryRun }, approveArgs.sprintName);
11465
+ const sprintName2 = approveArgs.sprintName ?? (approveArgs.directive || undefined);
11466
+ if (!sprintName2) {
11467
+ process.stderr.write(`${red2("✗")} Sprint name is required for plan approval.
11468
+ `);
11469
+ process.stderr.write(` Usage: ${bold2("locus plan approve <id> <sprintname>")}
11470
+ `);
11471
+ return;
11472
+ }
11473
+ return handleApprovePlan(projectRoot, args[1], { ...flags, dryRun: flags.dryRun || approveArgs.dryRun }, sprintName2);
11467
11474
  }
11468
11475
  const parsedArgs = parsePlanArgs(args);
11469
11476
  if (parsedArgs.error) {
@@ -11521,7 +11528,7 @@ ${bold2("Saved Plans:")}
11521
11528
  }
11522
11529
  process.stderr.write(`
11523
11530
  `);
11524
- process.stderr.write(` Approve a plan: ${bold2("locus plan approve <id> --sprint <name>")}
11531
+ process.stderr.write(` Approve a plan: ${bold2("locus plan approve <id> <sprintname>")}
11525
11532
 
11526
11533
  `);
11527
11534
  }
@@ -11562,7 +11569,7 @@ ${bold2("Plan:")} ${cyan2(plan.directive)}
11562
11569
  }
11563
11570
  process.stderr.write(`
11564
11571
  `);
11565
- process.stderr.write(` Approve: ${bold2(`locus plan approve ${plan.id.slice(0, 8)}`)} ${dim2("(--sprint <name> to assign to a sprint)")}
11572
+ process.stderr.write(` Approve: ${bold2(`locus plan approve ${plan.id.slice(0, 8)} <sprintname>`)}
11566
11573
 
11567
11574
  `);
11568
11575
  }
@@ -11570,7 +11577,7 @@ async function handleApprovePlan(projectRoot, id, flags, sprintOverride) {
11570
11577
  if (!id) {
11571
11578
  process.stderr.write(`${red2("✗")} Please provide a plan ID.
11572
11579
  `);
11573
- process.stderr.write(` Usage: ${bold2("locus plan approve <id>")}
11580
+ process.stderr.write(` Usage: ${bold2("locus plan approve <id> <sprintname>")}
11574
11581
  `);
11575
11582
  process.stderr.write(` List plans with: ${bold2("locus plan list")}
11576
11583
  `);
@@ -11710,12 +11717,12 @@ ${bold2("Plan saved:")} ${cyan2(id)}
11710
11717
  if (flags.dryRun) {
11711
11718
  process.stderr.write(`${yellow2("⚠")} ${bold2("Dry run")} — no issues created.
11712
11719
  `);
11713
- process.stderr.write(` Approve later with: ${bold2(`locus plan approve ${id.slice(0, 8)}`)}
11720
+ process.stderr.write(` Approve later with: ${bold2(`locus plan approve ${id.slice(0, 8)} <sprintname>`)}
11714
11721
 
11715
11722
  `);
11716
11723
  return;
11717
11724
  }
11718
- process.stderr.write(` To create these issues: ${bold2(`locus plan approve ${id.slice(0, 8)} --sprint <sprint name>`)}
11725
+ process.stderr.write(` To create these issues: ${bold2(`locus plan approve ${id.slice(0, 8)} <sprintname>`)}
11719
11726
 
11720
11727
  `);
11721
11728
  }
@@ -14336,7 +14343,7 @@ ${bold2("Examples:")}
14336
14343
  locus exec ${dim2("# Start interactive REPL")}
14337
14344
  locus issue create "Fix login bug" ${dim2("# Create a new issue")}
14338
14345
  locus plan "Build auth system" ${dim2("# AI creates a plan file")}
14339
- locus plan approve <id> ${dim2("# Create issues from saved plan")}
14346
+ locus plan approve <id> <sprint> ${dim2("# Create issues from saved plan")}
14340
14347
  locus run ${dim2("# Execute active sprint")}
14341
14348
  locus run 42 43 ${dim2("# Run issues in parallel")}
14342
14349
  locus run 42 --no-sandbox ${dim2("# Run without sandbox")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@locusai/cli",
3
- "version": "0.23.2",
3
+ "version": "0.23.3",
4
4
  "description": "GitHub-native AI engineering assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,7 +36,7 @@
36
36
  "license": "MIT",
37
37
  "dependencies": {},
38
38
  "devDependencies": {
39
- "@locusai/sdk": "^0.23.2",
39
+ "@locusai/sdk": "^0.23.3",
40
40
  "@types/bun": "latest",
41
41
  "typescript": "^5.8.3"
42
42
  },