@litmers/cursorflow-orchestrator 0.1.34 → 0.1.37

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 (51) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +38 -7
  3. package/commands/cursorflow-doctor.md +45 -23
  4. package/commands/cursorflow-run.md +60 -111
  5. package/dist/cli/doctor.js +47 -4
  6. package/dist/cli/doctor.js.map +1 -1
  7. package/dist/cli/logs.js +10 -1
  8. package/dist/cli/logs.js.map +1 -1
  9. package/dist/cli/monitor.js +12 -4
  10. package/dist/cli/monitor.js.map +1 -1
  11. package/dist/cli/resume.js +46 -21
  12. package/dist/cli/resume.js.map +1 -1
  13. package/dist/cli/run.js +33 -8
  14. package/dist/cli/run.js.map +1 -1
  15. package/dist/cli/stop.js +6 -0
  16. package/dist/cli/stop.js.map +1 -1
  17. package/dist/cli/tasks.d.ts +5 -3
  18. package/dist/cli/tasks.js +180 -27
  19. package/dist/cli/tasks.js.map +1 -1
  20. package/dist/core/orchestrator.js +6 -5
  21. package/dist/core/orchestrator.js.map +1 -1
  22. package/dist/core/runner/agent.js +3 -1
  23. package/dist/core/runner/agent.js.map +1 -1
  24. package/dist/services/logging/console.js +2 -1
  25. package/dist/services/logging/console.js.map +1 -1
  26. package/dist/utils/config.d.ts +5 -1
  27. package/dist/utils/config.js +8 -1
  28. package/dist/utils/config.js.map +1 -1
  29. package/dist/utils/doctor.js +40 -8
  30. package/dist/utils/doctor.js.map +1 -1
  31. package/dist/utils/enhanced-logger.d.ts +1 -1
  32. package/dist/utils/enhanced-logger.js +3 -2
  33. package/dist/utils/enhanced-logger.js.map +1 -1
  34. package/dist/utils/flow.d.ts +9 -0
  35. package/dist/utils/flow.js +73 -0
  36. package/dist/utils/flow.js.map +1 -0
  37. package/package.json +2 -1
  38. package/src/cli/doctor.ts +48 -4
  39. package/src/cli/logs.ts +13 -2
  40. package/src/cli/monitor.ts +16 -5
  41. package/src/cli/resume.ts +48 -20
  42. package/src/cli/run.ts +31 -9
  43. package/src/cli/stop.ts +8 -0
  44. package/src/cli/tasks.ts +199 -19
  45. package/src/core/orchestrator.ts +6 -5
  46. package/src/core/runner/agent.ts +4 -1
  47. package/src/services/logging/console.ts +2 -1
  48. package/src/utils/config.ts +8 -1
  49. package/src/utils/doctor.ts +36 -8
  50. package/src/utils/enhanced-logger.ts +3 -2
  51. package/src/utils/flow.ts +42 -0
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-logger.js","sourceRoot":"","sources":["../../src/utils/enhanced-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-logger.js","sourceRoot":"","sources":["../../src/utils/enhanced-logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Find flow directory by name in the flows directory.
3
+ * Matches by exact name or by suffix (ignoring ID prefix like '001_').
4
+ *
5
+ * @param flowsDir The base flows directory (e.g., _cursorflow/flows)
6
+ * @param flowName The name of the flow to find
7
+ * @returns The absolute path to the flow directory, or null if not found
8
+ */
9
+ export declare function findFlowDir(flowsDir: string, flowName: string): string | null;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.findFlowDir = findFlowDir;
37
+ const fs = __importStar(require("fs"));
38
+ const path_1 = require("./path");
39
+ /**
40
+ * Find flow directory by name in the flows directory.
41
+ * Matches by exact name or by suffix (ignoring ID prefix like '001_').
42
+ *
43
+ * @param flowsDir The base flows directory (e.g., _cursorflow/flows)
44
+ * @param flowName The name of the flow to find
45
+ * @returns The absolute path to the flow directory, or null if not found
46
+ */
47
+ function findFlowDir(flowsDir, flowName) {
48
+ if (!fs.existsSync(flowsDir)) {
49
+ return null;
50
+ }
51
+ const dirs = fs.readdirSync(flowsDir)
52
+ .filter(name => {
53
+ const dirPath = (0, path_1.safeJoin)(flowsDir, name);
54
+ try {
55
+ return fs.statSync(dirPath).isDirectory();
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ })
61
+ .filter(name => {
62
+ // Match by exact name or by suffix (ignoring ID prefix)
63
+ const match = name.match(/^\d+_(.+)$/);
64
+ return match ? match[1] === flowName : name === flowName;
65
+ });
66
+ if (dirs.length === 0) {
67
+ return null;
68
+ }
69
+ // Return the most recent one (highest ID / alphabetical)
70
+ dirs.sort((a, b) => b.localeCompare(a));
71
+ return (0, path_1.safeJoin)(flowsDir, dirs[0]);
72
+ }
73
+ //# sourceMappingURL=flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/utils/flow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,kCA2BC;AAvCD,uCAAyB;AAEzB,iCAAkC;AAElC;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,QAAgB,EAAE,QAAgB;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;SAClC,MAAM,CAAC,IAAI,CAAC,EAAE;QACb,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,EAAE;QACb,wDAAwD;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEL,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@litmers/cursorflow-orchestrator",
3
- "version": "0.1.34",
3
+ "version": "0.1.37",
4
4
  "description": "Git worktree-based parallel AI agent orchestration system for Cursor",
5
5
  "main": "dist/cli/index.js",
6
6
  "bin": {
@@ -56,6 +56,7 @@
56
56
  "build": "tsc",
57
57
  "watch": "tsc -w",
58
58
  "test": "jest",
59
+ "test:unit": "jest --testPathIgnorePatterns=tests/e2e",
59
60
  "postinstall": "node scripts/postinstall.js",
60
61
  "validate": "pnpm pack",
61
62
  "release": "scripts/release.sh",
package/src/cli/doctor.ts CHANGED
@@ -13,12 +13,18 @@
13
13
  */
14
14
 
15
15
  import * as logger from '../utils/logger';
16
+ import * as path from 'path';
17
+ import * as fs from 'fs';
16
18
  import { runDoctor, saveDoctorStatus } from '../utils/doctor';
17
19
  import { runInteractiveAgentTest } from '../utils/cursor-agent';
20
+ import { loadConfig, findProjectRoot } from '../utils/config';
21
+ import { safeJoin } from '../utils/path';
22
+ import { findFlowDir } from '../utils/flow';
18
23
 
19
24
  interface DoctorCliOptions {
20
25
  json: boolean;
21
26
  tasksDir: string | null;
27
+ flowOrTaskName: string | null;
22
28
  executor: string | null;
23
29
  includeCursorAgentChecks: boolean;
24
30
  testAgent: boolean;
@@ -26,13 +32,16 @@ interface DoctorCliOptions {
26
32
 
27
33
  function printHelp(): void {
28
34
  console.log(`
29
- Usage: cursorflow doctor [options]
35
+ Usage: cursorflow doctor [flow-name] [options]
30
36
 
31
37
  Verify your environment is ready for CursorFlow runs.
32
38
 
39
+ Arguments:
40
+ [flow-name] Flow or task name to validate (optional)
41
+
33
42
  Options:
34
43
  --json Output machine-readable JSON
35
- --tasks-dir <path> Also validate lane files (run preflight)
44
+ --tasks-dir <path> Validate specific directory (legacy)
36
45
  --executor <type> cursor-agent | cloud
37
46
  --no-cursor Skip Cursor Agent install/auth checks
38
47
  --test-agent Run interactive agent test (to approve MCP/permissions)
@@ -40,18 +49,30 @@ Options:
40
49
 
41
50
  Examples:
42
51
  cursorflow doctor
52
+ cursorflow doctor TestFeature
43
53
  cursorflow doctor --test-agent
44
- cursorflow doctor --tasks-dir _cursorflow/tasks/demo-test/
54
+ cursorflow doctor --tasks-dir _cursorflow/flows/001_TestFeature
45
55
  `);
46
56
  }
47
57
 
48
58
  function parseArgs(args: string[]): DoctorCliOptions {
49
59
  const tasksDirIdx = args.indexOf('--tasks-dir');
50
60
  const executorIdx = args.indexOf('--executor');
61
+
62
+ // Find positional argument (flow/task name)
63
+ // Exclude args that are values for options
64
+ const optionValueIndices = new Set<number>();
65
+ if (tasksDirIdx >= 0 && tasksDirIdx + 1 < args.length) optionValueIndices.add(tasksDirIdx + 1);
66
+ if (executorIdx >= 0 && executorIdx + 1 < args.length) optionValueIndices.add(executorIdx + 1);
67
+
68
+ const flowOrTaskName = args.find((arg, idx) =>
69
+ !arg.startsWith('--') && !optionValueIndices.has(idx)
70
+ ) || null;
51
71
 
52
72
  const options: DoctorCliOptions = {
53
73
  json: args.includes('--json'),
54
74
  tasksDir: tasksDirIdx >= 0 ? (args[tasksDirIdx + 1] || null) : null,
75
+ flowOrTaskName,
55
76
  executor: executorIdx >= 0 ? (args[executorIdx + 1] || null) : null,
56
77
  includeCursorAgentChecks: !args.includes('--no-cursor'),
57
78
  testAgent: args.includes('--test-agent'),
@@ -117,9 +138,32 @@ async function doctor(args: string[]): Promise<void> {
117
138
  process.exit(success ? 0 : 1);
118
139
  }
119
140
 
141
+ // Resolve tasksDir from flow name if provided
142
+ let tasksDir = options.tasksDir;
143
+ if (!tasksDir && options.flowOrTaskName) {
144
+ try {
145
+ const config = loadConfig();
146
+ const flowsDir = safeJoin(config.projectRoot, config.flowsDir);
147
+ const foundFlow = findFlowDir(flowsDir, options.flowOrTaskName);
148
+ if (foundFlow) {
149
+ tasksDir = foundFlow;
150
+ } else {
151
+ // Try as a direct path
152
+ const directPath = path.resolve(process.cwd(), options.flowOrTaskName);
153
+ if (fs.existsSync(directPath)) {
154
+ tasksDir = directPath;
155
+ } else {
156
+ tasksDir = options.flowOrTaskName;
157
+ }
158
+ }
159
+ } catch {
160
+ tasksDir = options.flowOrTaskName;
161
+ }
162
+ }
163
+
120
164
  const report = runDoctor({
121
165
  cwd: process.cwd(),
122
- tasksDir: options.tasksDir || undefined,
166
+ tasksDir: tasksDir || undefined,
123
167
  executor: options.executor || undefined,
124
168
  includeCursorAgentChecks: options.includeCursorAgentChecks,
125
169
  });
package/src/cli/logs.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
7
  import * as logger from '../utils/logger';
8
- import { loadConfig } from '../utils/config';
8
+ import { loadConfig, getLogsDir } from '../utils/config';
9
9
  import { safeJoin } from '../utils/path';
10
10
  import {
11
11
  readJsonLog,
@@ -808,11 +808,22 @@ async function logs(args: string[]): Promise<void> {
808
808
  }
809
809
 
810
810
  const config = loadConfig();
811
+ const originalCwd = process.cwd();
812
+
813
+ // Change current directory to project root for consistent path handling
814
+ if (config.projectRoot !== originalCwd) {
815
+ logger.debug(`Changing directory to project root: ${config.projectRoot}`);
816
+ process.chdir(config.projectRoot);
817
+ }
811
818
 
812
819
  // Find run directory
813
820
  let runDir = options.runDir;
821
+ if (runDir && runDir !== 'latest' && !path.isAbsolute(runDir)) {
822
+ runDir = path.resolve(originalCwd, runDir);
823
+ }
824
+
814
825
  if (!runDir || runDir === 'latest') {
815
- runDir = findLatestRunDir(config.logsDir) || undefined;
826
+ runDir = findLatestRunDir(getLogsDir(config)) || undefined;
816
827
  }
817
828
 
818
829
  if (!runDir || !fs.existsSync(runDir)) {
@@ -14,7 +14,7 @@ import * as path from 'path';
14
14
  import * as readline from 'readline';
15
15
  import { loadState, readLog } from '../utils/state';
16
16
  import { LaneState, ConversationEntry } from '../utils/types';
17
- import { loadConfig } from '../utils/config';
17
+ import { loadConfig, getLogsDir } from '../utils/config';
18
18
  import { safeJoin } from '../utils/path';
19
19
  import { getLaneProcessStatus, getFlowSummary, LaneProcessStatus } from '../services/process';
20
20
  import { LogBufferService, BufferedLogEntry } from '../services/logging/buffer';
@@ -142,6 +142,13 @@ class InteractiveMonitor {
142
142
  }
143
143
 
144
144
  constructor(runDir: string, interval: number, logsDir?: string, initialView: View = View.LIST) {
145
+ const config = loadConfig();
146
+
147
+ // Change current directory to project root for consistent path handling
148
+ if (config.projectRoot !== process.cwd()) {
149
+ process.chdir(config.projectRoot);
150
+ }
151
+
145
152
  this.runDir = runDir;
146
153
  this.interval = interval;
147
154
  this.view = initialView;
@@ -150,8 +157,7 @@ class InteractiveMonitor {
150
157
  if (logsDir) {
151
158
  this.logsDir = logsDir;
152
159
  } else {
153
- const config = loadConfig();
154
- this.logsDir = safeJoin(config.logsDir, 'runs');
160
+ this.logsDir = safeJoin(getLogsDir(config), 'runs');
155
161
  }
156
162
 
157
163
  // Initialize unified log buffer
@@ -1775,15 +1781,20 @@ async function monitor(args: string[]): Promise<void> {
1775
1781
  const interval = intervalIdx >= 0 ? parseInt(args[intervalIdx + 1] || '2') || 2 : 2;
1776
1782
 
1777
1783
  const runDirArg = args.find(arg => !arg.startsWith('--') && args.indexOf(arg) !== intervalIdx + 1);
1784
+ const originalCwd = process.cwd();
1778
1785
  const config = loadConfig();
1779
1786
 
1780
1787
  let runDir = runDirArg;
1788
+ if (runDir && runDir !== 'latest' && !path.isAbsolute(runDir)) {
1789
+ runDir = path.resolve(originalCwd, runDir);
1790
+ }
1791
+
1781
1792
  if (!runDir || runDir === 'latest') {
1782
- runDir = findLatestRunDir(config.logsDir) || undefined;
1793
+ runDir = findLatestRunDir(getLogsDir(config)) || undefined;
1783
1794
  if (!runDir && !list) throw new Error('No run directories found');
1784
1795
  if (!runDir && list) {
1785
1796
  // Create a dummy runDir if none exists but we want to see the list (dashboard will handle empty list)
1786
- runDir = path.join(config.logsDir, 'runs', 'empty');
1797
+ runDir = path.join(getLogsDir(config), 'runs', 'empty');
1787
1798
  }
1788
1799
  }
1789
1800
 
package/src/cli/resume.ts CHANGED
@@ -11,6 +11,7 @@ import { loadState, saveState } from '../utils/state';
11
11
  import { LaneState } from '../types';
12
12
  import { runDoctor } from '../utils/doctor';
13
13
  import { safeJoin } from '../utils/path';
14
+ import { findFlowDir } from '../utils/flow';
14
15
  import {
15
16
  EnhancedLogManager,
16
17
  createLogManager,
@@ -431,9 +432,10 @@ function spawnLaneResume(
431
432
  runnerArgs.push('--executor', options.executor);
432
433
  }
433
434
 
435
+ const shortLaneName = laneName.substring(0, 10);
434
436
  const logManager = createLogManager(laneDir, laneName, options.enhancedLogConfig || {}, (msg) => {
435
437
  const formatted = formatMessageForConsole(msg, {
436
- laneLabel: `[${laneName}]`,
438
+ laneLabel: `[${shortLaneName}]`,
437
439
  includeTimestamp: true
438
440
  });
439
441
  process.stdout.write(formatted + '\n');
@@ -632,8 +634,19 @@ async function resume(args: string[]): Promise<void> {
632
634
 
633
635
  const config = loadConfig();
634
636
  const logsDir = getLogsDir(config);
637
+ const originalCwd = process.cwd();
638
+
639
+ // Change current directory to project root for consistent path handling
640
+ if (config.projectRoot !== originalCwd) {
641
+ logger.debug(`Changing directory to project root: ${config.projectRoot}`);
642
+ process.chdir(config.projectRoot);
643
+ }
635
644
 
636
645
  let runDir = options.runDir;
646
+ if (runDir && !path.isAbsolute(runDir)) {
647
+ runDir = path.resolve(originalCwd, runDir);
648
+ }
649
+
637
650
  if (!runDir) {
638
651
  runDir = findLatestRunDir(logsDir);
639
652
  }
@@ -645,30 +658,45 @@ async function resume(args: string[]): Promise<void> {
645
658
  const allLanes = getAllLaneStatuses(runDir);
646
659
  let lanesToResume: LaneInfo[] = [];
647
660
 
648
- // Check if the lane argument is actually a tasks directory
649
- if (options.lane && fs.existsSync(options.lane) && fs.statSync(options.lane).isDirectory()) {
650
- const tasksDir = path.resolve(options.lane);
651
- lanesToResume = allLanes.filter(l => l.needsResume && l.state?.tasksFile && path.resolve(l.state.tasksFile).startsWith(tasksDir));
661
+ // Check if the lane argument is actually a tasks directory or a flow name
662
+ if (options.lane) {
663
+ let tasksDir = '';
664
+ const lanePathAbs = path.resolve(originalCwd, options.lane);
652
665
 
653
- if (lanesToResume.length > 0) {
654
- logger.info(`📂 Task directory detected: ${options.lane}`);
655
- logger.info(`Resuming ${lanesToResume.length} lane(s) from this directory.`);
666
+ if (fs.existsSync(lanePathAbs) && fs.statSync(lanePathAbs).isDirectory()) {
667
+ tasksDir = lanePathAbs;
656
668
  } else {
657
- logger.warn(`No incomplete lanes found using tasks from directory: ${options.lane}`);
658
- return;
669
+ // Try finding in flowsDir
670
+ const flowsDir = safeJoin(config.projectRoot, config.flowsDir);
671
+ const foundFlow = findFlowDir(flowsDir, options.lane);
672
+ if (foundFlow) {
673
+ tasksDir = foundFlow;
674
+ }
675
+ }
676
+
677
+ if (tasksDir) {
678
+ lanesToResume = allLanes.filter(l => l.needsResume && l.state?.tasksFile && path.resolve(l.state.tasksFile).startsWith(tasksDir));
679
+
680
+ if (lanesToResume.length > 0) {
681
+ logger.info(`📂 Flow/Task directory detected: ${options.lane}`);
682
+ logger.info(`Resuming ${lanesToResume.length} lane(s) from this directory.`);
683
+ } else {
684
+ logger.warn(`No incomplete lanes found using tasks from directory: ${options.lane}`);
685
+ return;
686
+ }
687
+ } else {
688
+ const lane = allLanes.find(l => l.name === options.lane);
689
+ if (!lane) {
690
+ throw new Error(`Lane '${options.lane}' not found in run directory.`);
691
+ }
692
+ if (!lane.needsResume) {
693
+ logger.success(`Lane '${options.lane}' is already completed.`);
694
+ return;
695
+ }
696
+ lanesToResume = [lane];
659
697
  }
660
698
  } else if (options.all) {
661
699
  lanesToResume = allLanes.filter(l => l.needsResume && l.state?.tasksFile);
662
- } else if (options.lane) {
663
- const lane = allLanes.find(l => l.name === options.lane);
664
- if (!lane) {
665
- throw new Error(`Lane '${options.lane}' not found in run directory.`);
666
- }
667
- if (!lane.needsResume) {
668
- logger.success(`Lane '${options.lane}' is already completed.`);
669
- return;
670
- }
671
- lanesToResume = [lane];
672
700
  }
673
701
 
674
702
  // Check for zombie lanes
package/src/cli/run.ts CHANGED
@@ -10,6 +10,7 @@ import { getLogsDir, loadConfig } from '../utils/config';
10
10
  import { runDoctor, getDoctorStatus } from '../utils/doctor';
11
11
  import { areCommandsInstalled, setupCommands } from './setup-commands';
12
12
  import { safeJoin } from '../utils/path';
13
+ import { findFlowDir } from '../utils/flow';
13
14
  import { loadState } from '../utils/state';
14
15
  import { LaneState } from '../types';
15
16
 
@@ -191,19 +192,40 @@ async function run(args: string[]): Promise<void> {
191
192
 
192
193
  const config = loadConfig();
193
194
  const logsDir = getLogsDir(config);
195
+ const originalCwd = process.cwd();
196
+
197
+ // Change current directory to project root for consistent path handling
198
+ if (config.projectRoot !== originalCwd) {
199
+ logger.debug(`Changing directory to project root: ${config.projectRoot}`);
200
+ process.chdir(config.projectRoot);
201
+ }
194
202
 
195
203
  // Resolve tasks dir:
196
- // - Prefer the exact path if it exists relative to cwd
197
- // - Otherwise, fall back to projectRoot-relative path for better ergonomics
198
- const tasksDir =
199
- path.isAbsolute(options.tasksDir)
200
- ? options.tasksDir
201
- : (fs.existsSync(options.tasksDir)
202
- ? path.resolve(process.cwd(), options.tasksDir) // nosemgrep
203
- : safeJoin(config.projectRoot, options.tasksDir));
204
+ // 1. Prefer the exact path if it exists relative to original cwd
205
+ // 2. Search in flowsDir by name
206
+ // 3. Fall back to projectRoot-relative tasksDir for backward compatibility
207
+ let tasksDir = '';
208
+ if (path.isAbsolute(options.tasksDir)) {
209
+ tasksDir = options.tasksDir;
210
+ } else {
211
+ const relPath = path.resolve(originalCwd, options.tasksDir);
212
+ if (fs.existsSync(relPath)) {
213
+ tasksDir = relPath;
214
+ } else {
215
+ // Try finding in flowsDir
216
+ const flowsDir = safeJoin(config.projectRoot, config.flowsDir);
217
+ const foundFlow = findFlowDir(flowsDir, options.tasksDir);
218
+ if (foundFlow) {
219
+ tasksDir = foundFlow;
220
+ } else {
221
+ // Fallback to legacy tasksDir
222
+ tasksDir = safeJoin(config.projectRoot, options.tasksDir);
223
+ }
224
+ }
225
+ }
204
226
 
205
227
  if (!fs.existsSync(tasksDir)) {
206
- throw new Error(`Tasks directory not found: ${tasksDir}`);
228
+ throw new Error(`Tasks or Flow directory not found: ${options.tasksDir} (resolved to: ${tasksDir})`);
207
229
  }
208
230
 
209
231
  // Check for existing incomplete run and auto-resume
package/src/cli/stop.ts CHANGED
@@ -86,7 +86,15 @@ async function stop(args: string[]): Promise<void> {
86
86
  return;
87
87
  }
88
88
 
89
+ const originalCwd = process.cwd();
89
90
  const config = loadConfig();
91
+
92
+ // Change current directory to project root for consistent path handling
93
+ if (config.projectRoot !== originalCwd) {
94
+ logger.debug(`Changing directory to project root: ${config.projectRoot}`);
95
+ process.chdir(config.projectRoot);
96
+ }
97
+
90
98
  const logsDir = getLogsDir(config);
91
99
  const runsDir = safeJoin(logsDir, 'runs');
92
100
  const runService = new RunService(runsDir);