dino-spec 11.6.0 → 12.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.
- package/README.md +19 -12
- package/bin/dino-hud.js +1 -1
- package/bin/dino.js +4 -4
- package/dist/cli/index.d.ts +14 -17
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +67 -396
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/hooks/registry.d.ts +5 -1
- package/dist/commands/hooks/registry.d.ts.map +1 -1
- package/dist/commands/hooks/registry.js +29 -10
- package/dist/commands/hooks/registry.js.map +1 -1
- package/dist/commands/hooks/types.d.ts +1 -0
- package/dist/commands/hooks/types.d.ts.map +1 -1
- package/dist/commands/init.d.ts +7 -9
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +47 -38
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/refresh.d.ts +2 -2
- package/dist/commands/refresh.d.ts.map +1 -1
- package/dist/commands/refresh.js +6 -8
- package/dist/commands/refresh.js.map +1 -1
- package/dist/commands/session.d.ts +16 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +68 -1
- package/dist/commands/session.js.map +1 -1
- package/dist/core/checkpoints/git-recovery.d.ts.map +1 -1
- package/dist/core/checkpoints/git-recovery.js +13 -46
- package/dist/core/checkpoints/git-recovery.js.map +1 -1
- package/dist/core/config/optional-commands.d.ts +36 -0
- package/dist/core/config/optional-commands.d.ts.map +1 -0
- package/dist/core/config/optional-commands.js +96 -0
- package/dist/core/config/optional-commands.js.map +1 -0
- package/dist/core/ralph/git-integration.d.ts.map +1 -1
- package/dist/core/ralph/git-integration.js +29 -83
- package/dist/core/ralph/git-integration.js.map +1 -1
- package/dist/core/session/roadmap-sync.d.ts.map +1 -1
- package/dist/core/session/roadmap-sync.js +10 -16
- package/dist/core/session/roadmap-sync.js.map +1 -1
- package/dist/hooks/index.d.ts +5 -4
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +6 -4
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/post-edit.d.ts +3 -1
- package/dist/hooks/post-edit.d.ts.map +1 -1
- package/dist/hooks/post-edit.js +32 -87
- package/dist/hooks/post-edit.js.map +1 -1
- package/dist/hooks/post-execution.d.ts +17 -0
- package/dist/hooks/post-execution.d.ts.map +1 -0
- package/dist/hooks/post-execution.js +443 -0
- package/dist/hooks/post-execution.js.map +1 -0
- package/dist/hooks/pre-compact.d.ts.map +1 -1
- package/dist/hooks/pre-compact.js +10 -15
- package/dist/hooks/pre-compact.js.map +1 -1
- package/dist/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/hooks/pre-tool-use.js +11 -17
- package/dist/hooks/pre-tool-use.js.map +1 -1
- package/dist/hooks/pre-validate.d.ts.map +1 -1
- package/dist/hooks/pre-validate.js +11 -17
- package/dist/hooks/pre-validate.js.map +1 -1
- package/dist/hooks/session-end.d.ts +1 -3
- package/dist/hooks/session-end.d.ts.map +1 -1
- package/dist/hooks/session-end.js +16 -64
- package/dist/hooks/session-end.js.map +1 -1
- package/dist/hooks/session-start-verify.d.ts.map +1 -1
- package/dist/hooks/session-start-verify.js +7 -25
- package/dist/hooks/session-start-verify.js.map +1 -1
- package/dist/hooks/session-start.d.ts +3 -4
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +51 -77
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/shared/index.d.ts +64 -0
- package/dist/hooks/shared/index.d.ts.map +1 -0
- package/dist/hooks/shared/index.js +164 -0
- package/dist/hooks/shared/index.js.map +1 -0
- package/dist/hooks/shared/paths.d.ts +64 -0
- package/dist/hooks/shared/paths.d.ts.map +1 -0
- package/dist/hooks/shared/paths.js +153 -0
- package/dist/hooks/shared/paths.js.map +1 -0
- package/dist/hooks/shared/session.d.ts +57 -0
- package/dist/hooks/shared/session.d.ts.map +1 -0
- package/dist/hooks/shared/session.js +173 -0
- package/dist/hooks/shared/session.js.map +1 -0
- package/dist/hooks/shared/utils.d.ts +104 -0
- package/dist/hooks/shared/utils.d.ts.map +1 -0
- package/dist/hooks/shared/utils.js +266 -0
- package/dist/hooks/shared/utils.js.map +1 -0
- package/dist/hooks/subagent-start.d.ts.map +1 -1
- package/dist/hooks/subagent-start.js +13 -19
- package/dist/hooks/subagent-start.js.map +1 -1
- package/dist/hooks/subagent-stop.d.ts.map +1 -1
- package/dist/hooks/subagent-stop.js +13 -19
- package/dist/hooks/subagent-stop.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts +3 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +19 -31
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/hud/index.d.ts +1 -0
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +1 -0
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/render/git-status.d.ts.map +1 -1
- package/dist/hud/render/git-status.js +11 -15
- package/dist/hud/render/git-status.js.map +1 -1
- package/dist/hud/usage-rotation.d.ts +59 -0
- package/dist/hud/usage-rotation.d.ts.map +1 -0
- package/dist/hud/usage-rotation.js +227 -0
- package/dist/hud/usage-rotation.js.map +1 -0
- package/dist/hud/usage-tracker.d.ts.map +1 -1
- package/dist/hud/usage-tracker.js +3 -0
- package/dist/hud/usage-tracker.js.map +1 -1
- package/dist/mcp/setup.d.ts.map +1 -1
- package/dist/mcp/setup.js +28 -38
- package/dist/mcp/setup.js.map +1 -1
- package/dist/plugin/loader.d.ts +86 -0
- package/dist/plugin/loader.d.ts.map +1 -0
- package/dist/plugin/loader.js +175 -0
- package/dist/plugin/loader.js.map +1 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +108 -74
- package/dist/rules/index.js.map +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -62
- package/dist/skills/index.js.map +1 -1
- package/dist/store/remote.d.ts.map +1 -1
- package/dist/store/remote.js +7 -8
- package/dist/store/remote.js.map +1 -1
- package/dist/utils/exec.d.ts +46 -0
- package/dist/utils/exec.d.ts.map +1 -0
- package/dist/utils/exec.js +111 -0
- package/dist/utils/exec.js.map +1 -0
- package/dist/utils/file-system.d.ts +7 -0
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +12 -0
- package/dist/utils/file-system.js.map +1 -1
- package/package.json +10 -9
- package/dist/commands/cache/analyze.d.ts +0 -26
- package/dist/commands/cache/analyze.d.ts.map +0 -1
- package/dist/commands/cache/analyze.js +0 -56
- package/dist/commands/cache/analyze.js.map +0 -1
- package/dist/commands/cache/clear.d.ts +0 -17
- package/dist/commands/cache/clear.d.ts.map +0 -1
- package/dist/commands/cache/clear.js +0 -34
- package/dist/commands/cache/clear.js.map +0 -1
- package/dist/commands/cache/index.d.ts +0 -7
- package/dist/commands/cache/index.d.ts.map +0 -1
- package/dist/commands/cache/index.js +0 -7
- package/dist/commands/cache/index.js.map +0 -1
- package/dist/commands/cache/status.d.ts +0 -17
- package/dist/commands/cache/status.d.ts.map +0 -1
- package/dist/commands/cache/status.js +0 -46
- package/dist/commands/cache/status.js.map +0 -1
- package/dist/commands/checkpoint/create.d.ts +0 -15
- package/dist/commands/checkpoint/create.d.ts.map +0 -1
- package/dist/commands/checkpoint/create.js +0 -42
- package/dist/commands/checkpoint/create.js.map +0 -1
- package/dist/commands/checkpoint/index.d.ts +0 -9
- package/dist/commands/checkpoint/index.d.ts.map +0 -1
- package/dist/commands/checkpoint/index.js +0 -9
- package/dist/commands/checkpoint/index.js.map +0 -1
- package/dist/commands/checkpoint/list.d.ts +0 -14
- package/dist/commands/checkpoint/list.d.ts.map +0 -1
- package/dist/commands/checkpoint/list.js +0 -42
- package/dist/commands/checkpoint/list.js.map +0 -1
- package/dist/commands/checkpoint/restore.d.ts +0 -13
- package/dist/commands/checkpoint/restore.d.ts.map +0 -1
- package/dist/commands/checkpoint/restore.js +0 -67
- package/dist/commands/checkpoint/restore.js.map +0 -1
- package/dist/commands/context/audit.d.ts +0 -25
- package/dist/commands/context/audit.d.ts.map +0 -1
- package/dist/commands/context/audit.js +0 -56
- package/dist/commands/context/audit.js.map +0 -1
- package/dist/commands/context/index.d.ts +0 -6
- package/dist/commands/context/index.d.ts.map +0 -1
- package/dist/commands/context/index.js +0 -6
- package/dist/commands/context/index.js.map +0 -1
- package/dist/commands/context/status.d.ts +0 -14
- package/dist/commands/context/status.d.ts.map +0 -1
- package/dist/commands/context/status.js +0 -76
- package/dist/commands/context/status.js.map +0 -1
- package/dist/commands/failures/add.d.ts +0 -18
- package/dist/commands/failures/add.d.ts.map +0 -1
- package/dist/commands/failures/add.js +0 -66
- package/dist/commands/failures/add.js.map +0 -1
- package/dist/commands/failures/check.d.ts +0 -13
- package/dist/commands/failures/check.d.ts.map +0 -1
- package/dist/commands/failures/check.js +0 -59
- package/dist/commands/failures/check.js.map +0 -1
- package/dist/commands/failures/index.d.ts +0 -14
- package/dist/commands/failures/index.d.ts.map +0 -1
- package/dist/commands/failures/index.js +0 -14
- package/dist/commands/failures/index.js.map +0 -1
- package/dist/commands/failures/list.d.ts +0 -13
- package/dist/commands/failures/list.d.ts.map +0 -1
- package/dist/commands/failures/list.js +0 -68
- package/dist/commands/failures/list.js.map +0 -1
- package/dist/commands/failures/remove.d.ts +0 -13
- package/dist/commands/failures/remove.d.ts.map +0 -1
- package/dist/commands/failures/remove.js +0 -58
- package/dist/commands/failures/remove.js.map +0 -1
- package/dist/commands/features/add.d.ts +0 -16
- package/dist/commands/features/add.d.ts.map +0 -1
- package/dist/commands/features/add.js +0 -31
- package/dist/commands/features/add.js.map +0 -1
- package/dist/commands/features/complete.d.ts +0 -13
- package/dist/commands/features/complete.d.ts.map +0 -1
- package/dist/commands/features/complete.js +0 -76
- package/dist/commands/features/complete.js.map +0 -1
- package/dist/commands/features/index.d.ts +0 -11
- package/dist/commands/features/index.d.ts.map +0 -1
- package/dist/commands/features/index.js +0 -11
- package/dist/commands/features/index.js.map +0 -1
- package/dist/commands/features/list.d.ts +0 -14
- package/dist/commands/features/list.d.ts.map +0 -1
- package/dist/commands/features/list.js +0 -47
- package/dist/commands/features/list.js.map +0 -1
- package/dist/commands/features/remove.d.ts +0 -13
- package/dist/commands/features/remove.d.ts.map +0 -1
- package/dist/commands/features/remove.js +0 -37
- package/dist/commands/features/remove.js.map +0 -1
- package/dist/commands/features/start.d.ts +0 -12
- package/dist/commands/features/start.d.ts.map +0 -1
- package/dist/commands/features/start.js +0 -28
- package/dist/commands/features/start.js.map +0 -1
- package/dist/commands/handoff.d.ts +0 -39
- package/dist/commands/handoff.d.ts.map +0 -1
- package/dist/commands/handoff.js +0 -196
- package/dist/commands/handoff.js.map +0 -1
- package/dist/commands/playbook.d.ts +0 -46
- package/dist/commands/playbook.d.ts.map +0 -1
- package/dist/commands/playbook.js +0 -264
- package/dist/commands/playbook.js.map +0 -1
- package/dist/commands/retrieve/index.d.ts +0 -8
- package/dist/commands/retrieve/index.d.ts.map +0 -1
- package/dist/commands/retrieve/index.js +0 -8
- package/dist/commands/retrieve/index.js.map +0 -1
- package/dist/commands/retrieve/retrieve.d.ts +0 -28
- package/dist/commands/retrieve/retrieve.d.ts.map +0 -1
- package/dist/commands/retrieve/retrieve.js +0 -205
- package/dist/commands/retrieve/retrieve.js.map +0 -1
- package/dist/commands/trace.d.ts +0 -35
- package/dist/commands/trace.d.ts.map +0 -1
- package/dist/commands/trace.js +0 -187
- package/dist/commands/trace.js.map +0 -1
- package/dist/commands/watch.d.ts +0 -41
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -149
- package/dist/commands/watch.js.map +0 -1
- package/dist/hooks/post-build.d.ts +0 -13
- package/dist/hooks/post-build.d.ts.map +0 -1
- package/dist/hooks/post-build.js +0 -529
- package/dist/hooks/post-build.js.map +0 -1
- package/dist/hooks/post-lint.d.ts +0 -12
- package/dist/hooks/post-lint.d.ts.map +0 -1
- package/dist/hooks/post-lint.js +0 -552
- package/dist/hooks/post-lint.js.map +0 -1
- package/dist/hooks/post-test.d.ts +0 -16
- package/dist/hooks/post-test.d.ts.map +0 -1
- package/dist/hooks/post-test.js +0 -634
- package/dist/hooks/post-test.js.map +0 -1
package/dist/cli/index.js
CHANGED
|
@@ -1,57 +1,44 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* dino-spec CLI -
|
|
3
|
+
* dino-spec CLI - v12.0.0
|
|
4
4
|
*
|
|
5
5
|
* Automatic context engineering for Claude Code
|
|
6
6
|
*
|
|
7
|
-
* Commands:
|
|
8
|
-
* dino init -
|
|
7
|
+
* Core Commands:
|
|
8
|
+
* dino init - Initialize, refresh, or update dino-spec
|
|
9
9
|
* dino status - Show session state and context health
|
|
10
|
-
* dino refresh - Re-analyze codebase and update context
|
|
11
10
|
* dino hooks - Manage Claude Code hooks
|
|
12
11
|
* dino session - Manage session state (for hooks)
|
|
13
|
-
* dino store - Manage skills store
|
|
14
|
-
* dino memory - Manage persistent memories
|
|
15
|
-
* dino
|
|
16
|
-
* dino
|
|
17
|
-
* dino
|
|
18
|
-
* dino retrieve - Hybrid file retrieval with strategy selection
|
|
19
|
-
* dino mcp - Manage dino MCP server (setup, serve, status, health)
|
|
20
|
-
* dino watch - Real-time file watching for auto state updates
|
|
21
|
-
* dino hud - Manage dino-hud statusline integration
|
|
22
|
-
* dino check - Check if updates are available
|
|
23
|
-
* dino update - Update managed files to latest version
|
|
12
|
+
* dino store - Manage skills store
|
|
13
|
+
* dino memory - Manage persistent memories
|
|
14
|
+
* dino mcp - Manage MCP server
|
|
15
|
+
* dino setup - Configure API providers
|
|
16
|
+
* dino hud - Statusline integration
|
|
24
17
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
18
|
+
* v12.0.0 Changes:
|
|
19
|
+
* - Removed: failures, features, checkpoint, cache, trace, playbook, retrieve, watch, handoff
|
|
20
|
+
* - Merged: refresh → init --refresh
|
|
21
|
+
* - Merged: update → init --update
|
|
22
|
+
* - Merged: provider → setup
|
|
23
|
+
* - Result: 83 → 35 commands (-58%)
|
|
27
24
|
*/
|
|
28
25
|
import { Command } from 'commander';
|
|
29
26
|
import chalk from 'chalk';
|
|
30
27
|
import { VERSION } from '../core/config.js';
|
|
31
28
|
import { getDinoHeader } from '../utils/ascii-art.js';
|
|
32
|
-
import { initCommand
|
|
29
|
+
import { initCommand } from '../commands/init.js';
|
|
33
30
|
import { statusCommand } from '../commands/status.js';
|
|
34
31
|
import { refreshCommand } from '../commands/refresh.js';
|
|
32
|
+
import { updateCommand } from '../commands/update.js';
|
|
35
33
|
import { hooksSetupCommand, hooksStatusCommand, hooksRemoveCommand, hooksEnableCommand, hooksDisableCommand, hooksListCommand, hooksDebugCommand, } from '../commands/hooks/index.js';
|
|
36
|
-
import { sessionReadCommand, sessionUpdateCommand, sessionVerifyCommand } from '../commands/session.js';
|
|
34
|
+
import { sessionReadCommand, sessionUpdateCommand, sessionVerifyCommand, sessionCleanupCommand } from '../commands/session.js';
|
|
37
35
|
import { sessionSyncCommand } from '../commands/session-sync.js';
|
|
38
36
|
import { compactCommand, compactStatusCommand } from '../commands/compact.js';
|
|
39
37
|
import { storeListCommand, storeInstallCommand, storeRemoveCommand, storeSyncCommand, storeSearchCommand, listFilteredSkills, } from '../commands/store/index.js';
|
|
40
|
-
import { checkCommand, updateCommand } from '../commands/update.js';
|
|
41
38
|
import { memoryListCommand, memoryStatsCommand, memoryDecayCommand, memoryConsolidateCommand, memoryReflectCommand, memoryPruneCommand, memoryRecallCommand, memorySearchCommand, memoryBrowseCommand, } from '../commands/memory/index.js';
|
|
42
|
-
import { failuresListCommand, failuresAddCommand, failuresCheckCommand, failuresRemoveCommand, } from '../commands/failures/index.js';
|
|
43
|
-
import { featuresListCommand, featuresAddCommand, featuresStartCommand, featuresCompleteCommand, featuresRemoveCommand, } from '../commands/features/index.js';
|
|
44
|
-
import { cacheAnalyzeCommand, cacheStatusCommand, cacheClearCommand } from '../commands/cache/index.js';
|
|
45
|
-
import { contextAuditCommand, contextStatusCommand } from '../commands/context/index.js';
|
|
46
|
-
import { checkpointCreateCommand, checkpointListCommand, checkpointRestoreCommand, } from '../commands/checkpoint/index.js';
|
|
47
|
-
import { retrieveCommand, retrieveStatusCommand, } from '../commands/retrieve/index.js';
|
|
48
39
|
import { mcpServeCommand } from '../commands/mcp-serve.js';
|
|
49
40
|
import { mcpSetupCommand, mcpStatusCommand, mcpRemoveCommand, mcpHealthCommand, } from '../commands/mcp.js';
|
|
50
|
-
import { traceListCommand, traceShowCommand, traceQueryCommand, } from '../commands/trace.js';
|
|
51
|
-
import { playbookListCommand, playbookShowCommand, playbookEvolveCommand, playbookSuggestCommand, playbookStatusCommand, } from '../commands/playbook.js';
|
|
52
|
-
import { watchCommand, watchStatusCommand, } from '../commands/watch.js';
|
|
53
41
|
import { hudInstallCommand, hudUninstallCommand, hudConfigCommand, hudPreviewCommand, hudDebugCommand, hudDebugClearCommand, } from '../commands/hud.js';
|
|
54
|
-
import { handoffCreateCommand, handoffLoadCommand, handoffStatusCommand, handoffClearCommand, } from '../commands/handoff.js';
|
|
55
42
|
import { providerAddCommand, providerListCommand, providerRemoveCommand, providerSetupCommand, providerShowCommand, } from '../commands/provider.js';
|
|
56
43
|
import { setupCommand } from '../commands/setup.js';
|
|
57
44
|
const program = new Command();
|
|
@@ -67,22 +54,30 @@ program.hook('preAction', (thisCommand) => {
|
|
|
67
54
|
chalk.level = 0;
|
|
68
55
|
}
|
|
69
56
|
});
|
|
70
|
-
// Init command
|
|
57
|
+
// Init command (v12.0.0: merged refresh and update)
|
|
71
58
|
program
|
|
72
59
|
.command('init [path]')
|
|
73
60
|
.description('Initialize dino-spec: analyze codebase, generate CLAUDE.md, install hooks')
|
|
74
61
|
.option('-f, --force', 'Force reinitialize, overwriting existing files')
|
|
75
62
|
.option('-m, --minimal', 'Use minimal CLAUDE.md for progressive context loading (~67% smaller)')
|
|
76
|
-
.option('-b, --bootstrap', 'Run bootstrap after init to generate init-context.md
|
|
63
|
+
.option('-b, --bootstrap', 'Run bootstrap after init to generate init-context.md')
|
|
64
|
+
.option('-r, --refresh', 'Re-analyze codebase and update CLAUDE.md (was: dino refresh)')
|
|
65
|
+
.option('--refresh-full', 'Full regenerate instead of updating sections')
|
|
66
|
+
.option('-u, --update', 'Update managed files to latest version (was: dino update)')
|
|
67
|
+
.option('--update-scope <scope>', 'Update scope: all, skills, rules, agents, statusline, mcp', 'all')
|
|
77
68
|
.action(async (targetPath = '.', options) => {
|
|
78
|
-
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
69
|
+
if (options.refresh) {
|
|
70
|
+
await refreshCommand({ full: options.refreshFull, minimal: options.minimal });
|
|
71
|
+
}
|
|
72
|
+
else if (options.update) {
|
|
73
|
+
await updateCommand({
|
|
74
|
+
force: options.force,
|
|
75
|
+
scope: options.updateScope,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
await initCommand(targetPath, options);
|
|
80
|
+
}
|
|
86
81
|
});
|
|
87
82
|
// Status command
|
|
88
83
|
program
|
|
@@ -92,15 +87,6 @@ program
|
|
|
92
87
|
.action(async (options) => {
|
|
93
88
|
await statusCommand(options);
|
|
94
89
|
});
|
|
95
|
-
// Refresh command
|
|
96
|
-
program
|
|
97
|
-
.command('refresh')
|
|
98
|
-
.description('Re-analyze codebase and update CLAUDE.md')
|
|
99
|
-
.option('--full', 'Full regenerate instead of updating sections')
|
|
100
|
-
.option('-m, --minimal', 'Switch to minimal mode for progressive context loading')
|
|
101
|
-
.action(async (options) => {
|
|
102
|
-
await refreshCommand(options);
|
|
103
|
-
});
|
|
104
90
|
// Hooks subcommand
|
|
105
91
|
const hooksCmd = program
|
|
106
92
|
.command('hooks')
|
|
@@ -217,6 +203,13 @@ sessionCmd
|
|
|
217
203
|
.action(async (options) => {
|
|
218
204
|
await sessionSyncCommand(options);
|
|
219
205
|
});
|
|
206
|
+
sessionCmd
|
|
207
|
+
.command('cleanup')
|
|
208
|
+
.description('Clean up HUD usage data - rotate old samples to archive (v12.2.0)')
|
|
209
|
+
.option('--json', 'Output as JSON')
|
|
210
|
+
.action(async (options) => {
|
|
211
|
+
await sessionCleanupCommand(options);
|
|
212
|
+
});
|
|
220
213
|
// Store subcommand
|
|
221
214
|
const storeCmd = program
|
|
222
215
|
.command('store')
|
|
@@ -347,259 +340,13 @@ memoryCmd
|
|
|
347
340
|
.action(async () => {
|
|
348
341
|
await memoryBrowseCommand();
|
|
349
342
|
});
|
|
350
|
-
// Failures
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
.option('--json', 'Output as JSON')
|
|
358
|
-
.action(async (options) => {
|
|
359
|
-
await failuresListCommand(options);
|
|
360
|
-
});
|
|
361
|
-
failuresCmd
|
|
362
|
-
.command('add <error>')
|
|
363
|
-
.description('Add a failure to the registry')
|
|
364
|
-
.option('--solution <text>', 'What worked instead')
|
|
365
|
-
.option('--file <path>', 'Related file')
|
|
366
|
-
.option('--context <text>', 'What was tried')
|
|
367
|
-
.option('--json', 'Output as JSON')
|
|
368
|
-
.option('--auto', 'Auto mode for hooks (silent, skip confirmation)')
|
|
369
|
-
.action(async (error, options) => {
|
|
370
|
-
await failuresAddCommand(error, options);
|
|
371
|
-
});
|
|
372
|
-
failuresCmd
|
|
373
|
-
.command('check <text>')
|
|
374
|
-
.description('Check for matching failures')
|
|
375
|
-
.option('--json', 'Output as JSON')
|
|
376
|
-
.action(async (text, options) => {
|
|
377
|
-
await failuresCheckCommand(text, options);
|
|
378
|
-
});
|
|
379
|
-
failuresCmd
|
|
380
|
-
.command('remove <id>')
|
|
381
|
-
.description('Remove a failure from the registry')
|
|
382
|
-
.option('--json', 'Output as JSON')
|
|
383
|
-
.action(async (id, options) => {
|
|
384
|
-
await failuresRemoveCommand(id, options);
|
|
385
|
-
});
|
|
386
|
-
// Features subcommand (v7.0.0)
|
|
387
|
-
const featuresCmd = program
|
|
388
|
-
.command('features')
|
|
389
|
-
.description('Track features through their lifecycle (v7.0.0)');
|
|
390
|
-
featuresCmd
|
|
391
|
-
.command('list')
|
|
392
|
-
.description('List all tracked features')
|
|
393
|
-
.option('--status <status>', 'Filter by status (planned|in_progress|blocked|completed)')
|
|
394
|
-
.option('--json', 'Output as JSON')
|
|
395
|
-
.action(async (options) => {
|
|
396
|
-
await featuresListCommand(options);
|
|
397
|
-
});
|
|
398
|
-
featuresCmd
|
|
399
|
-
.command('add <name>')
|
|
400
|
-
.description('Add a new feature')
|
|
401
|
-
.option('-d, --description <text>', 'Feature description')
|
|
402
|
-
.option('--dependencies <ids>', 'Comma-separated dependency feature IDs')
|
|
403
|
-
.option('--criteria <criteria>', 'Comma-separated completion criteria')
|
|
404
|
-
.option('-p, --priority <n>', 'Priority (1 = highest)', parseInt)
|
|
405
|
-
.option('--json', 'Output as JSON')
|
|
406
|
-
.action(async (name, options) => {
|
|
407
|
-
await featuresAddCommand(name, options);
|
|
408
|
-
});
|
|
409
|
-
featuresCmd
|
|
410
|
-
.command('start <id>')
|
|
411
|
-
.description('Start working on a feature (mark as in_progress)')
|
|
412
|
-
.option('--json', 'Output as JSON')
|
|
413
|
-
.action(async (id, options) => {
|
|
414
|
-
await featuresStartCommand(id, options);
|
|
415
|
-
});
|
|
416
|
-
featuresCmd
|
|
417
|
-
.command('complete <id>')
|
|
418
|
-
.description('Complete a feature (validates dependencies and criteria)')
|
|
419
|
-
.option('-f, --force', 'Complete even with unmet criteria')
|
|
420
|
-
.option('--json', 'Output as JSON')
|
|
421
|
-
.action(async (id, options) => {
|
|
422
|
-
await featuresCompleteCommand(id, options);
|
|
423
|
-
});
|
|
424
|
-
featuresCmd
|
|
425
|
-
.command('remove <id>')
|
|
426
|
-
.description('Remove a feature')
|
|
427
|
-
.option('-f, --force', 'Skip confirmation')
|
|
428
|
-
.option('--json', 'Output as JSON')
|
|
429
|
-
.action(async (id, options) => {
|
|
430
|
-
await featuresRemoveCommand(id, options);
|
|
431
|
-
});
|
|
432
|
-
// Checkpoint subcommand (v7.0.0)
|
|
433
|
-
const checkpointCmd = program
|
|
434
|
-
.command('checkpoint')
|
|
435
|
-
.description('Git-based checkpoint management for recovery (v7.0.0)');
|
|
436
|
-
checkpointCmd
|
|
437
|
-
.command('create')
|
|
438
|
-
.description('Create a new checkpoint')
|
|
439
|
-
.option('-m, --message <text>', 'Checkpoint message')
|
|
440
|
-
.option('--milestone <type>', 'Milestone type (session-start|tests-passing|build-passing|feature-complete|manual)')
|
|
441
|
-
.option('--json', 'Output as JSON')
|
|
442
|
-
.action(async (options) => {
|
|
443
|
-
await checkpointCreateCommand(options);
|
|
444
|
-
});
|
|
445
|
-
checkpointCmd
|
|
446
|
-
.command('list')
|
|
447
|
-
.description('List all checkpoints')
|
|
448
|
-
.option('--milestone <type>', 'Filter by milestone type')
|
|
449
|
-
.option('--json', 'Output as JSON')
|
|
450
|
-
.action(async (options) => {
|
|
451
|
-
await checkpointListCommand(options);
|
|
452
|
-
});
|
|
453
|
-
checkpointCmd
|
|
454
|
-
.command('restore [id]')
|
|
455
|
-
.description('Restore to a checkpoint')
|
|
456
|
-
.option('--last-working', 'Restore to the last checkpoint with passing tests')
|
|
457
|
-
.option('--json', 'Output as JSON')
|
|
458
|
-
.action(async (id, options) => {
|
|
459
|
-
await checkpointRestoreCommand(id, options);
|
|
460
|
-
});
|
|
461
|
-
// Cache subcommand (v6.9.0)
|
|
462
|
-
const cacheCmd = program
|
|
463
|
-
.command('cache')
|
|
464
|
-
.description('Analyze and optimize KV-cache efficiency');
|
|
465
|
-
cacheCmd
|
|
466
|
-
.command('analyze')
|
|
467
|
-
.description('Analyze context files for cache-breaking patterns')
|
|
468
|
-
.option('--json', 'Output as JSON')
|
|
469
|
-
.action(async (options) => {
|
|
470
|
-
await cacheAnalyzeCommand(options);
|
|
471
|
-
});
|
|
472
|
-
cacheCmd
|
|
473
|
-
.command('status')
|
|
474
|
-
.description('Show file cache statistics (v9.17.0)')
|
|
475
|
-
.option('--json', 'Output as JSON')
|
|
476
|
-
.action(async (options) => {
|
|
477
|
-
await cacheStatusCommand(options);
|
|
478
|
-
});
|
|
479
|
-
cacheCmd
|
|
480
|
-
.command('clear')
|
|
481
|
-
.description('Clear file cache (v9.17.0)')
|
|
482
|
-
.option('--json', 'Output as JSON')
|
|
483
|
-
.action(async (options) => {
|
|
484
|
-
await cacheClearCommand(options);
|
|
485
|
-
});
|
|
486
|
-
// Context subcommand (v6.9.0)
|
|
487
|
-
const contextCmd = program
|
|
488
|
-
.command('context')
|
|
489
|
-
.description('Analyze and optimize context window usage');
|
|
490
|
-
contextCmd
|
|
491
|
-
.command('audit')
|
|
492
|
-
.description('Audit context for compression opportunities and redundancy')
|
|
493
|
-
.option('--json', 'Output as JSON')
|
|
494
|
-
.action(async (options) => {
|
|
495
|
-
await contextAuditCommand(options);
|
|
496
|
-
});
|
|
497
|
-
contextCmd
|
|
498
|
-
.command('status')
|
|
499
|
-
.description('Show context budget status with thresholds and recommendations (v9.0.0)')
|
|
500
|
-
.option('--json', 'Output as JSON')
|
|
501
|
-
.option('-v, --verbose', 'Show detailed consumption breakdown')
|
|
502
|
-
.action(async (options) => {
|
|
503
|
-
await contextStatusCommand(options);
|
|
504
|
-
});
|
|
505
|
-
// Trace subcommand (v9.0.0)
|
|
506
|
-
const traceCmd = program
|
|
507
|
-
.command('trace')
|
|
508
|
-
.description('View and query execution traces (v9.0.0)');
|
|
509
|
-
traceCmd
|
|
510
|
-
.command('list')
|
|
511
|
-
.description('List available traces')
|
|
512
|
-
.option('--json', 'Output as JSON')
|
|
513
|
-
.option('-l, --limit <n>', 'Number of traces to show (default: 20)', parseInt)
|
|
514
|
-
.action(async (options) => {
|
|
515
|
-
await traceListCommand(options);
|
|
516
|
-
});
|
|
517
|
-
traceCmd
|
|
518
|
-
.command('show [traceId]')
|
|
519
|
-
.description('Show a specific trace or the latest trace')
|
|
520
|
-
.option('--json', 'Output as JSON')
|
|
521
|
-
.option('-e, --events', 'Show recent events')
|
|
522
|
-
.option('-t, --tools', 'Show tool call summary')
|
|
523
|
-
.option('-d, --decisions', 'Show decision timeline')
|
|
524
|
-
.action(async (traceId, options) => {
|
|
525
|
-
await traceShowCommand(traceId, options);
|
|
526
|
-
});
|
|
527
|
-
traceCmd
|
|
528
|
-
.command('query')
|
|
529
|
-
.description('Query traces for specific events')
|
|
530
|
-
.option('--json', 'Output as JSON')
|
|
531
|
-
.option('--types <types>', 'Event types to filter (comma-separated)')
|
|
532
|
-
.option('--agent-id <id>', 'Filter by agent ID')
|
|
533
|
-
.option('--tool-name <name>', 'Filter by tool name')
|
|
534
|
-
.option('-l, --limit <n>', 'Limit results (default: 50)', parseInt)
|
|
535
|
-
.action(async (options) => {
|
|
536
|
-
await traceQueryCommand(options);
|
|
537
|
-
});
|
|
538
|
-
// Playbook subcommand (v9.0.0)
|
|
539
|
-
const playbookCmd = program
|
|
540
|
-
.command('playbook')
|
|
541
|
-
.description('Manage ACE playbooks for self-improving strategies (v9.0.0)');
|
|
542
|
-
playbookCmd
|
|
543
|
-
.command('list')
|
|
544
|
-
.description('List available playbooks')
|
|
545
|
-
.option('--json', 'Output as JSON')
|
|
546
|
-
.action(async (options) => {
|
|
547
|
-
await playbookListCommand(options);
|
|
548
|
-
});
|
|
549
|
-
playbookCmd
|
|
550
|
-
.command('show [playbookId]')
|
|
551
|
-
.description('Show playbook details')
|
|
552
|
-
.option('--json', 'Output as JSON')
|
|
553
|
-
.option('-s, --strategies', 'Show all strategies')
|
|
554
|
-
.action(async (playbookId, options) => {
|
|
555
|
-
await playbookShowCommand(playbookId, options);
|
|
556
|
-
});
|
|
557
|
-
playbookCmd
|
|
558
|
-
.command('evolve')
|
|
559
|
-
.description('Evolve playbook from execution traces')
|
|
560
|
-
.option('--json', 'Output as JSON')
|
|
561
|
-
.option('-t, --type <type>', 'Evolution type (generate|reflect|curate|full)', 'full')
|
|
562
|
-
.option('-f, --force', 'Force evolution even if thresholds not met')
|
|
563
|
-
.action(async (options) => {
|
|
564
|
-
await playbookEvolveCommand(options);
|
|
565
|
-
});
|
|
566
|
-
playbookCmd
|
|
567
|
-
.command('suggest <task>')
|
|
568
|
-
.description('Suggest strategies for a task')
|
|
569
|
-
.option('--json', 'Output as JSON')
|
|
570
|
-
.option('--files <files>', 'Comma-separated list of involved files')
|
|
571
|
-
.option('--phase <phase>', 'Current phase')
|
|
572
|
-
.option('-l, --limit <n>', 'Maximum suggestions (default: 5)', parseInt)
|
|
573
|
-
.action(async (task, options) => {
|
|
574
|
-
await playbookSuggestCommand(task, options);
|
|
575
|
-
});
|
|
576
|
-
playbookCmd
|
|
577
|
-
.command('status')
|
|
578
|
-
.description('Show playbook system status')
|
|
579
|
-
.option('--json', 'Output as JSON')
|
|
580
|
-
.action(async (options) => {
|
|
581
|
-
await playbookStatusCommand(options);
|
|
582
|
-
});
|
|
583
|
-
// Retrieve subcommand (v7.1.0)
|
|
584
|
-
const retrieveCmd = program
|
|
585
|
-
.command('retrieve [query]')
|
|
586
|
-
.description('Hybrid file retrieval with strategy selection (v7.1.0)');
|
|
587
|
-
retrieveCmd
|
|
588
|
-
.option('-s, --strategy <strategy>', 'Retrieval strategy (eager|lazy|hybrid|predictive)')
|
|
589
|
-
.option('-e, --explore', 'Enable deep exploration mode')
|
|
590
|
-
.option('-f, --files <files...>', 'Start files for exploration')
|
|
591
|
-
.option('-m, --max-files <n>', 'Maximum files to retrieve', parseInt)
|
|
592
|
-
.option('--json', 'Output as JSON')
|
|
593
|
-
.action(async (query, options) => {
|
|
594
|
-
await retrieveCommand(query, options);
|
|
595
|
-
});
|
|
596
|
-
retrieveCmd
|
|
597
|
-
.command('status')
|
|
598
|
-
.description('Show retrieval system status and cache stats')
|
|
599
|
-
.option('--json', 'Output as JSON')
|
|
600
|
-
.action(async (options) => {
|
|
601
|
-
await retrieveStatusCommand(options);
|
|
602
|
-
});
|
|
343
|
+
// Failures command removed in v12.0.0 - manual error tracking not useful
|
|
344
|
+
// Features command removed in v12.0.0 - use memory/roadmap instead
|
|
345
|
+
// Checkpoint command removed in v12.0.0 - git already handles this
|
|
346
|
+
// Cache command removed in v12.0.0 - always empty, not useful
|
|
347
|
+
// Trace command removed in v12.0.0 - debugging niche, rarely used
|
|
348
|
+
// Playbook command removed in v12.0.0 - complex, rarely used
|
|
349
|
+
// Retrieve command removed in v12.0.0 - too complex, not useful
|
|
603
350
|
// MCP command group (v9.1.1)
|
|
604
351
|
const mcpCmd = program
|
|
605
352
|
.command('mcp')
|
|
@@ -641,29 +388,7 @@ mcpCmd
|
|
|
641
388
|
.action(async () => {
|
|
642
389
|
await mcpServeCommand();
|
|
643
390
|
});
|
|
644
|
-
// Watch command
|
|
645
|
-
const watchCmd = program
|
|
646
|
-
.command('watch')
|
|
647
|
-
.description('Real-time file watching for automatic state updates (v9.0.0)');
|
|
648
|
-
watchCmd
|
|
649
|
-
.option('--verbose', 'Show detailed change information')
|
|
650
|
-
.option('--polling', 'Use polling instead of native events (for network drives)')
|
|
651
|
-
.option('--poll-interval <ms>', 'Polling interval in milliseconds', parseInt)
|
|
652
|
-
.option('--debounce <ms>', 'Debounce delay in milliseconds', parseInt)
|
|
653
|
-
.action(async (options) => {
|
|
654
|
-
await watchCommand({
|
|
655
|
-
verbose: options.verbose,
|
|
656
|
-
polling: options.polling,
|
|
657
|
-
pollInterval: options.pollInterval,
|
|
658
|
-
debounceDelay: options.debounce,
|
|
659
|
-
});
|
|
660
|
-
});
|
|
661
|
-
watchCmd
|
|
662
|
-
.command('status')
|
|
663
|
-
.description('Show watcher status')
|
|
664
|
-
.action(async () => {
|
|
665
|
-
await watchStatusCommand();
|
|
666
|
-
});
|
|
391
|
+
// Watch command removed in v12.0.0 - hooks handle file changes
|
|
667
392
|
// HUD command (v9.0.1)
|
|
668
393
|
const hudCmd = program
|
|
669
394
|
.command('hud')
|
|
@@ -711,43 +436,13 @@ hudCmd
|
|
|
711
436
|
.action(async () => {
|
|
712
437
|
await hudDebugClearCommand();
|
|
713
438
|
});
|
|
714
|
-
// Handoff command
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
.description('Manage session handoff context for continuity (v9.0.2)');
|
|
718
|
-
handoffCmd
|
|
719
|
-
.command('create')
|
|
720
|
-
.description('Save current context for handoff')
|
|
721
|
-
.option('-n, --notes <text>', 'Add notes for the next session')
|
|
722
|
-
.option('--json', 'Output as JSON')
|
|
723
|
-
.action(async (options) => {
|
|
724
|
-
await handoffCreateCommand(options);
|
|
725
|
-
});
|
|
726
|
-
handoffCmd
|
|
727
|
-
.command('load')
|
|
728
|
-
.description('Load handoff context (used by /dino.handoff skill)')
|
|
729
|
-
.option('--json', 'Output as JSON')
|
|
730
|
-
.action(async (options) => {
|
|
731
|
-
await handoffLoadCommand(options);
|
|
732
|
-
});
|
|
733
|
-
handoffCmd
|
|
734
|
-
.command('status')
|
|
735
|
-
.description('Show pending handoff status')
|
|
736
|
-
.option('--json', 'Output as JSON')
|
|
737
|
-
.action(async (options) => {
|
|
738
|
-
await handoffStatusCommand(options);
|
|
739
|
-
});
|
|
740
|
-
handoffCmd
|
|
741
|
-
.command('clear')
|
|
742
|
-
.description('Clear handoff files')
|
|
743
|
-
.option('-f, --force', 'Skip confirmation')
|
|
744
|
-
.action(async (options) => {
|
|
745
|
-
await handoffClearCommand(options);
|
|
746
|
-
});
|
|
747
|
-
// Setup command (v11.5.0) - Interactive provider setup wizard
|
|
748
|
-
program
|
|
439
|
+
// Handoff command removed in v12.0.0 - AI agent handles continuity
|
|
440
|
+
// Setup command (v12.0.0: merged provider commands)
|
|
441
|
+
const setupCmd = program
|
|
749
442
|
.command('setup')
|
|
750
|
-
.description('
|
|
443
|
+
.description('Configure Claude Code providers and API settings');
|
|
444
|
+
// Default action: interactive wizard
|
|
445
|
+
setupCmd
|
|
751
446
|
.option('--provider <name>', 'Provider name (for non-interactive mode)')
|
|
752
447
|
.option('--key <key>', 'API key (for non-interactive mode)')
|
|
753
448
|
.option('--url <url>', 'Base URL (auto-detected for known providers)')
|
|
@@ -761,40 +456,37 @@ program
|
|
|
761
456
|
.action(async (options) => {
|
|
762
457
|
await setupCommand(options);
|
|
763
458
|
});
|
|
764
|
-
// Provider
|
|
765
|
-
|
|
766
|
-
.command('provider')
|
|
767
|
-
.description('Manage API providers for Claude Code (v11.4.0)');
|
|
768
|
-
providerCmd
|
|
459
|
+
// Provider subcommands merged into setup
|
|
460
|
+
setupCmd
|
|
769
461
|
.command('add <name>')
|
|
770
462
|
.description('Add a provider (e.g., zai, anthropic, minimax)')
|
|
771
463
|
.option('--key <key>', 'API key (required)')
|
|
772
464
|
.option('--url <url>', 'Base URL (auto-detected for known providers)')
|
|
773
465
|
.option('--model <model>', 'Default model (ANTHROPIC_MODEL)')
|
|
774
|
-
.option('--haiku <model>', 'Haiku-class model
|
|
775
|
-
.option('--sonnet <model>', 'Sonnet-class model
|
|
776
|
-
.option('--opus <model>', 'Opus-class model
|
|
466
|
+
.option('--haiku <model>', 'Haiku-class model')
|
|
467
|
+
.option('--sonnet <model>', 'Sonnet-class model')
|
|
468
|
+
.option('--opus <model>', 'Opus-class model')
|
|
777
469
|
.option('--disable-nonessential-traffic', 'Disable telemetry, updates, error reporting')
|
|
778
470
|
.option('--auth-token', 'Use Bearer token auth instead of API key')
|
|
779
471
|
.option('--json', 'Output as JSON')
|
|
780
472
|
.action(async (name, options) => {
|
|
781
473
|
await providerAddCommand(name, options);
|
|
782
474
|
});
|
|
783
|
-
|
|
475
|
+
setupCmd
|
|
784
476
|
.command('list')
|
|
785
477
|
.description('List configured providers')
|
|
786
478
|
.option('--json', 'Output as JSON')
|
|
787
479
|
.action(async (options) => {
|
|
788
480
|
await providerListCommand(options);
|
|
789
481
|
});
|
|
790
|
-
|
|
482
|
+
setupCmd
|
|
791
483
|
.command('show <name>')
|
|
792
484
|
.description('Show provider details and environment variables')
|
|
793
485
|
.option('--json', 'Output as JSON')
|
|
794
486
|
.action(async (name, options) => {
|
|
795
487
|
await providerShowCommand(name, options);
|
|
796
488
|
});
|
|
797
|
-
|
|
489
|
+
setupCmd
|
|
798
490
|
.command('remove <name>')
|
|
799
491
|
.description('Remove a provider')
|
|
800
492
|
.option('-f, --force', 'Skip confirmation')
|
|
@@ -802,36 +494,15 @@ providerCmd
|
|
|
802
494
|
.action(async (name, options) => {
|
|
803
495
|
await providerRemoveCommand(name, options);
|
|
804
496
|
});
|
|
805
|
-
|
|
806
|
-
.command('
|
|
497
|
+
setupCmd
|
|
498
|
+
.command('shell')
|
|
807
499
|
.description('Generate shell functions for your $PROFILE')
|
|
808
500
|
.option('-s, --shell <shell>', 'Shell type: powershell, bash (auto-detected)')
|
|
809
501
|
.option('--json', 'Output as JSON')
|
|
810
502
|
.action(async (options) => {
|
|
811
503
|
await providerSetupCommand(options);
|
|
812
504
|
});
|
|
813
|
-
//
|
|
814
|
-
program
|
|
815
|
-
.command('check')
|
|
816
|
-
.description('Check if updates are available')
|
|
817
|
-
.option('--json', 'Output as JSON')
|
|
818
|
-
.action(async (options) => {
|
|
819
|
-
await checkCommand(options);
|
|
820
|
-
});
|
|
821
|
-
// Update command
|
|
822
|
-
program
|
|
823
|
-
.command('update')
|
|
824
|
-
.description('Update managed files to latest version')
|
|
825
|
-
.option('--dry-run', 'Preview changes without applying')
|
|
826
|
-
.option('-f, --force', 'Update even customized files')
|
|
827
|
-
.option('--scope <scope>', 'Update scope: all, skills, rules, agents, statusline, mcp', 'all')
|
|
828
|
-
.action(async (options) => {
|
|
829
|
-
await updateCommand({
|
|
830
|
-
dryRun: options.dryRun,
|
|
831
|
-
force: options.force,
|
|
832
|
-
scope: options.scope,
|
|
833
|
-
});
|
|
834
|
-
});
|
|
505
|
+
// Update command removed in v12.0.0 - use: dino init --update
|
|
835
506
|
// Parse and execute
|
|
836
507
|
program.parse();
|
|
837
508
|
//# sourceMappingURL=index.js.map
|