create-claude-workspace 2.3.6 → 2.3.8

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.
@@ -147,9 +147,17 @@ function detectTaskMode(projectDir) {
147
147
  return 'local';
148
148
  try {
149
149
  const issues = fetchOpenIssues(projectDir, platform);
150
+ if (issues.length === 0)
151
+ return 'local';
152
+ // If remote has issues with status:: labels → platform mode
150
153
  const hasStatusLabels = issues.some(i => i.labels.some(l => l.startsWith('status::')));
151
154
  if (hasStatusLabels)
152
155
  return 'platform';
156
+ // If remote has issues but no local task files → platform mode
157
+ const todoPath = resolve(projectDir, '.claude/scheduler/tasks.json');
158
+ const todoMdPath = resolve(projectDir, 'TODO.md');
159
+ if (!existsSync(todoPath) && !existsSync(todoMdPath))
160
+ return 'platform';
153
161
  }
154
162
  catch { /* CLI not available or no issues */ }
155
163
  return 'local';
@@ -85,8 +85,30 @@ export async function runIteration(deps) {
85
85
  tasks = parseTodoMd(content);
86
86
  }
87
87
  else {
88
- logger.info('No tasks found (no tasks.json or TODO.md)');
89
- return false;
88
+ // No local files try falling back to remote issues
89
+ const platform = detectCIPlatform(projectDir);
90
+ if (platform !== 'none') {
91
+ try {
92
+ const issues = fetchOpenIssues(projectDir, platform);
93
+ if (issues.length > 0) {
94
+ logger.info(`No local tasks — switching to platform mode (${issues.length} remote issue(s))`);
95
+ state.taskMode = 'platform';
96
+ tasks = issues.map(i => issueToTask(i, state.currentPhase));
97
+ }
98
+ else {
99
+ logger.info('No tasks found (no tasks.json, TODO.md, or remote issues)');
100
+ return false;
101
+ }
102
+ }
103
+ catch {
104
+ logger.info('No tasks found (no tasks.json or TODO.md)');
105
+ return false;
106
+ }
107
+ }
108
+ else {
109
+ logger.info('No tasks found (no tasks.json or TODO.md)');
110
+ return false;
111
+ }
90
112
  }
91
113
  }
92
114
  // Reconcile task status with scheduler state (handles restart without --resume)
@@ -32,7 +32,7 @@ function fetchGitHubIssues(cwd) {
32
32
  }
33
33
  function fetchGitLabIssues(cwd) {
34
34
  try {
35
- const output = cli('glab issue list --output json --state opened --per-page 200', cwd);
35
+ const output = cli('glab issue list --output json --per-page 200', cwd);
36
36
  const issues = JSON.parse(output);
37
37
  return issues.map(i => ({
38
38
  issueNumber: i.iid,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-claude-workspace",
3
- "version": "2.3.6",
3
+ "version": "2.3.8",
4
4
  "author": "",
5
5
  "repository": {
6
6
  "type": "git",