@brainfile/cli 0.4.2 → 0.5.0
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 +35 -0
- package/README.md +40 -10
- package/brainfile.md +25 -0
- package/dist/cli.js +125 -84
- package/dist/cli.js.map +1 -1
- package/dist/commands/tui.d.ts +6 -0
- package/dist/commands/tui.d.ts.map +1 -0
- package/dist/commands/tui.js +736 -0
- package/dist/commands/tui.js.map +1 -0
- package/dist/utils/hook-settings.d.ts.map +1 -1
- package/dist/utils/hook-settings.js +11 -2
- package/dist/utils/hook-settings.js.map +1 -1
- package/package.json +7 -3
- package/CLINE_INTEGRATION.md +0 -188
package/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
19
19
|
|
|
20
20
|
### Security
|
|
21
21
|
|
|
22
|
+
## [0.5.0] - 2025-11-22
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- **Terminal UI (TUI)** - Interactive split-terminal friendly task board
|
|
26
|
+
- `brainfile` or `brainfile tui` launches the TUI
|
|
27
|
+
- `brainfile <file>` opens TUI with a specific brainfile
|
|
28
|
+
- Real-time file watching with auto-refresh on changes
|
|
29
|
+
- Column navigation with TAB key
|
|
30
|
+
- Task navigation with j/k or arrow keys
|
|
31
|
+
- Expand/collapse task details with Enter
|
|
32
|
+
- Search/filter with `/` key
|
|
33
|
+
- Help overlay with `?` key
|
|
34
|
+
- Progress bar showing completion percentage
|
|
35
|
+
- Column ordering by `order` property (matches VSCode extension)
|
|
36
|
+
- True black dark mode color scheme
|
|
37
|
+
- Inverse selection highlighting for clarity
|
|
38
|
+
- Responsive layout that adapts to terminal size
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- Updated @brainfile/core to ^0.4.1 for column ordering support
|
|
42
|
+
|
|
43
|
+
### Dependencies
|
|
44
|
+
- Added ink ^3.2.0 for React-based terminal UI
|
|
45
|
+
- Added chokidar ^4.0.3 for file watching
|
|
46
|
+
- Added react ^17.0.2 for ink compatibility
|
|
47
|
+
|
|
48
|
+
## [0.4.3] - 2025-11-21
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
- **Cline Hooks Hanging Issue** - Fixed hook scripts hanging on startup
|
|
52
|
+
- Added 2-second timeout to stdin read using `read -t 2`
|
|
53
|
+
- Hooks now gracefully handle missing stdin data by using empty JSON object
|
|
54
|
+
- Prevents indefinite blocking when Cline doesn't provide stdin properly
|
|
55
|
+
- All three hooks (PostToolUse, UserPromptSubmit, TaskStart) updated
|
|
56
|
+
|
|
22
57
|
## [0.4.2] - 2025-11-21
|
|
23
58
|
|
|
24
59
|
### Added
|
package/README.md
CHANGED
|
@@ -55,23 +55,52 @@ npx @brainfile/cli add --title "New task"
|
|
|
55
55
|
|
|
56
56
|
2. **Create a brainfile.md** in your project (or use an existing one)
|
|
57
57
|
|
|
58
|
-
3. **
|
|
58
|
+
3. **Launch the TUI:**
|
|
59
59
|
```bash
|
|
60
|
-
brainfile
|
|
60
|
+
brainfile
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
4. **
|
|
63
|
+
4. **Or use CLI commands:**
|
|
64
64
|
```bash
|
|
65
|
-
brainfile
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
5. **Move a task:**
|
|
69
|
-
```bash
|
|
70
|
-
brainfile move --task task-123 --column done
|
|
65
|
+
brainfile list # List tasks
|
|
66
|
+
brainfile add --title "My first task" # Add a task
|
|
67
|
+
brainfile move --task task-123 --column done # Move a task
|
|
71
68
|
```
|
|
72
69
|
|
|
73
70
|
## Usage
|
|
74
71
|
|
|
72
|
+
### Terminal UI (TUI)
|
|
73
|
+
|
|
74
|
+
Launch an interactive task board in your terminal:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Open TUI with default brainfile.md
|
|
78
|
+
brainfile
|
|
79
|
+
|
|
80
|
+
# Open TUI with a specific file
|
|
81
|
+
brainfile ./project/brainfile.md
|
|
82
|
+
|
|
83
|
+
# Or use the explicit command
|
|
84
|
+
brainfile tui --file brainfile.md
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Keyboard Controls:**
|
|
88
|
+
- `TAB` / `Shift+TAB` - Navigate between columns
|
|
89
|
+
- `j` / `k` or `↑` / `↓` - Navigate tasks
|
|
90
|
+
- `Enter` - Expand/collapse task details
|
|
91
|
+
- `/` - Search/filter tasks
|
|
92
|
+
- `?` - Show help overlay
|
|
93
|
+
- `r` - Refresh from file
|
|
94
|
+
- `q` or `Ctrl+C` - Exit
|
|
95
|
+
|
|
96
|
+
**Features:**
|
|
97
|
+
- Real-time file watching with auto-refresh
|
|
98
|
+
- Progress bar showing completion percentage
|
|
99
|
+
- Column ordering by `order` property
|
|
100
|
+
- Subtask progress indicators
|
|
101
|
+
- Related files display
|
|
102
|
+
- True black dark mode color scheme
|
|
103
|
+
|
|
75
104
|
### List Tasks
|
|
76
105
|
|
|
77
106
|
Display all tasks from your brainfile.md file with colored output:
|
|
@@ -400,6 +429,7 @@ Task IDs are automatically generated with a timestamp and random string to ensur
|
|
|
400
429
|
## Roadmap
|
|
401
430
|
|
|
402
431
|
### Completed ✓
|
|
432
|
+
- `brainfile` / `brainfile tui` - Interactive terminal UI
|
|
403
433
|
- `brainfile list` - List and filter tasks
|
|
404
434
|
- `brainfile add` - Create new tasks
|
|
405
435
|
- `brainfile move` - Move tasks between columns
|
|
@@ -412,7 +442,7 @@ Task IDs are automatically generated with a timestamp and random string to ensur
|
|
|
412
442
|
### Future Enhancements
|
|
413
443
|
- `brainfile update` - Update existing tasks
|
|
414
444
|
- `brainfile delete` - Remove tasks
|
|
415
|
-
-
|
|
445
|
+
- TUI write mode (edit tasks directly in TUI)
|
|
416
446
|
- Advanced filtering and search
|
|
417
447
|
- Task completion tracking
|
|
418
448
|
- Subtask management
|
package/brainfile.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema: https://brainfile.md/v1
|
|
3
|
+
title: Brainfile CLI Project
|
|
4
|
+
agent:
|
|
5
|
+
instructions:
|
|
6
|
+
- Modify only the YAML frontmatter
|
|
7
|
+
- Preserve all IDs
|
|
8
|
+
- Keep ordering
|
|
9
|
+
- Make minimal changes
|
|
10
|
+
columns:
|
|
11
|
+
- id: todo
|
|
12
|
+
title: To Do
|
|
13
|
+
tasks:
|
|
14
|
+
- id: task-1
|
|
15
|
+
title: Test
|
|
16
|
+
description: "Working on the CLI project"
|
|
17
|
+
priority: medium
|
|
18
|
+
tags: []
|
|
19
|
+
- id: in-progress
|
|
20
|
+
title: In Progress
|
|
21
|
+
tasks: []
|
|
22
|
+
- id: done
|
|
23
|
+
title: Done
|
|
24
|
+
tasks: []
|
|
25
|
+
---
|
package/dist/cli.js
CHANGED
|
@@ -10,91 +10,132 @@ const move_1 = require("./commands/move");
|
|
|
10
10
|
const template_1 = require("./commands/template");
|
|
11
11
|
const lint_1 = require("./commands/lint");
|
|
12
12
|
const init_1 = require("./commands/init");
|
|
13
|
+
const tui_1 = require("./commands/tui");
|
|
13
14
|
const hooks_1 = require("./commands/hooks");
|
|
14
15
|
// Read version from package.json
|
|
15
16
|
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
program
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
17
|
+
// Known subcommands to distinguish from file paths
|
|
18
|
+
const SUBCOMMANDS = ['init', 'list', 'add', 'move', 'template', 'lint', 'tui', 'hooks', 'help'];
|
|
19
|
+
// Check if first arg looks like a file path (not a subcommand or flag)
|
|
20
|
+
function shouldLaunchTUI() {
|
|
21
|
+
const args = process.argv.slice(2);
|
|
22
|
+
// No args → TUI with default file
|
|
23
|
+
if (args.length === 0) {
|
|
24
|
+
return { launch: true, file: 'brainfile.md' };
|
|
25
|
+
}
|
|
26
|
+
const firstArg = args[0];
|
|
27
|
+
// If first arg is a flag, let commander handle it
|
|
28
|
+
if (firstArg.startsWith('-')) {
|
|
29
|
+
// Handle -f/--file flag for TUI
|
|
30
|
+
if (args.length >= 2 && (firstArg === '-f' || firstArg === '--file')) {
|
|
31
|
+
return { launch: true, file: args[1] };
|
|
32
|
+
}
|
|
33
|
+
return { launch: false, file: '' };
|
|
34
|
+
}
|
|
35
|
+
// If first arg is a known subcommand, don't launch TUI
|
|
36
|
+
if (SUBCOMMANDS.includes(firstArg)) {
|
|
37
|
+
return { launch: false, file: '' };
|
|
38
|
+
}
|
|
39
|
+
// If first arg looks like a file path (contains . or / or exists), launch TUI with it
|
|
40
|
+
if (firstArg.includes('.') || firstArg.includes('/') || (0, fs_1.existsSync)(firstArg)) {
|
|
41
|
+
return { launch: true, file: firstArg };
|
|
42
|
+
}
|
|
43
|
+
// Otherwise let commander handle it (will show help for unknown command)
|
|
44
|
+
return { launch: false, file: '' };
|
|
45
|
+
}
|
|
46
|
+
const tuiCheck = shouldLaunchTUI();
|
|
47
|
+
if (tuiCheck.launch) {
|
|
48
|
+
(0, tui_1.tuiCommand)({ file: tuiCheck.file });
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const program = new commander_1.Command();
|
|
52
|
+
program
|
|
53
|
+
.name('brainfile')
|
|
54
|
+
.description('Command-line interface for Brainfile task management\n\nUsage:\n brainfile [file] Open TUI (default: brainfile.md)\n brainfile <command> Run CLI command')
|
|
55
|
+
.version(packageJson.version);
|
|
56
|
+
// Register commands
|
|
57
|
+
program
|
|
58
|
+
.command('init')
|
|
59
|
+
.description('Initialize a new brainfile.md in the current directory')
|
|
60
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
61
|
+
.option('--force', 'Overwrite existing file')
|
|
62
|
+
.action(init_1.initCommand);
|
|
63
|
+
program
|
|
64
|
+
.command('list')
|
|
65
|
+
.description('List all tasks from brainfile.md')
|
|
66
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
67
|
+
.option('-c, --column <name>', 'Filter by column')
|
|
68
|
+
.option('-t, --tag <name>', 'Filter by tag')
|
|
69
|
+
.action(list_1.listCommand);
|
|
70
|
+
program
|
|
71
|
+
.command('add')
|
|
72
|
+
.description('Add a new task')
|
|
73
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
74
|
+
.option('-c, --column <name>', 'Column to add task to', 'todo')
|
|
75
|
+
.option('-t, --title <text>', 'Task title (required)')
|
|
76
|
+
.option('-d, --description <text>', 'Task description')
|
|
77
|
+
.option('-p, --priority <level>', 'Priority level (low, medium, high)')
|
|
78
|
+
.option('--tags <tags>', 'Comma-separated tags')
|
|
79
|
+
.action(add_1.addCommand);
|
|
80
|
+
program
|
|
81
|
+
.command('move')
|
|
82
|
+
.description('Move a task to a different column')
|
|
83
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
84
|
+
.option('-t, --task <id>', 'Task ID to move (required)')
|
|
85
|
+
.option('-c, --column <name>', 'Target column name or ID (required)')
|
|
86
|
+
.action(move_1.moveCommand);
|
|
87
|
+
program
|
|
88
|
+
.command('template')
|
|
89
|
+
.description('Manage and use task templates')
|
|
90
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
91
|
+
.option('-l, --list', 'List all available templates')
|
|
92
|
+
.option('-u, --use <template-id>', 'Create task from template')
|
|
93
|
+
.option('--title <text>', 'Task title (for template usage)')
|
|
94
|
+
.option('--description <text>', 'Task description (for template usage)')
|
|
95
|
+
.option('-c, --column <name>', 'Column to add task to', 'todo')
|
|
96
|
+
.action(template_1.templateCommand);
|
|
97
|
+
program
|
|
98
|
+
.command('lint')
|
|
99
|
+
.description('Validate and auto-fix brainfile.md syntax')
|
|
100
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
101
|
+
.option('--fix', 'Automatically fix issues when possible')
|
|
102
|
+
.option('--check', 'Exit with error code if issues found (for CI/CD)')
|
|
103
|
+
.action(lint_1.lintCommand);
|
|
104
|
+
program
|
|
105
|
+
.command('tui')
|
|
106
|
+
.description('Launch interactive Terminal UI for task management')
|
|
107
|
+
.option('-f, --file <path>', 'Path to brainfile.md file', 'brainfile.md')
|
|
108
|
+
.action(tui_1.tuiCommand);
|
|
109
|
+
// Add hooks command group
|
|
110
|
+
const hooksCommand = program
|
|
111
|
+
.command('hooks')
|
|
112
|
+
.description('Manage AI agent hooks integration');
|
|
113
|
+
hooksCommand
|
|
114
|
+
.command('after-edit')
|
|
115
|
+
.description('Handle post-edit hook event (internal use by AI assistants)')
|
|
116
|
+
.action(hooks_1.afterEditCommand);
|
|
117
|
+
hooksCommand
|
|
118
|
+
.command('before-prompt')
|
|
119
|
+
.description('Handle pre-prompt hook event (internal use by AI assistants)')
|
|
120
|
+
.action(hooks_1.beforePromptCommand);
|
|
121
|
+
hooksCommand
|
|
122
|
+
.command('session-start')
|
|
123
|
+
.description('Handle session-start hook event (internal use by AI assistants)')
|
|
124
|
+
.action(hooks_1.sessionStartCommand);
|
|
125
|
+
hooksCommand
|
|
126
|
+
.command('install <tool>')
|
|
127
|
+
.description('Install brainfile hooks for an AI coding assistant')
|
|
128
|
+
.option('--scope <scope>', 'Installation scope: user or project', 'user')
|
|
129
|
+
.action((tool, options) => (0, hooks_1.installCommand)({ tool, scope: options.scope }));
|
|
130
|
+
hooksCommand
|
|
131
|
+
.command('uninstall <tool>')
|
|
132
|
+
.description('Uninstall brainfile hooks for an AI coding assistant')
|
|
133
|
+
.option('--scope <scope>', 'Scope to uninstall from: user, project, or all', 'user')
|
|
134
|
+
.action((tool, options) => (0, hooks_1.uninstallCommand)({ tool, scope: options.scope }));
|
|
135
|
+
hooksCommand
|
|
136
|
+
.command('list [tool]')
|
|
137
|
+
.description('List installed brainfile hooks')
|
|
138
|
+
.action((tool) => (0, hooks_1.listCommand)({ tool }));
|
|
139
|
+
program.parse();
|
|
140
|
+
} // end else block for CLI commands
|
|
100
141
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":"AAi5BA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,QAoB7C"}
|