@alejandrochaves/devflow-cli 1.3.1 → 1.4.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.
Files changed (59) hide show
  1. package/dist/commands/amend.d.ts.map +1 -1
  2. package/dist/commands/amend.js +139 -68
  3. package/dist/commands/amend.js.map +1 -1
  4. package/dist/commands/branch.d.ts.map +1 -1
  5. package/dist/commands/branch.js +201 -80
  6. package/dist/commands/branch.js.map +1 -1
  7. package/dist/commands/changelog.d.ts.map +1 -1
  8. package/dist/commands/changelog.js +62 -32
  9. package/dist/commands/changelog.js.map +1 -1
  10. package/dist/commands/cleanup.d.ts.map +1 -1
  11. package/dist/commands/cleanup.js +10 -3
  12. package/dist/commands/cleanup.js.map +1 -1
  13. package/dist/commands/commit.d.ts.map +1 -1
  14. package/dist/commands/commit.js +343 -175
  15. package/dist/commands/commit.js.map +1 -1
  16. package/dist/commands/fixup.d.ts.map +1 -1
  17. package/dist/commands/fixup.js +129 -81
  18. package/dist/commands/fixup.js.map +1 -1
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +223 -110
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/issue.d.ts.map +1 -1
  23. package/dist/commands/issue.js +341 -83
  24. package/dist/commands/issue.js.map +1 -1
  25. package/dist/commands/issues.d.ts.map +1 -1
  26. package/dist/commands/issues.js +166 -77
  27. package/dist/commands/issues.js.map +1 -1
  28. package/dist/commands/log.d.ts.map +1 -1
  29. package/dist/commands/log.js +81 -46
  30. package/dist/commands/log.js.map +1 -1
  31. package/dist/commands/merge.d.ts.map +1 -1
  32. package/dist/commands/merge.js +78 -38
  33. package/dist/commands/merge.js.map +1 -1
  34. package/dist/commands/pr.d.ts.map +1 -1
  35. package/dist/commands/pr.js +110 -42
  36. package/dist/commands/pr.js.map +1 -1
  37. package/dist/commands/release.d.ts.map +1 -1
  38. package/dist/commands/release.js +70 -37
  39. package/dist/commands/release.js.map +1 -1
  40. package/dist/commands/review.d.ts.map +1 -1
  41. package/dist/commands/review.js +144 -84
  42. package/dist/commands/review.js.map +1 -1
  43. package/dist/commands/stash.d.ts.map +1 -1
  44. package/dist/commands/stash.js +164 -94
  45. package/dist/commands/stash.js.map +1 -1
  46. package/dist/commands/test-plan.d.ts.map +1 -1
  47. package/dist/commands/test-plan.js +86 -42
  48. package/dist/commands/test-plan.js.map +1 -1
  49. package/dist/commands/update.d.ts.map +1 -1
  50. package/dist/commands/update.js +9 -3
  51. package/dist/commands/update.js.map +1 -1
  52. package/dist/commands/worktree.d.ts.map +1 -1
  53. package/dist/commands/worktree.js +168 -96
  54. package/dist/commands/worktree.js.map +1 -1
  55. package/dist/prompts.d.ts +62 -0
  56. package/dist/prompts.d.ts.map +1 -0
  57. package/dist/prompts.js +130 -0
  58. package/dist/prompts.js.map +1 -0
  59. package/package.json +3 -2
@@ -1,7 +1,8 @@
1
- import { select, input, confirm } from "@inquirer/prompts";
1
+ import { input } from "@inquirer/prompts";
2
2
  import { getBranch } from "../git.js";
3
3
  import { getTestPlan, setTestPlan, deleteTestPlan } from "../test-plan.js";
4
4
  import { bold, dim, green, yellow, cyan } from "../colors.js";
5
+ import { selectWithBack, confirmWithBack, BACK_VALUE, } from "../prompts.js";
5
6
  export async function testPlanCommand(options = {}) {
6
7
  try {
7
8
  const branch = getBranch();
@@ -31,55 +32,98 @@ export async function testPlanCommand(options = {}) {
31
32
  // Show mode (default or explicit)
32
33
  if (options.show || Object.keys(options).length === 0) {
33
34
  if (steps.length > 0) {
34
- console.log(`\n${dim("───")} ${bold("Test Plan")} ${dim("for")} ${cyan(branch)} ${dim("───")}`);
35
- steps.forEach((step, i) => {
36
- console.log(` ${dim(`${i + 1}.`)} ${step}`);
37
- });
38
- console.log("");
39
- const action = await select({
40
- message: "What would you like to do?",
41
- choices: [
42
- { value: "add", name: "Add more steps" },
43
- { value: "edit", name: "Replace all steps" },
44
- { value: "clear", name: "Clear test plan" },
45
- { value: "done", name: "Done (keep current)" },
46
- ],
47
- });
48
- if (action === "add") {
49
- const newSteps = await collectSteps(steps.length);
50
- if (newSteps.length > 0) {
51
- setTestPlan(branch, [...steps, ...newSteps]);
52
- console.log(green(`✓ Added ${newSteps.length} step${newSteps.length > 1 ? "s" : ""} (${steps.length + newSteps.length} total)`));
53
- }
54
- }
55
- else if (action === "edit") {
56
- const newSteps = await collectSteps(0);
57
- if (newSteps.length > 0) {
58
- setTestPlan(branch, newSteps);
59
- console.log(green(`✓ Replaced with ${newSteps.length} step${newSteps.length > 1 ? "s" : ""}`));
60
- }
61
- else {
62
- console.log(yellow("No steps entered. Keeping existing plan."));
63
- }
64
- }
65
- else if (action === "clear") {
66
- const confirmed = await confirm({
67
- message: "Remove all test plan steps?",
68
- default: false,
69
- });
70
- if (confirmed) {
71
- deleteTestPlan(branch);
72
- console.log(green("✓ Test plan cleared"));
35
+ let currentStep = "display";
36
+ let selectedAction = "";
37
+ while (currentStep !== "done") {
38
+ switch (currentStep) {
39
+ case "display": {
40
+ console.log(`\n${dim("───")} ${bold("Test Plan")} ${dim("for")} ${cyan(branch)} ${dim("───")}`);
41
+ steps.forEach((step, i) => {
42
+ console.log(` ${dim(`${i + 1}.`)} ${step}`);
43
+ });
44
+ console.log("");
45
+ currentStep = "action";
46
+ break;
47
+ }
48
+ case "action": {
49
+ const action = await selectWithBack({
50
+ message: "What would you like to do?",
51
+ choices: [
52
+ { value: "add", name: "Add more steps" },
53
+ { value: "edit", name: "Replace all steps" },
54
+ { value: "clear", name: "Clear test plan" },
55
+ { value: "done", name: "Done (keep current)" },
56
+ ],
57
+ showBack: false, // First interactive step
58
+ });
59
+ if (action === BACK_VALUE) {
60
+ // Can't go back from first step
61
+ }
62
+ else if (action === "done") {
63
+ currentStep = "done";
64
+ }
65
+ else {
66
+ selectedAction = action;
67
+ currentStep = "confirm";
68
+ }
69
+ break;
70
+ }
71
+ case "confirm": {
72
+ if (selectedAction === "add") {
73
+ const newSteps = await collectSteps(steps.length);
74
+ if (newSteps.length > 0) {
75
+ setTestPlan(branch, [...steps, ...newSteps]);
76
+ console.log(green(`✓ Added ${newSteps.length} step${newSteps.length > 1 ? "s" : ""} (${steps.length + newSteps.length} total)`));
77
+ }
78
+ currentStep = "done";
79
+ }
80
+ else if (selectedAction === "edit") {
81
+ const newSteps = await collectSteps(0);
82
+ if (newSteps.length > 0) {
83
+ setTestPlan(branch, newSteps);
84
+ console.log(green(`✓ Replaced with ${newSteps.length} step${newSteps.length > 1 ? "s" : ""}`));
85
+ }
86
+ else {
87
+ console.log(yellow("No steps entered. Keeping existing plan."));
88
+ }
89
+ currentStep = "done";
90
+ }
91
+ else if (selectedAction === "clear") {
92
+ const confirmed = await confirmWithBack({
93
+ message: "Remove all test plan steps?",
94
+ default: false,
95
+ showBack: true,
96
+ });
97
+ if (confirmed === BACK_VALUE) {
98
+ currentStep = "action";
99
+ }
100
+ else if (confirmed === true) {
101
+ deleteTestPlan(branch);
102
+ console.log(green("✓ Test plan cleared"));
103
+ currentStep = "done";
104
+ }
105
+ else {
106
+ currentStep = "done";
107
+ }
108
+ }
109
+ else {
110
+ currentStep = "done";
111
+ }
112
+ break;
113
+ }
114
+ default:
115
+ currentStep = "done";
73
116
  }
74
117
  }
75
118
  }
76
119
  else {
77
120
  console.log(dim(`No test plan for ${branch}\n`));
78
- const add = await confirm({
121
+ const add = await confirmWithBack({
79
122
  message: "Add test plan steps?",
80
123
  default: true,
124
+ showBack: false,
81
125
  });
82
- if (add) {
126
+ if (add === true) {
83
127
  const newSteps = await collectSteps(0);
84
128
  if (newSteps.length > 0) {
85
129
  setTestPlan(branch, newSteps);
@@ -1 +1 @@
1
- {"version":3,"file":"test-plan.js","sourceRoot":"","sources":["../../src/commands/test-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-plan.js","sourceRoot":"","sources":["../../src/commands/test-plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAmMD,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH9E"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqMD,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H9E"}
@@ -1,9 +1,9 @@
1
1
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
2
2
  import { resolve } from "path";
3
- import { confirm } from "@inquirer/prompts";
4
3
  import { bold, dim, green, yellow } from "../colors.js";
5
4
  import { loadConfig } from "../config.js";
6
5
  import { writeVersionInfo, getCliVersion } from "../devflow-version.js";
6
+ import { confirmWithBack, } from "../prompts.js";
7
7
  const AI_INSTRUCTIONS_TEMPLATE = `# DevFlow - AI Agent Instructions
8
8
 
9
9
  ## Quick Reference
@@ -42,6 +42,8 @@ const AI_INSTRUCTIONS_TEMPLATE = `# DevFlow - AI Agent Instructions
42
42
 
43
43
  6. **Use \`--dry-run\` to preview** any command without executing
44
44
 
45
+ 7. **Back navigation:** Press Escape to return to the previous step
46
+
45
47
  ## Non-Interactive Mode (AI-Friendly)
46
48
 
47
49
  All commands support flags to bypass interactive prompts. Use \`--yes\` to skip confirmations.
@@ -217,10 +219,12 @@ export async function updateCommand(options = {}) {
217
219
  let updateAiInstructions = true;
218
220
  const aiInstructionsExists = existsSync(aiInstructionsPath);
219
221
  if (aiInstructionsExists && !options.yes) {
220
- updateAiInstructions = await confirm({
222
+ const result = await confirmWithBack({
221
223
  message: "Update .devflow/AI_INSTRUCTIONS.md with latest template?",
222
224
  default: true,
225
+ showBack: false, // First interactive step
223
226
  });
227
+ updateAiInstructions = result === true;
224
228
  }
225
229
  if (updateAiInstructions) {
226
230
  // Customize template with project-specific formats if config exists
@@ -246,10 +250,12 @@ export async function updateCommand(options = {}) {
246
250
  if (!hasNonInteractiveSection) {
247
251
  let updateClaudeMd = true;
248
252
  if (!options.yes) {
249
- updateClaudeMd = await confirm({
253
+ const result = await confirmWithBack({
250
254
  message: "Add non-interactive mode section to CLAUDE.md?",
251
255
  default: true,
256
+ showBack: false, // Can't go back to previous AI_INSTRUCTIONS update
252
257
  });
258
+ updateClaudeMd = result === true;
253
259
  }
254
260
  if (updateClaudeMd) {
255
261
  // Find the best place to insert - before "## Full Documentation" if exists, or at end
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAqCD,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIlF"}
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAqCD,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuNlF"}
@@ -1,6 +1,6 @@
1
- import { select, input, confirm } from "@inquirer/prompts";
2
1
  import { execSync } from "child_process";
3
2
  import { bold, dim, green, cyan, yellow, red } from "../colors.js";
3
+ import { selectWithBack, inputWithBack, confirmWithBack, BACK_VALUE, } from "../prompts.js";
4
4
  function listWorktrees() {
5
5
  try {
6
6
  const result = execSync("git worktree list --porcelain", { encoding: "utf-8" }).trim();
@@ -48,110 +48,182 @@ export async function worktreeCommand(options = {}) {
48
48
  if (options.action === "list") {
49
49
  return;
50
50
  }
51
- // Get action from flag or prompt
52
- let action;
51
+ let currentStep = "action";
52
+ let selectedAction = options.action || "";
53
+ // State for add/remove
54
+ let branchName = options.branch || "";
55
+ let worktreePath = options.path || "";
56
+ // If action provided via flag, skip to execute
53
57
  if (options.action) {
54
58
  if (!["add", "remove", "list"].includes(options.action)) {
55
59
  console.error(`Invalid action: ${options.action}. Use: add, remove, or list`);
56
60
  process.exit(1);
57
61
  }
58
- action = options.action;
62
+ currentStep = "execute";
59
63
  }
60
- else {
61
- action = await select({
62
- message: "Action:",
63
- choices: [
64
- { value: "add", name: "Add a new worktree" },
65
- ...(trees.length > 1
66
- ? [{ value: "remove", name: "Remove a worktree" }]
67
- : []),
68
- { value: "done", name: "Done" },
69
- ],
70
- });
71
- }
72
- if (action === "add") {
73
- // Get branch from flag or prompt
74
- const branch = options.branch ?? await input({
75
- message: "Branch name for new worktree:",
76
- validate: (val) => val.trim().length > 0 || "Branch name is required",
77
- });
78
- if (!branch.trim()) {
79
- console.error("Branch name is required.");
80
- process.exit(1);
81
- }
82
- const root = getRepoRoot();
83
- const defaultPath = `${root}-${branch.trim().replace(/\//g, "-")}`;
84
- // Get path from flag or prompt
85
- const worktreePath = options.path ?? await input({
86
- message: "Worktree path:",
87
- default: defaultPath,
88
- });
89
- // Check if branch exists
90
- let branchExists = false;
91
- try {
92
- execSync(`git rev-parse --verify ${branch.trim()}`, { stdio: "ignore" });
93
- branchExists = true;
94
- }
95
- catch {
96
- // Branch doesn't exist
97
- }
98
- const createFlag = branchExists ? "" : "-b ";
99
- try {
100
- execSync(`git worktree add ${JSON.stringify(worktreePath.trim())} ${createFlag}${branch.trim()}`, {
101
- stdio: "inherit",
102
- });
103
- console.log(green(`✓ Created worktree at ${worktreePath.trim()}`));
104
- console.log(dim(` cd ${worktreePath.trim()}`));
105
- }
106
- catch {
107
- console.log(red("✗ Failed to create worktree"));
108
- }
109
- }
110
- else if (action === "remove") {
111
- const removable = trees.filter((t) => t.path !== getRepoRoot() && !t.bare);
112
- if (removable.length === 0) {
113
- console.log("No removable worktrees.");
114
- return;
115
- }
116
- // Get path from flag or prompt
117
- let selected;
118
- if (options.path) {
119
- const found = removable.find((t) => t.path === options.path);
120
- if (!found) {
121
- console.error(`Worktree not found: ${options.path}`);
122
- process.exit(1);
123
- }
124
- selected = options.path;
125
- }
126
- else {
127
- selected = await select({
128
- message: "Select worktree to remove:",
129
- choices: removable.map((t) => ({
130
- value: t.path,
131
- name: `${t.branch} ${dim(`→ ${t.path}`)}`,
132
- })),
133
- });
134
- }
135
- // Confirm unless --yes
136
- const confirmed = options.yes || await confirm({
137
- message: `Remove worktree at ${selected}?`,
138
- default: false,
139
- });
140
- if (confirmed) {
141
- try {
142
- execSync(`git worktree remove ${JSON.stringify(selected)}`, { stdio: "inherit" });
143
- console.log(green("✓ Worktree removed"));
144
- }
145
- catch {
146
- const force = options.yes || await confirm({
147
- message: "Worktree has changes. Force remove?",
148
- default: false,
64
+ while (currentStep !== "done") {
65
+ switch (currentStep) {
66
+ case "action": {
67
+ const result = await selectWithBack({
68
+ message: "Action:",
69
+ choices: [
70
+ { value: "add", name: "Add a new worktree" },
71
+ ...(trees.length > 1
72
+ ? [{ value: "remove", name: "Remove a worktree" }]
73
+ : []),
74
+ { value: "done", name: "Done" },
75
+ ],
76
+ showBack: false, // First step
149
77
  });
150
- if (force) {
151
- execSync(`git worktree remove --force ${JSON.stringify(selected)}`, { stdio: "inherit" });
152
- console.log(yellow("✓ Force removed worktree"));
78
+ if (result === BACK_VALUE) {
79
+ // Can't go back from first step
80
+ }
81
+ else if (result === "done") {
82
+ currentStep = "done";
83
+ }
84
+ else {
85
+ selectedAction = result;
86
+ currentStep = "execute";
87
+ }
88
+ break;
89
+ }
90
+ case "execute": {
91
+ if (selectedAction === "add") {
92
+ // Get branch from flag or prompt
93
+ if (!options.branch) {
94
+ const branchResult = await inputWithBack({
95
+ message: "Branch name for new worktree:",
96
+ default: branchName || undefined,
97
+ validate: (val) => val.trim().length > 0 || "Branch name is required",
98
+ showBack: !options.action,
99
+ });
100
+ if (branchResult === BACK_VALUE) {
101
+ currentStep = "action";
102
+ break;
103
+ }
104
+ branchName = branchResult;
105
+ }
106
+ else {
107
+ branchName = options.branch;
108
+ }
109
+ if (!branchName.trim()) {
110
+ console.error("Branch name is required.");
111
+ process.exit(1);
112
+ }
113
+ const root = getRepoRoot();
114
+ const defaultPath = `${root}-${branchName.trim().replace(/\//g, "-")}`;
115
+ // Get path from flag or prompt
116
+ if (!options.path) {
117
+ const pathResult = await inputWithBack({
118
+ message: "Worktree path:",
119
+ default: worktreePath || defaultPath,
120
+ showBack: true,
121
+ });
122
+ if (pathResult === BACK_VALUE) {
123
+ // Go back to branch prompt if not provided via flag
124
+ if (!options.branch) {
125
+ break; // Stay on execute to re-prompt branch
126
+ }
127
+ else {
128
+ currentStep = "action";
129
+ break;
130
+ }
131
+ }
132
+ worktreePath = pathResult;
133
+ }
134
+ else {
135
+ worktreePath = options.path;
136
+ }
137
+ // Check if branch exists
138
+ let branchExists = false;
139
+ try {
140
+ execSync(`git rev-parse --verify ${branchName.trim()}`, { stdio: "ignore" });
141
+ branchExists = true;
142
+ }
143
+ catch {
144
+ // Branch doesn't exist
145
+ }
146
+ const createFlag = branchExists ? "" : "-b ";
147
+ try {
148
+ execSync(`git worktree add ${JSON.stringify(worktreePath.trim())} ${createFlag}${branchName.trim()}`, {
149
+ stdio: "inherit",
150
+ });
151
+ console.log(green(`✓ Created worktree at ${worktreePath.trim()}`));
152
+ console.log(dim(` cd ${worktreePath.trim()}`));
153
+ }
154
+ catch {
155
+ console.log(red("✗ Failed to create worktree"));
156
+ }
157
+ currentStep = "done";
158
+ }
159
+ else if (selectedAction === "remove") {
160
+ const removable = trees.filter((t) => t.path !== getRepoRoot() && !t.bare);
161
+ if (removable.length === 0) {
162
+ console.log("No removable worktrees.");
163
+ currentStep = "done";
164
+ break;
165
+ }
166
+ // Get path from flag or prompt
167
+ let selected;
168
+ if (options.path) {
169
+ const found = removable.find((t) => t.path === options.path);
170
+ if (!found) {
171
+ console.error(`Worktree not found: ${options.path}`);
172
+ process.exit(1);
173
+ }
174
+ selected = options.path;
175
+ }
176
+ else {
177
+ const selectResult = await selectWithBack({
178
+ message: "Select worktree to remove:",
179
+ choices: removable.map((t) => ({
180
+ value: t.path,
181
+ name: `${t.branch} ${dim(`→ ${t.path}`)}`,
182
+ })),
183
+ showBack: !options.action,
184
+ });
185
+ if (selectResult === BACK_VALUE) {
186
+ currentStep = "action";
187
+ break;
188
+ }
189
+ selected = selectResult;
190
+ }
191
+ // Confirm unless --yes
192
+ const confirmed = options.yes || await confirmWithBack({
193
+ message: `Remove worktree at ${selected}?`,
194
+ default: false,
195
+ showBack: true,
196
+ });
197
+ if (confirmed === BACK_VALUE) {
198
+ currentStep = "action";
199
+ break;
200
+ }
201
+ if (confirmed === true) {
202
+ try {
203
+ execSync(`git worktree remove ${JSON.stringify(selected)}`, { stdio: "inherit" });
204
+ console.log(green("✓ Worktree removed"));
205
+ }
206
+ catch {
207
+ const force = options.yes || await confirmWithBack({
208
+ message: "Worktree has changes. Force remove?",
209
+ default: false,
210
+ showBack: false,
211
+ });
212
+ if (force === true) {
213
+ execSync(`git worktree remove --force ${JSON.stringify(selected)}`, { stdio: "inherit" });
214
+ console.log(yellow("✓ Force removed worktree"));
215
+ }
216
+ }
217
+ }
218
+ currentStep = "done";
219
+ }
220
+ else {
221
+ currentStep = "done";
153
222
  }
223
+ break;
154
224
  }
225
+ default:
226
+ currentStep = "done";
155
227
  }
156
228
  }
157
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"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"}