colyn-cli 3.2.4 → 3.2.7

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 (55) hide show
  1. package/dist/commands/add.d.ts.map +1 -1
  2. package/dist/commands/add.js +165 -24
  3. package/dist/commands/add.js.map +1 -1
  4. package/dist/commands/branch-selection.helpers.d.ts +19 -0
  5. package/dist/commands/branch-selection.helpers.d.ts.map +1 -0
  6. package/dist/commands/branch-selection.helpers.js +48 -0
  7. package/dist/commands/branch-selection.helpers.js.map +1 -0
  8. package/dist/commands/checkout.d.ts +1 -1
  9. package/dist/commands/checkout.d.ts.map +1 -1
  10. package/dist/commands/checkout.js +157 -16
  11. package/dist/commands/checkout.js.map +1 -1
  12. package/dist/commands/completion.d.ts.map +1 -1
  13. package/dist/commands/completion.js +25 -2
  14. package/dist/commands/completion.js.map +1 -1
  15. package/dist/commands/list-project.d.ts +1 -1
  16. package/dist/commands/list-project.d.ts.map +1 -1
  17. package/dist/commands/list-project.js +61 -31
  18. package/dist/commands/list-project.js.map +1 -1
  19. package/dist/commands/merge.d.ts.map +1 -1
  20. package/dist/commands/merge.helpers.d.ts +1 -12
  21. package/dist/commands/merge.helpers.d.ts.map +1 -1
  22. package/dist/commands/merge.helpers.js +1 -39
  23. package/dist/commands/merge.helpers.js.map +1 -1
  24. package/dist/commands/merge.js +11 -52
  25. package/dist/commands/merge.js.map +1 -1
  26. package/dist/commands/todo.d.ts.map +1 -1
  27. package/dist/commands/todo.helpers.d.ts +49 -2
  28. package/dist/commands/todo.helpers.d.ts.map +1 -1
  29. package/dist/commands/todo.helpers.js +110 -36
  30. package/dist/commands/todo.helpers.js.map +1 -1
  31. package/dist/commands/todo.js +61 -23
  32. package/dist/commands/todo.js.map +1 -1
  33. package/dist/core/worktree-status.d.ts +8 -0
  34. package/dist/core/worktree-status.d.ts.map +1 -1
  35. package/dist/core/worktree-status.js +12 -0
  36. package/dist/core/worktree-status.js.map +1 -1
  37. package/dist/i18n/locales/en.d.ts +25 -7
  38. package/dist/i18n/locales/en.d.ts.map +1 -1
  39. package/dist/i18n/locales/en.js +25 -7
  40. package/dist/i18n/locales/en.js.map +1 -1
  41. package/dist/i18n/locales/zh-CN.d.ts +25 -7
  42. package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
  43. package/dist/i18n/locales/zh-CN.js +25 -7
  44. package/dist/i18n/locales/zh-CN.js.map +1 -1
  45. package/package.json +10 -2
  46. package/shell/completion.bash +25 -8
  47. package/shell/completion.zsh +14 -0
  48. package/dist/commands/install.d.ts +0 -6
  49. package/dist/commands/install.d.ts.map +0 -1
  50. package/dist/commands/install.helpers.d.ts +0 -32
  51. package/dist/commands/install.helpers.d.ts.map +0 -1
  52. package/dist/commands/install.helpers.js +0 -124
  53. package/dist/commands/install.helpers.js.map +0 -1
  54. package/dist/commands/install.js +0 -104
  55. package/dist/commands/install.js.map +0 -1
@@ -6,11 +6,14 @@ const { prompt } = Enquirer;
6
6
  import chalk from 'chalk';
7
7
  import ora from 'ora';
8
8
  import { ColynError } from '../types/index.js';
9
- import { formatError, output, outputLine, outputResult, outputSuccess, outputBold } from '../utils/logger.js';
9
+ import { formatError, output, outputLine, outputResult, outputSuccess, outputInfo, outputBold } from '../utils/logger.js';
10
10
  import { getProjectPaths, validateProjectInitialized, getLocationInfo } from '../core/paths.js';
11
11
  import { getMainBranch, discoverWorktrees } from '../core/discovery.js';
12
12
  import { findWorktreeTarget, checkGitWorkingDirectory } from './merge.helpers.js';
13
13
  import { t } from '../i18n/index.js';
14
+ import { isValidBranchName } from './add.helpers.js';
15
+ import { copyToClipboard, findTodo, formatTodoIdLabel, parseTodoId, readTodoFile, saveTodoFile, selectWithPreview, } from './todo.helpers.js';
16
+ import { listSelectableLocalBranches } from './branch-selection.helpers.js';
14
17
  import { isTmuxAvailable, isInTmux, getCurrentSession, renameWindow, getWindowName, setIterm2Title } from '../core/tmux.js';
15
18
  import { setWorktreeStatus } from '../core/worktree-status.js';
16
19
  /**
@@ -19,13 +22,15 @@ import { setWorktreeStatus } from '../core/worktree-status.js';
19
22
  async function isBranchMerged(worktreePath, branch, mainBranch) {
20
23
  try {
21
24
  const git = simpleGit(worktreePath);
22
- // 获取已合并到主分支的分支列表
23
- const result = await git.raw(['branch', '--merged', mainBranch]);
24
- const mergedBranches = result
25
- .split('\n')
26
- .map(b => b.trim().replace(/^\*\s*/, ''))
27
- .filter(b => b.length > 0);
28
- return mergedBranches.includes(branch);
25
+ // 精确判断 branch 是否为 mainBranch 的祖先提交
26
+ // exit code 0 = 已合并;非 0 = 未合并或检查失败
27
+ await git.raw([
28
+ 'merge-base',
29
+ '--is-ancestor',
30
+ `refs/heads/${branch}`,
31
+ `refs/heads/${mainBranch}`
32
+ ]);
33
+ return true;
29
34
  }
30
35
  catch {
31
36
  // 如果检查失败,假设未合并
@@ -181,6 +186,105 @@ async function updateMainBranch(mainDir, mainBranch, skipPull = false) {
181
186
  return { updated: false };
182
187
  }
183
188
  }
189
+ /**
190
+ * 交互式创建分支名(type/name)
191
+ */
192
+ async function promptCreateBranchName() {
193
+ const typeResponse = await prompt({
194
+ type: 'select',
195
+ name: 'type',
196
+ message: t('commands.todo.add.selectType'),
197
+ choices: ['feature', 'bugfix', 'refactor', 'document'],
198
+ stdout: process.stderr,
199
+ });
200
+ const nameResponse = await prompt({
201
+ type: 'input',
202
+ name: 'name',
203
+ message: t('commands.todo.add.inputName'),
204
+ stdout: process.stderr,
205
+ });
206
+ const name = nameResponse.name.trim();
207
+ if (!name) {
208
+ throw new ColynError(t('commands.todo.add.emptyName'));
209
+ }
210
+ const branch = `${typeResponse.type}/${name}`;
211
+ if (!isValidBranchName(branch)) {
212
+ throw new ColynError(t('commands.add.invalidBranchName'), t('commands.add.invalidBranchNameHint'));
213
+ }
214
+ return branch;
215
+ }
216
+ /**
217
+ * 在未提供 branch 参数时,交互式选择目标分支
218
+ * 顺序:新建分支 -> pending todo -> 本地分支
219
+ */
220
+ async function selectBranchForCheckout(configDir, worktreePath, mainBranch, currentBranch, mainDir, worktreesDir, currentWorktreeId) {
221
+ const options = new Map();
222
+ const items = [];
223
+ let seq = 0;
224
+ const pushChoice = (choice, label, summary, preview) => {
225
+ const value = `opt-${seq++}`;
226
+ options.set(value, choice);
227
+ items.push({ value, label, summary, preview });
228
+ };
229
+ // 1) 新建分支(默认项)
230
+ pushChoice({ type: 'create' }, t('commands.checkout.selectCreateBranchLabel'), t('commands.checkout.selectCreateBranchSummary'), t('commands.checkout.selectCreateBranchPreview'));
231
+ // 2) pending todo
232
+ const todoFile = await readTodoFile(configDir);
233
+ const pendingTodos = todoFile.todos.filter(item => item.status === 'pending');
234
+ const maxTodoTypeW = pendingTodos.length > 0
235
+ ? Math.max(...pendingTodos.map(item => item.type.length))
236
+ : 0;
237
+ const pendingBranchSet = new Set();
238
+ for (const todo of pendingTodos) {
239
+ const branch = `${todo.type}/${todo.name}`;
240
+ const todoLabel = formatTodoIdLabel(todo.type, todo.name, maxTodoTypeW);
241
+ pendingBranchSet.add(branch);
242
+ pushChoice({ type: 'todo', branch, todoId: branch, message: todo.message }, todoLabel.plain, `${t('commands.checkout.selectTodoSummaryPrefix')}: ${todo.message.split('\n')[0]}`, todo.message);
243
+ items[items.length - 1].labelDisplay = todoLabel.display;
244
+ }
245
+ // 3) 未删除本地分支(去重:和 pending todo 同名时保留 todo 条目)
246
+ const parsedLocalBranches = await listSelectableLocalBranches({
247
+ gitDir: worktreePath,
248
+ mainDir,
249
+ worktreesDir,
250
+ mainBranch,
251
+ currentBranch,
252
+ currentWorktreeId,
253
+ worktreeBranchScope: 'others',
254
+ excludeBranches: pendingBranchSet,
255
+ });
256
+ const maxLocalTypeW = parsedLocalBranches.length > 0
257
+ ? Math.max(...parsedLocalBranches.map(item => item.type.length))
258
+ : 0;
259
+ for (const local of parsedLocalBranches) {
260
+ const { branch } = local;
261
+ const branchLabel = formatTodoIdLabel(local.type, local.name, maxLocalTypeW);
262
+ pushChoice({ type: 'branch', branch }, branchLabel.plain, t('commands.checkout.selectLocalBranchSummary'), t('commands.checkout.selectLocalBranchPreview', { branch }));
263
+ items[items.length - 1].labelDisplay = branchLabel.display;
264
+ }
265
+ const selectedValue = await selectWithPreview(items, {
266
+ selectMessage: t('commands.checkout.selectBranchPrompt'),
267
+ previewLineCount: 4,
268
+ initial: 0,
269
+ });
270
+ const selectedChoice = options.get(selectedValue);
271
+ if (!selectedChoice) {
272
+ throw new ColynError(t('commands.checkout.argError'));
273
+ }
274
+ if (selectedChoice.type === 'create') {
275
+ return { branch: await promptCreateBranchName() };
276
+ }
277
+ if (selectedChoice.type === 'todo') {
278
+ return {
279
+ branch: selectedChoice.branch,
280
+ selectedTodo: {
281
+ todoId: selectedChoice.todoId,
282
+ message: selectedChoice.message,
283
+ },
284
+ };
285
+ }
286
+ return { branch: selectedChoice.branch };
287
+ }
184
288
  /**
185
289
  * Checkout 命令:在 worktree 中切换分支
186
290
  */
@@ -213,6 +317,13 @@ export async function checkoutCommand(target, branch, options = {}) {
213
317
  // 指定了 target,查找 worktree
214
318
  worktree = await findWorktreeTarget(target, paths.mainDir, paths.worktreesDir);
215
319
  }
320
+ const mainBranch = await getMainBranch(paths.mainDir);
321
+ let selectedTodoMeta;
322
+ if (!branch) {
323
+ const selected = await selectBranchForCheckout(paths.configDir, worktree.path, mainBranch, worktree.branch, paths.mainDir, paths.worktreesDir, worktree.id);
324
+ branch = selected.branch;
325
+ selectedTodoMeta = selected.selectedTodo;
326
+ }
216
327
  const currentBranch = worktree.branch;
217
328
  // 如果已经在目标分支上
218
329
  if (currentBranch === branch) {
@@ -235,7 +346,6 @@ export async function checkoutCommand(target, branch, options = {}) {
235
346
  throw error;
236
347
  }
237
348
  // 步骤4: 检查目标是否为主分支
238
- const mainBranch = await getMainBranch(paths.mainDir);
239
349
  if (branch === mainBranch || branch === 'main' || branch === 'master') {
240
350
  throw new ColynError(t('commands.checkout.cannotSwitchToMain'), t('commands.checkout.cannotSwitchToMainHint', { path: paths.mainDir }));
241
351
  }
@@ -334,7 +444,8 @@ export async function checkoutCommand(target, branch, options = {}) {
334
444
  if (deleteResponse.deleteOldBranch) {
335
445
  const deleteSpinner = ora({ text: t('commands.checkout.deletingBranch', { branch: currentBranch }), stream: process.stderr }).start();
336
446
  try {
337
- await git.branch(['-d', currentBranch]);
447
+ // 已通过 merged 检查确认可删,这里用 -D 避免 -d 受当前 HEAD 影响误判
448
+ await git.branch(['-D', currentBranch]);
338
449
  deleteSpinner.succeed(t('commands.checkout.branchDeleted', { branch: currentBranch }));
339
450
  oldBranchDeleted = true;
340
451
  }
@@ -356,6 +467,30 @@ export async function checkoutCommand(target, branch, options = {}) {
356
467
  if (oldBranchDeleted) {
357
468
  output(chalk.gray(t('commands.checkout.oldBranchDeleted', { branch: currentBranch })));
358
469
  }
470
+ // 由 Todo 入口切换分支时:同步标记完成,并输出 message + 复制剪贴板
471
+ if (selectedTodoMeta) {
472
+ const { type, name } = parseTodoId(selectedTodoMeta.todoId);
473
+ const todoFile = await readTodoFile(paths.configDir);
474
+ const todoItem = findTodo(todoFile.todos, type, name);
475
+ if (todoItem && todoItem.status === 'pending') {
476
+ todoItem.status = 'completed';
477
+ todoItem.startedAt = new Date().toISOString();
478
+ todoItem.branch = branch;
479
+ await saveTodoFile(paths.configDir, todoFile);
480
+ outputSuccess(t('commands.todo.start.success', { todoId: selectedTodoMeta.todoId }));
481
+ }
482
+ outputLine();
483
+ output(chalk.bold(t('commands.todo.start.messageTitle')));
484
+ output(selectedTodoMeta.message);
485
+ outputLine();
486
+ const copied = copyToClipboard(selectedTodoMeta.message);
487
+ if (copied) {
488
+ outputInfo(t('commands.todo.start.clipboardCopied'));
489
+ }
490
+ else {
491
+ outputInfo(t('commands.todo.start.clipboardFailed'));
492
+ }
493
+ }
359
494
  outputLine();
360
495
  outputBold(t('commands.checkout.currentStatus'));
361
496
  output(` ${t('commands.checkout.statusWorktree', { id: worktree.id })}`);
@@ -382,14 +517,17 @@ export async function checkoutCommand(target, branch, options = {}) {
382
517
  export function register(program) {
383
518
  // 主命令 - 使用 variadic 参数处理
384
519
  program
385
- .command('checkout <args...>')
386
- .usage('<branch> | <worktree-id> <branch>')
520
+ .command('checkout [args...]')
521
+ .usage('[branch] | <worktree-id> [branch]')
387
522
  .description(t('commands.checkout.description'))
388
523
  .option('--no-fetch', t('commands.checkout.noFetchOption'))
389
524
  .action(async (args, options) => {
390
525
  let target;
391
526
  let branch;
392
- if (args.length === 1) {
527
+ if (args.length === 0) {
528
+ branch = undefined;
529
+ }
530
+ else if (args.length === 1) {
393
531
  // 只有分支名
394
532
  branch = args[0];
395
533
  }
@@ -405,14 +543,17 @@ export function register(program) {
405
543
  });
406
544
  // 别名 co
407
545
  program
408
- .command('co <args...>')
409
- .usage('<branch> | <worktree-id> <branch>')
546
+ .command('co [args...]')
547
+ .usage('[branch] | <worktree-id> [branch]')
410
548
  .description(t('commands.checkout.coDescription'))
411
549
  .option('--no-fetch', t('commands.checkout.noFetchOption'))
412
550
  .action(async (args, options) => {
413
551
  let target;
414
552
  let branch;
415
- if (args.length === 1) {
553
+ if (args.length === 0) {
554
+ branch = undefined;
555
+ }
556
+ else if (args.length === 1) {
416
557
  branch = args[0];
417
558
  }
418
559
  else if (args.length === 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDzC;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAsPpD;AA4FD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ/C"}
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDzC;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CA6QpD;AA4FD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ/C"}
@@ -105,8 +105,12 @@ _colyn() {
105
105
  merge)
106
106
  _arguments \\
107
107
  '1: :_colyn_worktrees' \\
108
- '--push[${e(t('commands.merge.pushOption'))}]' \\
109
- '--no-push[${e(t('commands.merge.noPushOption'))}]'
108
+ '--no-rebase[${e(t('commands.merge.noRebaseOption'))}]' \\
109
+ '--no-update[${e(t('commands.merge.noUpdateOption'))}]' \\
110
+ '--update-all[${e(t('commands.merge.updateAllOption'))}]' \\
111
+ '--no-fetch[${e(t('commands.merge.noFetchOption'))}]' \\
112
+ '--skip-build[${e(t('commands.merge.skipBuildOption'))}]' \\
113
+ '(-v --verbose)'{-v,--verbose}'[${e(t('commands.merge.verboseOption'))}]'
110
114
  ;;
111
115
  update)
112
116
  _arguments \\
@@ -170,6 +174,7 @@ _colyn() {
170
174
  'ls:${e(t('commands.todo.list.description'))}'
171
175
  'remove:${e(t('commands.todo.remove.description'))}'
172
176
  'archive:${e(t('commands.todo.archive.description'))}'
177
+ 'complete:${e(t('commands.todo.complete.description'))}'
173
178
  'uncomplete:${e(t('commands.todo.uncomplete.description'))}'
174
179
  'edit:${e(t('commands.todo.edit.description'))}'
175
180
  )
@@ -210,6 +215,10 @@ _colyn() {
210
215
  _arguments \\
211
216
  '(-y --yes)'{-y,--yes}'[${e(t('commands.todo.archive.yesOption'))}]'
212
217
  ;;
218
+ complete)
219
+ _arguments \\
220
+ '1: :_colyn_todo_ids'
221
+ ;;
213
222
  uncomplete)
214
223
  _arguments \\
215
224
  '1: :_colyn_todo_completed_ids'
@@ -240,7 +249,21 @@ _colyn_todo_completed_ids() {
240
249
  # Git branch completion
241
250
  _colyn_branches() {
242
251
  local -a branches
252
+ local -a worktree_branches
243
253
  branches=(\${(f)"$(git branch -a 2>/dev/null | sed 's/^[* ]*//' | sed 's/remotes\\/origin\\///' | sort -u)"})
254
+ worktree_branches=(\${(f)"$(colyn list --json --no-main 2>/dev/null | grep -o '"branch":"[^"]*"' | cut -d'"' -f4)"})
255
+
256
+ if (( \${#worktree_branches[@]} > 0 )); then
257
+ local -a filtered
258
+ local b
259
+ for b in \${branches[@]}; do
260
+ if (( \${worktree_branches[(Ie)$b]} == 0 )); then
261
+ filtered+=("$b")
262
+ fi
263
+ done
264
+ branches=(\${filtered[@]})
265
+ fi
266
+
244
267
  _describe 'branches' branches
245
268
  }
246
269
 
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * list-project 命令
3
3
  *
4
- * 通过 tmux sessions 列出所有项目
4
+ * 通过全局状态索引列出所有项目
5
5
  */
6
6
  import type { Command } from 'commander';
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"list-project.d.ts","sourceRoot":"","sources":["../../src/commands/list-project.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6UzC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAU/C"}
1
+ {"version":3,"file":"list-project.d.ts","sourceRoot":"","sources":["../../src/commands/list-project.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuWzC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAU/C"}
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * list-project 命令
3
3
  *
4
- * 通过 tmux sessions 列出所有项目
4
+ * 通过全局状态索引列出所有项目
5
5
  */
6
6
  import Table from 'cli-table3';
7
7
  import chalk from 'chalk';
8
+ import * as fs from 'fs/promises';
9
+ import * as path from 'path';
8
10
  import { t } from '../i18n/index.js';
9
- import { isTmuxAvailable, listSessions, getPaneCurrentPath } from '../core/tmux.js';
10
11
  import { output, outputWarning, formatError, outputResult } from '../utils/logger.js';
11
12
  import { ColynError } from '../types/index.js';
12
- import { getLocationInfo } from '../core/paths.js';
13
13
  import { discoverProjectInfo, getMainBranch, getMainPort } from '../core/discovery.js';
14
+ import { listGlobalStatusProjects } from '../core/worktree-status.js';
14
15
  import { getGitStatus, getGitDiff, formatStatus, formatDiff } from './list.helpers.js';
15
- import * as path from 'path';
16
16
  /**
17
17
  * 检测当前工作目录是否在指定路径下(复用 list 命令的逻辑)
18
18
  */
@@ -59,41 +59,75 @@ async function getProjectWorktrees(projectPath, mainBranchPath) {
59
59
  return items;
60
60
  }
61
61
  /**
62
- * 获取所有项目信息
62
+ * 检查路径是否存在且为目录
63
+ */
64
+ async function isDirectory(dirPath) {
65
+ try {
66
+ const stat = await fs.stat(dirPath);
67
+ return stat.isDirectory();
68
+ }
69
+ catch {
70
+ return false;
71
+ }
72
+ }
73
+ /**
74
+ * 根据 projectPath 推导主分支路径,并验证是否是有效的 colyn 项目目录结构
75
+ */
76
+ async function resolveProjectLayout(projectPath) {
77
+ const projectName = path.basename(projectPath);
78
+ const mainBranchPath = path.join(projectPath, projectName);
79
+ const worktreesPath = path.join(projectPath, 'worktrees');
80
+ const configPath = path.join(projectPath, '.colyn');
81
+ const [mainExists, worktreesExists, configExists] = await Promise.all([
82
+ isDirectory(mainBranchPath),
83
+ isDirectory(worktreesPath),
84
+ isDirectory(configPath)
85
+ ]);
86
+ if (!mainExists || !worktreesExists || !configExists) {
87
+ return null;
88
+ }
89
+ return { projectName, mainBranchPath };
90
+ }
91
+ /**
92
+ * 格式化更新时间
93
+ */
94
+ function formatUpdatedAt(iso) {
95
+ const date = new Date(iso);
96
+ if (Number.isNaN(date.getTime())) {
97
+ return iso;
98
+ }
99
+ return date.toLocaleString();
100
+ }
101
+ /**
102
+ * 获取所有项目信息(来自 ~/.colyn-status.json)
63
103
  */
64
104
  async function getAllProjects() {
65
- const sessions = listSessions();
105
+ const globalProjects = await listGlobalStatusProjects();
66
106
  const projects = [];
67
107
  const seenPaths = new Set();
68
- for (const sessionName of sessions) {
69
- // 获取 window 0 pane 0 的当前目录
70
- const panePath = getPaneCurrentPath(sessionName, 0, 0);
71
- if (!panePath) {
108
+ for (const entry of globalProjects) {
109
+ const projectPath = path.resolve(entry.projectPath);
110
+ if (seenPaths.has(projectPath)) {
72
111
  continue;
73
112
  }
74
- // 尝试获取该目录的项目信息(复用 info 命令的逻辑)
113
+ seenPaths.add(projectPath);
75
114
  try {
76
- const locationInfo = await getLocationInfo(panePath);
77
- // 使用 projectPath(与 info -f project-path 一致)
78
- const projectPath = locationInfo.projectPath;
79
- // 避免重复添加相同的项目
80
- if (seenPaths.has(projectPath)) {
115
+ const layout = await resolveProjectLayout(projectPath);
116
+ if (!layout) {
81
117
  continue;
82
118
  }
83
- seenPaths.add(projectPath);
84
119
  // 获取项目的 worktree 信息(复用 list 命令的逻辑)
85
- const mainBranchPath = locationInfo.mainBranchPath;
86
- const worktrees = await getProjectWorktrees(projectPath, mainBranchPath);
120
+ const worktrees = await getProjectWorktrees(projectPath, layout.mainBranchPath);
87
121
  projects.push({
88
- sessionName,
89
122
  projectPath,
90
- projectName: locationInfo.project, // 与 info -f project 一致
91
- mainBranchPath,
123
+ projectName: layout.projectName,
124
+ mainBranchPath: layout.mainBranchPath,
125
+ updatedAt: entry.updatedAt,
92
126
  worktrees
93
127
  });
94
128
  }
95
129
  catch {
96
- // 不是 colyn 项目,跳过
130
+ // 路径失效或不是 colyn 项目,跳过
97
131
  continue;
98
132
  }
99
133
  }
@@ -111,10 +145,10 @@ function outputTable(projects) {
111
145
  // 主表格:项目概览
112
146
  const mainTable = new Table({
113
147
  head: [
114
- chalk.bold(t('commands.listProject.tableSession')),
115
148
  chalk.bold(t('commands.listProject.tableProject')),
116
149
  chalk.bold(t('commands.listProject.tablePath')),
117
- chalk.bold(t('commands.listProject.tableWorktrees'))
150
+ chalk.bold(t('commands.listProject.tableWorktrees')),
151
+ chalk.bold(t('commands.listProject.tableUpdatedAt'))
118
152
  ],
119
153
  style: {
120
154
  head: [],
@@ -123,10 +157,10 @@ function outputTable(projects) {
123
157
  });
124
158
  for (const project of projects) {
125
159
  mainTable.push([
126
- project.sessionName,
127
160
  project.projectName,
128
161
  project.projectPath,
129
- String(project.worktrees.length)
162
+ String(project.worktrees.length),
163
+ formatUpdatedAt(project.updatedAt)
130
164
  ]);
131
165
  }
132
166
  console.error(mainTable.toString());
@@ -210,10 +244,6 @@ function outputPaths(projects) {
210
244
  */
211
245
  async function listProjectCommand(options) {
212
246
  try {
213
- // 检查 tmux 是否可用
214
- if (!isTmuxAvailable()) {
215
- throw new ColynError(t('commands.listProject.tmuxNotInstalled'), t('commands.listProject.tmuxInstallHint'));
216
- }
217
247
  // 检查选项冲突
218
248
  if (options.json && options.paths) {
219
249
  throw new ColynError(t('commands.listProject.optionConflict'), t('commands.listProject.optionConflictHint'));