@ace-sdk/cli 2.0.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.
Files changed (150) hide show
  1. package/README.md +61 -0
  2. package/dist/cli.d.ts +14 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +427 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/bootstrap.d.ts +19 -0
  7. package/dist/commands/bootstrap.d.ts.map +1 -0
  8. package/dist/commands/bootstrap.js +157 -0
  9. package/dist/commands/bootstrap.js.map +1 -0
  10. package/dist/commands/cache.d.ts +19 -0
  11. package/dist/commands/cache.d.ts.map +1 -0
  12. package/dist/commands/cache.js +101 -0
  13. package/dist/commands/cache.js.map +1 -0
  14. package/dist/commands/clear.d.ts +12 -0
  15. package/dist/commands/clear.d.ts.map +1 -0
  16. package/dist/commands/clear.js +50 -0
  17. package/dist/commands/clear.js.map +1 -0
  18. package/dist/commands/config.d.ts +34 -0
  19. package/dist/commands/config.d.ts.map +1 -0
  20. package/dist/commands/config.js +423 -0
  21. package/dist/commands/config.js.map +1 -0
  22. package/dist/commands/delta.d.ts +14 -0
  23. package/dist/commands/delta.d.ts.map +1 -0
  24. package/dist/commands/delta.js +140 -0
  25. package/dist/commands/delta.js.map +1 -0
  26. package/dist/commands/doctor.d.ts +8 -0
  27. package/dist/commands/doctor.d.ts.map +1 -0
  28. package/dist/commands/doctor.js +187 -0
  29. package/dist/commands/doctor.js.map +1 -0
  30. package/dist/commands/export.d.ts +12 -0
  31. package/dist/commands/export.d.ts.map +1 -0
  32. package/dist/commands/export.js +45 -0
  33. package/dist/commands/export.js.map +1 -0
  34. package/dist/commands/import.d.ts +13 -0
  35. package/dist/commands/import.d.ts.map +1 -0
  36. package/dist/commands/import.js +87 -0
  37. package/dist/commands/import.js.map +1 -0
  38. package/dist/commands/learn.d.ts +17 -0
  39. package/dist/commands/learn.d.ts.map +1 -0
  40. package/dist/commands/learn.js +193 -0
  41. package/dist/commands/learn.js.map +1 -0
  42. package/dist/commands/patterns.d.ts +13 -0
  43. package/dist/commands/patterns.d.ts.map +1 -0
  44. package/dist/commands/patterns.js +76 -0
  45. package/dist/commands/patterns.js.map +1 -0
  46. package/dist/commands/plugin.d.ts +26 -0
  47. package/dist/commands/plugin.d.ts.map +1 -0
  48. package/dist/commands/plugin.js +267 -0
  49. package/dist/commands/plugin.js.map +1 -0
  50. package/dist/commands/projects.d.ts +15 -0
  51. package/dist/commands/projects.d.ts.map +1 -0
  52. package/dist/commands/projects.js +122 -0
  53. package/dist/commands/projects.js.map +1 -0
  54. package/dist/commands/record.d.ts +32 -0
  55. package/dist/commands/record.d.ts.map +1 -0
  56. package/dist/commands/record.js +307 -0
  57. package/dist/commands/record.js.map +1 -0
  58. package/dist/commands/search.d.ts +16 -0
  59. package/dist/commands/search.d.ts.map +1 -0
  60. package/dist/commands/search.js +125 -0
  61. package/dist/commands/search.js.map +1 -0
  62. package/dist/commands/status.d.ts +8 -0
  63. package/dist/commands/status.d.ts.map +1 -0
  64. package/dist/commands/status.js +63 -0
  65. package/dist/commands/status.js.map +1 -0
  66. package/dist/commands/summarize.d.ts +17 -0
  67. package/dist/commands/summarize.d.ts.map +1 -0
  68. package/dist/commands/summarize.js +167 -0
  69. package/dist/commands/summarize.js.map +1 -0
  70. package/dist/commands/top.d.ts +14 -0
  71. package/dist/commands/top.d.ts.map +1 -0
  72. package/dist/commands/top.js +58 -0
  73. package/dist/commands/top.js.map +1 -0
  74. package/dist/commands/tune.d.ts +36 -0
  75. package/dist/commands/tune.d.ts.map +1 -0
  76. package/dist/commands/tune.js +354 -0
  77. package/dist/commands/tune.js.map +1 -0
  78. package/dist/formatters/playbook-formatter.d.ts +19 -0
  79. package/dist/formatters/playbook-formatter.d.ts.map +1 -0
  80. package/dist/formatters/playbook-formatter.js +56 -0
  81. package/dist/formatters/playbook-formatter.js.map +1 -0
  82. package/dist/formatters/search-formatter.d.ts +28 -0
  83. package/dist/formatters/search-formatter.d.ts.map +1 -0
  84. package/dist/formatters/search-formatter.js +48 -0
  85. package/dist/formatters/search-formatter.js.map +1 -0
  86. package/dist/formatters/status-formatter.d.ts +25 -0
  87. package/dist/formatters/status-formatter.d.ts.map +1 -0
  88. package/dist/formatters/status-formatter.js +46 -0
  89. package/dist/formatters/status-formatter.js.map +1 -0
  90. package/dist/services/config-loader.d.ts +8 -0
  91. package/dist/services/config-loader.d.ts.map +1 -0
  92. package/dist/services/config-loader.js +7 -0
  93. package/dist/services/config-loader.js.map +1 -0
  94. package/dist/services/initialization.d.ts +128 -0
  95. package/dist/services/initialization.d.ts.map +1 -0
  96. package/dist/services/initialization.js +874 -0
  97. package/dist/services/initialization.js.map +1 -0
  98. package/dist/services/language-detector.d.ts +63 -0
  99. package/dist/services/language-detector.d.ts.map +1 -0
  100. package/dist/services/language-detector.js +123 -0
  101. package/dist/services/language-detector.js.map +1 -0
  102. package/dist/services/logger.d.ts +97 -0
  103. package/dist/services/logger.d.ts.map +1 -0
  104. package/dist/services/logger.js +229 -0
  105. package/dist/services/logger.js.map +1 -0
  106. package/dist/services/plugin-loader.d.ts +84 -0
  107. package/dist/services/plugin-loader.d.ts.map +1 -0
  108. package/dist/services/plugin-loader.js +282 -0
  109. package/dist/services/plugin-loader.js.map +1 -0
  110. package/dist/services/recorder.d.ts +80 -0
  111. package/dist/services/recorder.d.ts.map +1 -0
  112. package/dist/services/recorder.js +267 -0
  113. package/dist/services/recorder.js.map +1 -0
  114. package/dist/services/server-client.d.ts +32 -0
  115. package/dist/services/server-client.d.ts.map +1 -0
  116. package/dist/services/server-client.js +68 -0
  117. package/dist/services/server-client.js.map +1 -0
  118. package/dist/services/session-storage.d.ts +20 -0
  119. package/dist/services/session-storage.d.ts.map +1 -0
  120. package/dist/services/session-storage.js +29 -0
  121. package/dist/services/session-storage.js.map +1 -0
  122. package/dist/types/config.d.ts +33 -0
  123. package/dist/types/config.d.ts.map +1 -0
  124. package/dist/types/config.js +63 -0
  125. package/dist/types/config.js.map +1 -0
  126. package/dist/types/pattern.d.ts +8 -0
  127. package/dist/types/pattern.d.ts.map +1 -0
  128. package/dist/types/pattern.js +7 -0
  129. package/dist/types/pattern.js.map +1 -0
  130. package/dist/types/plugin.d.ts +87 -0
  131. package/dist/types/plugin.d.ts.map +1 -0
  132. package/dist/types/plugin.js +5 -0
  133. package/dist/types/plugin.js.map +1 -0
  134. package/dist/types/recorder.d.ts +44 -0
  135. package/dist/types/recorder.d.ts.map +1 -0
  136. package/dist/types/recorder.js +5 -0
  137. package/dist/types/recorder.js.map +1 -0
  138. package/dist/utils/code-extractor.d.ts +8 -0
  139. package/dist/utils/code-extractor.d.ts.map +1 -0
  140. package/dist/utils/code-extractor.js +7 -0
  141. package/dist/utils/code-extractor.js.map +1 -0
  142. package/dist/utils/semver.d.ts +13 -0
  143. package/dist/utils/semver.d.ts.map +1 -0
  144. package/dist/utils/semver.js +14 -0
  145. package/dist/utils/semver.js.map +1 -0
  146. package/dist/utils/version-checker.d.ts +27 -0
  147. package/dist/utils/version-checker.d.ts.map +1 -0
  148. package/dist/utils/version-checker.js +141 -0
  149. package/dist/utils/version-checker.js.map +1 -0
  150. package/package.json +64 -0
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # @ace-sdk/cli
2
+
3
+ Command-line tool for ACE pattern learning.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@ace-sdk/cli.svg)](https://www.npmjs.com/package/@ace-sdk/cli)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install -g @ace-sdk/cli
12
+ ```
13
+
14
+ ## Features
15
+
16
+ - **32+ Commands**: patterns, search, learn, bootstrap, and more
17
+ - **Multi-Org Support**: Work with multiple organizations and projects
18
+ - **3-Tier Caching**: RAM → SQLite → Server for fast pattern access
19
+ - **Session Recording**: Capture execution traces for AI-powered learning
20
+ - **JSON Output**: Automation-friendly structured output
21
+
22
+ ## Quick Start
23
+
24
+ ```bash
25
+ # Configure connection to ACE Server
26
+ ce-ace config
27
+
28
+ # View patterns in your playbook
29
+ ce-ace patterns
30
+
31
+ # Search for relevant patterns
32
+ ce-ace search "authentication best practices"
33
+
34
+ # Bootstrap playbook from existing codebase
35
+ ce-ace bootstrap --mode hybrid
36
+
37
+ # Submit learning from execution
38
+ ce-ace learn --task "Fixed JWT bug" --success --output "Token validation matters"
39
+ ```
40
+
41
+ ## Commands Overview
42
+
43
+ | Command | Description |
44
+ |---------|-------------|
45
+ | `patterns` | View playbook patterns |
46
+ | `search` | Semantic search across patterns |
47
+ | `learn` | Submit execution trace for learning |
48
+ | `bootstrap` | Initialize playbook from codebase |
49
+ | `status` | Show playbook statistics |
50
+ | `config` | Configure server connection |
51
+ | `doctor` | Run diagnostics |
52
+
53
+ ## Documentation
54
+
55
+ Full documentation: [packages/cli/docs](./docs)
56
+
57
+ See also: [Root README](../../README.md) for complete command reference.
58
+
59
+ ## License
60
+
61
+ MIT © [CE.NET Team](mailto:ace@code-engine.net)
package/dist/cli.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ACE CLI - Standalone command-line tool for pattern learning and playbook management
4
+ */
5
+ export interface GlobalOptions {
6
+ json: boolean;
7
+ verbose: boolean;
8
+ quiet: boolean;
9
+ trace: boolean;
10
+ org?: string;
11
+ project?: string;
12
+ }
13
+ export declare let globalOptions: GlobalOptions;
14
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAuIH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,eAAO,IAAI,aAAa,EAAE,aAOzB,CAAC"}
package/dist/cli.js ADDED
@@ -0,0 +1,427 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ACE CLI - Standalone command-line tool for pattern learning and playbook management
4
+ */
5
+ import { Command } from 'commander';
6
+ import tabtab from 'tabtab';
7
+ import { configCommand, configShowCommand, configSetCommand, configResetCommand, configValidateCommand } from './commands/config.js';
8
+ import { doctorCommand } from './commands/doctor.js';
9
+ import { patternsCommand } from './commands/patterns.js';
10
+ import { searchCommand } from './commands/search.js';
11
+ import { topCommand } from './commands/top.js';
12
+ import { learnCommand } from './commands/learn.js';
13
+ import { bootstrapCommand } from './commands/bootstrap.js';
14
+ import { statusCommand } from './commands/status.js';
15
+ import { clearCommand } from './commands/clear.js';
16
+ import { cacheCommand, cacheRecallCommand } from './commands/cache.js';
17
+ import { deltaCommand } from './commands/delta.js';
18
+ import { exportCommand } from './commands/export.js';
19
+ import { importCommand } from './commands/import.js';
20
+ import { recordStartCommand, recordStopCommand, recordListCommand, recordExportCommand, recordDeleteCommand, recordStatusCommand } from './commands/record.js';
21
+ import { summarizeCommand } from './commands/summarize.js';
22
+ import { pluginListCommand, pluginTrustCommand, pluginUntrustCommand, pluginEnableCommand, pluginDisableCommand } from './commands/plugin.js';
23
+ import { projectsCommand } from './commands/projects.js';
24
+ import { tuneCommand, tuneShowCommand, tuneResetCommand } from './commands/tune.js';
25
+ import { checkCliUpdate } from './utils/version-checker.js';
26
+ import { readFileSync, existsSync } from 'fs';
27
+ import { join } from 'path';
28
+ // Load .claude/settings.json if present in current directory
29
+ // This allows per-directory ACE configuration
30
+ function loadLocalSettings() {
31
+ const settingsPath = join(process.cwd(), '.claude', 'settings.json');
32
+ if (existsSync(settingsPath)) {
33
+ try {
34
+ const settings = JSON.parse(readFileSync(settingsPath, 'utf8'));
35
+ // Handle both flat structure and nested env structure
36
+ const envVars = settings.env || settings;
37
+ // Set environment variables from settings (only if not already set)
38
+ // This allows .claude/settings.json to provide defaults that can be overridden by actual env vars
39
+ if (envVars.ACE_SERVER_URL && !process.env.ACE_SERVER_URL) {
40
+ process.env.ACE_SERVER_URL = envVars.ACE_SERVER_URL;
41
+ }
42
+ if (envVars.ACE_API_TOKEN && !process.env.ACE_API_TOKEN) {
43
+ process.env.ACE_API_TOKEN = envVars.ACE_API_TOKEN;
44
+ }
45
+ if (envVars.ACE_ORG_ID && !process.env.ACE_ORG_ID) {
46
+ process.env.ACE_ORG_ID = envVars.ACE_ORG_ID;
47
+ }
48
+ if (envVars.ACE_PROJECT_ID && !process.env.ACE_PROJECT_ID) {
49
+ process.env.ACE_PROJECT_ID = envVars.ACE_PROJECT_ID;
50
+ }
51
+ }
52
+ catch (error) {
53
+ // Silently ignore errors - if settings file is malformed, just skip it
54
+ }
55
+ }
56
+ }
57
+ // Load local settings before anything else
58
+ loadLocalSettings();
59
+ const program = new Command();
60
+ // Handle tab completion
61
+ if (process.env.COMP_LINE) {
62
+ const env = tabtab.parseEnv(process.env);
63
+ if (env.complete) {
64
+ // Main command completions
65
+ if (!env.prev || env.prev === 'ce-ace') {
66
+ tabtab.log([
67
+ 'status', 'patterns', 'search', 'top', 'learn',
68
+ 'bootstrap', 'cache', 'delta', 'export', 'import',
69
+ 'record', 'summarize', 'plugin', 'config', 'doctor',
70
+ 'projects', 'clear', 'completion', 'tune'
71
+ ]);
72
+ }
73
+ // Subcommand completions
74
+ else if (env.prev === 'record') {
75
+ tabtab.log(['start', 'stop', 'list', 'export', 'delete', 'status']);
76
+ }
77
+ else if (env.prev === 'plugin') {
78
+ tabtab.log(['list', 'trust', 'untrust', 'enable', 'disable']);
79
+ }
80
+ else if (env.prev === 'config') {
81
+ tabtab.log(['show', 'set', 'reset', 'validate']);
82
+ }
83
+ else if (env.prev === 'tune') {
84
+ tabtab.log(['show', 'reset']);
85
+ }
86
+ else if (env.prev === 'cache') {
87
+ tabtab.log(['clear']);
88
+ }
89
+ else if (env.prev === 'delta') {
90
+ tabtab.log(['add', 'update', 'remove']);
91
+ }
92
+ else if (env.prev === 'completion') {
93
+ tabtab.log(['install', 'uninstall']);
94
+ }
95
+ // Flag completions for specific commands
96
+ else if (env.prev === 'search') {
97
+ tabtab.log(['--stdin', '--threshold', '--section', '--json', '--verbose', '--quiet']);
98
+ }
99
+ else if (env.prev === 'patterns') {
100
+ tabtab.log(['--section', '--min-helpful', '--json', '--verbose', '--quiet']);
101
+ }
102
+ else if (env.prev === 'bootstrap') {
103
+ tabtab.log(['--mode', '--thoroughness', '--commit-limit', '--days-back', '--max-files', '--repo-path', '--merge']);
104
+ }
105
+ process.exit(0);
106
+ }
107
+ }
108
+ // Check for CLI updates in background (non-blocking, cached for 24h)
109
+ checkCliUpdate().catch(() => {
110
+ // Silently ignore errors - update checks shouldn't break the CLI
111
+ });
112
+ // Make global options accessible
113
+ export let globalOptions = {
114
+ json: false,
115
+ verbose: false,
116
+ quiet: false,
117
+ trace: false,
118
+ org: undefined,
119
+ project: undefined,
120
+ };
121
+ program
122
+ .name('ce-ace')
123
+ .description('ACE CLI - Intelligent pattern learning and playbook management')
124
+ .version('2.0.0')
125
+ .option('--json', 'Output structured JSON (for automation)')
126
+ .option('--verbose', 'Show detailed output')
127
+ .option('--quiet', 'Suppress non-essential output')
128
+ .option('--trace', 'Log raw HTTP requests and responses (debug mode)')
129
+ .option('--org <org_id>', 'Organization ID (overrides env and .claude/settings.json)')
130
+ .option('--project <project_id>', 'Project ID (overrides env and .claude/settings.json)')
131
+ .hook('preAction', (thisCommand) => {
132
+ const opts = thisCommand.optsWithGlobals();
133
+ globalOptions = {
134
+ json: opts.json || false,
135
+ verbose: opts.verbose || false,
136
+ quiet: opts.quiet || false,
137
+ trace: opts.trace || false,
138
+ org: opts.org,
139
+ project: opts.project,
140
+ };
141
+ });
142
+ // Configuration commands
143
+ const config = program
144
+ .command('config')
145
+ .description('Configuration wizard (interactive or non-interactive)')
146
+ .option('--server-url <url>', 'ACE server URL')
147
+ .option('--api-token <token>', 'API token')
148
+ .option('--org-id <org_id>', 'Organization ID (optional)')
149
+ .option('--project-id <project_id>', 'Project ID')
150
+ .action(configCommand);
151
+ config
152
+ .command('show')
153
+ .description('Display current configuration')
154
+ .action(configShowCommand);
155
+ config
156
+ .command('set <key> <value>')
157
+ .description('Set a configuration value')
158
+ .action(configSetCommand);
159
+ config
160
+ .command('reset')
161
+ .description('Reset configuration to defaults')
162
+ .option('--yes', 'Skip confirmation prompt')
163
+ .action(configResetCommand);
164
+ config
165
+ .command('validate')
166
+ .description('Validate token and display organization/project info')
167
+ .option('--server-url <url>', 'ACE server URL')
168
+ .option('--api-token <token>', 'API token')
169
+ .action((_options, command) => {
170
+ // Commander.js subcommands need optsWithGlobals() to get options
171
+ // This merges parent and subcommand options, with kebab→camelCase conversion
172
+ const opts = command.optsWithGlobals();
173
+ configValidateCommand({
174
+ serverUrl: opts.serverUrl,
175
+ apiToken: opts.apiToken
176
+ });
177
+ });
178
+ // Project discovery
179
+ program
180
+ .command('projects')
181
+ .description('List all projects from ACE server')
182
+ .option('--org <org_id>', 'Filter to specific organization')
183
+ .action(projectsCommand);
184
+ // Diagnostics
185
+ program
186
+ .command('doctor')
187
+ .description('Run diagnostics on ACE configuration and connectivity')
188
+ .action(doctorCommand);
189
+ // Tune thresholds and settings (actual server fields - 11 total)
190
+ const tune = program
191
+ .command('tune')
192
+ .description('Tune ACE server configuration (interactive or flags)')
193
+ .option('--scope <scope>', 'Configuration scope (project)', 'project')
194
+ .option('--constitution-threshold <value>', 'Retrieval similarity threshold (0.0-1.0)', parseFloat)
195
+ .option('--search-top-k <value>', 'Max search results (1-100)', parseInt)
196
+ .option('--dedup-similarity-threshold <value>', 'Deduplication similarity threshold (0.0-1.0)', parseFloat)
197
+ .option('--dedup-enabled <boolean>', 'Enable/disable deduplication', (v) => v === 'true')
198
+ .option('--pruning-threshold <value>', 'Pruning threshold to keep patterns (0.0-1.0)', parseFloat)
199
+ .option('--max-playbook-tokens <value>', 'Maximum playbook tokens (null for unlimited)', parseInt)
200
+ .option('--token-budget-enforcement <boolean>', 'Enable/disable token budget enforcement', (v) => v === 'true')
201
+ .option('--max-batch-size <value>', 'Maximum patterns per batch (1-100)', parseInt)
202
+ .option('--auto-learning-enabled <boolean>', 'Enable/disable automatic learning', (v) => v === 'true')
203
+ .option('--reflector-enabled <boolean>', 'Enable/disable Reflector agent', (v) => v === 'true')
204
+ .option('--curator-enabled <boolean>', 'Enable/disable Curator agent', (v) => v === 'true')
205
+ .action(tuneCommand);
206
+ tune
207
+ .command('show')
208
+ .description('Show current effective configuration')
209
+ .action(tuneShowCommand);
210
+ tune
211
+ .command('reset')
212
+ .description('Reset configuration to defaults')
213
+ .option('--scope <scope>', 'Scope to reset (project)', 'project')
214
+ .action(tuneResetCommand);
215
+ // Playbook access
216
+ program
217
+ .command('patterns')
218
+ .description('View playbook patterns')
219
+ .option('--section <section>', 'Filter by section (strategies|snippets|troubleshooting|apis)')
220
+ .option('--min-helpful <score>', 'Minimum helpful score', parseFloat)
221
+ .action(patternsCommand);
222
+ program
223
+ .command('search [query]')
224
+ .description('Search for patterns using semantic search')
225
+ .option('--stdin', 'Read query from stdin')
226
+ .option('--threshold <value>', 'Similarity threshold (0.0-1.0) - overrides server default', parseFloat)
227
+ .option('--section <section>', 'Filter by section - overrides server default')
228
+ .option('--top-k <number>', 'Maximum patterns to return (1-100)', parseInt)
229
+ .option('--pin-session <sessionId>', 'Pin results to session for later recall')
230
+ .action(searchCommand);
231
+ program
232
+ .command('top')
233
+ .description('Show top-rated patterns')
234
+ .option('--section <section>', 'Filter by section')
235
+ .option('--limit <number>', 'Number of patterns to show', parseInt, 10)
236
+ .option('--min-helpful <score>', 'Minimum helpful score', parseFloat, 0)
237
+ .action(topCommand);
238
+ // Learning / Knowledge updates
239
+ program
240
+ .command('learn')
241
+ .description('Submit learning event to update playbook')
242
+ .option('--transcript <file>', 'Path to transcript file')
243
+ .option('--stdin', 'Read transcript from stdin')
244
+ .option('--task <description>', 'Task description')
245
+ .option('--success', 'Task was successful')
246
+ .option('--failure', 'Task failed')
247
+ .option('--output <text>', 'Output/lessons learned')
248
+ .action(learnCommand);
249
+ // Bootstrap / Data ingestion
250
+ program
251
+ .command('bootstrap')
252
+ .description('Initialize playbook from codebase')
253
+ .option('--mode <mode>', 'Analysis mode (hybrid|both|local-files|git-history|docs-only)', 'hybrid')
254
+ .option('--thoroughness <level>', 'Analysis depth (light|medium|deep)', 'medium')
255
+ .option('--commit-limit <number>', 'Max commits to analyze', parseInt)
256
+ .option('--days-back <number>', 'Days of history to analyze', parseInt)
257
+ .option('--max-files <number>', 'Max files to analyze', parseInt)
258
+ .option('--repo-path <path>', 'Path to repository', process.cwd())
259
+ .option('--merge', 'Merge with existing playbook', true)
260
+ .action(bootstrapCommand);
261
+ // Maintenance
262
+ program
263
+ .command('status')
264
+ .description('Show playbook statistics')
265
+ .action(statusCommand);
266
+ program
267
+ .command('clear')
268
+ .description('Clear the playbook')
269
+ .option('--yes', 'Skip confirmation prompt')
270
+ .action(clearCommand);
271
+ const cache = program
272
+ .command('cache')
273
+ .description('Manage local cache');
274
+ cache
275
+ .command('clear')
276
+ .description('Clear local cache')
277
+ .option('--type <type>', 'Cache type (ram|sqlite|all)', 'all')
278
+ .action(cacheCommand);
279
+ cache
280
+ .command('recall')
281
+ .description('Recall patterns from a pinned session')
282
+ .requiredOption('--session <sessionId>', 'Session ID to recall')
283
+ .action(cacheRecallCommand);
284
+ program
285
+ .command('delta <operation>')
286
+ .description('Apply incremental pattern updates (add|update|remove)')
287
+ .option('--bullets <json>', 'Bullets as JSON string')
288
+ .option('--file <path>', 'Read bullets from JSON file')
289
+ .option('--stdin', 'Read bullets from stdin')
290
+ .action(deltaCommand);
291
+ program
292
+ .command('export')
293
+ .description('Export playbook to JSON')
294
+ .option('--output <file>', 'Output file (default: stdout)')
295
+ .action(exportCommand);
296
+ program
297
+ .command('import [file]')
298
+ .description('Import playbook from JSON file or stdin')
299
+ .option('--file <path>', 'Import from file')
300
+ .option('--stdin', 'Read playbook from stdin')
301
+ .action(importCommand);
302
+ // Session recording
303
+ const record = program
304
+ .command('record')
305
+ .description('Manage session recordings');
306
+ record
307
+ .command('start')
308
+ .description('Start recording a session')
309
+ .option('--session <name>', 'Session name/description')
310
+ .action(recordStartCommand);
311
+ record
312
+ .command('stop')
313
+ .description('Stop the current recording session')
314
+ .action(recordStopCommand);
315
+ record
316
+ .command('list')
317
+ .description('List all recorded sessions')
318
+ .action(recordListCommand);
319
+ record
320
+ .command('export <sessionId> <output>')
321
+ .description('Export a session to a file')
322
+ .action(recordExportCommand);
323
+ record
324
+ .command('delete <sessionId>')
325
+ .description('Delete a session recording')
326
+ .option('--yes', 'Skip confirmation prompt')
327
+ .action(recordDeleteCommand);
328
+ record
329
+ .command('status')
330
+ .description('Show current recording status')
331
+ .action(recordStatusCommand);
332
+ // Session summarization
333
+ program
334
+ .command('summarize [sessionIdOrFile]')
335
+ .description('Summarize a recorded session using AI')
336
+ .option('--stdin', 'Read session data from stdin')
337
+ .option('--output <file>', 'Save summary to file')
338
+ .option('--format <format>', 'Output format (text|json|markdown)', 'text')
339
+ .action(summarizeCommand);
340
+ // Plugin management
341
+ const plugin = program
342
+ .command('plugin')
343
+ .description('Manage plugins');
344
+ plugin
345
+ .command('list')
346
+ .description('List all available plugins')
347
+ .action(pluginListCommand);
348
+ plugin
349
+ .command('trust <name>')
350
+ .description('Trust a plugin (required before enabling)')
351
+ .option('--yes', 'Skip confirmation prompt')
352
+ .action(pluginTrustCommand);
353
+ plugin
354
+ .command('untrust <name>')
355
+ .description('Untrust and disable a plugin')
356
+ .action(pluginUntrustCommand);
357
+ plugin
358
+ .command('enable <name>')
359
+ .description('Enable a trusted plugin')
360
+ .action(pluginEnableCommand);
361
+ plugin
362
+ .command('disable <name>')
363
+ .description('Disable a plugin')
364
+ .action(pluginDisableCommand);
365
+ // Shell completion
366
+ const completion = program
367
+ .command('completion')
368
+ .description('Manage shell completion (bash/zsh/fish)');
369
+ completion
370
+ .command('install')
371
+ .description('Install shell completion for ce-ace')
372
+ .action(async () => {
373
+ try {
374
+ await tabtab.install({
375
+ name: 'ce-ace',
376
+ completer: 'ce-ace'
377
+ });
378
+ console.log('Shell completion installed successfully!');
379
+ console.log('Please restart your shell or run: source ~/.bashrc (or ~/.zshrc)');
380
+ }
381
+ catch (error) {
382
+ console.error('Failed to install completion:', error instanceof Error ? error.message : String(error));
383
+ process.exit(1);
384
+ }
385
+ });
386
+ completion
387
+ .command('uninstall')
388
+ .description('Uninstall shell completion for ce-ace')
389
+ .action(async () => {
390
+ try {
391
+ await tabtab.uninstall({
392
+ name: 'ce-ace'
393
+ });
394
+ console.log('Shell completion uninstalled successfully!');
395
+ }
396
+ catch (error) {
397
+ console.error('Failed to uninstall completion:', error instanceof Error ? error.message : String(error));
398
+ process.exit(1);
399
+ }
400
+ });
401
+ // Handle uncaught errors
402
+ process.on('unhandledRejection', (reason, _promise) => {
403
+ if (!globalOptions.json) {
404
+ console.error('Unhandled rejection:', reason);
405
+ }
406
+ else {
407
+ console.error(JSON.stringify({ error: String(reason), type: 'unhandled_rejection' }));
408
+ }
409
+ process.exit(1);
410
+ });
411
+ process.on('uncaughtException', (error) => {
412
+ if (!globalOptions.json) {
413
+ console.error('Uncaught exception:', error);
414
+ }
415
+ else {
416
+ console.error(JSON.stringify({ error: error.message, stack: error.stack, type: 'uncaught_exception' }));
417
+ }
418
+ process.exit(1);
419
+ });
420
+ // Parse arguments
421
+ program.parse(process.argv);
422
+ // Show help if no command provided
423
+ if (!process.argv.slice(2).length) {
424
+ program.outputHelp();
425
+ process.exit(0);
426
+ }
427
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Bootstrap playbook from codebase
3
+ */
4
+ import { ThoroughnessLevel } from '../types/pattern.js';
5
+ interface BootstrapOptions {
6
+ mode?: 'hybrid' | 'both' | 'local-files' | 'git-history' | 'docs-only';
7
+ thoroughness?: ThoroughnessLevel;
8
+ commitLimit?: number;
9
+ daysBack?: number;
10
+ maxFiles?: number;
11
+ repoPath?: string;
12
+ merge?: boolean;
13
+ }
14
+ /**
15
+ * Initialize playbook from codebase
16
+ */
17
+ export declare function bootstrapCommand(options: BootstrapOptions): Promise<void>;
18
+ export {};
19
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAwB,iBAAiB,EAAkB,MAAM,qBAAqB,CAAC;AAI9F,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;IACvE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,iBAkK/D"}