@agentbrain/cli 1.3.2 ā 1.4.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/README.md +47 -6
- package/dist/commands/disable.d.ts +3 -0
- package/dist/commands/disable.d.ts.map +1 -0
- package/dist/commands/disable.js +139 -0
- package/dist/commands/disable.js.map +1 -0
- package/dist/commands/setup.js +12 -4
- package/dist/commands/setup.js.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -78,7 +78,9 @@ agentbrain setup --skip-hooks
|
|
|
78
78
|
**Cost:** ~$0.02-0.05 for initial generation (cached repeats are free)
|
|
79
79
|
|
|
80
80
|
**Smart Git Hooks:**
|
|
81
|
-
After setup, AgentBrain automatically regenerates context when you commit **source file changes**. It intelligently skips regeneration when only documentation or configuration files change, saving time and API costs.
|
|
81
|
+
After setup, AgentBrain automatically regenerates context in the background when you commit **source file changes**. Git commits complete instantly while context updates in the background. It intelligently skips regeneration when only documentation or configuration files change, saving time and API costs.
|
|
82
|
+
|
|
83
|
+
You can check the update status in `.agentbrain/update.log`.
|
|
82
84
|
|
|
83
85
|
---
|
|
84
86
|
|
|
@@ -99,9 +101,9 @@ agentbrain init [options]
|
|
|
99
101
|
|
|
100
102
|
**Output:**
|
|
101
103
|
Creates three files in `agentbrain/` directory:
|
|
102
|
-
- `context.md` -
|
|
103
|
-
- `dependency-map.md` -
|
|
104
|
-
- `patterns.md` - Coding patterns and conventions
|
|
104
|
+
- `context.md` - Navigation guide with exact file paths and function names
|
|
105
|
+
- `dependency-map.md` - Actual code dependencies showing imports and data flow
|
|
106
|
+
- `patterns.md` - Coding patterns and conventions found in the codebase
|
|
105
107
|
|
|
106
108
|
**Example:**
|
|
107
109
|
```bash
|
|
@@ -220,6 +222,45 @@ Configuration stored at `~/.agentbrain/config.json` with secure permissions.
|
|
|
220
222
|
|
|
221
223
|
---
|
|
222
224
|
|
|
225
|
+
### `agentbrain disable`
|
|
226
|
+
|
|
227
|
+
Disable or uninstall AgentBrain from your repository.
|
|
228
|
+
|
|
229
|
+
**Usage:**
|
|
230
|
+
```bash
|
|
231
|
+
agentbrain disable [options]
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Options:**
|
|
235
|
+
- `--remove-hooks` - Remove git hooks only
|
|
236
|
+
- `--remove-files` - Remove generated context files only (agentbrain/ directory)
|
|
237
|
+
- `--remove-agent-files` - Remove agent config files (CLAUDE.md, .cursorrules, etc.)
|
|
238
|
+
- `--full` - Complete uninstall (removes everything)
|
|
239
|
+
- `--yes` - Skip confirmation prompts
|
|
240
|
+
|
|
241
|
+
**Interactive Mode:**
|
|
242
|
+
If you run `agentbrain disable` without options, you'll be prompted to select what to remove.
|
|
243
|
+
|
|
244
|
+
**Example:**
|
|
245
|
+
```bash
|
|
246
|
+
# Interactive mode - choose what to remove
|
|
247
|
+
agentbrain disable
|
|
248
|
+
|
|
249
|
+
# Remove only git hooks (keep context files)
|
|
250
|
+
agentbrain disable --remove-hooks
|
|
251
|
+
|
|
252
|
+
# Remove only generated files (keep hooks and agent files)
|
|
253
|
+
agentbrain disable --remove-files
|
|
254
|
+
|
|
255
|
+
# Complete uninstall without prompts
|
|
256
|
+
agentbrain disable --full --yes
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Re-enabling:**
|
|
260
|
+
To re-enable AgentBrain after disabling, simply run `agentbrain setup` again.
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
223
264
|
## API Key Configuration
|
|
224
265
|
|
|
225
266
|
AgentBrain supports multiple ways to provide your API key. They are checked in this priority order:
|
|
@@ -432,8 +473,8 @@ agentbrain init --no-cache
|
|
|
432
473
|
|
|
433
474
|
## Support
|
|
434
475
|
|
|
435
|
-
- GitHub Issues: [Report bugs](https://github.com/
|
|
436
|
-
- Documentation: [Full docs](https://github.com/
|
|
476
|
+
- GitHub Issues: [Report bugs](https://github.com/benmalcom/agentbrain/issues)
|
|
477
|
+
- Documentation: [Full docs](https://github.com/benmalcom/agentbrain)
|
|
437
478
|
|
|
438
479
|
## License
|
|
439
480
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.d.ts","sourceRoot":"","sources":["../../src/commands/disable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,wBAAgB,oBAAoB,IAAI,OAAO,CA2I9C"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
// Disable/uninstall AgentBrain
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { rm } from 'node:fs/promises';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import inquirer from 'inquirer';
|
|
8
|
+
import { uninstallAllHooks, AGENT_FILE_PATHS } from '@agentbrain/core';
|
|
9
|
+
export function createDisableCommand() {
|
|
10
|
+
const disable = new Command('disable')
|
|
11
|
+
.description('Disable or uninstall AgentBrain from this repository')
|
|
12
|
+
.option('--remove-hooks', 'Remove git hooks only')
|
|
13
|
+
.option('--remove-files', 'Remove generated context files only')
|
|
14
|
+
.option('--remove-agent-files', 'Remove agent config files (CLAUDE.md, .cursorrules, etc.)')
|
|
15
|
+
.option('--full', 'Complete uninstall (removes everything)')
|
|
16
|
+
.option('--yes', 'Skip confirmation prompts')
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
const repoPath = process.cwd();
|
|
19
|
+
// If no specific options, ask what to remove
|
|
20
|
+
let removeHooks = options.removeHooks || options.full;
|
|
21
|
+
let removeFiles = options.removeFiles || options.full;
|
|
22
|
+
let removeAgentFiles = options.removeAgentFiles || options.full;
|
|
23
|
+
if (!options.removeHooks && !options.removeFiles && !options.removeAgentFiles && !options.full) {
|
|
24
|
+
console.log(chalk.yellow('\nš§ AgentBrain Disable Options\n'));
|
|
25
|
+
const answers = await inquirer.prompt([
|
|
26
|
+
{
|
|
27
|
+
type: 'checkbox',
|
|
28
|
+
name: 'toRemove',
|
|
29
|
+
message: 'What would you like to remove?',
|
|
30
|
+
choices: [
|
|
31
|
+
{ name: 'Git hooks (post-commit auto-regeneration)', value: 'hooks', checked: true },
|
|
32
|
+
{ name: 'Generated context files (agentbrain/ directory)', value: 'files' },
|
|
33
|
+
{ name: 'Agent config files (CLAUDE.md, .cursorrules, etc.)', value: 'agent-files' },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
]);
|
|
37
|
+
removeHooks = answers.toRemove.includes('hooks');
|
|
38
|
+
removeFiles = answers.toRemove.includes('files');
|
|
39
|
+
removeAgentFiles = answers.toRemove.includes('agent-files');
|
|
40
|
+
if (answers.toRemove.length === 0) {
|
|
41
|
+
console.log(chalk.yellow('Nothing selected. Exiting.'));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Confirm if not --yes
|
|
46
|
+
if (!options.yes) {
|
|
47
|
+
const summary = [];
|
|
48
|
+
if (removeHooks)
|
|
49
|
+
summary.push('⢠Remove git hooks');
|
|
50
|
+
if (removeFiles)
|
|
51
|
+
summary.push('⢠Delete agentbrain/ directory');
|
|
52
|
+
if (removeAgentFiles)
|
|
53
|
+
summary.push('⢠Delete agent config files');
|
|
54
|
+
console.log(chalk.yellow('\nThis will:'));
|
|
55
|
+
summary.forEach((item) => console.log(chalk.yellow(item)));
|
|
56
|
+
const { confirm } = await inquirer.prompt([
|
|
57
|
+
{
|
|
58
|
+
type: 'confirm',
|
|
59
|
+
name: 'confirm',
|
|
60
|
+
message: 'Continue?',
|
|
61
|
+
default: false,
|
|
62
|
+
},
|
|
63
|
+
]);
|
|
64
|
+
if (!confirm) {
|
|
65
|
+
console.log(chalk.yellow('Cancelled.'));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
console.log('');
|
|
70
|
+
// Remove git hooks
|
|
71
|
+
if (removeHooks) {
|
|
72
|
+
try {
|
|
73
|
+
const result = await uninstallAllHooks(repoPath);
|
|
74
|
+
if (result.uninstalled.length > 0) {
|
|
75
|
+
console.log(chalk.green(`ā Removed git hooks: ${result.uninstalled.join(', ')}`));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.log(chalk.gray(' No git hooks found'));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error(chalk.red(`ā Failed to remove git hooks: ${error instanceof Error ? error.message : String(error)}`));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Remove generated files
|
|
86
|
+
if (removeFiles) {
|
|
87
|
+
const agentbrainDir = join(repoPath, 'agentbrain');
|
|
88
|
+
if (existsSync(agentbrainDir)) {
|
|
89
|
+
try {
|
|
90
|
+
await rm(agentbrainDir, { recursive: true, force: true });
|
|
91
|
+
console.log(chalk.green('ā Removed agentbrain/ directory'));
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error(chalk.red(`ā Failed to remove agentbrain/: ${error instanceof Error ? error.message : String(error)}`));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.log(chalk.gray(' No agentbrain/ directory found'));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Remove agent files
|
|
102
|
+
if (removeAgentFiles) {
|
|
103
|
+
const removedFiles = [];
|
|
104
|
+
for (const [agent, filePath] of Object.entries(AGENT_FILE_PATHS)) {
|
|
105
|
+
const fullPath = join(repoPath, filePath);
|
|
106
|
+
// Special case: Cursor has both modern and legacy paths
|
|
107
|
+
if (agent === 'cursor') {
|
|
108
|
+
const modernPath = join(repoPath, '.cursorrules');
|
|
109
|
+
const legacyPath = join(repoPath, '.cursor', 'rules');
|
|
110
|
+
if (existsSync(modernPath)) {
|
|
111
|
+
await rm(modernPath);
|
|
112
|
+
removedFiles.push('.cursorrules');
|
|
113
|
+
}
|
|
114
|
+
if (existsSync(legacyPath)) {
|
|
115
|
+
await rm(legacyPath);
|
|
116
|
+
removedFiles.push('.cursor/rules');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (existsSync(fullPath)) {
|
|
120
|
+
await rm(fullPath);
|
|
121
|
+
removedFiles.push(filePath);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (removedFiles.length > 0) {
|
|
125
|
+
console.log(chalk.green(`ā Removed agent files: ${removedFiles.join(', ')}`));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
console.log(chalk.gray(' No agent config files found'));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
console.log(chalk.green('\nā AgentBrain disabled successfully'));
|
|
132
|
+
// Show how to re-enable
|
|
133
|
+
if (removeHooks || removeFiles || removeAgentFiles) {
|
|
134
|
+
console.log(chalk.gray('\nTo re-enable AgentBrain, run: agentbrain setup'));
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return disable;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=disable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.js","sourceRoot":"","sources":["../../src/commands/disable.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAoB,MAAM,kBAAkB,CAAA;AAExF,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SACnC,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,2DAA2D,CAAC;SAC3F,MAAM,CAAC,QAAQ,EAAE,yCAAyC,CAAC;SAC3D,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAE9B,6CAA6C;QAC7C,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAA;QACrD,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAA;QACrD,IAAI,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAA;QAE/D,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAA;YAE9D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,2CAA2C,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;wBACpF,EAAE,IAAI,EAAE,iDAAiD,EAAE,KAAK,EAAE,OAAO,EAAE;wBAC3E,EAAE,IAAI,EAAE,oDAAoD,EAAE,KAAK,EAAE,aAAa,EAAE;qBACrF;iBACF;aACF,CAAC,CAAA;YAEF,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAChD,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAChD,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAE3D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;gBACvD,OAAM;YACR,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAa,EAAE,CAAA;YAC5B,IAAI,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YACnD,IAAI,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;YAC/D,IAAI,gBAAgB;gBAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAEjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACxC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEf,mBAAmB;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAChD,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACnF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;YACrH,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAClD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;gBAC7D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;gBACvH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,YAAY,GAAa,EAAE,CAAA;YACjC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAEzC,wDAAwD;gBACxD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;oBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;oBAErD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3B,MAAM,EAAE,CAAC,UAAU,CAAC,CAAA;wBACpB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;oBACnC,CAAC;oBACD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3B,MAAM,EAAE,CAAC,UAAU,CAAC,CAAA;wBACpB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;oBACpC,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;oBAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAA;QAEhE,wBAAwB;QACxB,IAAI,WAAW,IAAI,WAAW,IAAI,gBAAgB,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import { confirm, checkbox } from '@inquirer/prompts';
|
|
4
4
|
import { resolve } from 'node:path';
|
|
5
|
-
import { isGitRepository, installAllHooks, detectAgents, loadAIConfig, generateContext,
|
|
5
|
+
import { isGitRepository, installAllHooks, detectAgents, loadAIConfig, generateContext, injectIntoAgentFile, AGENT_FILE_PATHS, } from '@agentbrain/core';
|
|
6
6
|
import { writeFile, mkdir } from 'node:fs/promises';
|
|
7
7
|
import { existsSync } from 'node:fs';
|
|
8
8
|
import { join } from 'node:path';
|
|
@@ -42,7 +42,7 @@ async function runSetup(options) {
|
|
|
42
42
|
message: 'Select all that apply:',
|
|
43
43
|
choices: [
|
|
44
44
|
{ name: 'Claude Code (CLAUDE.md)', value: 'claude-code' },
|
|
45
|
-
{ name: 'Cursor (.
|
|
45
|
+
{ name: 'Cursor (.cursorrules)', value: 'cursor' },
|
|
46
46
|
{ name: 'Windsurf (.windsurfrules)', value: 'windsurf' },
|
|
47
47
|
],
|
|
48
48
|
});
|
|
@@ -93,9 +93,17 @@ async function runSetup(options) {
|
|
|
93
93
|
console.log();
|
|
94
94
|
info('Updating agent files...');
|
|
95
95
|
for (const agent of selectedAgents) {
|
|
96
|
-
await
|
|
96
|
+
const result = await injectIntoAgentFile(repoPath, agent, gitHash);
|
|
97
97
|
const filePath = AGENT_FILE_PATHS[agent];
|
|
98
|
-
|
|
98
|
+
if (result.created) {
|
|
99
|
+
console.log(` ā Created ${filePath}`);
|
|
100
|
+
}
|
|
101
|
+
else if (result.updated) {
|
|
102
|
+
console.log(` ā Updated ${filePath}`);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.log(` ā Checked ${filePath}`);
|
|
106
|
+
}
|
|
99
107
|
}
|
|
100
108
|
}
|
|
101
109
|
// Step 5: Install git hooks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,aAAa,EACb,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC7B,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACzD,MAAM,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACrD,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAIvB;IACC,aAAa,EAAE,CAAA;IAEf,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,uBAAuB;IACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,kCAAkC;IAClC,IAAI,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAE3C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3D,IAAI,CAAC,uDAAuD,CAAC,CAAA;QAE7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE;gBACzD,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,17 +6,20 @@ import { createInitCommand } from './commands/init.js';
|
|
|
6
6
|
import { createStandardsCommand } from './commands/standards.js';
|
|
7
7
|
import { createHandoffCommand } from './commands/handoff.js';
|
|
8
8
|
import { createSetupCommand } from './commands/setup.js';
|
|
9
|
+
import { createDisableCommand } from './commands/disable.js';
|
|
9
10
|
const program = new Command();
|
|
10
11
|
program
|
|
11
12
|
.name('agentbrain')
|
|
12
13
|
.description('Generate smart context docs for coding agents')
|
|
13
|
-
.version('1.
|
|
14
|
+
.version('1.4.1');
|
|
14
15
|
// Add commands
|
|
15
16
|
program.addCommand(createSetupCommand());
|
|
16
17
|
program.addCommand(createInitCommand());
|
|
17
18
|
program.addCommand(createStandardsCommand());
|
|
18
19
|
program.addCommand(createHandoffCommand());
|
|
19
20
|
program.addCommand(createConfigCommand());
|
|
21
|
+
program.addCommand(createDisableCommand());
|
|
20
22
|
// Parse arguments
|
|
21
23
|
program.parse();
|
|
24
|
+
// Clean test
|
|
22
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,6BAA6B;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,6BAA6B;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;AACvC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAA;AAC5C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;AACzC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAE1C,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAA;AACf,aAAa"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentbrain/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "CLI for AgentBrain - generate smart context documentation for coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|
|
28
|
-
"url": "https://github.com/
|
|
28
|
+
"url": "https://github.com/benmalcom/agentbrain.git",
|
|
29
29
|
"directory": "packages/cli"
|
|
30
30
|
},
|
|
31
31
|
"bugs": {
|
|
32
|
-
"url": "https://github.com/
|
|
32
|
+
"url": "https://github.com/benmalcom/agentbrain/issues"
|
|
33
33
|
},
|
|
34
|
-
"homepage": "https://github.com/
|
|
34
|
+
"homepage": "https://github.com/benmalcom/agentbrain#readme",
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "tsc -p tsconfig.json",
|
|
37
37
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|