brainfile 0.20.0 → 0.21.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/dist/{chunk-UOCQBEEW.mjs → chunk-MUV7XTFA.mjs} +1345 -316
- package/dist/cli.mjs +2196 -1349
- package/dist/commands/brief.d.ts +1 -0
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +10 -0
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +115 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +4 -1
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +44 -0
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/merge-driver.d.ts +26 -0
- package/dist/commands/merge-driver.d.ts.map +1 -0
- package/dist/commands/merge-driver.js +195 -0
- package/dist/commands/merge-driver.js.map +1 -0
- package/dist/commands/migrate-tracked.d.ts +8 -0
- package/dist/commands/migrate-tracked.d.ts.map +1 -0
- package/dist/commands/migrate-tracked.js +428 -0
- package/dist/commands/migrate-tracked.js.map +1 -0
- package/dist/commands/migrate.d.ts +6 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +9 -0
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/sync.d.ts +18 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +161 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/where.d.ts +24 -0
- package/dist/commands/where.d.ts.map +1 -0
- package/dist/commands/where.js +141 -0
- package/dist/commands/where.js.map +1 -0
- package/dist/mcp/helpers.d.ts +9 -0
- package/dist/mcp/helpers.d.ts.map +1 -1
- package/dist/mcp/helpers.js +43 -0
- package/dist/mcp/helpers.js.map +1 -1
- package/dist/mcp/tools/brief_tool.d.ts.map +1 -1
- package/dist/mcp/tools/brief_tool.js +39 -1
- package/dist/mcp/tools/brief_tool.js.map +1 -1
- package/dist/mcp/tools/contract_tool.d.ts.map +1 -1
- package/dist/mcp/tools/contract_tool.js +6 -5
- package/dist/mcp/tools/contract_tool.js.map +1 -1
- package/dist/mcp/tools/subtask_tool.d.ts.map +1 -1
- package/dist/mcp/tools/subtask_tool.js +5 -4
- package/dist/mcp/tools/subtask_tool.js.map +1 -1
- package/dist/mcp/tools/task_add_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_add_tool.js +6 -5
- package/dist/mcp/tools/task_add_tool.js.map +1 -1
- package/dist/mcp/tools/task_complete_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_complete_tool.js +5 -4
- package/dist/mcp/tools/task_complete_tool.js.map +1 -1
- package/dist/mcp/tools/task_delete_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_delete_tool.js +5 -4
- package/dist/mcp/tools/task_delete_tool.js.map +1 -1
- package/dist/mcp/tools/task_move_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_move_tool.js +6 -5
- package/dist/mcp/tools/task_move_tool.js.map +1 -1
- package/dist/mcp/tools/task_patch_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_patch_tool.js +5 -4
- package/dist/mcp/tools/task_patch_tool.js.map +1 -1
- package/dist/{tui-H3RI22S4.mjs → tui-5TFQR53I.mjs} +295 -253
- package/dist/utils/actor.d.ts +22 -0
- package/dist/utils/actor.d.ts.map +1 -0
- package/dist/utils/actor.js +200 -0
- package/dist/utils/actor.js.map +1 -0
- package/dist/utils/board-autosync.d.ts +22 -0
- package/dist/utils/board-autosync.d.ts.map +1 -0
- package/dist/utils/board-autosync.js +166 -0
- package/dist/utils/board-autosync.js.map +1 -0
- package/dist/utils/board-commit-hooks.d.ts +12 -0
- package/dist/utils/board-commit-hooks.d.ts.map +1 -0
- package/dist/utils/board-commit-hooks.js +52 -0
- package/dist/utils/board-commit-hooks.js.map +1 -0
- package/dist/utils/board-repo.d.ts +132 -0
- package/dist/utils/board-repo.d.ts.map +1 -0
- package/dist/utils/board-repo.js +602 -0
- package/dist/utils/board-repo.js.map +1 -0
- package/dist/utils/board-sync.d.ts +126 -0
- package/dist/utils/board-sync.d.ts.map +1 -0
- package/dist/utils/board-sync.js +554 -0
- package/dist/utils/board-sync.js.map +1 -0
- package/dist/utils/brainfile-path.d.ts +11 -1
- package/dist/utils/brainfile-path.d.ts.map +1 -1
- package/dist/utils/brainfile-path.js +39 -2
- package/dist/utils/brainfile-path.js.map +1 -1
- package/package.json +2 -2
|
@@ -34,11 +34,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.resolveCliBrainfilePath = resolveCliBrainfilePath;
|
|
37
|
+
exports.tryResolveBoardDir = tryResolveBoardDir;
|
|
37
38
|
const fs = __importStar(require("fs"));
|
|
38
39
|
const path = __importStar(require("path"));
|
|
39
40
|
const core_1 = require("@brainfile/core");
|
|
40
41
|
const cli_error_1 = require("./cli-error");
|
|
41
42
|
const v2_only_1 = require("./v2-only");
|
|
43
|
+
const board_repo_1 = require("./board-repo");
|
|
42
44
|
function isMigrationCommand() {
|
|
43
45
|
return process.argv.includes('migrate');
|
|
44
46
|
}
|
|
@@ -55,15 +57,26 @@ function rejectLegacyRuntimePath(resolvedPath) {
|
|
|
55
57
|
}
|
|
56
58
|
return resolvedPath;
|
|
57
59
|
}
|
|
60
|
+
function isPlaceholder(filePath) {
|
|
61
|
+
return filePath === undefined || filePath === core_1.BRAINFILE_BASENAME || filePath === `./${core_1.BRAINFILE_BASENAME}`;
|
|
62
|
+
}
|
|
58
63
|
/**
|
|
59
64
|
* Resolve a brainfile path for CLI commands.
|
|
60
65
|
*
|
|
61
66
|
* Supports three input forms:
|
|
62
|
-
* - Default (omitted): auto-discover from cwd upward
|
|
67
|
+
* - Default (omitted): auto-discover from cwd upward, stopping at the
|
|
68
|
+
* repository root; then, inside a repo, the worktree on the board branch
|
|
69
|
+
* (spec-9), creating it when the branch exists but has no checkout.
|
|
63
70
|
* - Directory path (`cli/`, `./projects/foo`): find brainfile inside that directory
|
|
64
71
|
* - File path (`path/to/brainfile.md`): use as-is
|
|
72
|
+
*
|
|
73
|
+
* `-g` / `--global` (or `BRAINFILE_GLOBAL=1`) targets the home board at
|
|
74
|
+
* `~/.brainfile` instead of discovering one.
|
|
65
75
|
*/
|
|
66
76
|
function resolveCliBrainfilePath(filePath) {
|
|
77
|
+
if (isPlaceholder(filePath) && (0, board_repo_1.isGlobalBoardRequested)()) {
|
|
78
|
+
return rejectLegacyRuntimePath(path.join((0, board_repo_1.homeBoardDir)(), core_1.BRAINFILE_BASENAME));
|
|
79
|
+
}
|
|
67
80
|
// If a path was given and it's a directory, look for a brainfile inside it
|
|
68
81
|
if (filePath) {
|
|
69
82
|
const resolved = path.resolve(process.cwd(), filePath);
|
|
@@ -83,6 +96,30 @@ function resolveCliBrainfilePath(filePath) {
|
|
|
83
96
|
// Not a directory, fall through to normal resolution
|
|
84
97
|
}
|
|
85
98
|
}
|
|
86
|
-
|
|
99
|
+
const cwd = process.cwd();
|
|
100
|
+
if (isPlaceholder(filePath)) {
|
|
101
|
+
const found = (0, core_1.findBrainfile)(cwd, { stopAtGitRoot: true });
|
|
102
|
+
if (found)
|
|
103
|
+
return rejectLegacyRuntimePath(found.absolutePath);
|
|
104
|
+
const tracked = (0, board_repo_1.findTrackedBoardDir)(cwd) ?? (0, board_repo_1.materializeBoardWorktree)(cwd);
|
|
105
|
+
if (tracked)
|
|
106
|
+
return rejectLegacyRuntimePath(path.join(tracked, core_1.BRAINFILE_BASENAME));
|
|
107
|
+
}
|
|
108
|
+
return rejectLegacyRuntimePath((0, core_1.resolveBrainfilePath)({ filePath, startDir: cwd, stopAtGitRoot: true }));
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The `.brainfile/` directory a command will operate on, or null when there
|
|
112
|
+
* is no board (or resolution itself fails). Never throws.
|
|
113
|
+
*/
|
|
114
|
+
function tryResolveBoardDir(filePath) {
|
|
115
|
+
try {
|
|
116
|
+
const resolved = resolveCliBrainfilePath(filePath);
|
|
117
|
+
if (!fs.existsSync(resolved))
|
|
118
|
+
return null;
|
|
119
|
+
return path.dirname(resolved);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
87
124
|
}
|
|
88
125
|
//# sourceMappingURL=brainfile-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brainfile-path.js","sourceRoot":"","sources":["../../src/utils/brainfile-path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"brainfile-path.js","sourceRoot":"","sources":["../../src/utils/brainfile-path.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brainfile",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.1",
|
|
4
4
|
"description": "Command-line interface for Brainfile task management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@brainfile/core": "^0.
|
|
40
|
+
"@brainfile/core": "^0.21.1",
|
|
41
41
|
"chalk": "^4.1.2",
|
|
42
42
|
"chokidar": "^4.0.3",
|
|
43
43
|
"commander": "^14.0.3",
|