@thebushidocollective/han 1.2.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"install-progress.js","sourceRoot":"","sources":["../../lib/install-progress.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-progress.js","sourceRoot":"","sources":["../../lib/install-progress.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface AgentUpdate {
2
- type: "text" | "tool";
2
+ type: 'text' | 'tool';
3
3
  content: string;
4
4
  toolName?: string;
5
5
  }
@@ -11,5 +11,5 @@ export interface DetectPluginsCallbacks {
11
11
  /**
12
12
  * SDK-based install command with Ink UI
13
13
  */
14
- export declare function install(): Promise<void>;
14
+ export declare function install(scope?: 'project' | 'local'): Promise<void>;
15
15
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../lib/install.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AA4KD;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAgC7C"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../lib/install.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAiKD;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,GAAE,SAAS,GAAG,OAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CnF"}
@@ -1,97 +1,68 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { query } from "@anthropic-ai/claude-agent-sdk";
4
- import { render } from "ink";
5
- import React from "react";
6
- const HAN_MARKETPLACE_REPO = "thebushidocollective/han";
7
- function getClaudeSettingsPath() {
8
- const rootDir = process.cwd();
9
- return join(rootDir, ".claude", "settings.json");
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { query } from '@anthropic-ai/claude-agent-sdk';
4
+ import { render } from 'ink';
5
+ import React from 'react';
6
+ import { detectPluginsPrompt } from './detect-plugins-prompt.js';
7
+ const HAN_MARKETPLACE_REPO = 'thebushidocollective/han';
8
+ function getClaudeSettingsPath(scope = 'project') {
9
+ const filename = scope === 'local' ? 'settings.local.json' : 'settings.json';
10
+ return join(process.cwd(), '.claude', filename);
10
11
  }
11
12
  function ensureClaudeDirectory() {
12
- const rootDir = process.cwd();
13
- const claudeDir = join(rootDir, ".claude");
13
+ const settingsPath = getClaudeSettingsPath();
14
+ const claudeDir = join(settingsPath, '..');
14
15
  if (!existsSync(claudeDir)) {
15
16
  mkdirSync(claudeDir, { recursive: true });
16
17
  }
17
18
  }
18
- function readOrCreateSettings() {
19
- const settingsPath = getClaudeSettingsPath();
19
+ function readOrCreateSettings(scope = 'project') {
20
+ const settingsPath = getClaudeSettingsPath(scope);
20
21
  if (existsSync(settingsPath)) {
21
22
  try {
22
- return JSON.parse(readFileSync(settingsPath, "utf8"));
23
+ return JSON.parse(readFileSync(settingsPath, 'utf8'));
23
24
  }
24
25
  catch (_error) {
25
- console.error("Error reading settings.json, creating new one");
26
+ console.error(`Error reading ${scope === 'local' ? 'settings.local.json' : 'settings.json'}, creating new one`);
26
27
  return {};
27
28
  }
28
29
  }
29
30
  return {};
30
31
  }
31
- function writeSettings(settings) {
32
- const settingsPath = getClaudeSettingsPath();
32
+ function writeSettings(settings, scope = 'project') {
33
+ const settingsPath = getClaudeSettingsPath(scope);
33
34
  writeFileSync(settingsPath, `${JSON.stringify(settings, null, 2)}\n`);
34
35
  }
35
36
  /**
36
37
  * Use Claude Agent SDK to intelligently analyze codebase and recommend plugins
37
38
  */
38
39
  async function detectPluginsWithAgent(callbacks) {
39
- const agentPrompt = `You are a Han plugin installer assistant. Your goal is to analyze the current codebase and recommend appropriate Claude Code plugins from the Han marketplace.
40
-
41
- Available Plugin Categories:
42
- - buki-* (武器 weapons): Skills for specific technologies (e.g., buki-typescript, buki-react, buki-go)
43
- - do-* (道 disciplines): Specialized agents for development practices
44
- - sensei-* (å…ˆē”Ÿ teachers): MCP servers for external integrations
45
- - bushido: Core quality and testing principles
46
-
47
- Your Task:
48
- 1. Use Glob to discover what files exist in the repository
49
- 2. Use Grep to search for framework/library usage patterns
50
- 3. Read key configuration files (package.json, Cargo.toml, go.mod, etc.)
51
- 4. Get the latest han plugins from the marketplace https://raw.githubusercontent.com/TheBushidoCollective/han/refs/heads/main/.claude-plugin/marketplace.json
52
- 5. Recommend Han plugins that match the detected technologies
53
- 6. Return your recommendations as a JSON array of plugin names
54
-
55
- Focus on detecting:
56
- - Programming languages (TypeScript, Python, Go, Rust, Ruby, etc.)
57
- - Frontend frameworks (React, Vue, Angular, Next.js, etc.)
58
- - Backend frameworks (NestJS, Django, FastAPI, Rails, etc.)
59
- - Testing frameworks (Jest, Pytest, RSpec, etc.)
60
- - GraphQL implementations
61
- - Monorepo tools (Nx, Turborepo, Lerna)
62
-
63
- ALWAYS add the bushido plugin!
64
-
65
- Return ONLY a JSON array of recommended plugin names, like:
66
- ["bushido", "buki-typescript", "buki-react", "buki-jest"]
67
-
68
- ULTRATHINK and Analyze this codebase and recommend appropriate Han plugins.`;
69
40
  // Define allowed tools - only read-only operations
70
- const allowedTools = ["web_fetch", "read_file", "glob", "grep"];
41
+ const allowedTools = ['web_fetch', 'read_file', 'glob', 'grep'];
71
42
  const agent = query({
72
- prompt: agentPrompt,
43
+ prompt: detectPluginsPrompt,
73
44
  options: {
74
- model: "claude-sonnet-4-5-20250929",
45
+ model: 'claude-sonnet-4-5-20250929',
75
46
  includePartialMessages: true,
76
47
  allowedTools,
77
- permissionMode: "bypassPermissions",
48
+ permissionMode: 'bypassPermissions',
78
49
  },
79
50
  });
80
- let responseContent = "";
51
+ let responseContent = '';
81
52
  try {
82
53
  // Collect all messages from the agent with live updates
83
54
  for await (const sdkMessage of agent) {
84
- if (sdkMessage.type === "assistant" && sdkMessage.message.content) {
55
+ if (sdkMessage.type === 'assistant' && sdkMessage.message.content) {
85
56
  for (const block of sdkMessage.message.content) {
86
- if (block.type === "text") {
57
+ if (block.type === 'text') {
87
58
  // Send text updates
88
- callbacks.onUpdate({ type: "text", content: block.text });
59
+ callbacks.onUpdate({ type: 'text', content: block.text });
89
60
  responseContent += block.text;
90
61
  }
91
- else if (block.type === "tool_use") {
62
+ else if (block.type === 'tool_use') {
92
63
  // Send tool usage updates
93
64
  callbacks.onUpdate({
94
- type: "tool",
65
+ type: 'tool',
95
66
  content: `Using ${block.name}`,
96
67
  toolName: block.name,
97
68
  });
@@ -101,7 +72,7 @@ ULTRATHINK and Analyze this codebase and recommend appropriate Han plugins.`;
101
72
  }
102
73
  // Extract plugin recommendations from agent response
103
74
  const plugins = parsePluginRecommendations(responseContent);
104
- const finalPlugins = plugins.length > 0 ? plugins : ["bushido"];
75
+ const finalPlugins = plugins.length > 0 ? plugins : ['bushido'];
105
76
  callbacks.onComplete(finalPlugins, responseContent);
106
77
  }
107
78
  catch (error) {
@@ -118,7 +89,8 @@ function parsePluginRecommendations(content) {
118
89
  if (jsonMatch) {
119
90
  const plugins = JSON.parse(jsonMatch[0]);
120
91
  if (Array.isArray(plugins)) {
121
- return plugins.filter((p) => typeof p === "string");
92
+ plugins.push('bushido');
93
+ return plugins.filter((p) => typeof p === 'string');
122
94
  }
123
95
  }
124
96
  // Fallback: look for plugin names mentioned
@@ -134,43 +106,68 @@ function parsePluginRecommendations(content) {
134
106
  }
135
107
  }
136
108
  /**
137
- * Install plugins to Claude settings
109
+ * Get currently installed Han plugins
138
110
  */
139
- function installPluginsToSettings(plugins) {
111
+ function getInstalledPlugins(scope = 'project') {
112
+ const settings = readOrCreateSettings(scope);
113
+ const enabledPlugins = settings.enabledPlugins || {};
114
+ return Object.keys(enabledPlugins)
115
+ .filter((key) => key.endsWith('@han') && enabledPlugins[key])
116
+ .map((key) => key.replace('@han', ''));
117
+ }
118
+ /**
119
+ * Install plugins to Claude settings and return list of added plugins
120
+ */
121
+ function installPluginsToSettings(plugins, scope = 'project') {
140
122
  ensureClaudeDirectory();
141
- const settings = readOrCreateSettings();
123
+ const settings = readOrCreateSettings(scope);
124
+ const currentPlugins = getInstalledPlugins(scope);
125
+ const added = [];
142
126
  // Add Han marketplace to extraMarketplaces
143
127
  if (!settings?.extraKnownMarketplaces?.han) {
144
128
  settings.extraKnownMarketplaces = {
145
129
  ...settings.extraKnownMarketplaces,
146
- han: { source: { source: "github", repo: HAN_MARKETPLACE_REPO } },
130
+ han: { source: { source: 'github', repo: HAN_MARKETPLACE_REPO } },
147
131
  };
148
132
  }
149
133
  // Add plugins
150
134
  for (const plugin of plugins) {
135
+ if (!currentPlugins.includes(plugin)) {
136
+ added.push(plugin);
137
+ }
151
138
  settings.enabledPlugins = {
152
139
  ...settings.enabledPlugins,
153
140
  [`${plugin}@han`]: true,
154
141
  };
155
142
  }
156
- writeSettings(settings);
143
+ writeSettings(settings, scope);
144
+ return added;
157
145
  }
158
146
  /**
159
147
  * SDK-based install command with Ink UI
160
148
  */
161
- export async function install() {
149
+ export async function install(scope = 'project') {
162
150
  // Import Ink UI component dynamically to avoid issues with React
163
- const { InstallProgress } = await import("./install-progress.js");
151
+ const { InstallProgress } = await import('./install-progress.js');
164
152
  let resolveCompletion;
165
153
  let rejectCompletion;
166
154
  const completionPromise = new Promise((resolve, reject) => {
167
155
  resolveCompletion = resolve;
168
156
  rejectCompletion = reject;
169
157
  });
158
+ const filename = scope === 'local' ? 'settings.local.json' : 'settings.json';
159
+ console.log(`Installing to ./.claude/${filename}...\n`);
170
160
  const { unmount } = render(React.createElement(InstallProgress, {
171
161
  detectPlugins: detectPluginsWithAgent,
172
162
  onInstallComplete: (plugins) => {
173
- installPluginsToSettings(plugins);
163
+ const added = installPluginsToSettings(plugins, scope);
164
+ if (added.length > 0) {
165
+ console.log(`\nāœ“ Added ${added.length} plugin(s): ${added.join(', ')}`);
166
+ }
167
+ else {
168
+ console.log('\nāœ“ All recommended plugins were already installed');
169
+ }
170
+ console.log('\nāš ļø Please restart Claude Code to load the new plugins');
174
171
  if (resolveCompletion)
175
172
  resolveCompletion();
176
173
  },
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../lib/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../lib/install.ts"],"names":[],"mappings":"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"}
package/dist/lib/main.js CHANGED
@@ -1,53 +1,80 @@
1
1
  #!/usr/bin/env node
2
- import { readFileSync } from "node:fs";
3
- import { dirname, join } from "node:path";
4
- import { fileURLToPath } from "node:url";
5
- import { Command } from "commander";
2
+ import { readFileSync } from 'node:fs';
3
+ import { dirname, join } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { Command } from 'commander';
6
6
  const __dirname = dirname(fileURLToPath(import.meta.url));
7
- const packageJson = JSON.parse(readFileSync(join(__dirname, "..", "..", "package.json"), "utf-8"));
7
+ const packageJson = JSON.parse(readFileSync(join(__dirname, '..', '..', 'package.json'), 'utf-8'));
8
8
  const program = new Command();
9
9
  program
10
- .name("han")
10
+ .name('han')
11
11
  .description("Utilities for The Bushido Collective's Han Code Marketplace")
12
12
  .version(packageJson.version);
13
13
  // Install command
14
14
  program
15
- .command("install")
16
- .description("Install Han marketplace and plugins")
17
- .action(async () => {
15
+ .command('install')
16
+ .description('Install Han marketplace and plugins to Claude Code settings')
17
+ .option('--scope <scope>', 'Installation scope: "project" (.claude/settings.json) or "local" (.claude/settings.local.json)', 'project')
18
+ .action(async (options) => {
18
19
  try {
19
- const { install } = await import("./install.js");
20
- await install();
20
+ const scope = options.scope || 'project';
21
+ if (scope !== 'project' && scope !== 'local') {
22
+ console.error('Error: --scope must be either "project" or "local"');
23
+ process.exit(1);
24
+ }
25
+ const { install } = await import('./install.js');
26
+ await install(scope);
21
27
  process.exit(0);
22
28
  }
23
29
  catch (error) {
24
- console.error("Error during installation:", error instanceof Error ? error.message : error);
30
+ console.error('Error during installation:', error instanceof Error ? error.message : error);
25
31
  process.exit(1);
26
32
  }
27
33
  });
28
34
  // Uninstall command
29
35
  program
30
- .command("uninstall")
31
- .description("Remove Han marketplace and plugins")
36
+ .command('uninstall')
37
+ .description('Remove Han marketplace and plugins')
32
38
  .action(async () => {
33
- const { uninstall } = await import("./uninstall.js");
39
+ const { uninstall } = await import('./uninstall.js');
34
40
  uninstall();
35
41
  process.exit(0);
36
42
  });
43
+ // Align command
44
+ program
45
+ .command('align')
46
+ .description('Align plugins with current codebase state in Claude Code settings')
47
+ .option('--scope <scope>', 'Installation scope: "project" (.claude/settings.json) or "local" (.claude/settings.local.json)', 'project')
48
+ .action(async (options) => {
49
+ try {
50
+ const scope = options.scope || 'project';
51
+ if (scope !== 'project' && scope !== 'local') {
52
+ console.error('Error: --scope must be either "project" or "local"');
53
+ process.exit(1);
54
+ }
55
+ const { align } = await import('./align.js');
56
+ await align(scope);
57
+ process.exit(0);
58
+ }
59
+ catch (error) {
60
+ console.error('Error during alignment:', error instanceof Error ? error.message : error);
61
+ process.exit(1);
62
+ }
63
+ });
37
64
  // Validate command
38
65
  program
39
- .command("validate")
40
- .description("Validate directories")
41
- .option("--fail-fast", "Stop on first failure")
42
- .option("--dirs-with <file>", "Only run in directories containing the specified file")
43
- .argument("<command...>", "Command to run in each directory")
66
+ .command('validate')
67
+ .description('Validate directories')
68
+ .option('--fail-fast', 'Stop on first failure')
69
+ .option('--dirs-with <file>', 'Only run in directories containing the specified file')
70
+ .argument('<command...>', 'Command to run in each directory')
44
71
  .allowUnknownOption()
45
72
  .action(async (commandArgs, options) => {
46
- const { validate } = await import("./validate.js");
73
+ const { validate } = await import('./validate.js');
47
74
  validate({
48
75
  failFast: options.failFast || false,
49
76
  dirsWith: options.dirsWith || null,
50
- command: commandArgs.join(" "),
77
+ command: commandArgs.join(' '),
51
78
  });
52
79
  });
53
80
  program.parse();
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../lib/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAClE,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAE/B,kBAAkB;AAClB,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,IAAI,CAAC;QACJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACZ,4BAA4B,EAC5B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,oBAAoB;AACpB,OAAO;KACL,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEJ,mBAAmB;AACnB,OAAO;KACL,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CACN,oBAAoB,EACpB,uDAAuD,CACvD;KACA,QAAQ,CAAC,cAAc,EAAE,kCAAkC,CAAC;KAC5D,kBAAkB,EAAE;KACpB,MAAM,CACN,KAAK,EACJ,WAAqB,EACrB,OAAkD,EACjD,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,QAAQ,CAAC;QACR,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;KAC9B,CAAC,CAAC;AACJ,CAAC,CACD,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../lib/main.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type React from "react";
1
+ import type React from 'react';
2
2
  interface MarkdownWrapperProps {
3
3
  children: string;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-wrapper.d.ts","sourceRoot":"","sources":["../../lib/markdown-wrapper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,UAAU,oBAAoB;IAC7B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAQD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAW1D,CAAC"}
1
+ {"version":3,"file":"markdown-wrapper.d.ts","sourceRoot":"","sources":["../../lib/markdown-wrapper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAQD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAW1D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Text } from "ink";
3
- import { marked } from "marked";
4
- import TerminalRenderer from "marked-terminal";
2
+ import { Text } from 'ink';
3
+ import { marked } from 'marked';
4
+ import TerminalRenderer from 'marked-terminal';
5
5
  // Configure marked globally with terminal renderer
6
6
  marked.setOptions({
7
7
  // @ts-expect-error - marked-terminal types are not perfectly aligned
@@ -10,7 +10,7 @@ marked.setOptions({
10
10
  export const MarkdownWrapper = ({ children, }) => {
11
11
  try {
12
12
  const parsed = marked.parse(children);
13
- const output = typeof parsed === "string" ? parsed.trim() : "";
13
+ const output = typeof parsed === 'string' ? parsed.trim() : '';
14
14
  return _jsx(Text, { children: output });
15
15
  }
16
16
  catch (_error) {
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-wrapper.js","sourceRoot":"","sources":["../../lib/markdown-wrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAO/C,mDAAmD;AACnD,MAAM,CAAC,UAAU,CAAC;IACjB,qEAAqE;IACrE,QAAQ,EAAE,IAAI,gBAAgB,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC/D,QAAQ,GACR,EAAE,EAAE;IACJ,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,KAAC,IAAI,cAAE,MAAM,GAAQ,CAAC;IAC9B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QACjB,mDAAmD;QACnD,OAAO,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,YAAE,QAAQ,GAAQ,CAAC;IAC5C,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"markdown-wrapper.js","sourceRoot":"","sources":["../../lib/markdown-wrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAO/C,mDAAmD;AACnD,MAAM,CAAC,UAAU,CAAC;IAChB,qEAAqE;IACrE,QAAQ,EAAE,IAAI,gBAAgB,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,QAAQ,GACT,EAAE,EAAE;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,KAAC,IAAI,cAAE,MAAM,GAAQ,CAAC;IAC/B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,mDAAmD;QACnD,OAAO,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,YAAE,QAAQ,GAAQ,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC"}
@@ -1,21 +1,21 @@
1
- import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- const HAN_MARKETPLACE_URL = "https://github.com/thebushidocollective/sensei";
1
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ const HAN_MARKETPLACE_URL = 'https://github.com/thebushidocollective/han';
4
4
  function getClaudeSettingsPath() {
5
5
  const rootDir = process.cwd();
6
- return join(rootDir, ".claude", "settings.json");
6
+ return join(rootDir, '.claude', 'settings.json');
7
7
  }
8
8
  function readSettings() {
9
9
  const settingsPath = getClaudeSettingsPath();
10
10
  if (!existsSync(settingsPath)) {
11
- console.log("No .claude/settings.json found. Nothing to uninstall.");
11
+ console.log('No .claude/settings.json found. Nothing to uninstall.');
12
12
  return null;
13
13
  }
14
14
  try {
15
- return JSON.parse(readFileSync(settingsPath, "utf8"));
15
+ return JSON.parse(readFileSync(settingsPath, 'utf8'));
16
16
  }
17
17
  catch (error) {
18
- console.error("Error reading settings.json:", error.message);
18
+ console.error('Error reading settings.json:', error.message);
19
19
  return null;
20
20
  }
21
21
  }
@@ -24,7 +24,7 @@ function writeSettings(settings) {
24
24
  writeFileSync(settingsPath, `${JSON.stringify(settings, null, 2)}\n`);
25
25
  }
26
26
  export function uninstall() {
27
- console.log("šŸ—‘ļø Removing Han marketplace and plugins from Claude Code settings...\n");
27
+ console.log('šŸ—‘ļø Removing Han marketplace and plugins from Claude Code settings...\n');
28
28
  const settings = readSettings();
29
29
  if (!settings) {
30
30
  process.exit(0);
@@ -46,10 +46,10 @@ export function uninstall() {
46
46
  // Remove all Han plugins (those starting with buki-, do-, sensei-, or named bushido)
47
47
  if (settings.plugins) {
48
48
  const before = settings.plugins.length;
49
- settings.plugins = settings.plugins.filter((plugin) => !plugin.startsWith("buki-") &&
50
- !plugin.startsWith("do-") &&
51
- !plugin.startsWith("sensei-") &&
52
- plugin !== "bushido");
49
+ settings.plugins = settings.plugins.filter((plugin) => !plugin.startsWith('buki-') &&
50
+ !plugin.startsWith('do-') &&
51
+ !plugin.startsWith('sensei-') &&
52
+ plugin !== 'bushido');
53
53
  const after = settings.plugins.length;
54
54
  const removed = before - after;
55
55
  if (removed > 0) {
@@ -61,12 +61,12 @@ export function uninstall() {
61
61
  }
62
62
  }
63
63
  if (!changes) {
64
- console.log("No Han marketplace or plugins found in settings.");
64
+ console.log('No Han marketplace or plugins found in settings.');
65
65
  process.exit(0);
66
66
  }
67
67
  writeSettings(settings);
68
- console.log("\nāœ… Uninstallation complete!");
69
- console.log("\nRemaining configuration in .claude/settings.json:");
68
+ console.log('\nāœ… Uninstallation complete!');
69
+ console.log('\nRemaining configuration in .claude/settings.json:');
70
70
  if (settings.plugins && settings.plugins.length > 0) {
71
71
  console.log(` Plugins: ${settings.plugins.length}`);
72
72
  for (const plugin of settings.plugins) {
@@ -74,7 +74,7 @@ export function uninstall() {
74
74
  }
75
75
  }
76
76
  else {
77
- console.log(" No plugins configured");
77
+ console.log(' No plugins configured');
78
78
  }
79
79
  if (settings.extraMarketplaces && settings.extraMarketplaces.length > 0) {
80
80
  console.log(` Marketplaces: ${settings.extraMarketplaces.length}`);
@@ -83,8 +83,8 @@ export function uninstall() {
83
83
  }
84
84
  }
85
85
  else {
86
- console.log(" No extra marketplaces configured");
86
+ console.log(' No extra marketplaces configured');
87
87
  }
88
- console.log("\nRestart Claude Code to apply changes.");
88
+ console.log('\nRestart Claude Code to apply changes.');
89
89
  }
90
90
  //# sourceMappingURL=uninstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../lib/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../lib/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CAChB;AAgFD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAsDvD"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAgFD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAsDvD"}