@brainfile/cli 0.11.2 → 0.12.1
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 +33 -0
- package/dist/cli.js +51 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/archive.d.ts +15 -2
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +351 -23
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/auth.d.ts +26 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +141 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config.d.ts +29 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +210 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/utils/auth-store.d.ts +69 -0
- package/dist/utils/auth-store.d.ts.map +1 -0
- package/dist/utils/auth-store.js +308 -0
- package/dist/utils/auth-store.js.map +1 -0
- package/dist/utils/config.d.ts +89 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +211 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/github-auth.d.ts +56 -0
- package/dist/utils/github-auth.d.ts.map +1 -0
- package/dist/utils/github-auth.js +341 -0
- package/dist/utils/github-auth.js.map +1 -0
- package/dist/utils/linear-auth.d.ts +59 -0
- package/dist/utils/linear-auth.d.ts.map +1 -0
- package/dist/utils/linear-auth.js +295 -0
- package/dist/utils/linear-auth.js.map +1 -0
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.12.1] - 2025-11-27
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **config command** - Manage CLI configuration
|
|
14
|
+
- `brainfile config list` - Show all config values
|
|
15
|
+
- `brainfile config get <key>` - Get a specific value
|
|
16
|
+
- `brainfile config set <key> <value>` - Set a value
|
|
17
|
+
- `brainfile config path` - Show config file path
|
|
18
|
+
- Configuration stored at `~/.config/brainfile/config.json`
|
|
19
|
+
|
|
20
|
+
## [0.12.0] - 2025-11-27
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- **External archive destinations** - Archive completed tasks to GitHub Issues or Linear
|
|
24
|
+
- `brainfile archive --task task-1 --to=github` - Create closed GitHub Issue
|
|
25
|
+
- `brainfile archive --task task-1 --to=linear` - Create completed Linear issue
|
|
26
|
+
- `brainfile archive --all --to=github` - Batch archive entire local archive
|
|
27
|
+
- `brainfile archive --dry-run` - Preview without creating
|
|
28
|
+
- Reads `archive.destination` from brainfile.md for project-level defaults
|
|
29
|
+
- Reads `~/.config/brainfile/config.json` for user-level defaults
|
|
30
|
+
- **auth command** - Authenticate with external services
|
|
31
|
+
- `brainfile auth github` - OAuth device flow (opens browser) or detects gh CLI
|
|
32
|
+
- `brainfile auth github --token <PAT>` - Manual Personal Access Token
|
|
33
|
+
- `brainfile auth linear --token <API_KEY>` - Linear API key authentication
|
|
34
|
+
- `brainfile auth status` - Show authentication status for all providers
|
|
35
|
+
- `brainfile auth logout [provider]` - Clear stored credentials
|
|
36
|
+
- `brainfile auth logout --all` - Clear all credentials
|
|
37
|
+
- Secure token storage in `~/.config/brainfile/auth.json`
|
|
38
|
+
- Automatic gh CLI detection (piggybacks on existing auth)
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- Upgraded to @brainfile/core@^0.9.0 with task formatter functions
|
|
42
|
+
|
|
10
43
|
## [0.11.1] - 2025-11-27
|
|
11
44
|
|
|
12
45
|
### Fixed
|
package/dist/cli.js
CHANGED
|
@@ -15,13 +15,15 @@ const patch_1 = require("./commands/patch");
|
|
|
15
15
|
const delete_1 = require("./commands/delete");
|
|
16
16
|
const archive_1 = require("./commands/archive");
|
|
17
17
|
const restore_1 = require("./commands/restore");
|
|
18
|
+
const auth_1 = require("./commands/auth");
|
|
18
19
|
const subtask_1 = require("./commands/subtask");
|
|
19
20
|
const mcp_1 = require("./commands/mcp");
|
|
20
21
|
const hooks_1 = require("./commands/hooks");
|
|
22
|
+
const config_1 = require("./commands/config");
|
|
21
23
|
// Read version from package.json
|
|
22
24
|
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
|
23
25
|
// Known subcommands to distinguish from file paths
|
|
24
|
-
const SUBCOMMANDS = ['init', 'list', 'add', 'move', 'patch', 'delete', 'archive', 'restore', 'subtask', 'template', 'lint', 'tui', 'hooks', 'mcp', 'help'];
|
|
26
|
+
const SUBCOMMANDS = ['init', 'list', 'add', 'move', 'patch', 'delete', 'archive', 'restore', 'subtask', 'template', 'lint', 'tui', 'hooks', 'mcp', 'auth', 'config', 'help'];
|
|
25
27
|
// Check if first arg looks like a file path (not a subcommand or flag)
|
|
26
28
|
function shouldLaunchTUI() {
|
|
27
29
|
const args = process.argv.slice(2);
|
|
@@ -112,9 +114,12 @@ else {
|
|
|
112
114
|
.action(delete_1.deleteCommand);
|
|
113
115
|
program
|
|
114
116
|
.command('archive')
|
|
115
|
-
.description('
|
|
117
|
+
.description('Archive a task (locally or to GitHub/Linear)')
|
|
116
118
|
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
117
|
-
.option('-t, --task <id>', 'Task ID to archive
|
|
119
|
+
.option('-t, --task <id>', 'Task ID to archive')
|
|
120
|
+
.option('--to <destination>', 'Archive destination: local, github, or linear')
|
|
121
|
+
.option('--all', 'Archive all tasks from local archive to external service')
|
|
122
|
+
.option('--dry-run', 'Preview what would be created without making changes')
|
|
118
123
|
.action(archive_1.archiveCommand);
|
|
119
124
|
program
|
|
120
125
|
.command('restore')
|
|
@@ -193,6 +198,49 @@ else {
|
|
|
193
198
|
.command('list [tool]')
|
|
194
199
|
.description('List installed brainfile hooks')
|
|
195
200
|
.action((tool) => (0, hooks_1.listCommand)({ tool }));
|
|
201
|
+
// Add auth command group
|
|
202
|
+
const authCommand = program
|
|
203
|
+
.command('auth')
|
|
204
|
+
.description('Manage authentication for external services (GitHub, Linear)');
|
|
205
|
+
authCommand
|
|
206
|
+
.command('github')
|
|
207
|
+
.description('Authenticate with GitHub')
|
|
208
|
+
.option('--token <token>', 'Personal Access Token (or use OAuth device flow)')
|
|
209
|
+
.action(auth_1.githubAuthCommand);
|
|
210
|
+
authCommand
|
|
211
|
+
.command('linear')
|
|
212
|
+
.description('Authenticate with Linear')
|
|
213
|
+
.option('--token <token>', 'Linear API key (required)')
|
|
214
|
+
.action(auth_1.linearAuthCommand);
|
|
215
|
+
authCommand
|
|
216
|
+
.command('status')
|
|
217
|
+
.description('Show authentication status for all providers')
|
|
218
|
+
.action(auth_1.authStatusCommand);
|
|
219
|
+
authCommand
|
|
220
|
+
.command('logout [provider]')
|
|
221
|
+
.description('Log out from a provider (github, linear, or --all)')
|
|
222
|
+
.option('--all', 'Log out from all providers')
|
|
223
|
+
.action(auth_1.authLogoutCommand);
|
|
224
|
+
// Add config command group
|
|
225
|
+
const configCmd = program
|
|
226
|
+
.command('config')
|
|
227
|
+
.description('Manage user configuration (~/.config/brainfile/config.json)');
|
|
228
|
+
configCmd
|
|
229
|
+
.command('list')
|
|
230
|
+
.description('Show all config values')
|
|
231
|
+
.action(() => (0, config_1.configCommand)('list', {}));
|
|
232
|
+
configCmd
|
|
233
|
+
.command('get <key>')
|
|
234
|
+
.description('Get a specific config value')
|
|
235
|
+
.action((key) => (0, config_1.configCommand)('get', { key }));
|
|
236
|
+
configCmd
|
|
237
|
+
.command('set <key> <value>')
|
|
238
|
+
.description('Set a config value')
|
|
239
|
+
.action((key, value) => (0, config_1.configCommand)('set', { key, value }));
|
|
240
|
+
configCmd
|
|
241
|
+
.command('path')
|
|
242
|
+
.description('Show config file path')
|
|
243
|
+
.action(() => (0, config_1.configCommand)('path', {}));
|
|
196
244
|
program
|
|
197
245
|
.command('mcp')
|
|
198
246
|
.description('Start MCP server for AI assistant integration')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,2BAA8C;AAC9C,+BAA4B;AAC5B,0CAA8C;AAC9C,wCAA4C;AAC5C,0CAA8C;AAC9C,kDAAsD;AACtD,0CAA8C;AAC9C,0CAA8C;AAC9C,wCAA4C;AAC5C,4CAAgD;AAChD,8CAAkD;AAClD,gDAAoD;AACpD,gDAAoD;AACpD,gDAAoD;AACpD,wCAA4C;AAC5C,4CAO0B;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Archive command for Brainfile CLI
|
|
3
|
+
*
|
|
4
|
+
* Supports archiving to:
|
|
5
|
+
* - local: Move to local archive section (default)
|
|
6
|
+
* - github: Create closed GitHub Issue
|
|
7
|
+
* - linear: Create completed Linear issue
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
1
11
|
interface ArchiveOptions {
|
|
2
12
|
file: string;
|
|
3
|
-
task
|
|
13
|
+
task?: string;
|
|
14
|
+
to?: 'local' | 'github' | 'linear';
|
|
15
|
+
all?: boolean;
|
|
16
|
+
dryRun?: boolean;
|
|
4
17
|
}
|
|
5
|
-
export declare function archiveCommand(options: ArchiveOptions): void
|
|
18
|
+
export declare function archiveCommand(options: ArchiveOptions): Promise<void>;
|
|
6
19
|
export {};
|
|
7
20
|
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/commands/archive.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Archive command for Brainfile CLI
|
|
4
|
+
*
|
|
5
|
+
* Supports archiving to:
|
|
6
|
+
* - local: Move to local archive section (default)
|
|
7
|
+
* - github: Create closed GitHub Issue
|
|
8
|
+
* - linear: Create completed Linear issue
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
2
12
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
13
|
if (k2 === undefined) k2 = k;
|
|
4
14
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -42,11 +52,17 @@ const path = __importStar(require("path"));
|
|
|
42
52
|
const core_1 = require("@brainfile/core");
|
|
43
53
|
const chalk_1 = __importDefault(require("chalk"));
|
|
44
54
|
const errorHandler_1 = require("../utils/errorHandler");
|
|
45
|
-
|
|
55
|
+
const config_1 = require("../utils/config");
|
|
56
|
+
const github_auth_1 = require("../utils/github-auth");
|
|
57
|
+
const linear_auth_1 = require("../utils/linear-auth");
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Main Command
|
|
60
|
+
// ============================================================================
|
|
61
|
+
async function archiveCommand(options) {
|
|
46
62
|
try {
|
|
47
|
-
// Validate
|
|
48
|
-
if (!options.task) {
|
|
49
|
-
(0, errorHandler_1.missingRequiredError)('--task', 'brainfile archive --task <task-id>');
|
|
63
|
+
// Validate: need either --task or --all
|
|
64
|
+
if (!options.task && !options.all) {
|
|
65
|
+
(0, errorHandler_1.missingRequiredError)('--task or --all', 'brainfile archive --task <task-id>');
|
|
50
66
|
}
|
|
51
67
|
// Resolve file path
|
|
52
68
|
const filePath = path.resolve(options.file);
|
|
@@ -61,31 +77,343 @@ function archiveCommand(options) {
|
|
|
61
77
|
(0, errorHandler_1.parseError)(result.error);
|
|
62
78
|
}
|
|
63
79
|
const board = result.board;
|
|
64
|
-
//
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
(0,
|
|
80
|
+
// Determine destination
|
|
81
|
+
const brainfileDestination = board.archive?.destination;
|
|
82
|
+
const destination = options.to ||
|
|
83
|
+
(0, config_1.getEffectiveArchiveDestination)(brainfileDestination);
|
|
84
|
+
// Validate destination auth if needed
|
|
85
|
+
if (destination === 'github' && !(await (0, github_auth_1.isGitHubAuthenticated)())) {
|
|
86
|
+
console.log(chalk_1.default.red('✗') + ' Not authenticated with GitHub.');
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log('Run: ' + chalk_1.default.cyan('brainfile auth github'));
|
|
89
|
+
process.exit(1);
|
|
68
90
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
91
|
+
if (destination === 'linear' && !(await (0, linear_auth_1.isLinearAuthenticated)())) {
|
|
92
|
+
console.log(chalk_1.default.red('✗') + ' Not authenticated with Linear.');
|
|
93
|
+
console.log('');
|
|
94
|
+
console.log('Run: ' + chalk_1.default.cyan('brainfile auth linear --token <api-key>'));
|
|
95
|
+
process.exit(1);
|
|
74
96
|
}
|
|
75
|
-
//
|
|
76
|
-
|
|
97
|
+
// Handle --all flag (archive all from local archive to external)
|
|
98
|
+
if (options.all) {
|
|
99
|
+
await archiveAllToExternal(filePath, board, destination, options.dryRun);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// Single task archive
|
|
103
|
+
if (options.task) {
|
|
104
|
+
await archiveSingleTask(filePath, board, options.task, destination, options.dryRun);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
(0, errorHandler_1.handleError)(error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// ============================================================================
|
|
112
|
+
// Single Task Archive
|
|
113
|
+
// ============================================================================
|
|
114
|
+
async function archiveSingleTask(filePath, board, taskId, destination, dryRun) {
|
|
115
|
+
// Find the task
|
|
116
|
+
const taskInfo = (0, core_1.findTaskById)(board, taskId);
|
|
117
|
+
if (!taskInfo) {
|
|
118
|
+
(0, errorHandler_1.taskNotFoundError)(taskId, board);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const { task, column } = taskInfo;
|
|
122
|
+
if (dryRun) {
|
|
123
|
+
console.log(chalk_1.default.yellow('DRY RUN') + ' - No changes will be made');
|
|
124
|
+
console.log('');
|
|
125
|
+
}
|
|
126
|
+
// Archive based on destination
|
|
127
|
+
if (destination === 'local') {
|
|
128
|
+
await archiveToLocal(filePath, board, task, column.id, column.title, dryRun);
|
|
129
|
+
}
|
|
130
|
+
else if (destination === 'github') {
|
|
131
|
+
await archiveToGitHub(filePath, board, task, column.id, column.title, dryRun);
|
|
132
|
+
}
|
|
133
|
+
else if (destination === 'linear') {
|
|
134
|
+
await archiveToLinear(filePath, board, task, column.id, column.title, dryRun);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// ============================================================================
|
|
138
|
+
// Local Archive
|
|
139
|
+
// ============================================================================
|
|
140
|
+
async function archiveToLocal(filePath, board, task, columnId, columnTitle, dryRun) {
|
|
141
|
+
if (dryRun) {
|
|
142
|
+
console.log(`Would archive task ${chalk_1.default.cyan(task.id)} to local archive`);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const archiveResult = (0, core_1.archiveTask)(board, columnId, task.id);
|
|
146
|
+
if (!archiveResult.success) {
|
|
147
|
+
(0, errorHandler_1.operationError)(archiveResult.error);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
// Write back
|
|
151
|
+
const updatedContent = core_1.Brainfile.serialize(archiveResult.board);
|
|
152
|
+
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
153
|
+
// Success message
|
|
154
|
+
console.log(chalk_1.default.green('✓') + ' Task archived locally');
|
|
155
|
+
console.log('');
|
|
156
|
+
console.log(chalk_1.default.gray(` Task: ${task.id} - ${task.title}`));
|
|
157
|
+
console.log(chalk_1.default.gray(` From: ${columnTitle}`));
|
|
158
|
+
console.log(chalk_1.default.gray(` To: Local Archive`));
|
|
159
|
+
console.log('');
|
|
160
|
+
console.log(chalk_1.default.gray('Use "brainfile restore" to restore this task.'));
|
|
161
|
+
}
|
|
162
|
+
// ============================================================================
|
|
163
|
+
// GitHub Archive
|
|
164
|
+
// ============================================================================
|
|
165
|
+
async function archiveToGitHub(filePath, board, task, columnId, columnTitle, dryRun) {
|
|
166
|
+
const config = (0, config_1.getArchiveConfig)();
|
|
167
|
+
const github = config.github;
|
|
168
|
+
if (!github?.owner || !github?.repo) {
|
|
169
|
+
console.log(chalk_1.default.red('✗') + ' GitHub owner/repo not configured.');
|
|
170
|
+
console.log('');
|
|
171
|
+
console.log('Set up GitHub config:');
|
|
172
|
+
console.log(chalk_1.default.cyan(' brainfile config set archive.github.owner <owner>'));
|
|
173
|
+
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
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
// Format task for GitHub
|
|
180
|
+
const payload = (0, core_1.formatTaskForGitHub)(task, {
|
|
181
|
+
includeMeta: true,
|
|
182
|
+
includeSubtasks: true,
|
|
183
|
+
includeRelatedFiles: true,
|
|
184
|
+
boardTitle: board.title,
|
|
185
|
+
fromColumn: columnTitle,
|
|
186
|
+
extraLabels: github.labels,
|
|
187
|
+
});
|
|
188
|
+
if (dryRun) {
|
|
189
|
+
console.log(`Would create GitHub Issue in ${chalk_1.default.cyan(`${github.owner}/${github.repo}`)}:`);
|
|
190
|
+
console.log('');
|
|
191
|
+
console.log(chalk_1.default.bold('Title:'), payload.title);
|
|
192
|
+
console.log(chalk_1.default.bold('Labels:'), payload.labels?.join(', ') || 'none');
|
|
193
|
+
console.log(chalk_1.default.bold('State:'), payload.state);
|
|
194
|
+
console.log('');
|
|
195
|
+
console.log(chalk_1.default.bold('Body:'));
|
|
196
|
+
console.log(chalk_1.default.gray(payload.body.substring(0, 500) + (payload.body.length > 500 ? '...' : '')));
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
console.log(`Creating GitHub Issue in ${chalk_1.default.cyan(`${github.owner}/${github.repo}`)}...`);
|
|
200
|
+
const result = await (0, github_auth_1.createGitHubIssue)({
|
|
201
|
+
owner: github.owner,
|
|
202
|
+
repo: github.repo,
|
|
203
|
+
title: payload.title,
|
|
204
|
+
body: payload.body,
|
|
205
|
+
labels: payload.labels,
|
|
206
|
+
state: payload.state,
|
|
207
|
+
});
|
|
208
|
+
if (!result.success) {
|
|
209
|
+
console.log(chalk_1.default.red('✗') + ` Failed to create issue: ${result.error}`);
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
// Remove task from board (delete, not archive locally)
|
|
213
|
+
const deleteResult = (0, core_1.deleteTask)(board, columnId, task.id);
|
|
214
|
+
if (deleteResult.success) {
|
|
215
|
+
const updatedContent = core_1.Brainfile.serialize(deleteResult.board);
|
|
77
216
|
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
78
|
-
|
|
79
|
-
|
|
217
|
+
}
|
|
218
|
+
// Success message
|
|
219
|
+
console.log('');
|
|
220
|
+
console.log(chalk_1.default.green('✓') + ` Created GitHub Issue #${result.issueNumber} (closed)`);
|
|
221
|
+
console.log('');
|
|
222
|
+
console.log(chalk_1.default.gray(` Task: ${task.id} - ${task.title}`));
|
|
223
|
+
console.log(chalk_1.default.gray(` From: ${columnTitle}`));
|
|
224
|
+
console.log(chalk_1.default.gray(` To: ${result.issueUrl}`));
|
|
225
|
+
console.log('');
|
|
226
|
+
console.log(`View: ${chalk_1.default.underline(result.issueUrl)}`);
|
|
227
|
+
}
|
|
228
|
+
// ============================================================================
|
|
229
|
+
// Linear Archive
|
|
230
|
+
// ============================================================================
|
|
231
|
+
async function archiveToLinear(filePath, board, task, columnId, columnTitle, dryRun) {
|
|
232
|
+
const config = (0, config_1.getArchiveConfig)();
|
|
233
|
+
let teamId = config.linear?.teamId;
|
|
234
|
+
// If no teamId configured, try to get it interactively
|
|
235
|
+
if (!teamId) {
|
|
236
|
+
const teams = await (0, linear_auth_1.getLinearTeams)();
|
|
237
|
+
if (teams.length === 0) {
|
|
238
|
+
console.log(chalk_1.default.red('✗') + ' No Linear teams found or not authenticated.');
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
if (teams.length === 1) {
|
|
242
|
+
teamId = teams[0].id;
|
|
243
|
+
console.log(chalk_1.default.gray(`Using team: ${teams[0].name}`));
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
console.log(chalk_1.default.red('✗') + ' Multiple Linear teams found. Please configure a default:');
|
|
247
|
+
console.log('');
|
|
248
|
+
console.log('Available teams:');
|
|
249
|
+
teams.forEach((t) => console.log(` ${t.key}: ${t.name} (${t.id})`));
|
|
250
|
+
console.log('');
|
|
251
|
+
console.log('Set the default team:');
|
|
252
|
+
console.log(chalk_1.default.cyan(` brainfile config set archive.linear.teamId <team-id>`));
|
|
253
|
+
process.exit(1);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// Format task for Linear
|
|
257
|
+
const payload = (0, core_1.formatTaskForLinear)(task, {
|
|
258
|
+
includeMeta: true,
|
|
259
|
+
includeSubtasks: true,
|
|
260
|
+
includeRelatedFiles: true,
|
|
261
|
+
boardTitle: board.title,
|
|
262
|
+
fromColumn: columnTitle,
|
|
263
|
+
stateName: 'Done',
|
|
264
|
+
});
|
|
265
|
+
if (dryRun) {
|
|
266
|
+
console.log(`Would create Linear Issue in team ${chalk_1.default.cyan(teamId)}:`);
|
|
80
267
|
console.log('');
|
|
81
|
-
console.log(chalk_1.default.
|
|
82
|
-
console.log(chalk_1.default.
|
|
83
|
-
console.log(chalk_1.default.
|
|
268
|
+
console.log(chalk_1.default.bold('Title:'), payload.title);
|
|
269
|
+
console.log(chalk_1.default.bold('Priority:'), payload.priority || 'none');
|
|
270
|
+
console.log(chalk_1.default.bold('Labels:'), payload.labelNames?.join(', ') || 'none');
|
|
271
|
+
console.log(chalk_1.default.bold('State:'), payload.stateName);
|
|
84
272
|
console.log('');
|
|
85
|
-
console.log(chalk_1.default.
|
|
273
|
+
console.log(chalk_1.default.bold('Description:'));
|
|
274
|
+
console.log(chalk_1.default.gray(payload.description.substring(0, 500) + (payload.description.length > 500 ? '...' : '')));
|
|
275
|
+
return;
|
|
86
276
|
}
|
|
87
|
-
|
|
88
|
-
|
|
277
|
+
console.log('Creating Linear Issue...');
|
|
278
|
+
const result = await (0, linear_auth_1.createLinearIssue)({
|
|
279
|
+
teamId,
|
|
280
|
+
title: payload.title,
|
|
281
|
+
description: payload.description,
|
|
282
|
+
priority: payload.priority,
|
|
283
|
+
labelNames: payload.labelNames,
|
|
284
|
+
stateName: payload.stateName,
|
|
285
|
+
});
|
|
286
|
+
if (!result.success) {
|
|
287
|
+
console.log(chalk_1.default.red('✗') + ` Failed to create issue: ${result.error}`);
|
|
288
|
+
process.exit(1);
|
|
289
|
+
}
|
|
290
|
+
// Remove task from board
|
|
291
|
+
const deleteResult = (0, core_1.deleteTask)(board, columnId, task.id);
|
|
292
|
+
if (deleteResult.success) {
|
|
293
|
+
const updatedContent = core_1.Brainfile.serialize(deleteResult.board);
|
|
294
|
+
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
295
|
+
}
|
|
296
|
+
// Success message
|
|
297
|
+
console.log('');
|
|
298
|
+
console.log(chalk_1.default.green('✓') + ` Created Linear Issue ${result.issueId} (Done)`);
|
|
299
|
+
console.log('');
|
|
300
|
+
console.log(chalk_1.default.gray(` Task: ${task.id} - ${task.title}`));
|
|
301
|
+
console.log(chalk_1.default.gray(` From: ${columnTitle}`));
|
|
302
|
+
console.log(chalk_1.default.gray(` To: ${result.issueUrl}`));
|
|
303
|
+
console.log('');
|
|
304
|
+
console.log(`View: ${chalk_1.default.underline(result.issueUrl)}`);
|
|
305
|
+
}
|
|
306
|
+
// ============================================================================
|
|
307
|
+
// Archive All (from local archive to external)
|
|
308
|
+
// ============================================================================
|
|
309
|
+
async function archiveAllToExternal(filePath, board, destination, dryRun) {
|
|
310
|
+
if (destination === 'local') {
|
|
311
|
+
console.log(chalk_1.default.yellow('Note:') + ' --all with --to=local has no effect (tasks are already archived)');
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
const archivedTasks = board.archive || [];
|
|
315
|
+
if (archivedTasks.length === 0) {
|
|
316
|
+
console.log('No tasks in local archive to export.');
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
console.log(`Found ${archivedTasks.length} task(s) in local archive.`);
|
|
320
|
+
console.log('');
|
|
321
|
+
if (dryRun) {
|
|
322
|
+
console.log(chalk_1.default.yellow('DRY RUN') + ' - No changes will be made');
|
|
323
|
+
console.log('');
|
|
324
|
+
for (const task of archivedTasks) {
|
|
325
|
+
console.log(` Would archive: ${task.id} - ${task.title}`);
|
|
326
|
+
}
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
let successCount = 0;
|
|
330
|
+
let failCount = 0;
|
|
331
|
+
let updatedBoard = board;
|
|
332
|
+
for (const task of archivedTasks) {
|
|
333
|
+
console.log(`Archiving ${task.id}...`);
|
|
334
|
+
try {
|
|
335
|
+
if (destination === 'github') {
|
|
336
|
+
const config = (0, config_1.getArchiveConfig)();
|
|
337
|
+
const github = config.github;
|
|
338
|
+
if (!github?.owner || !github?.repo) {
|
|
339
|
+
console.log(chalk_1.default.red('✗') + ' GitHub not configured');
|
|
340
|
+
failCount++;
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
const payload = (0, core_1.formatTaskForGitHub)(task, {
|
|
344
|
+
includeMeta: true,
|
|
345
|
+
boardTitle: board.title,
|
|
346
|
+
fromColumn: 'Archive',
|
|
347
|
+
});
|
|
348
|
+
const result = await (0, github_auth_1.createGitHubIssue)({
|
|
349
|
+
owner: github.owner,
|
|
350
|
+
repo: github.repo,
|
|
351
|
+
title: payload.title,
|
|
352
|
+
body: payload.body,
|
|
353
|
+
labels: payload.labels,
|
|
354
|
+
state: 'closed',
|
|
355
|
+
});
|
|
356
|
+
if (result.success) {
|
|
357
|
+
// Remove from archive
|
|
358
|
+
updatedBoard = {
|
|
359
|
+
...updatedBoard,
|
|
360
|
+
archive: updatedBoard.archive?.filter((t) => t.id !== task.id),
|
|
361
|
+
};
|
|
362
|
+
console.log(chalk_1.default.green(' ✓') + ` Created #${result.issueNumber}`);
|
|
363
|
+
successCount++;
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
console.log(chalk_1.default.red(' ✗') + ` Failed: ${result.error}`);
|
|
367
|
+
failCount++;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
else if (destination === 'linear') {
|
|
371
|
+
const config = (0, config_1.getArchiveConfig)();
|
|
372
|
+
const teamId = config.linear?.teamId;
|
|
373
|
+
if (!teamId) {
|
|
374
|
+
console.log(chalk_1.default.red('✗') + ' Linear teamId not configured');
|
|
375
|
+
failCount++;
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
const payload = (0, core_1.formatTaskForLinear)(task, {
|
|
379
|
+
includeMeta: true,
|
|
380
|
+
boardTitle: board.title,
|
|
381
|
+
fromColumn: 'Archive',
|
|
382
|
+
stateName: 'Done',
|
|
383
|
+
});
|
|
384
|
+
const result = await (0, linear_auth_1.createLinearIssue)({
|
|
385
|
+
teamId,
|
|
386
|
+
title: payload.title,
|
|
387
|
+
description: payload.description,
|
|
388
|
+
priority: payload.priority,
|
|
389
|
+
stateName: 'Done',
|
|
390
|
+
});
|
|
391
|
+
if (result.success) {
|
|
392
|
+
// Remove from archive
|
|
393
|
+
updatedBoard = {
|
|
394
|
+
...updatedBoard,
|
|
395
|
+
archive: updatedBoard.archive?.filter((t) => t.id !== task.id),
|
|
396
|
+
};
|
|
397
|
+
console.log(chalk_1.default.green(' ✓') + ` Created ${result.issueId}`);
|
|
398
|
+
successCount++;
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
console.log(chalk_1.default.red(' ✗') + ` Failed: ${result.error}`);
|
|
402
|
+
failCount++;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
catch (error) {
|
|
407
|
+
console.log(chalk_1.default.red(' ✗') + ` Error: ${error}`);
|
|
408
|
+
failCount++;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
// Write updated board
|
|
412
|
+
if (successCount > 0) {
|
|
413
|
+
const updatedContent = core_1.Brainfile.serialize(updatedBoard);
|
|
414
|
+
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
89
415
|
}
|
|
416
|
+
console.log('');
|
|
417
|
+
console.log(`Done: ${chalk_1.default.green(successCount + ' succeeded')}, ${chalk_1.default.red(failCount + ' failed')}`);
|
|
90
418
|
}
|
|
91
419
|
//# sourceMappingURL=archive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,wCAwDC;AA1ED,uCAAyB;AACzB,2CAA6B;AAC7B,0CAAuE;AACvE,kDAA0B;AAC1B,wDAO+B;AAO/B,SAAgB,cAAc,CAAC,OAAuB;IACpD,IAAI,CAAC;QACH,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,IAAA,mCAAoB,EAAC,QAAQ,EAAE,oCAAoC,CAAC,CAAC;QACvE,CAAC;QAED,oBAAoB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5C,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,gBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,IAAA,yBAAU,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAA,gCAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAElC,oCAAoC;QACpC,MAAM,aAAa,GAAG,IAAA,kBAAW,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAA,6BAAc,EAAC,aAAa,CAAC,KAAM,CAAC,CAAC;QACvC,CAAC;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAAG,gBAAS,CAAC,SAAS,CAAC,aAAa,CAAC,KAAM,CAAC,CAAC;QACjE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAEpD,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAE3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication commands for Brainfile CLI
|
|
3
|
+
*
|
|
4
|
+
* Commands:
|
|
5
|
+
* - brainfile auth github [--token <token>]
|
|
6
|
+
* - brainfile auth linear --token <token>
|
|
7
|
+
* - brainfile auth status
|
|
8
|
+
* - brainfile auth logout <provider>
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
interface GitHubAuthOptions {
|
|
13
|
+
token?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function githubAuthCommand(options: GitHubAuthOptions): Promise<void>;
|
|
16
|
+
interface LinearAuthOptions {
|
|
17
|
+
token?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function linearAuthCommand(options: LinearAuthOptions): Promise<void>;
|
|
20
|
+
export declare function authStatusCommand(): Promise<void>;
|
|
21
|
+
interface LogoutOptions {
|
|
22
|
+
all?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function authLogoutCommand(provider?: string, options?: LogoutOptions): Promise<void>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=auth.d.ts.map
|