multi-agents-cli 1.0.86 → 1.0.88

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.
@@ -1360,6 +1360,21 @@ ${excludedUrls}
1360
1360
  );
1361
1361
  console.log(` ${green('✓')} package.json proxy written`);
1362
1362
 
1363
+ // ── Write worktree .gitignore — block framework files from agent commits ────
1364
+ const worktreeGitignore = [
1365
+ '# Framework files — never commit these to the agent branch',
1366
+ 'package.json',
1367
+ '.claude-scope',
1368
+ 'scope.json',
1369
+ 'TASK.md',
1370
+ '.vscode/',
1371
+ '.idea/',
1372
+ '.zed/',
1373
+ 'node_modules/',
1374
+ ].join('\n') + '\n';
1375
+ fs.writeFileSync(path.join(worktreePath, '.gitignore'), worktreeGitignore, 'utf8');
1376
+ console.log(` ${green('✓')} .gitignore written (framework files excluded from agent commits)`);
1377
+
1363
1378
  // ── Write .tracking.json slot
1364
1379
 
1365
1380
  guards.updateTrackingSlot(tracking, project, agent, {
@@ -125,8 +125,16 @@ const updateTrackingSlot = (tracking, scope, agent, data, ROOT) => {
125
125
  const clearTrackingSlot = (tracking, scope, agent, ROOT) => {
126
126
  if (!tracking[scope] || !tracking[scope][agent]) return tracking;
127
127
 
128
- // Preserve missingCount across completes - reset to 0 only on successful complete
129
- tracking[scope][agent] = emptySlot();
128
+ // Mark as COMPLETED rather than wiping preserves history for display in restart/agent selectors
129
+ tracking[scope][agent] = {
130
+ branch: null,
131
+ timestamp: null,
132
+ launchedAt: null,
133
+ status: 'COMPLETED',
134
+ missingCount: 0,
135
+ worktreePath: null,
136
+ completedAt: new Date().toISOString(),
137
+ };
130
138
 
131
139
  const trackingPath = path.join(ROOT, '.scaffold', '.tracking.json');
132
140
  fs.writeFileSync(trackingPath, JSON.stringify(tracking, null, 2), 'utf8');
@@ -177,6 +177,8 @@ const main = async () => {
177
177
  ...candidates.map(c => ({
178
178
  label: c.status === 'AVAILABLE'
179
179
  ? `${dim(c.agent)} ${dim(`(${c.scope})`)} ${dim('not started')}`
180
+ : c.status === 'COMPLETED'
181
+ ? `${dim(c.agent)} ${dim(`(${c.scope})`)} ${green('✓ completed')}`
180
182
  : `${bold(c.agent)} ${dim(`(${c.scope})`)} ${dim(c.branch)} ${c.status === 'UNTRACKED' ? yellow('untracked') : dim(c.status)}`,
181
183
  })),
182
184
  { label: dim('← cancel') },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multi-agents-cli",
3
- "version": "1.0.86",
3
+ "version": "1.0.88",
4
4
  "description": "Multi-agent workflow orchestration for Claude Code — isolated git worktrees, structured state tracking, autonomous task chaining",
5
5
  "keywords": [
6
6
  "claude-code",