hail-hydra-cc 2.3.1 → 2.4.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 CHANGED
@@ -1,99 +1,99 @@
1
- # hail-hydra-cc
2
-
3
- > Multi-headed speculative execution framework for Claude Code.
4
- > Inspired by speculative decoding — same quality, 3x faster, ~50% cheaper.
5
-
6
- ## Quick Install
7
-
8
- ```bash
9
- npx hail-hydra-cc
10
- ```
11
-
12
- Runs an interactive installer that deploys 10 Hydra agents into your Claude Code setup.
13
-
14
- ## What is Hydra?
15
-
16
- Hydra makes Claude Code's Opus model an intelligent **orchestrator** instead of doing everything itself. It dispatches fast, cheap Haiku 4.5 and Sonnet 4.6 "heads" for routine tasks, reserving Opus-level reasoning only for genuinely hard problems.
17
-
18
- | Head | Model | Role |
19
- |------|-------|------|
20
- | `hydra-scout` | 🟢 Haiku 4.5 | Codebase exploration, file search |
21
- | `hydra-runner` | 🟢 Haiku 4.5 | Test execution, builds, linting |
22
- | `hydra-scribe` | 🟢 Haiku 4.5 | Documentation, READMEs, comments |
23
- | `hydra-guard` | 🟢 Haiku 4.5 | Security/quality gate after code changes |
24
- | `hydra-git` | 🟢 Haiku 4.5 | Git operations: commit, branch, diff |
25
- | `hydra-coder` | 🔵 Sonnet 4.6 | Code implementation, refactoring |
26
- | `hydra-analyst` | 🔵 Sonnet 4.6 | Code review, debugging, analysis |
27
- | `hydra-sentinel-scan` | 🟢 Haiku 4.5 | Fast integration sweep |
28
- | `hydra-sentinel` | 🔵 Sonnet 4.6 | Deep integration analysis |
29
- | `hydra-preflight` | 🟢 Haiku 4.5 | Environment detection, version probing, dep inventory |
30
-
31
- **Expected gains:** 2–3× faster tasks, ~50% lower API costs, zero quality loss.
32
- (Savings calculated against Opus 4.6 at $5/$25 per MTok — February 2026 pricing)
33
-
34
- ## Usage
35
-
36
- ```bash
37
- npx hail-hydra-cc # Interactive install (recommended)
38
- npx hail-hydra-cc --global # Install to ~/.claude/ — all projects
39
- npx hail-hydra-cc --local # Install to ./.claude/ — this project
40
- npx hail-hydra-cc --both # Install both locations
41
- npx hail-hydra-cc --status # Show what's installed
42
- npx hail-hydra-cc --uninstall # Remove all Hydra files
43
- npx hail-hydra-cc --help # Show help
44
- ```
45
-
46
- ## What Gets Installed
47
-
48
- ```
49
- ~/.claude/ (or ./.claude/ for local)
50
- ├── agents/ # 10 agent definitions
51
- │ ├── hydra-scout.md
52
- │ ├── hydra-runner.md
53
- │ ├── hydra-scribe.md
54
- │ ├── hydra-guard.md
55
- │ ├── hydra-git.md
56
- │ ├── hydra-sentinel-scan.md
57
- │ ├── hydra-preflight.md
58
- │ ├── hydra-coder.md
59
- │ ├── hydra-analyst.md
60
- │ └── hydra-sentinel.md
61
- ├── commands/hydra/ # 10 slash commands
62
- │ ├── help.md # /hydra:help
63
- │ ├── status.md # /hydra:status
64
- │ ├── update.md # /hydra:update
65
- │ ├── config.md # /hydra:config
66
- │ ├── guard.md # /hydra:guard
67
- │ ├── quiet.md # /hydra:quiet
68
- │ ├── verbose.md # /hydra:verbose
69
- │ ├── report.md # /hydra:report
70
- │ ├── map.md # /hydra:map
71
- │ └── preflight.md # /hydra:preflight
72
- ├── hooks/ # 4 lifecycle hooks
73
- │ ├── hydra-check-update.js # SessionStart — version check
74
- │ ├── hydra-statusline.js # StatusLine — status bar
75
- │ ├── hydra-auto-guard.js # PostToolUse — file tracker
76
- │ ├── hydra-notify.js # Notification — task completion sound
77
- │ └── hydra-task-complete.wav # Notification sound file
78
- └── skills/hydra/ # Skill (Claude Code discoverable via /skills)
79
- ├── SKILL.md # Orchestrator instructions
80
- ├── VERSION # Installed version
81
- └── references/
82
- ├── routing-guide.md
83
- └── model-capabilities.md
84
- ```
85
-
86
- All files are **bundled inside this package** — no network requests during installation.
87
-
88
- ## Requirements
89
-
90
- - Node.js 16+
91
- - Claude Code
92
-
93
- ## Full Documentation
94
-
95
- [github.com/AR6420/Hail_Hydra](https://github.com/AR6420/Hail_Hydra)
96
-
97
- ## License
98
-
99
- MIT
1
+ # hail-hydra-cc
2
+
3
+ > Multi-headed speculative execution framework for Claude Code.
4
+ > Inspired by speculative decoding — same quality, 3x faster, ~50% cheaper.
5
+
6
+ ## Quick Install
7
+
8
+ ```bash
9
+ npx hail-hydra-cc
10
+ ```
11
+
12
+ Runs an interactive installer that deploys 10 Hydra agents into your Claude Code setup.
13
+
14
+ ## What is Hydra?
15
+
16
+ Hydra makes Claude Code's Opus model an intelligent **orchestrator** instead of doing everything itself. It dispatches fast, cheap Haiku 4.5 and Sonnet 4.6 "heads" for routine tasks, reserving Opus-level reasoning only for genuinely hard problems.
17
+
18
+ | Head | Model | Role |
19
+ |------|-------|------|
20
+ | `hydra-scout` | 🟢 Haiku 4.5 | Codebase exploration, file search |
21
+ | `hydra-runner` | 🟢 Haiku 4.5 | Test execution, builds, linting |
22
+ | `hydra-scribe` | 🟢 Haiku 4.5 | Documentation, READMEs, comments |
23
+ | `hydra-guard` | 🟢 Haiku 4.5 | Security/quality gate after code changes |
24
+ | `hydra-git` | 🟢 Haiku 4.5 | Git operations: commit, branch, diff |
25
+ | `hydra-coder` | 🔵 Sonnet 4.6 | Code implementation, refactoring |
26
+ | `hydra-analyst` | 🔵 Sonnet 4.6 | Code review, debugging, analysis |
27
+ | `hydra-sentinel-scan` | 🟢 Haiku 4.5 | Fast integration sweep |
28
+ | `hydra-sentinel` | 🔵 Sonnet 4.6 | Deep integration analysis |
29
+ | `hydra-preflight` | 🟢 Haiku 4.5 | Environment detection, version probing, dep inventory |
30
+
31
+ **Expected gains:** 2–3× faster tasks, ~50% lower API costs, zero quality loss.
32
+ (Savings calculated against Opus 4.6 at $5/$25 per MTok — February 2026 pricing)
33
+
34
+ ## Usage
35
+
36
+ ```bash
37
+ npx hail-hydra-cc # Interactive install (recommended)
38
+ npx hail-hydra-cc --global # Install to ~/.claude/ — all projects
39
+ npx hail-hydra-cc --local # Install to ./.claude/ — this project
40
+ npx hail-hydra-cc --both # Install both locations
41
+ npx hail-hydra-cc --status # Show what's installed
42
+ npx hail-hydra-cc --uninstall # Remove all Hydra files
43
+ npx hail-hydra-cc --help # Show help
44
+ ```
45
+
46
+ ## What Gets Installed
47
+
48
+ ```
49
+ ~/.claude/ (or ./.claude/ for local)
50
+ ├── agents/ # 10 agent definitions
51
+ │ ├── hydra-scout.md
52
+ │ ├── hydra-runner.md
53
+ │ ├── hydra-scribe.md
54
+ │ ├── hydra-guard.md
55
+ │ ├── hydra-git.md
56
+ │ ├── hydra-sentinel-scan.md
57
+ │ ├── hydra-preflight.md
58
+ │ ├── hydra-coder.md
59
+ │ ├── hydra-analyst.md
60
+ │ └── hydra-sentinel.md
61
+ ├── commands/hydra/ # 10 slash commands
62
+ │ ├── help.md # /hydra:help
63
+ │ ├── status.md # /hydra:status
64
+ │ ├── update.md # /hydra:update
65
+ │ ├── config.md # /hydra:config
66
+ │ ├── guard.md # /hydra:guard
67
+ │ ├── quiet.md # /hydra:quiet
68
+ │ ├── verbose.md # /hydra:verbose
69
+ │ ├── report.md # /hydra:report
70
+ │ ├── map.md # /hydra:map
71
+ │ └── preflight.md # /hydra:preflight
72
+ ├── hooks/ # 4 lifecycle hooks
73
+ │ ├── hydra-check-update.js # SessionStart — version check
74
+ │ ├── hydra-statusline.js # StatusLine — status bar
75
+ │ ├── hydra-auto-guard.js # PostToolUse — file tracker
76
+ │ ├── hydra-notify.js # Notification — task completion sound
77
+ │ └── hydra-task-complete.wav # Notification sound file
78
+ └── skills/hydra/ # Skill (Claude Code discoverable via /skills)
79
+ ├── SKILL.md # Orchestrator instructions
80
+ ├── VERSION # Installed version
81
+ └── references/
82
+ ├── routing-guide.md
83
+ └── model-capabilities.md
84
+ ```
85
+
86
+ All files are **bundled inside this package** — no network requests during installation.
87
+
88
+ ## Requirements
89
+
90
+ - Node.js 16+
91
+ - Claude Code
92
+
93
+ ## Full Documentation
94
+
95
+ [github.com/AR6420/Hail_Hydra](https://github.com/AR6420/Hail_Hydra)
96
+
97
+ ## License
98
+
99
+ MIT
package/bin/cli.js CHANGED
@@ -1,105 +1,105 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
-
4
- // ── Node version guard ────────────────────────────────────────────────────────
5
- const nodeMajor = parseInt(process.version.slice(1).split('.')[0], 10);
6
- if (nodeMajor < 16) {
7
- process.stderr.write(
8
- `\nError: hail-hydra-cc requires Node.js 16 or higher.\n` +
9
- `You have ${process.version}. Please upgrade: https://nodejs.org\n\n`
10
- );
11
- process.exit(1);
12
- }
13
-
14
- // ── Imports ───────────────────────────────────────────────────────────────────
15
- const { program } = require('commander');
16
- const { showLogo } = require('../src/display');
17
- const installer = require('../src/installer');
18
- const { runPrompts } = require('../src/prompts');
19
- const { VERSION } = require('../src/display');
20
-
21
- // ── CLI definition ────────────────────────────────────────────────────────────
22
- program
23
- .name('hail-hydra-cc')
24
- .description('Multi-headed speculative execution framework for Claude Code')
25
- .version(VERSION, '-v, --version', 'Output the current version')
26
- .option('--global', 'Skip prompts, install to ~/.claude/ (all projects)')
27
- .option('--local', 'Skip prompts, install to ./.claude/ (this project)')
28
- .option('--both', 'Skip prompts, install to both locations')
29
- .option('--uninstall', 'Remove all Hydra files from global and local locations')
30
- .option('--status', "Show what's currently installed and where")
31
- .addHelpText('after', `
32
- Examples:
33
- npx hail-hydra-cc Interactive installation (recommended)
34
- npx hail-hydra-cc --global Install globally — no prompts
35
- npx hail-hydra-cc --local Install locally — no prompts
36
- npx hail-hydra-cc --both Install both — no prompts
37
- npx hail-hydra-cc --status Check installation status
38
- npx hail-hydra-cc --uninstall Remove all Hydra files
39
-
40
- What gets installed:
41
- ~/.claude/agents/ 9 Hydra agent .md files
42
- ~/.claude/skills/hydra/SKILL.md Core framework instructions
43
- ~/.claude/skills/hydra/references/ Model capabilities & routing guides
44
- `);
45
-
46
- // ── Main action ───────────────────────────────────────────────────────────────
47
- program.action(async (options) => {
48
- showLogo();
49
-
50
- try {
51
- if (options.status) {
52
- await installer.showStatus();
53
- return;
54
- }
55
-
56
- if (options.uninstall) {
57
- await installer.runUninstall({ interactive: true });
58
- return;
59
- }
60
-
61
- if (options.global) {
62
- await installer.runInstall('global', { nonInteractive: true });
63
- return;
64
- }
65
-
66
- if (options.local) {
67
- await installer.runInstall('local', { nonInteractive: true });
68
- return;
69
- }
70
-
71
- if (options.both) {
72
- await installer.runInstall('both', { nonInteractive: true });
73
- return;
74
- }
75
-
76
- // No flags — run interactive prompts
77
- const scope = await runPrompts();
78
- if (scope) {
79
- await installer.runInstall(scope);
80
- }
81
- } catch (err) {
82
- const chalk = require('chalk');
83
-
84
- if (err.code === 'EACCES') {
85
- console.error(
86
- chalk.red('\n ✖ Permission denied.') +
87
- chalk.gray(' Try:\n') +
88
- chalk.gray(' sudo npx hail-hydra-cc --global\n') +
89
- chalk.gray(' npx hail-hydra-cc --local (no sudo needed)\n')
90
- );
91
- } else if (
92
- err.message &&
93
- (err.message.includes('User force closed') || err.message.includes('canceled'))
94
- ) {
95
- console.log(chalk.gray('\n Installation cancelled.\n'));
96
- } else {
97
- console.error(chalk.red(`\n ✖ Error: ${err.message}\n`));
98
- if (process.env.DEBUG) console.error(err.stack);
99
- }
100
-
101
- process.exit(1);
102
- }
103
- });
104
-
105
- program.parseAsync(process.argv);
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ // ── Node version guard ────────────────────────────────────────────────────────
5
+ const nodeMajor = parseInt(process.version.slice(1).split('.')[0], 10);
6
+ if (nodeMajor < 16) {
7
+ process.stderr.write(
8
+ `\nError: hail-hydra-cc requires Node.js 16 or higher.\n` +
9
+ `You have ${process.version}. Please upgrade: https://nodejs.org\n\n`
10
+ );
11
+ process.exit(1);
12
+ }
13
+
14
+ // ── Imports ───────────────────────────────────────────────────────────────────
15
+ const { program } = require('commander');
16
+ const { showLogo } = require('../src/display');
17
+ const installer = require('../src/installer');
18
+ const { runPrompts } = require('../src/prompts');
19
+ const { VERSION } = require('../src/display');
20
+
21
+ // ── CLI definition ────────────────────────────────────────────────────────────
22
+ program
23
+ .name('hail-hydra-cc')
24
+ .description('Multi-headed speculative execution framework for Claude Code')
25
+ .version(VERSION, '-v, --version', 'Output the current version')
26
+ .option('--global', 'Skip prompts, install to ~/.claude/ (all projects)')
27
+ .option('--local', 'Skip prompts, install to ./.claude/ (this project)')
28
+ .option('--both', 'Skip prompts, install to both locations')
29
+ .option('--uninstall', 'Remove all Hydra files from global and local locations')
30
+ .option('--status', "Show what's currently installed and where")
31
+ .addHelpText('after', `
32
+ Examples:
33
+ npx hail-hydra-cc Interactive installation (recommended)
34
+ npx hail-hydra-cc --global Install globally — no prompts
35
+ npx hail-hydra-cc --local Install locally — no prompts
36
+ npx hail-hydra-cc --both Install both — no prompts
37
+ npx hail-hydra-cc --status Check installation status
38
+ npx hail-hydra-cc --uninstall Remove all Hydra files
39
+
40
+ What gets installed:
41
+ ~/.claude/agents/ 9 Hydra agent .md files
42
+ ~/.claude/skills/hydra/SKILL.md Core framework instructions
43
+ ~/.claude/skills/hydra/references/ Model capabilities & routing guides
44
+ `);
45
+
46
+ // ── Main action ───────────────────────────────────────────────────────────────
47
+ program.action(async (options) => {
48
+ showLogo();
49
+
50
+ try {
51
+ if (options.status) {
52
+ await installer.showStatus();
53
+ return;
54
+ }
55
+
56
+ if (options.uninstall) {
57
+ await installer.runUninstall({ interactive: true });
58
+ return;
59
+ }
60
+
61
+ if (options.global) {
62
+ await installer.runInstall('global', { nonInteractive: true });
63
+ return;
64
+ }
65
+
66
+ if (options.local) {
67
+ await installer.runInstall('local', { nonInteractive: true });
68
+ return;
69
+ }
70
+
71
+ if (options.both) {
72
+ await installer.runInstall('both', { nonInteractive: true });
73
+ return;
74
+ }
75
+
76
+ // No flags — run interactive prompts
77
+ const scope = await runPrompts();
78
+ if (scope) {
79
+ await installer.runInstall(scope);
80
+ }
81
+ } catch (err) {
82
+ const chalk = require('chalk');
83
+
84
+ if (err.code === 'EACCES') {
85
+ console.error(
86
+ chalk.red('\n ✖ Permission denied.') +
87
+ chalk.gray(' Try:\n') +
88
+ chalk.gray(' sudo npx hail-hydra-cc --global\n') +
89
+ chalk.gray(' npx hail-hydra-cc --local (no sudo needed)\n')
90
+ );
91
+ } else if (
92
+ err.message &&
93
+ (err.message.includes('User force closed') || err.message.includes('canceled'))
94
+ ) {
95
+ console.log(chalk.gray('\n Installation cancelled.\n'));
96
+ } else {
97
+ console.error(chalk.red(`\n ✖ Error: ${err.message}\n`));
98
+ if (process.env.DEBUG) console.error(err.stack);
99
+ }
100
+
101
+ process.exit(1);
102
+ }
103
+ });
104
+
105
+ program.parseAsync(process.argv);