@radkode/neo 1.0.1 → 1.1.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 (32) hide show
  1. package/dist/commands/git/index.d.ts.map +1 -1
  2. package/dist/commands/git/index.js +3 -1
  3. package/dist/commands/git/index.js.map +1 -1
  4. package/dist/commands/git/worktree/add.d.ts +13 -0
  5. package/dist/commands/git/worktree/add.d.ts.map +1 -0
  6. package/dist/commands/git/worktree/add.js +83 -0
  7. package/dist/commands/git/worktree/add.js.map +1 -0
  8. package/dist/commands/git/worktree/index.d.ts +8 -0
  9. package/dist/commands/git/worktree/index.d.ts.map +1 -0
  10. package/dist/commands/git/worktree/index.js +21 -0
  11. package/dist/commands/git/worktree/index.js.map +1 -0
  12. package/dist/commands/git/worktree/list.d.ts +6 -0
  13. package/dist/commands/git/worktree/list.d.ts.map +1 -0
  14. package/dist/commands/git/worktree/list.js +50 -0
  15. package/dist/commands/git/worktree/list.js.map +1 -0
  16. package/dist/commands/git/worktree/remove.d.ts +9 -0
  17. package/dist/commands/git/worktree/remove.d.ts.map +1 -0
  18. package/dist/commands/git/worktree/remove.js +86 -0
  19. package/dist/commands/git/worktree/remove.js.map +1 -0
  20. package/dist/commands/git/worktree/switch.d.ts +5 -0
  21. package/dist/commands/git/worktree/switch.d.ts.map +1 -0
  22. package/dist/commands/git/worktree/switch.js +90 -0
  23. package/dist/commands/git/worktree/switch.js.map +1 -0
  24. package/dist/commands/git/worktree/utils.d.ts +20 -0
  25. package/dist/commands/git/worktree/utils.d.ts.map +1 -0
  26. package/dist/commands/git/worktree/utils.js +147 -0
  27. package/dist/commands/git/worktree/utils.js.map +1 -0
  28. package/dist/utils/git-errors.d.ts +6 -0
  29. package/dist/utils/git-errors.d.ts.map +1 -1
  30. package/dist/utils/git-errors.js +45 -0
  31. package/dist/utils/git-errors.js.map +1 -1
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAOtD,wBAAgB,gBAAgB,IAAI,OAAO,CAY1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,wBAAgB,gBAAgB,IAAI,OAAO,CAa1C"}
@@ -4,6 +4,7 @@ import { createPullCommand } from '../git/pull/index.js';
4
4
  import { createBranchCommand } from '../git/branch/index.js';
5
5
  import { createCommitCommand } from '../git/commit/index.js';
6
6
  import { createStashCommand } from '../git/stash/index.js';
7
+ import { createWorktreeCommand } from '../git/worktree/index.js';
7
8
  export function createGitCommand() {
8
9
  const command = new Command('git');
9
10
  command
@@ -12,7 +13,8 @@ export function createGitCommand() {
12
13
  .addCommand(createPushCommand())
13
14
  .addCommand(createPullCommand())
14
15
  .addCommand(createBranchCommand())
15
- .addCommand(createStashCommand());
16
+ .addCommand(createStashCommand())
17
+ .addCommand(createWorktreeCommand());
16
18
  return command;
17
19
  }
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;SACJ,WAAW,CAAC,8BAA8B,CAAC;SAC3C,UAAU,CAAC,mBAAmB,EAAE,CAAC;SACjC,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAC/B,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAC/B,UAAU,CAAC,mBAAmB,EAAE,CAAC;SACjC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEpC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;SACJ,WAAW,CAAC,8BAA8B,CAAC;SAC3C,UAAU,CAAC,mBAAmB,EAAE,CAAC;SACjC,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAC/B,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAC/B,UAAU,CAAC,mBAAmB,EAAE,CAAC;SACjC,UAAU,CAAC,kBAAkB,EAAE,CAAC;SAChC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEvC,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { type Result } from '../../../core/errors/index.js';
3
+ interface AddWorktreeOptions {
4
+ branch?: string;
5
+ detach?: boolean;
6
+ force?: boolean;
7
+ lock?: boolean;
8
+ path?: string;
9
+ }
10
+ export declare function executeWorktreeAdd(branchOrCommit: string, options: AddWorktreeOptions): Promise<Result<string>>;
11
+ export declare function createWorktreeAddCommand(): Command;
12
+ export {};
13
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/worktree/add.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,KAAK,MAAM,EAA+B,MAAM,wBAAwB,CAAC;AAIlF,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAmEzB;AAKD,wBAAgB,wBAAwB,IAAI,OAAO,CAyBlD"}
@@ -0,0 +1,83 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { execa } from 'execa';
3
+ import { ui } from '../../../utils/ui.js';
4
+ import { success, failure, isFailure } from '../../../core/errors/index.js';
5
+ import { GitErrors, isNotGitRepository } from '../../../utils/git-errors.js';
6
+ import { getRepoName, getWorktreePath, ensureWorktreeDir, pathExists } from './utils.js';
7
+ export async function executeWorktreeAdd(branchOrCommit, options) {
8
+ const spinner = ui.spinner('Creating worktree');
9
+ try {
10
+ const repoName = await getRepoName();
11
+ const targetBranch = options.branch || branchOrCommit;
12
+ let worktreePath;
13
+ if (options.path) {
14
+ worktreePath = options.path;
15
+ }
16
+ else {
17
+ await ensureWorktreeDir(repoName);
18
+ worktreePath = getWorktreePath(repoName, targetBranch);
19
+ }
20
+ if (await pathExists(worktreePath)) {
21
+ return failure(GitErrors.worktreeAlreadyExists('worktree add', worktreePath));
22
+ }
23
+ spinner.start();
24
+ const args = ['worktree', 'add'];
25
+ if (options.force)
26
+ args.push('--force');
27
+ if (options.lock)
28
+ args.push('--lock');
29
+ if (options.detach)
30
+ args.push('--detach');
31
+ if (options.branch && options.branch !== branchOrCommit) {
32
+ args.push('-b', options.branch);
33
+ }
34
+ args.push(worktreePath, branchOrCommit);
35
+ await execa('git', args);
36
+ spinner.succeed(`Created worktree at ${worktreePath}`);
37
+ ui.keyValue([
38
+ ['Path', worktreePath],
39
+ ['Branch', targetBranch],
40
+ ]);
41
+ console.log('');
42
+ ui.info('To switch to this worktree:');
43
+ ui.code(`cd ${worktreePath}`);
44
+ return success(worktreePath);
45
+ }
46
+ catch (error) {
47
+ spinner.fail('Failed to create worktree');
48
+ if (isNotGitRepository(error)) {
49
+ return failure(GitErrors.notARepository('worktree add'));
50
+ }
51
+ const errorMsg = error instanceof Error ? error.message : String(error);
52
+ const stderr = error.stderr ?? '';
53
+ const fullError = `${errorMsg} ${stderr}`.toLowerCase();
54
+ if (fullError.includes('already checked out') || fullError.includes('already used')) {
55
+ return failure(GitErrors.worktreeBranchCheckedOut('worktree add', branchOrCommit));
56
+ }
57
+ return failure(GitErrors.unknown('worktree add', error));
58
+ }
59
+ }
60
+ export function createWorktreeAddCommand() {
61
+ const command = new Command('add');
62
+ command
63
+ .description('Create a worktree for a branch')
64
+ .argument('<branch>', 'branch name or commit to checkout')
65
+ .option('-b, --branch <name>', 'create a new branch')
66
+ .option('-d, --detach', 'detach HEAD at the commit')
67
+ .option('-f, --force', 'force creation even if branch is checked out')
68
+ .option('--lock', 'lock the worktree after creation')
69
+ .option('-p, --path <path>', 'custom path for worktree (default: ~/.neo/worktrees/<repo>/<branch>)')
70
+ .action(async (branch, options) => {
71
+ const result = await executeWorktreeAdd(branch, options);
72
+ if (isFailure(result)) {
73
+ ui.error(result.error.message);
74
+ if (result.error.suggestions?.length) {
75
+ ui.warn('Suggestions:');
76
+ ui.list(result.error.suggestions);
77
+ }
78
+ process.exit(1);
79
+ }
80
+ });
81
+ return command;
82
+ }
83
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/git/worktree/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function createWorktreeCommand(): Command;
3
+ export { createWorktreeListCommand } from './list.js';
4
+ export { createWorktreeAddCommand } from './add.js';
5
+ export { createWorktreeRemoveCommand } from './remove.js';
6
+ export { createWorktreeSwitchCommand } from './switch.js';
7
+ export * from './utils.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/worktree/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAStD,wBAAgB,qBAAqB,IAAI,OAAO,CAW/C;AAGD,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAG1D,cAAc,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { createWorktreeListCommand } from './list.js';
3
+ import { createWorktreeAddCommand } from './add.js';
4
+ import { createWorktreeRemoveCommand } from './remove.js';
5
+ import { createWorktreeSwitchCommand } from './switch.js';
6
+ export function createWorktreeCommand() {
7
+ const command = new Command('worktree');
8
+ command
9
+ .description('Manage git worktrees')
10
+ .addCommand(createWorktreeListCommand())
11
+ .addCommand(createWorktreeAddCommand())
12
+ .addCommand(createWorktreeRemoveCommand())
13
+ .addCommand(createWorktreeSwitchCommand());
14
+ return command;
15
+ }
16
+ export { createWorktreeListCommand } from './list.js';
17
+ export { createWorktreeAddCommand } from './add.js';
18
+ export { createWorktreeRemoveCommand } from './remove.js';
19
+ export { createWorktreeSwitchCommand } from './switch.js';
20
+ export * from './utils.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/git/worktree/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAK1D,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAExC,OAAO;SACJ,WAAW,CAAC,sBAAsB,CAAC;SACnC,UAAU,CAAC,yBAAyB,EAAE,CAAC;SACvC,UAAU,CAAC,wBAAwB,EAAE,CAAC;SACtC,UAAU,CAAC,2BAA2B,EAAE,CAAC;SACzC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAG1D,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { type Result } from '../../../core/errors/index.js';
3
+ import { type WorktreeInfo } from './utils.js';
4
+ export declare function executeWorktreeList(): Promise<Result<WorktreeInfo[]>>;
5
+ export declare function createWorktreeListCommand(): Command;
6
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/worktree/list.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,MAAM,EAA+B,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAKpF,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAkC3E;AAKD,wBAAgB,yBAAyB,IAAI,OAAO,CAiBnD"}
@@ -0,0 +1,50 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { ui } from '../../../utils/ui.js';
3
+ import { success, failure, isFailure } from '../../../core/errors/index.js';
4
+ import { GitErrors, isNotGitRepository } from '../../../utils/git-errors.js';
5
+ import { listWorktrees, formatWorktreeStatus } from './utils.js';
6
+ export async function executeWorktreeList() {
7
+ const spinner = ui.spinner('Loading worktrees');
8
+ spinner.start();
9
+ try {
10
+ const worktrees = await listWorktrees();
11
+ spinner.succeed(`Found ${worktrees.length} worktree(s)`);
12
+ if (worktrees.length === 0) {
13
+ ui.info('No worktrees found.');
14
+ return success(worktrees);
15
+ }
16
+ ui.table({
17
+ headers: ['Path', 'Branch', 'Commit', 'Status'],
18
+ rows: worktrees.map((wt) => [
19
+ wt.path,
20
+ wt.branch || '(detached)',
21
+ wt.head.substring(0, 8),
22
+ formatWorktreeStatus(wt),
23
+ ]),
24
+ });
25
+ return success(worktrees);
26
+ }
27
+ catch (error) {
28
+ spinner.fail('Failed to list worktrees');
29
+ if (isNotGitRepository(error)) {
30
+ return failure(GitErrors.notARepository('worktree list'));
31
+ }
32
+ return failure(GitErrors.unknown('worktree list', error));
33
+ }
34
+ }
35
+ export function createWorktreeListCommand() {
36
+ const command = new Command('list');
37
+ command.description('List all worktrees').action(async () => {
38
+ const result = await executeWorktreeList();
39
+ if (isFailure(result)) {
40
+ ui.error(result.error.message);
41
+ if (result.error.suggestions?.length) {
42
+ ui.warn('Suggestions:');
43
+ ui.list(result.error.suggestions);
44
+ }
45
+ process.exit(1);
46
+ }
47
+ });
48
+ return command;
49
+ }
50
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/git/worktree/list.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAe,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAqB,MAAM,YAAY,CAAC;AAKpF,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,SAAS,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAGD,EAAE,CAAC,KAAK,CAAC;YACP,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAC/C,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;gBAC1B,EAAE,CAAC,IAAI;gBACP,EAAE,CAAC,MAAM,IAAI,YAAY;gBACzB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,oBAAoB,CAAC,EAAE,CAAC;aACzB,CAAC;SACH,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEzC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAE3C,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACxB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { type Result } from '../../../core/errors/index.js';
3
+ interface RemoveWorktreeOptions {
4
+ force?: boolean;
5
+ }
6
+ export declare function executeWorktreeRemove(pathArg: string, options: RemoveWorktreeOptions): Promise<Result<void>>;
7
+ export declare function createWorktreeRemoveCommand(): Command;
8
+ export {};
9
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/worktree/remove.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,OAAO,EAAE,KAAK,MAAM,EAA+B,MAAM,wBAAwB,CAAC;AAIlF,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CA0EvB;AAKD,wBAAgB,2BAA2B,IAAI,OAAO,CAqBrD"}
@@ -0,0 +1,86 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { execa } from 'execa';
3
+ import inquirer from 'inquirer';
4
+ import { ui } from '../../../utils/ui.js';
5
+ import { success, failure, isFailure } from '../../../core/errors/index.js';
6
+ import { GitErrors, isNotGitRepository } from '../../../utils/git-errors.js';
7
+ import { listWorktrees } from './utils.js';
8
+ export async function executeWorktreeRemove(pathArg, options) {
9
+ const spinner = ui.spinner('Removing worktree');
10
+ try {
11
+ const worktrees = await listWorktrees();
12
+ const worktree = worktrees.find((wt) => wt.path === pathArg || wt.path.endsWith(pathArg));
13
+ if (!worktree) {
14
+ return failure(GitErrors.worktreeNotFound('worktree remove', pathArg));
15
+ }
16
+ if (worktree.isMain) {
17
+ ui.error('Cannot remove the main worktree!');
18
+ return failure(GitErrors.unknown('worktree remove', new Error('Cannot remove main worktree')));
19
+ }
20
+ if (worktree.isDirty && !options.force) {
21
+ const { confirm } = await inquirer.prompt([
22
+ {
23
+ type: 'confirm',
24
+ name: 'confirm',
25
+ message: `Worktree at ${worktree.path} has uncommitted changes. Remove anyway?`,
26
+ default: false,
27
+ },
28
+ ]);
29
+ if (!confirm) {
30
+ ui.muted('Cancelled. Worktree not removed.');
31
+ return success(undefined);
32
+ }
33
+ }
34
+ if (worktree.isLocked && !options.force) {
35
+ ui.warn(`Worktree is locked${worktree.lockReason ? `: ${worktree.lockReason}` : ''}`);
36
+ const { confirm } = await inquirer.prompt([
37
+ {
38
+ type: 'confirm',
39
+ name: 'confirm',
40
+ message: 'Force remove locked worktree?',
41
+ default: false,
42
+ },
43
+ ]);
44
+ if (!confirm) {
45
+ ui.muted('Cancelled. Worktree not removed.');
46
+ return success(undefined);
47
+ }
48
+ }
49
+ spinner.start();
50
+ const args = ['worktree', 'remove'];
51
+ if (options.force || worktree.isDirty || worktree.isLocked) {
52
+ args.push('--force');
53
+ }
54
+ args.push(worktree.path);
55
+ await execa('git', args);
56
+ spinner.succeed(`Removed worktree at ${worktree.path}`);
57
+ return success(undefined);
58
+ }
59
+ catch (error) {
60
+ spinner.fail('Failed to remove worktree');
61
+ if (isNotGitRepository(error)) {
62
+ return failure(GitErrors.notARepository('worktree remove'));
63
+ }
64
+ return failure(GitErrors.unknown('worktree remove', error));
65
+ }
66
+ }
67
+ export function createWorktreeRemoveCommand() {
68
+ const command = new Command('remove');
69
+ command
70
+ .description('Remove a worktree')
71
+ .argument('<path>', 'path to the worktree to remove')
72
+ .option('-f, --force', 'force removal even if dirty or locked')
73
+ .action(async (path, options) => {
74
+ const result = await executeWorktreeRemove(path, options);
75
+ if (isFailure(result)) {
76
+ ui.error(result.error.message);
77
+ if (result.error.suggestions?.length) {
78
+ ui.warn('Suggestions:');
79
+ ui.list(result.error.suggestions);
80
+ }
81
+ process.exit(1);
82
+ }
83
+ });
84
+ return command;
85
+ }
86
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/git/worktree/remove.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { type Result } from '../../../core/errors/index.js';
3
+ export declare function executeWorktreeSwitch(): Promise<Result<string | null>>;
4
+ export declare function createWorktreeSwitchCommand(): Command;
5
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/worktree/switch.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,KAAK,MAAM,EAA+B,MAAM,wBAAwB,CAAC;AAOlF,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAqF5E;AAKD,wBAAgB,2BAA2B,IAAI,OAAO,CAiBrD"}
@@ -0,0 +1,90 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import inquirer from 'inquirer';
3
+ import { ui } from '../../../utils/ui.js';
4
+ import { success, failure, isFailure } from '../../../core/errors/index.js';
5
+ import { GitErrors, isNotGitRepository } from '../../../utils/git-errors.js';
6
+ import { listWorktrees, formatWorktreeStatus, copyToClipboard } from './utils.js';
7
+ export async function executeWorktreeSwitch() {
8
+ const spinner = ui.spinner('Loading worktrees');
9
+ spinner.start();
10
+ try {
11
+ const worktrees = await listWorktrees();
12
+ spinner.stop();
13
+ if (worktrees.length <= 1) {
14
+ ui.info('No additional worktrees found.');
15
+ ui.muted('Create a new worktree with: neo git worktree add <branch>');
16
+ return success(null);
17
+ }
18
+ ui.section('Worktree Status');
19
+ ui.table({
20
+ headers: ['#', 'Branch', 'Path', 'Status'],
21
+ rows: worktrees.map((wt, i) => [
22
+ String(i + 1),
23
+ wt.branch || '(detached)',
24
+ wt.path,
25
+ formatWorktreeStatus(wt),
26
+ ]),
27
+ });
28
+ console.log('');
29
+ const choices = [
30
+ ...worktrees.map((wt, index) => ({
31
+ name: `${wt.branch || wt.head.substring(0, 8)} - ${wt.path}${wt.isDirty ? ' (dirty)' : ''}`,
32
+ value: index,
33
+ short: wt.branch || wt.head.substring(0, 8),
34
+ })),
35
+ new inquirer.Separator(),
36
+ { name: 'Cancel', value: -1, short: 'Cancel' },
37
+ ];
38
+ const { selected } = await inquirer.prompt([
39
+ {
40
+ type: 'list',
41
+ name: 'selected',
42
+ message: 'Select a worktree to switch to:',
43
+ choices,
44
+ pageSize: 10,
45
+ },
46
+ ]);
47
+ if (selected === -1) {
48
+ ui.muted('Cancelled.');
49
+ return success(null);
50
+ }
51
+ const selectedWorktree = worktrees[selected];
52
+ if (!selectedWorktree) {
53
+ return success(null);
54
+ }
55
+ const cdCommand = `cd ${selectedWorktree.path}`;
56
+ const copied = await copyToClipboard(cdCommand);
57
+ ui.success('Switch to worktree:');
58
+ ui.code(cdCommand);
59
+ if (copied) {
60
+ ui.muted('Copied to clipboard - paste in your terminal');
61
+ }
62
+ else {
63
+ ui.muted('Copy and paste this command in your terminal');
64
+ }
65
+ return success(selectedWorktree.path);
66
+ }
67
+ catch (error) {
68
+ spinner.fail('Failed to list worktrees');
69
+ if (isNotGitRepository(error)) {
70
+ return failure(GitErrors.notARepository('worktree switch'));
71
+ }
72
+ return failure(GitErrors.unknown('worktree switch', error));
73
+ }
74
+ }
75
+ export function createWorktreeSwitchCommand() {
76
+ const command = new Command('switch');
77
+ command.description('Interactively select and switch to a worktree').action(async () => {
78
+ const result = await executeWorktreeSwitch();
79
+ if (isFailure(result)) {
80
+ ui.error(result.error.message);
81
+ if (result.error.suggestions?.length) {
82
+ ui.warn('Suggestions:');
83
+ ui.list(result.error.suggestions);
84
+ }
85
+ process.exit(1);
86
+ }
87
+ });
88
+ return command;
89
+ }
90
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../../src/commands/git/worktree/switch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface WorktreeInfo {
2
+ path: string;
3
+ head: string;
4
+ branch: string | null;
5
+ isMain: boolean;
6
+ isLocked: boolean;
7
+ lockReason?: string;
8
+ isDirty: boolean;
9
+ }
10
+ export declare function getRepoName(): Promise<string>;
11
+ export declare function getWorktreesBaseDir(): string;
12
+ export declare function getWorktreePath(repoName: string, branchName: string): string;
13
+ export declare function ensureWorktreeDir(repoName: string): Promise<string>;
14
+ export declare function parseWorktreeList(output: string): WorktreeInfo[];
15
+ export declare function listWorktrees(): Promise<WorktreeInfo[]>;
16
+ export declare function pathExists(path: string): Promise<boolean>;
17
+ export declare function getCurrentBranch(): Promise<string>;
18
+ export declare function formatWorktreeStatus(wt: WorktreeInfo): string;
19
+ export declare function copyToClipboard(text: string): Promise<boolean>;
20
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/worktree/utils.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAUnD;AAKD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAKD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM5E;AAKD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzE;AAKD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAuChE;AAKD,wBAAsB,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAsB7D;AAKD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/D;AAKD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD;AAKD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAS7D;AAKD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BpE"}
@@ -0,0 +1,147 @@
1
+ import { execa } from 'execa';
2
+ import { homedir } from 'os';
3
+ import { join, basename } from 'path';
4
+ import { access, mkdir } from 'fs/promises';
5
+ import { constants } from 'fs';
6
+ export async function getRepoName() {
7
+ try {
8
+ const { stdout } = await execa('git', ['remote', 'get-url', 'origin']);
9
+ const url = stdout.trim();
10
+ const match = url.match(/\/([^/]+?)(\.git)?$/);
11
+ return match?.[1] || basename(process.cwd());
12
+ }
13
+ catch {
14
+ return basename(process.cwd());
15
+ }
16
+ }
17
+ export function getWorktreesBaseDir() {
18
+ return join(homedir(), '.neo', 'worktrees');
19
+ }
20
+ export function getWorktreePath(repoName, branchName) {
21
+ const sanitizedBranch = branchName
22
+ .replace(/\//g, '-')
23
+ .replace(/[^a-zA-Z0-9-_]/g, '');
24
+ return join(getWorktreesBaseDir(), repoName, sanitizedBranch);
25
+ }
26
+ export async function ensureWorktreeDir(repoName) {
27
+ const dir = join(getWorktreesBaseDir(), repoName);
28
+ await mkdir(dir, { recursive: true });
29
+ return dir;
30
+ }
31
+ export function parseWorktreeList(output) {
32
+ const worktrees = [];
33
+ const entries = output.trim().split('\n\n');
34
+ for (const entry of entries) {
35
+ if (!entry.trim())
36
+ continue;
37
+ const lines = entry.split('\n');
38
+ const info = {
39
+ isMain: false,
40
+ isLocked: false,
41
+ isDirty: false,
42
+ };
43
+ for (const line of lines) {
44
+ if (line.startsWith('worktree ')) {
45
+ info.path = line.substring(9);
46
+ }
47
+ else if (line.startsWith('HEAD ')) {
48
+ info.head = line.substring(5);
49
+ }
50
+ else if (line.startsWith('branch ')) {
51
+ info.branch = line.substring(7).replace('refs/heads/', '');
52
+ }
53
+ else if (line === 'bare') {
54
+ info.isMain = true;
55
+ }
56
+ else if (line === 'detached') {
57
+ info.branch = null;
58
+ }
59
+ else if (line === 'locked') {
60
+ info.isLocked = true;
61
+ }
62
+ else if (line.startsWith('locked ')) {
63
+ info.isLocked = true;
64
+ info.lockReason = line.substring(7);
65
+ }
66
+ }
67
+ if (info.path && info.head) {
68
+ worktrees.push(info);
69
+ }
70
+ }
71
+ return worktrees;
72
+ }
73
+ export async function listWorktrees() {
74
+ const { stdout } = await execa('git', ['worktree', 'list', '--porcelain']);
75
+ const worktrees = parseWorktreeList(stdout);
76
+ if (worktrees.length > 0 && worktrees[0]) {
77
+ worktrees[0].isMain = true;
78
+ }
79
+ await Promise.all(worktrees.map(async (wt) => {
80
+ try {
81
+ const { stdout: status } = await execa('git', ['-C', wt.path, 'status', '--porcelain']);
82
+ wt.isDirty = status.trim().length > 0;
83
+ }
84
+ catch {
85
+ wt.isDirty = false;
86
+ }
87
+ }));
88
+ return worktrees;
89
+ }
90
+ export async function pathExists(path) {
91
+ try {
92
+ await access(path, constants.F_OK);
93
+ return true;
94
+ }
95
+ catch {
96
+ return false;
97
+ }
98
+ }
99
+ export async function getCurrentBranch() {
100
+ const { stdout } = await execa('git', ['branch', '--show-current']);
101
+ return stdout.trim();
102
+ }
103
+ export function formatWorktreeStatus(wt) {
104
+ const parts = [];
105
+ if (wt.isMain)
106
+ parts.push('main');
107
+ if (wt.isLocked)
108
+ parts.push('locked');
109
+ if (wt.isDirty)
110
+ parts.push('dirty');
111
+ if (!wt.branch)
112
+ parts.push('detached');
113
+ return parts.length > 0 ? `(${parts.join(', ')})` : '';
114
+ }
115
+ export async function copyToClipboard(text) {
116
+ try {
117
+ const platform = process.platform;
118
+ if (platform === 'darwin') {
119
+ await execa('pbcopy', { input: text });
120
+ return true;
121
+ }
122
+ else if (platform === 'linux') {
123
+ try {
124
+ await execa('xclip', ['-selection', 'clipboard'], { input: text });
125
+ return true;
126
+ }
127
+ catch {
128
+ try {
129
+ await execa('xsel', ['--clipboard', '--input'], { input: text });
130
+ return true;
131
+ }
132
+ catch {
133
+ return false;
134
+ }
135
+ }
136
+ }
137
+ else if (platform === 'win32') {
138
+ await execa('clip', { input: text });
139
+ return true;
140
+ }
141
+ return false;
142
+ }
143
+ catch {
144
+ return false;
145
+ }
146
+ }
147
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/commands/git/worktree/utils.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export declare enum GitErrorCode {
13
13
  STASH_NOT_FOUND = "GIT_STASH_NOT_FOUND",
14
14
  STASH_APPLY_CONFLICT = "GIT_STASH_APPLY_CONFLICT",
15
15
  STASH_NOTHING_TO_STASH = "GIT_STASH_NOTHING_TO_STASH",
16
+ WORKTREE_NOT_FOUND = "GIT_WORKTREE_NOT_FOUND",
17
+ WORKTREE_ALREADY_EXISTS = "GIT_WORKTREE_ALREADY_EXISTS",
18
+ WORKTREE_BRANCH_CHECKED_OUT = "GIT_WORKTREE_BRANCH_CHECKED_OUT",
16
19
  UNKNOWN = "GIT_UNKNOWN_ERROR"
17
20
  }
18
21
  export declare class GitError extends AppError {
@@ -59,5 +62,8 @@ export declare const GitErrors: {
59
62
  stashNotFound(commandName: string): GitError;
60
63
  stashApplyConflict(commandName: string): GitError;
61
64
  nothingToStash(commandName: string): GitError;
65
+ worktreeNotFound(commandName: string, path: string): GitError;
66
+ worktreeAlreadyExists(commandName: string, path: string): GitError;
67
+ worktreeBranchCheckedOut(commandName: string, branch: string): GitError;
62
68
  };
63
69
  //# sourceMappingURL=git-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-errors.d.ts","sourceRoot":"","sources":["../../src/utils/git-errors.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,KAAK,MAAM,EAEZ,MAAM,wBAAwB,CAAC;AAKhC,oBAAY,YAAY;IACtB,gBAAgB,yBAAyB;IACzC,WAAW,oBAAoB;IAC/B,qBAAqB,8BAA8B;IACnD,aAAa,sBAAsB;IACnC,cAAc,uBAAuB;IACrC,eAAe,wBAAwB;IACvC,gBAAgB,yBAAyB;IACzC,iBAAiB,0BAA0B;IAC3C,iBAAiB,0BAA0B;IAC3C,qBAAqB,8BAA8B;IACnD,eAAe,wBAAwB;IACvC,oBAAoB,6BAA6B;IACjD,sBAAsB,+BAA+B;IACrD,OAAO,sBAAsB;CAC9B;AAKD,qBAAa,QAAS,SAAQ,QAAQ;aAOlB,YAAY,EAAE,YAAY;aAC1B,WAAW,EAAE,MAAM;IAPrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,QAAQ,yBAAyB;gBAGxC,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,aAAa,CAAC,EAAE,KAAK,CAAC;KACvB;CAKJ;AAeD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgJD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAqCjF;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAKtE;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAG5F;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAKD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjE;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,eAAO,MAAM,SAAS;gCACQ,MAAM,GAAG,QAAQ;sCAMX,MAAM,GAAG,QAAQ;4BAM3B,MAAM,eAAe,MAAM,GAAG,QAAQ;8BASpC,MAAM,GAAG,QAAQ;+BAMhB,MAAM,GAAG,QAAQ;gCAUhB,MAAM,GAAG,QAAQ;gCAWjB,MAAM,GAAG,QAAQ;iCAchB,MAAM,GAAG,QAAQ;iCAMjB,MAAM,GAAG,QAAQ;qCAUb,MAAM,cAAc,MAAM,GAAG,QAAQ;yBAUjD,MAAM,UAAU,OAAO,GAAG,QAAQ;+BAc5B,MAAM,GAAG,QAAQ;oCASZ,MAAM,GAAG,QAAQ;gCAUrB,MAAM,GAAG,QAAQ;CAS9C,CAAC"}
1
+ {"version":3,"file":"git-errors.d.ts","sourceRoot":"","sources":["../../src/utils/git-errors.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,KAAK,MAAM,EAEZ,MAAM,wBAAwB,CAAC;AAKhC,oBAAY,YAAY;IACtB,gBAAgB,yBAAyB;IACzC,WAAW,oBAAoB;IAC/B,qBAAqB,8BAA8B;IACnD,aAAa,sBAAsB;IACnC,cAAc,uBAAuB;IACrC,eAAe,wBAAwB;IACvC,gBAAgB,yBAAyB;IACzC,iBAAiB,0BAA0B;IAC3C,iBAAiB,0BAA0B;IAC3C,qBAAqB,8BAA8B;IACnD,eAAe,wBAAwB;IACvC,oBAAoB,6BAA6B;IACjD,sBAAsB,+BAA+B;IACrD,kBAAkB,2BAA2B;IAC7C,uBAAuB,gCAAgC;IACvD,2BAA2B,oCAAoC;IAC/D,OAAO,sBAAsB;CAC9B;AAKD,qBAAa,QAAS,SAAQ,QAAQ;aAOlB,YAAY,EAAE,YAAY;aAC1B,WAAW,EAAE,MAAM;IAPrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,QAAQ,yBAAyB;gBAGxC,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,aAAa,CAAC,EAAE,KAAK,CAAC;KACvB;CAKJ;AAeD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAkKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAqCjF;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAKtE;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAG5F;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAKD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjE;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,eAAO,MAAM,SAAS;gCACQ,MAAM,GAAG,QAAQ;sCAMX,MAAM,GAAG,QAAQ;4BAM3B,MAAM,eAAe,MAAM,GAAG,QAAQ;8BASpC,MAAM,GAAG,QAAQ;+BAMhB,MAAM,GAAG,QAAQ;gCAUhB,MAAM,GAAG,QAAQ;gCAWjB,MAAM,GAAG,QAAQ;iCAchB,MAAM,GAAG,QAAQ;iCAMjB,MAAM,GAAG,QAAQ;qCAUb,MAAM,cAAc,MAAM,GAAG,QAAQ;yBAUjD,MAAM,UAAU,OAAO,GAAG,QAAQ;+BAc5B,MAAM,GAAG,QAAQ;oCASZ,MAAM,GAAG,QAAQ;gCAUrB,MAAM,GAAG,QAAQ;kCAUf,MAAM,QAAQ,MAAM,GAAG,QAAQ;uCAS1B,MAAM,QAAQ,MAAM,GAAG,QAAQ;0CAS5B,MAAM,UAAU,MAAM,GAAG,QAAQ;CAaxE,CAAC"}
@@ -14,6 +14,9 @@ export var GitErrorCode;
14
14
  GitErrorCode["STASH_NOT_FOUND"] = "GIT_STASH_NOT_FOUND";
15
15
  GitErrorCode["STASH_APPLY_CONFLICT"] = "GIT_STASH_APPLY_CONFLICT";
16
16
  GitErrorCode["STASH_NOTHING_TO_STASH"] = "GIT_STASH_NOTHING_TO_STASH";
17
+ GitErrorCode["WORKTREE_NOT_FOUND"] = "GIT_WORKTREE_NOT_FOUND";
18
+ GitErrorCode["WORKTREE_ALREADY_EXISTS"] = "GIT_WORKTREE_ALREADY_EXISTS";
19
+ GitErrorCode["WORKTREE_BRANCH_CHECKED_OUT"] = "GIT_WORKTREE_BRANCH_CHECKED_OUT";
17
20
  GitErrorCode["UNKNOWN"] = "GIT_UNKNOWN_ERROR";
18
21
  })(GitErrorCode || (GitErrorCode = {}));
19
22
  export class GitError extends AppError {
@@ -151,6 +154,24 @@ const GIT_ERROR_PATTERNS = [
151
154
  'Use --include-untracked to stash untracked files',
152
155
  ],
153
156
  },
157
+ {
158
+ code: GitErrorCode.WORKTREE_ALREADY_EXISTS,
159
+ patterns: ['already exists', 'already a worktree'],
160
+ message: 'Worktree already exists!',
161
+ getSuggestions: () => [
162
+ 'Use "neo git worktree list" to see existing worktrees',
163
+ 'Remove the existing worktree first with "neo git worktree remove"',
164
+ ],
165
+ },
166
+ {
167
+ code: GitErrorCode.WORKTREE_BRANCH_CHECKED_OUT,
168
+ patterns: ['is already checked out', 'already used by worktree'],
169
+ message: 'Branch is already checked out in another worktree!',
170
+ getSuggestions: () => [
171
+ 'Use "neo git worktree switch" to switch to the existing worktree',
172
+ 'Or create a new branch with: git checkout -b new-branch',
173
+ ],
174
+ },
154
175
  ];
155
176
  function extractErrorMessage(error) {
156
177
  if (error instanceof Error) {
@@ -331,5 +352,29 @@ export const GitErrors = {
331
352
  ],
332
353
  });
333
354
  },
355
+ worktreeNotFound(commandName, path) {
356
+ return new GitError(`Worktree not found: ${path}`, GitErrorCode.WORKTREE_NOT_FOUND, commandName, {
357
+ suggestions: [
358
+ 'Use "neo git worktree list" to see available worktrees',
359
+ 'The worktree may have been removed or the path is incorrect',
360
+ ],
361
+ });
362
+ },
363
+ worktreeAlreadyExists(commandName, path) {
364
+ return new GitError(`Worktree already exists at: ${path}`, GitErrorCode.WORKTREE_ALREADY_EXISTS, commandName, {
365
+ suggestions: [
366
+ 'Use "neo git worktree list" to see existing worktrees',
367
+ 'Remove the existing worktree first with "neo git worktree remove"',
368
+ ],
369
+ });
370
+ },
371
+ worktreeBranchCheckedOut(commandName, branch) {
372
+ return new GitError(`Branch "${branch}" is already checked out in another worktree!`, GitErrorCode.WORKTREE_BRANCH_CHECKED_OUT, commandName, {
373
+ suggestions: [
374
+ 'Use "neo git worktree switch" to switch to the existing worktree',
375
+ 'Or create a new branch with: git checkout -b new-branch',
376
+ ],
377
+ });
378
+ },
334
379
  };
335
380
  //# sourceMappingURL=git-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-errors.js","sourceRoot":"","sources":["../../src/utils/git-errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-errors.js","sourceRoot":"","sources":["../../src/utils/git-errors.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radkode/neo",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Modern CLI toolkit with intelligent git workflows and configuration management",
5
5
  "author": "Jacek Radko",
6
6
  "license": "MIT",