@brainfile/cli 0.12.3 → 0.12.4

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.12.4] - 2025-11-28
11
+
12
+ ### Fixed
13
+ - **Archive file separation** - CLI now correctly uses separate `brainfile-archive.md` file
14
+ - Archive command writes to separate file, not inline `archive: []` array
15
+ - Restore command reads from separate archive file
16
+ - `--all` flag reads from `brainfile-archive.md` for bulk export
17
+ - MCP tools (archive_task, restore_task, bulk_archive_tasks) use separate file
18
+
19
+ ### Added
20
+ - **Extended destination format** - Inline archive destination in brainfile.md
21
+ - `archive.destination: github:owner/repo` - specify GitHub repo directly
22
+ - `archive.destination: linear:TEAM_KEY` - specify Linear team by key
23
+ - Falls back to global config if target not specified
24
+ - **TUI external archive** - Shift+A now supports GitHub/Linear destinations
25
+ - Respects `archive.destination` from brainfile.md or global config
26
+ - Shows "Archiving..." status during async operation
27
+ - Displays result (e.g., "Archived to GitHub #123")
28
+ - **Shared archive utilities** - New `cli/src/utils/archive.ts` module
29
+ - `archiveTaskToFile()` - archive to separate file
30
+ - `loadArchivedTasks()` - read from archive file
31
+ - `restoreFromArchive()` - restore task to main file
32
+ - `removeFromArchive()` - remove after external export
33
+
10
34
  ## [0.12.3] - 2025-11-28
11
35
 
12
36
  ### Improved
@@ -1 +1 @@
1
- {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+BH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAQD,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,iBA0D3D"}
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAyCH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAQD,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,iBAmE3D"}
@@ -55,6 +55,7 @@ const errorHandler_1 = require("../utils/errorHandler");
55
55
  const config_1 = require("../utils/config");
56
56
  const github_auth_1 = require("../utils/github-auth");
57
57
  const linear_auth_1 = require("../utils/linear-auth");
58
+ const archive_1 = require("../utils/archive");
58
59
  // ============================================================================
59
60
  // Main Command
60
61
  // ============================================================================
@@ -77,10 +78,18 @@ async function archiveCommand(options) {
77
78
  (0, errorHandler_1.parseError)(result.error);
78
79
  }
79
80
  const board = result.board;
80
- // Determine destination
81
+ // Determine destination (supports extended format like github:owner/repo)
81
82
  const brainfileDestination = board.archive?.destination;
82
- const destination = options.to ||
83
- (0, config_1.getEffectiveArchiveDestination)(brainfileDestination);
83
+ let parsedDest;
84
+ if (options.to) {
85
+ // CLI flag takes precedence (simple format only)
86
+ parsedDest = { type: options.to };
87
+ }
88
+ else {
89
+ // Parse from brainfile or config (may have extended format)
90
+ parsedDest = (0, config_1.getEffectiveDestination)(brainfileDestination);
91
+ }
92
+ const destination = parsedDest.type;
84
93
  // Validate destination auth if needed
85
94
  if (destination === 'github' && !(await (0, github_auth_1.isGitHubAuthenticated)())) {
86
95
  console.log(chalk_1.default.red('✗') + ' Not authenticated with GitHub.');
@@ -101,7 +110,7 @@ async function archiveCommand(options) {
101
110
  }
102
111
  // Single task archive
103
112
  if (options.task) {
104
- await archiveSingleTask(filePath, board, options.task, destination, options.dryRun);
113
+ await archiveSingleTask(filePath, board, options.task, destination, options.dryRun, parsedDest);
105
114
  }
106
115
  }
107
116
  catch (error) {
@@ -111,7 +120,7 @@ async function archiveCommand(options) {
111
120
  // ============================================================================
112
121
  // Single Task Archive
113
122
  // ============================================================================
114
- async function archiveSingleTask(filePath, board, taskId, destination, dryRun) {
123
+ async function archiveSingleTask(filePath, board, taskId, destination, dryRun, parsedDest) {
115
124
  // Find the task
116
125
  const taskInfo = (0, core_1.findTaskById)(board, taskId);
117
126
  if (!taskInfo) {
@@ -128,52 +137,54 @@ async function archiveSingleTask(filePath, board, taskId, destination, dryRun) {
128
137
  await archiveToLocal(filePath, board, task, column.id, column.title, dryRun);
129
138
  }
130
139
  else if (destination === 'github') {
131
- await archiveToGitHub(filePath, board, task, column.id, column.title, dryRun);
140
+ await archiveToGitHub(filePath, board, task, column.id, column.title, dryRun, parsedDest);
132
141
  }
133
142
  else if (destination === 'linear') {
134
- await archiveToLinear(filePath, board, task, column.id, column.title, dryRun);
143
+ await archiveToLinear(filePath, board, task, column.id, column.title, dryRun, parsedDest);
135
144
  }
136
145
  }
137
146
  // ============================================================================
138
147
  // Local Archive
139
148
  // ============================================================================
140
149
  async function archiveToLocal(filePath, board, task, columnId, columnTitle, dryRun) {
150
+ const archivePath = (0, archive_1.getArchivePath)(filePath);
141
151
  if (dryRun) {
142
- console.log(`Would archive task ${chalk_1.default.cyan(task.id)} to local archive`);
152
+ console.log(`Would archive task ${chalk_1.default.cyan(task.id)} to ${chalk_1.default.cyan(path.basename(archivePath))}`);
143
153
  return;
144
154
  }
145
- const archiveResult = (0, core_1.archiveTask)(board, columnId, task.id);
155
+ const archiveResult = (0, archive_1.archiveTaskToFile)(filePath, board, columnId, task.id);
146
156
  if (!archiveResult.success) {
147
157
  (0, errorHandler_1.operationError)(archiveResult.error);
148
158
  return;
149
159
  }
150
- // Write back
151
- const updatedContent = core_1.Brainfile.serialize(archiveResult.board);
152
- fs.writeFileSync(filePath, updatedContent, 'utf-8');
153
160
  // Success message
154
161
  console.log(chalk_1.default.green('✓') + ' Task archived locally');
155
162
  console.log('');
156
163
  console.log(chalk_1.default.gray(` Task: ${task.id} - ${task.title}`));
157
164
  console.log(chalk_1.default.gray(` From: ${columnTitle}`));
158
- console.log(chalk_1.default.gray(` To: Local Archive`));
165
+ console.log(chalk_1.default.gray(` To: ${path.basename(archivePath)}`));
159
166
  console.log('');
160
167
  console.log(chalk_1.default.gray('Use "brainfile restore" to restore this task.'));
161
168
  }
162
169
  // ============================================================================
163
170
  // GitHub Archive
164
171
  // ============================================================================
165
- async function archiveToGitHub(filePath, board, task, columnId, columnTitle, dryRun) {
172
+ async function archiveToGitHub(filePath, board, task, columnId, columnTitle, dryRun, parsedDest) {
166
173
  const config = (0, config_1.getArchiveConfig)();
167
- const github = config.github;
168
- if (!github?.owner || !github?.repo) {
174
+ // Use parsed destination if available, otherwise fall back to config
175
+ const owner = parsedDest?.owner || config.github?.owner;
176
+ const repo = parsedDest?.repo || config.github?.repo;
177
+ const labels = config.github?.labels;
178
+ if (!owner || !repo) {
169
179
  console.log(chalk_1.default.red('✗') + ' GitHub owner/repo not configured.');
170
180
  console.log('');
171
- console.log('Set up GitHub config:');
181
+ console.log('Set in brainfile.md:');
182
+ console.log(chalk_1.default.cyan(' archive:'));
183
+ console.log(chalk_1.default.cyan(' destination: github:owner/repo'));
184
+ console.log('');
185
+ console.log('Or set up global config:');
172
186
  console.log(chalk_1.default.cyan(' brainfile config set archive.github.owner <owner>'));
173
187
  console.log(chalk_1.default.cyan(' brainfile config set archive.github.repo <repo>'));
174
- console.log('');
175
- console.log('Or add to ~/.config/brainfile/config.json:');
176
- console.log(chalk_1.default.gray(JSON.stringify({ archive: { github: { owner: 'myorg', repo: 'myrepo' } } }, null, 2)));
177
188
  process.exit(1);
178
189
  }
179
190
  // Format task for GitHub
@@ -183,10 +194,10 @@ async function archiveToGitHub(filePath, board, task, columnId, columnTitle, dry
183
194
  includeRelatedFiles: true,
184
195
  boardTitle: board.title,
185
196
  fromColumn: columnTitle,
186
- extraLabels: github.labels,
197
+ extraLabels: labels,
187
198
  });
188
199
  if (dryRun) {
189
- console.log(`Would create GitHub Issue in ${chalk_1.default.cyan(`${github.owner}/${github.repo}`)}:`);
200
+ console.log(`Would create GitHub Issue in ${chalk_1.default.cyan(`${owner}/${repo}`)}:`);
190
201
  console.log('');
191
202
  console.log(chalk_1.default.bold('Title:'), payload.title);
192
203
  console.log(chalk_1.default.bold('Labels:'), payload.labels?.join(', ') || 'none');
@@ -196,10 +207,10 @@ async function archiveToGitHub(filePath, board, task, columnId, columnTitle, dry
196
207
  console.log(chalk_1.default.gray(payload.body.substring(0, 500) + (payload.body.length > 500 ? '...' : '')));
197
208
  return;
198
209
  }
199
- console.log(`Creating GitHub Issue in ${chalk_1.default.cyan(`${github.owner}/${github.repo}`)}...`);
210
+ console.log(`Creating GitHub Issue in ${chalk_1.default.cyan(`${owner}/${repo}`)}...`);
200
211
  const result = await (0, github_auth_1.createGitHubIssue)({
201
- owner: github.owner,
202
- repo: github.repo,
212
+ owner,
213
+ repo,
203
214
  title: payload.title,
204
215
  body: payload.body,
205
216
  labels: payload.labels,
@@ -228,9 +239,24 @@ async function archiveToGitHub(filePath, board, task, columnId, columnTitle, dry
228
239
  // ============================================================================
229
240
  // Linear Archive
230
241
  // ============================================================================
231
- async function archiveToLinear(filePath, board, task, columnId, columnTitle, dryRun) {
242
+ async function archiveToLinear(filePath, board, task, columnId, columnTitle, dryRun, parsedDest) {
232
243
  const config = (0, config_1.getArchiveConfig)();
233
244
  let teamId = config.linear?.teamId;
245
+ // If teamKey is provided in destination, resolve it to teamId
246
+ if (parsedDest?.teamKey) {
247
+ const teams = await (0, linear_auth_1.getLinearTeams)();
248
+ const matchingTeam = teams.find((t) => t.key.toLowerCase() === parsedDest.teamKey.toLowerCase());
249
+ if (matchingTeam) {
250
+ teamId = matchingTeam.id;
251
+ }
252
+ else {
253
+ console.log(chalk_1.default.red('✗') + ` Linear team "${parsedDest.teamKey}" not found.`);
254
+ console.log('');
255
+ console.log('Available teams:');
256
+ teams.forEach((t) => console.log(` ${t.key}: ${t.name}`));
257
+ process.exit(1);
258
+ }
259
+ }
234
260
  // If no teamId configured, try to get it interactively
235
261
  if (!teamId) {
236
262
  const teams = await (0, linear_auth_1.getLinearTeams)();
@@ -245,10 +271,14 @@ async function archiveToLinear(filePath, board, task, columnId, columnTitle, dry
245
271
  else {
246
272
  console.log(chalk_1.default.red('✗') + ' Multiple Linear teams found. Please configure a default:');
247
273
  console.log('');
274
+ console.log('Set in brainfile.md:');
275
+ console.log(chalk_1.default.cyan(' archive:'));
276
+ console.log(chalk_1.default.cyan(' destination: linear:TEAM_KEY'));
277
+ console.log('');
248
278
  console.log('Available teams:');
249
- teams.forEach((t) => console.log(` ${t.key}: ${t.name} (${t.id})`));
279
+ teams.forEach((t) => console.log(` ${t.key}: ${t.name}`));
250
280
  console.log('');
251
- console.log('Set the default team:');
281
+ console.log('Or set the default team:');
252
282
  console.log(chalk_1.default.cyan(` brainfile config set archive.linear.teamId <team-id>`));
253
283
  process.exit(1);
254
284
  }
@@ -311,12 +341,17 @@ async function archiveAllToExternal(filePath, board, destination, dryRun) {
311
341
  console.log(chalk_1.default.yellow('Note:') + ' --all with --to=local has no effect (tasks are already archived)');
312
342
  return;
313
343
  }
314
- const archivedTasks = board.archive || [];
344
+ // Load archived tasks from the separate archive file
345
+ const { tasks: archivedTasks, archivePath, error } = (0, archive_1.loadArchivedTasks)(filePath);
346
+ if (error) {
347
+ console.log(chalk_1.default.red('✗') + ` ${error}`);
348
+ return;
349
+ }
315
350
  if (archivedTasks.length === 0) {
316
- console.log('No tasks in local archive to export.');
351
+ console.log(`No tasks in local archive (${path.basename(archivePath)}) to export.`);
317
352
  return;
318
353
  }
319
- console.log(`Found ${archivedTasks.length} task(s) in local archive.`);
354
+ console.log(`Found ${archivedTasks.length} task(s) in ${path.basename(archivePath)}.`);
320
355
  console.log('');
321
356
  if (dryRun) {
322
357
  console.log(chalk_1.default.yellow('DRY RUN') + ' - No changes will be made');
@@ -328,7 +363,6 @@ async function archiveAllToExternal(filePath, board, destination, dryRun) {
328
363
  }
329
364
  let successCount = 0;
330
365
  let failCount = 0;
331
- let updatedBoard = board;
332
366
  for (const task of archivedTasks) {
333
367
  console.log(`Archiving ${task.id}...`);
334
368
  try {
@@ -354,11 +388,8 @@ async function archiveAllToExternal(filePath, board, destination, dryRun) {
354
388
  state: 'closed',
355
389
  });
356
390
  if (result.success) {
357
- // Remove from archive
358
- updatedBoard = {
359
- ...updatedBoard,
360
- archive: updatedBoard.archive?.filter((t) => t.id !== task.id),
361
- };
391
+ // Remove from archive file
392
+ (0, archive_1.removeFromArchive)(filePath, task.id);
362
393
  console.log(chalk_1.default.green(' ✓') + ` Created #${result.issueNumber}`);
363
394
  successCount++;
364
395
  }
@@ -389,11 +420,8 @@ async function archiveAllToExternal(filePath, board, destination, dryRun) {
389
420
  stateName: 'Done',
390
421
  });
391
422
  if (result.success) {
392
- // Remove from archive
393
- updatedBoard = {
394
- ...updatedBoard,
395
- archive: updatedBoard.archive?.filter((t) => t.id !== task.id),
396
- };
423
+ // Remove from archive file
424
+ (0, archive_1.removeFromArchive)(filePath, task.id);
397
425
  console.log(chalk_1.default.green(' ✓') + ` Created ${result.issueId}`);
398
426
  successCount++;
399
427
  }
@@ -408,11 +436,6 @@ async function archiveAllToExternal(filePath, board, destination, dryRun) {
408
436
  failCount++;
409
437
  }
410
438
  }
411
- // Write updated board
412
- if (successCount > 0) {
413
- const updatedContent = core_1.Brainfile.serialize(updatedBoard);
414
- fs.writeFileSync(filePath, updatedContent, 'utf-8');
415
- }
416
439
  console.log('');
417
440
  console.log(`Done: ${chalk_1.default.green(successCount + ' succeeded')}, ${chalk_1.default.red(failCount + ' failed')}`);
418
441
  }
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAuCA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAiDD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBAspCnD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AA2CA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAiDD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBAirCnD"}
@@ -45,6 +45,7 @@ const config_1 = require("../utils/config");
45
45
  const github_auth_1 = require("../utils/github-auth");
46
46
  const linear_auth_1 = require("../utils/linear-auth");
47
47
  const core_2 = require("@brainfile/core");
48
+ const archive_1 = require("../utils/archive");
48
49
  function resolveBrainfile(filePath) {
49
50
  return path.resolve(filePath);
50
51
  }
@@ -498,15 +499,15 @@ async function mcpCommand(options) {
498
499
  // Determine effective destination
499
500
  const brainfileDestination = board.archive?.destination;
500
501
  const effectiveDestination = destination || (0, config_1.getEffectiveArchiveDestination)(brainfileDestination);
501
- // Handle local archive
502
+ // Handle local archive (to separate brainfile-archive.md file)
502
503
  if (effectiveDestination === 'local') {
503
- const archiveResult = (0, core_1.archiveTask)(board, taskInfo.column.id, task);
504
+ const archiveResult = (0, archive_1.archiveTaskToFile)(filePath, board, taskInfo.column.id, task);
504
505
  if (!archiveResult.success) {
505
506
  return { content: [{ type: 'text', text: `Error: ${archiveResult.error}` }], isError: true };
506
507
  }
507
- writeBoard(filePath, archiveResult.board);
508
+ const archivePath = (0, archive_1.getArchivePath)(filePath);
508
509
  return {
509
- content: [{ type: 'text', text: `Task ${task} archived locally` }]
510
+ content: [{ type: 'text', text: `Task ${task} archived to ${path.basename(archivePath)}` }]
510
511
  };
511
512
  }
512
513
  // Handle GitHub archive
@@ -671,11 +672,19 @@ async function mcpCommand(options) {
671
672
  if (!targetColumn) {
672
673
  return { content: [{ type: 'text', text: `Error: Column not found: ${column}` }], isError: true };
673
674
  }
674
- const restoreResult = (0, core_1.restoreTask)(board, task, targetColumn.id);
675
+ // Restore from separate archive file
676
+ const restoreResult = (0, archive_1.restoreFromArchive)(filePath, task, targetColumn.id);
675
677
  if (!restoreResult.success) {
678
+ // Provide helpful error if archive is empty
679
+ const { tasks } = (0, archive_1.loadArchivedTasks)(filePath);
680
+ if (tasks.length === 0) {
681
+ return {
682
+ content: [{ type: 'text', text: `Error: Archive is empty (${path.basename((0, archive_1.getArchivePath)(filePath))})` }],
683
+ isError: true
684
+ };
685
+ }
676
686
  return { content: [{ type: 'text', text: `Error: ${restoreResult.error}` }], isError: true };
677
687
  }
678
- writeBoard(filePath, restoreResult.board);
679
688
  return {
680
689
  content: [{ type: 'text', text: `Task ${task} restored to "${targetColumn.title}"` }]
681
690
  };
@@ -984,31 +993,51 @@ async function mcpCommand(options) {
984
993
  // Bulk archive tasks tool
985
994
  server.registerTool('bulk_archive_tasks', {
986
995
  title: 'Bulk Archive Tasks',
987
- description: 'Archive multiple tasks in a single operation',
996
+ description: 'Archive multiple tasks to the separate archive file',
988
997
  inputSchema: {
989
998
  file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
990
999
  tasks: zod_1.z.array(zod_1.z.string()).describe('Array of task IDs to archive')
991
1000
  }
992
1001
  }, async ({ file, tasks }) => {
993
1002
  const filePath = file || defaultFile;
994
- const result = readBoard(filePath);
995
- if ('error' in result) {
996
- return { content: [{ type: 'text', text: `Error: ${result.error}` }], isError: true };
997
- }
998
- let { board } = result;
999
- const bulkResult = (0, core_1.archiveTasks)(board, tasks);
1000
- if (bulkResult.board) {
1001
- writeBoard(filePath, bulkResult.board);
1003
+ const results = [];
1004
+ let successCount = 0;
1005
+ let failureCount = 0;
1006
+ // Archive each task individually (need to re-read board after each archive)
1007
+ for (const taskId of tasks) {
1008
+ const boardResult = readBoard(filePath);
1009
+ if ('error' in boardResult) {
1010
+ results.push({ taskId, success: false, error: boardResult.error });
1011
+ failureCount++;
1012
+ continue;
1013
+ }
1014
+ const { board } = boardResult;
1015
+ const taskInfo = (0, core_1.findTaskById)(board, taskId);
1016
+ if (!taskInfo) {
1017
+ results.push({ taskId, success: false, error: 'Task not found' });
1018
+ failureCount++;
1019
+ continue;
1020
+ }
1021
+ const archiveResult = (0, archive_1.archiveTaskToFile)(filePath, board, taskInfo.column.id, taskId);
1022
+ if (archiveResult.success) {
1023
+ results.push({ taskId, success: true });
1024
+ successCount++;
1025
+ }
1026
+ else {
1027
+ results.push({ taskId, success: false, error: archiveResult.error });
1028
+ failureCount++;
1029
+ }
1002
1030
  }
1003
1031
  const output = {
1004
- success: bulkResult.success,
1005
- successCount: bulkResult.successCount,
1006
- failureCount: bulkResult.failureCount,
1007
- results: bulkResult.results
1032
+ success: failureCount === 0,
1033
+ successCount,
1034
+ failureCount,
1035
+ results,
1036
+ archiveFile: path.basename((0, archive_1.getArchivePath)(filePath))
1008
1037
  };
1009
1038
  return {
1010
1039
  content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
1011
- isError: !bulkResult.success
1040
+ isError: failureCount > 0 && successCount === 0
1012
1041
  };
1013
1042
  });
1014
1043
  // Connect via stdio