@thebushidocollective/han 1.44.1 → 1.45.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
@@ -20,8 +20,8 @@ Han organizes plugins into four categories inspired by Japanese samurai traditio
20
20
 
21
21
  - **Bushido** (武士道) - Core principles, enforcement hooks, and foundational quality skills
22
22
  - **Do** (道 - The Way) - Specialized agents for development disciplines and practices
23
- - **Buki** (武器 - Weapons) - Language and tool skills with validation hooks for quality
24
- - **Sensei** (先生 - Teachers) - MCP servers providing external knowledge and integrations
23
+ - **Jutsu** ( - Techniques) - Language and tool skills with validation hooks for quality
24
+ - **Hashi** ( - Bridges) - MCP servers providing external knowledge and integrations
25
25
 
26
26
  ## Commands
27
27
 
@@ -1,3 +1,3 @@
1
- export declare const HAN_VERSION = "1.44.1";
1
+ export declare const HAN_VERSION = "1.45.0";
2
2
  export declare const DETECT_PLUGINS_PROMPT = "<!--\nThis prompt template is dynamically enhanced in shared.ts with:\n1. GIT REPOSITORY section - Remote URL to determine hosting platform (GitHub, GitLab, etc.)\n2. CURRENTLY INSTALLED PLUGINS section - List of plugins already installed (if any)\n3. CODEBASE STATISTICS section - File extensions and config file names from codebase-analyzer.ts\n4. AVAILABLE PLUGINS IN MARKETPLACE section - Plugin list from marketplace.json\n\nThese sections are appended to this base prompt at runtime.\n-->\n\n# Han Plugin Installer Assistant\n\nYou are a Han plugin installer assistant. Your goal is to analyze the current codebase and recommend appropriate Claude Code plugins from the Han marketplace.\n\nThe available plugins from the marketplace are provided below. ONLY recommend plugins from this list.\n\n## Plugin Categories\n\n- **jutsu-\\*** (\u6B66\u5668 weapons): Skills for specific technologies and frameworks\n- **do-\\*** (\u9053 disciplines): Specialized agents for development practices and workflows\n- **hashi-\\*** (\u5148\u751F teachers): MCP servers for external integrations\n- **bushido**: Core quality principles (ALWAYS recommend this)\n\n## Your Analysis Process\n\n### STEP 1: Analyze currently installed plugins (if provided)\n\n- Check if CURRENTLY INSTALLED PLUGINS section is provided in the prompt\n- If provided, you should:\n - **Understand why each plugin was likely added**: Look at plugin descriptions and infer original use case\n - Example: `jutsu-typescript` suggests TypeScript development\n - Example: `hashi-github` suggests GitHub integration needs\n - Example: `do-frontend-development` suggests frontend focus\n - **Determine if each plugin is still relevant**:\n - Use the codebase statistics and configuration files to verify if the technology/practice is still in use\n - A plugin is still relevant if its associated technology/practice is actively used in the codebase\n - A plugin may be irrelevant if:\n - The technology was removed (e.g., no more .ts files but jutsu-typescript is installed)\n - The project migrated to a different platform (e.g., moved from GitHub to GitLab)\n - The framework changed (e.g., migrated from React to Vue)\n - **Keep relevant plugins in your recommendations**: If a plugin is still relevant, include it in your final list\n - **Exclude irrelevant plugins**: If a plugin is no longer needed, do not include it in your recommendations\n\n### STEP 2: Check git repository hosting platform (if provided)\n\n- Check if GIT REPOSITORY section is provided in the prompt\n- If provided, examine the remote URL to determine the hosting platform:\n - URLs containing `github.com` \u2192 recommend `hashi-github`\n - URLs containing `gitlab.com` or other GitLab instances \u2192 recommend `hashi-gitlab`\n - This helps integrate Claude Code with the project's issue tracking, PRs/MRs, and CI/CD\n\n### STEP 3: Review pre-computed codebase statistics (if provided)\n\n- Check if CODEBASE STATISTICS section is provided in the prompt\n- If provided, you have:\n - **File extension counts** (e.g., .ts: 456, .py: 123) - interpret these as technologies\n - .ts, .tsx, .jsx = TypeScript/JavaScript\n - .py = Python\n - .rs = Rust\n - .go = Go\n - .rb = Ruby\n - .ex, .exs = Elixir\n - .vue = Vue.js\n - etc.\n - **Config file names** (e.g., package.json, Cargo.toml, go.mod) - these reveal frameworks and tools\n- If statistics are NOT provided, use Glob to discover file types\n - Example: glob(\"\\*_/_.ts\") to find TypeScript files\n - Example: glob(\"\\*_/_.py\") to find Python files\n\n### STEP 4: Examine key configuration files\n\n- Config files are already identified in the statistics (if provided)\n- Use Read tool to examine important config files:\n - package.json - reveals Node.js frameworks, dependencies\n - Cargo.toml - reveals Rust dependencies\n - go.mod - reveals Go dependencies\n - requirements.txt, pyproject.toml - reveals Python dependencies\n - mix.exs - reveals Elixir dependencies\n- Use Grep to search for framework-specific patterns\n - Example: grep(\"import.\\*react\") to confirm React usage\n - Example: grep(\"from django\") to confirm Django usage\n\n### STEP 5: Identify technologies and patterns\n\n- Programming languages (TypeScript, Python, Go, Rust, Ruby, etc.)\n- Frameworks and libraries (React, Vue, Django, Rails, etc.)\n- Testing frameworks (Jest, Pytest, RSpec, etc.)\n- Build tools and infrastructure (Docker, Kubernetes, etc.)\n- Development practices (API development, frontend development, mobile, etc.)\n- Content patterns (blog posts, documentation, CMS usage)\n- CI/CD configurations\n- Accessibility tooling\n\n### STEP 6: Match findings to available plugins\n\n- Look at the plugin descriptions and keywords below\n- Cross-reference detected technologies with available jutsu-\\* plugins\n- Cross-reference development practices with available do-\\* plugins\n- Cross-reference integrations with available hashi-\\* plugins\n- ONLY recommend plugins from the list provided\n- Aim for 3-8 total plugins that best match the codebase\n- Always include \"bushido\" as it's the core plugin\n\n## Output Format\n\nReturn ONLY a JSON array of recommended plugin names from the available plugins list:\n\n```json\n[\"bushido\", \"jutsu-typescript\", \"jutsu-react\", \"do-frontend-development\"]\n```\n\n**CRITICAL**: Only recommend plugins that appear in the AVAILABLE PLUGINS list below. Never recommend plugins not in the list.\n";
3
3
  //# sourceMappingURL=build-info.generated.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Auto-generated by build-bundle.js - DO NOT EDIT
2
- export const HAN_VERSION = "1.44.1";
2
+ export const HAN_VERSION = "1.45.0";
3
3
  export const DETECT_PLUGINS_PROMPT = "<!--\nThis prompt template is dynamically enhanced in shared.ts with:\n1. GIT REPOSITORY section - Remote URL to determine hosting platform (GitHub, GitLab, etc.)\n2. CURRENTLY INSTALLED PLUGINS section - List of plugins already installed (if any)\n3. CODEBASE STATISTICS section - File extensions and config file names from codebase-analyzer.ts\n4. AVAILABLE PLUGINS IN MARKETPLACE section - Plugin list from marketplace.json\n\nThese sections are appended to this base prompt at runtime.\n-->\n\n# Han Plugin Installer Assistant\n\nYou are a Han plugin installer assistant. Your goal is to analyze the current codebase and recommend appropriate Claude Code plugins from the Han marketplace.\n\nThe available plugins from the marketplace are provided below. ONLY recommend plugins from this list.\n\n## Plugin Categories\n\n- **jutsu-\\*** (武器 weapons): Skills for specific technologies and frameworks\n- **do-\\*** (道 disciplines): Specialized agents for development practices and workflows\n- **hashi-\\*** (先生 teachers): MCP servers for external integrations\n- **bushido**: Core quality principles (ALWAYS recommend this)\n\n## Your Analysis Process\n\n### STEP 1: Analyze currently installed plugins (if provided)\n\n- Check if CURRENTLY INSTALLED PLUGINS section is provided in the prompt\n- If provided, you should:\n - **Understand why each plugin was likely added**: Look at plugin descriptions and infer original use case\n - Example: `jutsu-typescript` suggests TypeScript development\n - Example: `hashi-github` suggests GitHub integration needs\n - Example: `do-frontend-development` suggests frontend focus\n - **Determine if each plugin is still relevant**:\n - Use the codebase statistics and configuration files to verify if the technology/practice is still in use\n - A plugin is still relevant if its associated technology/practice is actively used in the codebase\n - A plugin may be irrelevant if:\n - The technology was removed (e.g., no more .ts files but jutsu-typescript is installed)\n - The project migrated to a different platform (e.g., moved from GitHub to GitLab)\n - The framework changed (e.g., migrated from React to Vue)\n - **Keep relevant plugins in your recommendations**: If a plugin is still relevant, include it in your final list\n - **Exclude irrelevant plugins**: If a plugin is no longer needed, do not include it in your recommendations\n\n### STEP 2: Check git repository hosting platform (if provided)\n\n- Check if GIT REPOSITORY section is provided in the prompt\n- If provided, examine the remote URL to determine the hosting platform:\n - URLs containing `github.com` → recommend `hashi-github`\n - URLs containing `gitlab.com` or other GitLab instances → recommend `hashi-gitlab`\n - This helps integrate Claude Code with the project's issue tracking, PRs/MRs, and CI/CD\n\n### STEP 3: Review pre-computed codebase statistics (if provided)\n\n- Check if CODEBASE STATISTICS section is provided in the prompt\n- If provided, you have:\n - **File extension counts** (e.g., .ts: 456, .py: 123) - interpret these as technologies\n - .ts, .tsx, .jsx = TypeScript/JavaScript\n - .py = Python\n - .rs = Rust\n - .go = Go\n - .rb = Ruby\n - .ex, .exs = Elixir\n - .vue = Vue.js\n - etc.\n - **Config file names** (e.g., package.json, Cargo.toml, go.mod) - these reveal frameworks and tools\n- If statistics are NOT provided, use Glob to discover file types\n - Example: glob(\"\\*_/_.ts\") to find TypeScript files\n - Example: glob(\"\\*_/_.py\") to find Python files\n\n### STEP 4: Examine key configuration files\n\n- Config files are already identified in the statistics (if provided)\n- Use Read tool to examine important config files:\n - package.json - reveals Node.js frameworks, dependencies\n - Cargo.toml - reveals Rust dependencies\n - go.mod - reveals Go dependencies\n - requirements.txt, pyproject.toml - reveals Python dependencies\n - mix.exs - reveals Elixir dependencies\n- Use Grep to search for framework-specific patterns\n - Example: grep(\"import.\\*react\") to confirm React usage\n - Example: grep(\"from django\") to confirm Django usage\n\n### STEP 5: Identify technologies and patterns\n\n- Programming languages (TypeScript, Python, Go, Rust, Ruby, etc.)\n- Frameworks and libraries (React, Vue, Django, Rails, etc.)\n- Testing frameworks (Jest, Pytest, RSpec, etc.)\n- Build tools and infrastructure (Docker, Kubernetes, etc.)\n- Development practices (API development, frontend development, mobile, etc.)\n- Content patterns (blog posts, documentation, CMS usage)\n- CI/CD configurations\n- Accessibility tooling\n\n### STEP 6: Match findings to available plugins\n\n- Look at the plugin descriptions and keywords below\n- Cross-reference detected technologies with available jutsu-\\* plugins\n- Cross-reference development practices with available do-\\* plugins\n- Cross-reference integrations with available hashi-\\* plugins\n- ONLY recommend plugins from the list provided\n- Aim for 3-8 total plugins that best match the codebase\n- Always include \"bushido\" as it's the core plugin\n\n## Output Format\n\nReturn ONLY a JSON array of recommended plugin names from the available plugins list:\n\n```json\n[\"bushido\", \"jutsu-typescript\", \"jutsu-react\", \"do-frontend-development\"]\n```\n\n**CRITICAL**: Only recommend plugins that appear in the AVAILABLE PLUGINS list below. Never recommend plugins not in the list.\n";
4
4
  //# sourceMappingURL=build-info.generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../lib/commands/hook/explain.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoYzC,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAoB9D"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../lib/commands/hook/explain.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqRzC,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAoB9D"}
@@ -1,6 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { existsSync, readFileSync } from "node:fs";
2
3
  import { join } from "node:path";
4
+ import { render } from "ink";
3
5
  import { getClaudeConfigDir, getMergedPluginsAndMarketplaces, getSettingsPaths, readSettingsFile, } from "../../claude-settings.js";
6
+ import { HookExplainUI } from "../../hook-explain-ui.js";
4
7
  /**
5
8
  * Find plugin in a marketplace root directory
6
9
  */
@@ -168,31 +171,7 @@ function getPluginHooks() {
168
171
  return sources;
169
172
  }
170
173
  /**
171
- * Format a hook entry for display
172
- */
173
- function formatHook(hook, indent) {
174
- const lines = [];
175
- lines.push(`${indent}Type: ${hook.type}`);
176
- if (hook.command) {
177
- // Truncate long commands
178
- const cmd = hook.command.length > 80
179
- ? `${hook.command.substring(0, 77)}...`
180
- : hook.command;
181
- lines.push(`${indent}Command: ${cmd}`);
182
- }
183
- if (hook.prompt) {
184
- // Show first line of prompt
185
- const firstLine = hook.prompt.split("\n")[0];
186
- const truncated = firstLine.length > 60 ? `${firstLine.substring(0, 57)}...` : firstLine;
187
- lines.push(`${indent}Prompt: ${truncated}`);
188
- }
189
- if (hook.timeout) {
190
- lines.push(`${indent}Timeout: ${hook.timeout}ms`);
191
- }
192
- return lines.join("\n");
193
- }
194
- /**
195
- * Explain all configured hooks
174
+ * Explain all configured hooks using Ink UI
196
175
  */
197
176
  function explainHooks(hookType, showAll = false) {
198
177
  const settingsHooks = getSettingsHooks();
@@ -203,62 +182,8 @@ function explainHooks(hookType, showAll = false) {
203
182
  const filteredHooks = hookType
204
183
  ? allHooks.filter((h) => h.hookType.toLowerCase() === hookType.toLowerCase())
205
184
  : allHooks;
206
- if (filteredHooks.length === 0) {
207
- if (hookType) {
208
- console.log(`No hooks found for type: ${hookType}`);
209
- }
210
- else {
211
- console.log("No hooks configured.");
212
- }
213
- return;
214
- }
215
- // Group by hook type
216
- const byType = new Map();
217
- for (const hook of filteredHooks) {
218
- const existing = byType.get(hook.hookType) || [];
219
- existing.push(hook);
220
- byType.set(hook.hookType, existing);
221
- }
222
- // Sort hook types
223
- const sortedTypes = Array.from(byType.keys()).sort();
224
- console.log("=".repeat(60));
225
- console.log("CONFIGURED HOOKS");
226
- console.log("=".repeat(60));
227
- for (const type of sortedTypes) {
228
- const hooks = byType.get(type);
229
- if (!hooks)
230
- continue;
231
- console.log(`\n## ${type}`);
232
- console.log("-".repeat(40));
233
- for (const source of hooks) {
234
- if (source.pluginName) {
235
- console.log(`\n Plugin: ${source.pluginName}@${source.marketplace}`);
236
- console.log(` Path: ${source.source}`);
237
- }
238
- else {
239
- console.log(`\n Settings: ${source.scope}`);
240
- console.log(` Path: ${source.source}`);
241
- }
242
- for (let i = 0; i < source.hooks.length; i++) {
243
- console.log(`\n Hook ${i + 1}:`);
244
- console.log(formatHook(source.hooks[i], " "));
245
- }
246
- }
247
- }
248
- console.log(`\n${"=".repeat(60)}`);
249
- // Summary
250
- const commandHooks = filteredHooks.flatMap((h) => h.hooks.filter((e) => e.type === "command"));
251
- const promptHooks = filteredHooks.flatMap((h) => h.hooks.filter((e) => e.type === "prompt"));
252
- console.log("\nSUMMARY:");
253
- console.log(` Total hook sources: ${filteredHooks.length}`);
254
- console.log(` Command hooks: ${commandHooks.length}`);
255
- console.log(` Prompt hooks: ${promptHooks.length}`);
256
- console.log(` Hook types: ${sortedTypes.join(", ") || "none"}`);
257
- // Note about dispatch
258
- console.log("\nNOTE:");
259
- console.log(" - Command hooks execute shell commands and can block (return non-zero exit)");
260
- console.log(" - Prompt hooks inject text into context (cannot block, handled by Claude Code)");
261
- console.log(" - The 'han hook dispatch' command only runs command hooks, not prompt hooks");
185
+ // Render the Ink UI component
186
+ render(_jsx(HookExplainUI, { hooks: filteredHooks, showAll: showAll }));
262
187
  }
263
188
  export function registerHookExplain(hookCommand) {
264
189
  hookCommand
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../lib/commands/hook/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../lib/commands/hook/explain.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type React from "react";
2
+ import type { SettingsScope } from "./claude-settings.js";
3
+ interface HookEntry {
4
+ type: "command" | "prompt";
5
+ command?: string;
6
+ prompt?: string;
7
+ timeout?: number;
8
+ }
9
+ export interface HookSource {
10
+ source: string;
11
+ scope?: SettingsScope;
12
+ pluginName?: string;
13
+ marketplace?: string;
14
+ hookType: string;
15
+ hooks: HookEntry[];
16
+ }
17
+ interface HookExplainUIProps {
18
+ hooks: HookSource[];
19
+ showAll: boolean;
20
+ }
21
+ export declare const HookExplainUI: React.FC<HookExplainUIProps>;
22
+ export {};
23
+ //# sourceMappingURL=hook-explain-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-explain-ui.d.ts","sourceRoot":"","sources":["../../lib/hook-explain-ui.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,UAAU,SAAS;IAClB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,UAAU,kBAAkB;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CACjB;AAuGD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgHtD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ const HookEntryDisplay = ({ hook, index, }) => {
4
+ return (_jsxs(Box, { flexDirection: "column", marginLeft: 4, marginTop: index > 0 ? 1 : 0, children: [_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: ["Hook ", index + 1, ": "] }), _jsx(Text, { color: hook.type === "command" ? "blue" : "magenta", bold: true, children: hook.type })] }), hook.command && (_jsxs(Box, { marginLeft: 2, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "Command:" }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: "gray", children: hook.command }) })] })), hook.prompt && (_jsxs(Box, { marginLeft: 2, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "Prompt:" }), _jsx(Box, { marginLeft: 2, flexDirection: "column", children: hook.prompt.split("\n").map((line, i) => (_jsx(Text, { color: "gray", children: line }, i))) })] })), hook.timeout && (_jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { dimColor: true, children: "Timeout: " }), _jsxs(Text, { children: [hook.timeout, "ms"] })] }))] }));
5
+ };
6
+ const HookSourceDisplay = ({ source }) => {
7
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [source.pluginName ? (_jsxs(Box, { children: [_jsx(Text, { color: "green", bold: true, children: source.pluginName }), _jsxs(Text, { dimColor: true, children: ["@", source.marketplace] })] })) : (_jsxs(Box, { children: [_jsx(Text, { color: "yellow", bold: true, children: "Settings" }), _jsxs(Text, { dimColor: true, children: [" (", source.scope, ")"] })] })), _jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { dimColor: true, children: "Path: " }), _jsx(Text, { color: "cyan", children: source.source })] }), source.hooks.map((hook, i) => (_jsx(HookEntryDisplay, { hook: hook, index: i }, i)))] }));
8
+ };
9
+ const HookTypeSection = ({ hookType, sources, }) => {
10
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "cyan", bold: true, children: hookType }), _jsxs(Text, { dimColor: true, children: [" (", sources.length, " source", sources.length !== 1 ? "s" : "", ")"] })] }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { dimColor: true, children: "─".repeat(50) }) }), sources.map((source, i) => (_jsx(Box, { marginLeft: 2, children: _jsx(HookSourceDisplay, { source: source }) }, i)))] }));
11
+ };
12
+ export const HookExplainUI = ({ hooks, showAll, }) => {
13
+ if (hooks.length === 0) {
14
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Text, { color: "yellow", children: "No hooks configured." }), !showAll && (_jsx(Text, { dimColor: true, children: "Use --all to include hooks from Claude Code settings." }))] }));
15
+ }
16
+ // Group by hook type
17
+ const byType = new Map();
18
+ for (const hook of hooks) {
19
+ const existing = byType.get(hook.hookType) || [];
20
+ existing.push(hook);
21
+ byType.set(hook.hookType, existing);
22
+ }
23
+ // Sort hook types
24
+ const sortedTypes = Array.from(byType.keys()).sort();
25
+ // Calculate summary
26
+ const commandHooks = hooks.flatMap((h) => h.hooks.filter((e) => e.type === "command"));
27
+ const promptHooks = hooks.flatMap((h) => h.hooks.filter((e) => e.type === "prompt"));
28
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", bold: true, children: "═".repeat(60) }), _jsxs(Text, { color: "white", bold: true, children: ["CONFIGURED HOOKS ", showAll ? "(all sources)" : "(Han plugins only)"] }), _jsx(Text, { color: "cyan", bold: true, children: "═".repeat(60) })] }), sortedTypes.map((type) => {
29
+ const sources = byType.get(type);
30
+ if (!sources)
31
+ return null;
32
+ return _jsx(HookTypeSection, { hookType: type, sources: sources }, type);
33
+ }), _jsxs(Box, { flexDirection: "column", marginTop: 2, children: [_jsx(Text, { color: "cyan", bold: true, children: "═".repeat(60) }), _jsx(Text, { color: "white", bold: true, children: "SUMMARY" }), _jsxs(Box, { marginLeft: 2, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Total hook sources: " }), _jsx(Text, { bold: true, children: hooks.length })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Command hooks: " }), _jsx(Text, { color: "blue", bold: true, children: commandHooks.length })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Prompt hooks: " }), _jsx(Text, { color: "magenta", bold: true, children: promptHooks.length })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Hook types: " }), _jsx(Text, { children: sortedTypes.join(", ") || "none" })] })] })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: "NOTE:" }), _jsxs(Box, { marginLeft: 2, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "\u2022 Command hooks execute shell commands and can block (return non-zero exit)" }), _jsx(Text, { dimColor: true, children: "\u2022 Prompt hooks inject text into context (cannot block, handled by Claude Code)" }), _jsx(Text, { dimColor: true, children: "\u2022 The 'han hook dispatch' command only runs command hooks, not prompt hooks" })] })] })] }));
34
+ };
35
+ //# sourceMappingURL=hook-explain-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-explain-ui.js","sourceRoot":"","sources":["../../lib/hook-explain-ui.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thebushidocollective/han",
3
- "version": "1.44.1",
3
+ "version": "1.45.0",
4
4
  "description": "CLI for installing and managing curated Claude Code plugins from the Han marketplace",
5
5
  "main": "dist/lib/main.js",
6
6
  "types": "dist/lib/main.d.ts",
@@ -51,11 +51,11 @@
51
51
  "README.md"
52
52
  ],
53
53
  "optionalDependencies": {
54
- "@thebushidocollective/han-darwin-arm64": "1.44.1",
55
- "@thebushidocollective/han-darwin-x64": "1.44.1",
56
- "@thebushidocollective/han-linux-arm64": "1.44.1",
57
- "@thebushidocollective/han-linux-x64": "1.44.1",
58
- "@thebushidocollective/han-win32-x64": "1.44.1"
54
+ "@thebushidocollective/han-darwin-arm64": "1.45.0",
55
+ "@thebushidocollective/han-darwin-x64": "1.45.0",
56
+ "@thebushidocollective/han-linux-arm64": "1.45.0",
57
+ "@thebushidocollective/han-linux-x64": "1.45.0",
58
+ "@thebushidocollective/han-win32-x64": "1.45.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@anthropic-ai/claude-agent-sdk": "0.1.50",