killer-skills 1.6.2 → 1.7.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
@@ -6,25 +6,30 @@
6
6
 
7
7
  ## ✨ 特性
8
8
 
9
- - 🚀 **统一安装** - 从 GitHub、Registry 或本地一键安装
10
- - 🔍 **智能搜索** - GitHub Registry 中搜索 Skills
11
- - **模板创建** - 3 种模板快速创建新 Skill
12
- - 📦 **发布工具** - 验证并准备 Skills 发布到 GitHub
13
- - 🔄 **版本更新** - 追踪来源,一键更新
14
- - 🤖 **AI 发现** - 同步到 AGENTS.md,让 AI 自动发现
15
- - 🎯 **Universal IDE Support** - 一次安装,自动适配 Cursor, Windsurf, VS Code, Copilot
16
- - ⚡ **Shell 补全** - 支持 bash/zsh/fish 自动补全
17
- - 🔌 **MCP Server** - 支持作为 MCP Server 运行
9
+ - 🚀 **统一安装** - 从 GitHub、Registry 或本地一键安装,自动同步到 IDE
10
+ - 🤖 **Universal IDE Support** - 支持 Cursor, Windsurf, VS Code, Claude Code 等 **17+ IDE**
11
+ - **Auto-Invoke** - 技能安装后,AI Agent 可通过自然语言**自动调用**,无需手动指令
12
+ - 🔐 **GitHub 无感认证** - 支持复用 `gh` CLI token 或通过 Device Flow 一键登录
13
+ - 🔍 **智能搜索** - 无需 token 即可搜索 GitHub Skills(自动降级)
14
+ - 🔄 **一键同步** - `killer sync --all` 将技能同步到所有已安装 IDE
15
+ - 🧩 **MCP Server** - 内置 MCP Server,支持 Agent 自我进化
18
16
 
19
17
  ## 支持的 IDE
20
18
 
21
- | IDE | 状态 | 适配方式 (自动) |
22
- |-----|------|-------------|
23
- | **Cursor** | 完美支持 | 自动追加到 `.cursorrules` |
24
- | **Windsurf** | ✅ 完美支持 | 自动生成 `.windsurf/rules/[skill].md` |
25
- | **VS Code + Copilot** | 支持 | 自动追加到 `.github/copilot-instructions.md` |
26
- | **Claude Code** | 支持 | `.claude/skills/` |
27
- | **Kiro** | 支持 | `.kiro/agents/` |
19
+ Killer-Skills 会自动检测并配置以下 IDE,注入 **Auto-Invoke** 指令:
20
+
21
+ | IDE | 配置文件 | 状态 |
22
+ |-----|----------|------|
23
+ | **Cursor** | `.cursorrules` | 完美支持 |
24
+ | **Windsurf** | `.windsurfrules` | 完美支持 |
25
+ | **VS Code + Copilot** | `.github/copilot-instructions.md` | ✅ 支持 |
26
+ | **Trae** | `AGENTS.md` | ✅ 支持 |
27
+ | **Claude Code** | `CLAUDE.md` | ✅ 支持 |
28
+ | **Antigravity (Gemini)** | `AGENTS.md` | ✅ 原生支持 |
29
+ | **Aider, Codex, Goose** | `AGENTS.md` (XML) | ✅ 支持 |
30
+ | **Kiro (AWS)** | `.kiro/agents/skills.md` (JSON) | ✅ 支持 |
31
+ | **Cline, Roo, Augment** | `AGENTS.md` | ✅ 支持 |
32
+ | **Continue, Cody, Amazon Q** | `AGENTS.md` | ✅ 支持 |
28
33
 
29
34
  ## 快速开始
30
35
 
@@ -36,336 +41,84 @@ npx killer-skills install <skill-or-repo>
36
41
  npm install -g killer-skills
37
42
  ```
38
43
 
39
- ## 命令速查
40
-
41
- | 命令 | 说明 | 示例 |
42
- |------|------|------|
43
- | `install` | 安装 Skill | `killer install pdf` |
44
- | `list` | 列出已安装 | `killer list` |
45
- | `create` | 创建新 Skill | `killer create my-skill` |
46
- | `sync` | 同步到 AGENTS.md | `killer sync` |
47
- | `read` | 读取 Skill 内容 | `killer read pdf` |
48
- | `update` | 更新 Skills | `killer update` |
49
- | `manage` | 交互式管理 | `killer manage` |
50
- | `search` | 搜索 Skills | `killer search pdf` |
51
- | `publish` | 发布 Skill | `killer publish .` |
52
- | `init` | 初始化项目 | `killer init` |
53
- | `config` | 配置管理 | `killer config` |
54
- | `completion` | Shell 补全 | `killer completion zsh` |
55
- | `do` | 自然语言执行 | `killer do "处理PDF"` |
56
- | `outdated` | 检查更新 | `killer outdated` |
57
- | `deps` | 依赖管理 | `killer deps` |
58
- | `submit` | 提交到 Registry | `killer submit .` |
59
- | `stats` | 使用统计 | `killer stats` |
60
- | `plugin` | 插件管理 | `killer plugin list` |
61
- | `validate` | 质量验证 | `killer validate ./my-skill` |
62
-
63
- ---
64
-
65
- ## 📦 安装 Skills
66
-
67
- ```bash
68
- # 从 Registry 安装
69
- killer install pdf
70
-
71
- # 从 GitHub 安装
72
- killer install anthropics/killer-skills
73
-
74
- # 从本地安装
75
- killer install ./my-skill
76
- killer install ~/dev/my-skill
77
-
78
- ```bash
79
- # 通用安装 (自动识别当前 IDE 环境)
80
- killer install pdf
81
-
82
- # 强制安装到所有支持的 IDE
83
- killer install pdf --all
84
-
85
- # 指定 IDE (手动模式)
86
- killer install pdf --ide cursor
87
- ```
88
-
89
- ## ✨ 创建新 Skill
90
-
91
- ```bash
92
- # 标准模板 (默认)
93
- killer create my-awesome-skill
44
+ ## 🔐 GitHub 认证 (推荐)
94
45
 
95
- # 最小模板 - 仅 SKILL.md
96
- killer create my-skill -t minimal
97
-
98
- # 完整模板 - 含 scripts, references, examples, assets
99
- killer create my-skill -t full
100
-
101
- # 从已有 Skill 克隆
102
- killer create my-skill --from pdf
103
-
104
- # 指定描述 (注意: 描述必须超过 20 个字符以通过质量检查)
105
- killer create my-skill -d "这是一个用于处理 PDF 文件的强大技能,支持合并、拆分等功能。"
106
- ```
107
-
108
- ## 🔄 同步与更新
46
+ 为了获得更高的 API 限额和更精准的代码搜索,建议登录 GitHub:
109
47
 
110
48
  ```bash
111
- # 同步到 AGENTS.md (让 AI 发现 Skills)
112
- killer sync
49
+ # 方法 1: 复用 gh CLI (零配置)
50
+ # 如果你安装了 GitHub CLI,killer 会自动使用它的 token
113
51
 
114
- # 指定 IDE 格式
115
- killer sync -i cursor
116
- killer sync -i windsurf
52
+ # 方法 2: 一键登录 (Device Flow)
53
+ killer login
54
+ # -> 自动打开浏览器完成授权
117
55
 
118
- # 更新所有 Skills
119
- killer update
120
-
121
- # 更新特定 Skill
122
- killer update pdf
123
-
124
- # 读取 Skill 内容
125
- killer read pdf
126
- killer read pdf,docx,xlsx
56
+ # 方法 3: 手动设置
57
+ killer config githubToken ghp_xxxx
127
58
  ```
128
59
 
129
- ## 🔍 搜索与发现
130
-
131
- ```bash
132
- # 搜索所有来源
133
- killer search pdf
60
+ ## 📦 安装与使用
134
61
 
135
- # 只搜索 GitHub
136
- killer search pdf -s github
137
-
138
- # 只搜索 Registry
139
- killer search pdf -s registry
140
-
141
- # 限制结果数量
142
- killer search pdf -l 5
143
- ```
144
-
145
- ## 📤 发布 Skill
62
+ ### 1. 安装 Skill
146
63
 
147
64
  ```bash
148
- # 验证 Skill (dry run)
149
- killer publish ./my-skill --dry-run
150
-
151
- # 准备 GitHub 发布
152
- killer publish ./my-skill --github
153
- ```
154
-
155
- ## 🛠️ 项目初始化
156
-
157
- ```bash
158
- # 交互式初始化
159
- killer init
65
+ # Registry 安装
66
+ killer install pdf
160
67
 
161
- # 指定 IDE
162
- killer init -i cursor
68
+ # GitHub 安装
69
+ killer install anthropics/killer-skills
163
70
 
164
- # 跳过提示
165
- killer init -y
71
+ # 安装后,技能会自动同步到当前检测到的 IDE
72
+ # AI Agent 现在可以通过自然语言自动调用这个技能了!
166
73
  ```
167
74
 
168
- ## ⚙️ 配置管理
169
-
170
- ```bash
171
- # 查看所有配置
172
- killer config
173
-
174
- # 设置默认 IDE
175
- killer config defaultIDE cursor
75
+ ### 2. 自然语言调用
176
76
 
177
- # 设置默认作用域
178
- killer config defaultScope project
77
+ 在你的 IDE (Cursor/Windsurf/Claude) 中,直接对 AI 说:
179
78
 
180
- # 设置 GitHub Token
181
- killer config githubToken ghp_xxx
79
+ > "帮我合并这几个 PDF 文件"
80
+ > "分析这个 PPT 的内容"
81
+ > "创建一个新的 React 组件"
182
82
 
183
- # 重置配置
184
- killer config --reset
185
- ```
186
-
187
- ## 🧠 自然语言执行
188
-
189
- ```bash
190
- # 用自然语言描述任务
191
- killer do "处理这个PDF文件"
83
+ AI 会自动读取规则文件,匹配 `pdf` / `pptx` / `frontend-design` 技能,并**自动执行**。
192
84
 
193
- # 列出匹配的 Skills
194
- killer do "create algorithmic art" --list
85
+ ### 3. 多 IDE 同步
195
86
 
196
- # 自动执行最佳匹配
197
- killer do "处理Excel表格" -y
198
- ```
199
-
200
- ## 📊 版本检测
87
+ 如果你同时使用多个 IDE:
201
88
 
202
89
  ```bash
203
- # 检查所有 Skills 更新
204
- killer outdated
205
-
206
- # 显示详细信息
207
- killer outdated -v
90
+ # 一键同步已安装技能到所有支持的 IDE
91
+ killer sync --all
208
92
  ```
209
93
 
210
- ## 🔗 依赖管理
211
-
212
- ```bash
213
- # 检查所有依赖
214
- killer deps
215
-
216
- # 检查特定 Skill
217
- killer deps pdf
94
+ ## 命令速查
218
95
 
219
- # 显示依赖树
220
- killer deps --tree
221
- ```
96
+ | 命令 | 说明 | 示例 |
97
+ |------|------|------|
98
+ | `install` | 安装 Skill | `killer install pdf` |
99
+ | `login` | **[NEW]** GitHub 登录 | `killer login` |
100
+ | `sync` | 同步配置 | `killer sync --all` |
101
+ | `list` | 列出已安装 | `killer list` |
102
+ | `search` | 搜索 Skills | `killer search react` |
103
+ | `create` | 创建新 Skill | `killer create my-skill` |
104
+ | `read` | 读取内容 | `killer read pdf` |
105
+ | `do` | 自然语言执行 | `killer do "处理PDF"` |
106
+ | `manage` | 交互式管理 | `killer manage` |
107
+ | `publish` | 发布 Skill | `killer publish .` |
108
+ | `init` | 初始化项目 | `killer init` |
109
+ | `config` | 配置管理 | `killer config` |
110
+ | `completion` | Shell 补全 | `killer completion zsh` |
111
+ | `stats` | 使用统计 | `killer stats` |
222
112
 
223
113
  ## 🔌 MCP Server
224
114
 
225
- ### 🤖 MCP Server (Model Context Protocol)
226
- Killer-Skills comes with a built-in MCP server that allows AI agents to **read** and **install** skills directly.
115
+ 启动内置 MCP Server,允许 AI Agent 自我安装技能:
227
116
 
228
117
  ```bash
229
118
  npx killer-skills-mcp
230
119
  ```
231
120
 
232
- **Tools Exposed:**
233
- - `install_skill(name, ide?)`: **[NEW]** Agents can self-install skills to upgrade their capabilities runtime.
234
- - `list_skills()`: List available skills.
235
- - `search_skills(query)`: Find skills in registry/GitHub.
236
- - `read_skill(name)`: Read skill instruction content.
237
- - `match_task(task)`: Semantic match for a task query.
238
- - `get_skill_info` - 获取详细信息
239
-
240
- ## 📤 提交到 Registry
241
-
242
- ```bash
243
- # 验证 Skill
244
- killer submit ./my-skill --dry-run
245
-
246
- # 提交
247
- killer submit ./my-skill
248
- ```
249
-
250
- ## 📊 使用统计
251
-
252
- ```bash
253
- # 查看统计
254
- killer stats
255
-
256
- # JSON 格式
257
- killer stats --json
258
-
259
- # 重置
260
- killer stats --reset
261
- ```
262
-
263
- ## 🔌 插件管理
264
-
265
- ```bash
266
- # 列出插件
267
- killer plugin list
268
-
269
- # 安装插件
270
- killer plugin add ./my-plugin
271
-
272
- # 卸载插件
273
- killer plugin remove my-plugin
274
- ```
275
-
276
- ## ✅ 质量验证
277
-
278
- 确保你的 Skill 符合高质量标准(这对于发布到 Registry 是必须的):
279
-
280
- ```bash
281
- # 验证当前目录下的 Skill
282
- killer validate
283
-
284
- # 验证指定目录
285
- killer validate ./my-skill
286
- ```
287
-
288
- **检查项包括:**
289
- - `SKILL.md` 结构完整性(Frontmatter 必须包含 version/author/tags)
290
- - 描述长度(> 20 字符)
291
- - 文档质量评分(满分 100)
292
-
293
- ## 🐚 Shell 自动补全
294
-
295
- ```bash
296
- # Bash
297
- killer completion bash >> ~/.bashrc
298
-
299
- # Zsh
300
- killer completion zsh >> ~/.zshrc
301
-
302
- # Fish
303
- killer completion fish > ~/.config/fish/completions/killer.fish
304
- ```
305
-
306
- ## 📋 交互式管理
307
-
308
- ```bash
309
- # 选择要删除的 Skills
310
- killer manage
311
-
312
- # 删除所有 Skills
313
- killer manage --remove-all
314
- ```
315
-
316
- ## 🔧 命令选项
317
-
318
- ### `install <source>`
319
-
320
- | 选项 | 说明 | 默认值 |
321
- |------|------|--------|
322
- | `-i, --ide <ide>` | 目标 IDE | 自动检测 |
323
- | `-s, --scope <scope>` | 安装范围: project/global | global |
324
- | `--all` | 安装到所有 IDE | false |
325
- | `-y, --yes` | 跳过确认 | false |
326
-
327
- ### `create <name>`
328
-
329
- | 选项 | 说明 | 默认值 |
330
- |------|------|--------|
331
- | `-t, --template <type>` | 模板: minimal/standard/full | standard |
332
- | `-d, --description <desc>` | Skill 描述 (>20字符) | - |
333
- | `-p, --path <path>` | 输出目录 | . |
334
- | `--from <skill>` | 克隆已有 Skill | - |
335
-
336
- ### `list`
337
-
338
- | 选项 | 说明 |
339
- |------|------|
340
- | `-i, --ide <ide>` | 按 IDE 筛选 |
341
- | `-v, --verbose` | 显示详细信息 |
342
-
343
- ### `sync`
344
-
345
- | 选项 | 说明 | 默认值 |
346
- |------|------|--------|
347
- | `-i, --ide <ide>` | 目标 IDE | 自动检测 |
348
- | `-o, --output <path>` | 输出文件 | 自动 |
349
- | `--remove` | 移除 Skills 部分 | false |
350
-
351
- ### `search <query>`
352
-
353
- | 选项 | 说明 | 默认值 |
354
- |------|------|--------|
355
- | `-s, --source <source>` | 来源: all/github/registry | all |
356
- | `-l, --limit <number>` | 最大结果数 | 10 |
357
-
358
- ## 环境变量
359
-
360
- | 变量 | 说明 |
361
- |------|------|
362
- | `GITHUB_TOKEN` | GitHub 访问令牌,提高 API 速率限制 |
363
-
364
- ## 前置要求
365
-
366
- 发布 Skill 到 GitHub 需要:
367
- 1. 安装 [GitHub CLI (gh)](https://cli.github.com/)
368
- 2. 运行 `gh auth login` 完成认证
121
+ **Exposed Tools:** `install_skill`, `list_skills`, `search_skills`, `read_skill`
369
122
 
370
123
  ## 许可证
371
124
 
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,cAAc,SA8GrB,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,cAAc,SA4GrB,CAAC"}
@@ -26,7 +26,7 @@ export const installCommand = new Command('install')
26
26
  .option('-s, --scope <scope>', 'Installation scope: project or global', 'global')
27
27
  .option('--all', 'Install to all supported IDEs')
28
28
  .option('-y, --yes', 'Skip prompts, accept defaults')
29
- .option('--sync', 'Auto-sync after installation')
29
+ .option('--no-sync', 'Skip auto-sync after installation')
30
30
  .option('--with-deps', 'Install with dependencies')
31
31
  .action(async (source, options) => {
32
32
  const spinner = ora(`Installing from ${source}...`).start();
@@ -87,26 +87,24 @@ export const installCommand = new Command('install')
87
87
  console.log(` ${chalk.bold('Source:')} ${result.sourceType}`);
88
88
  console.log(` ${chalk.bold('IDEs:')} ${result.installed.join(', ')}`);
89
89
  console.log(chalk.dim('─'.repeat(50)));
90
- // Tips
91
- console.log(chalk.dim('\n💡 Next steps:'));
92
- if (!options.sync) {
93
- console.log(chalk.dim(' killer sync - Make skills discoverable by AI'));
94
- }
95
- console.log(chalk.dim(' killer list - View all installed skills'));
96
- console.log(chalk.dim(' killer update - Update skills from source'));
97
- // Auto-sync if requested
98
- if (options.sync) {
90
+ // Auto-sync (enabled by default, disable with --no-sync)
91
+ if (options.sync !== false) {
99
92
  console.log('');
100
- const syncSpinner = ora('Auto-syncing skills...').start();
93
+ const syncSpinner = ora('Auto-syncing skills to AGENTS.md...').start();
101
94
  try {
102
95
  const { execSync } = await import('child_process');
103
96
  execSync('npx killer-skills sync', { stdio: 'pipe' });
104
- syncSpinner.succeed(chalk.green('Skills synced to AGENTS.md'));
97
+ syncSpinner.succeed(chalk.green('Skills synced AI agents can now discover and auto-invoke your skills'));
105
98
  }
106
99
  catch {
107
100
  syncSpinner.warn(chalk.yellow('Auto-sync failed. Run manually: killer sync'));
108
101
  }
109
102
  }
103
+ // Tips
104
+ console.log(chalk.dim('\n💡 Next steps:'));
105
+ console.log(chalk.dim(' killer list - View all installed skills'));
106
+ console.log(chalk.dim(' killer read <skill> - Load skill content'));
107
+ console.log(chalk.dim(' killer update - Update skills from source'));
110
108
  }
111
109
  catch (error) {
112
110
  spinner.fail(chalk.red(`Failed to install ${source}`));
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Login Command
3
+ *
4
+ * Authenticate with GitHub using Device Flow OAuth.
5
+ * This enables `killer search` and other GitHub-dependent features.
6
+ *
7
+ * Usage:
8
+ * killer login - Start GitHub Device Flow login
9
+ * killer login --status - Check current auth status
10
+ * killer login --logout - Remove saved token
11
+ */
12
+ import { Command } from 'commander';
13
+ export declare const loginCommand: Command;
14
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,YAAY,SAiHnB,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Login Command
3
+ *
4
+ * Authenticate with GitHub using Device Flow OAuth.
5
+ * This enables `killer search` and other GitHub-dependent features.
6
+ *
7
+ * Usage:
8
+ * killer login - Start GitHub Device Flow login
9
+ * killer login --status - Check current auth status
10
+ * killer login --logout - Remove saved token
11
+ */
12
+ import { Command } from 'commander';
13
+ import chalk from 'chalk';
14
+ import ora from 'ora';
15
+ import { resolveGitHubToken, requestDeviceCode, pollForToken, saveGitHubToken } from '../utils/github-auth.js';
16
+ export const loginCommand = new Command('login')
17
+ .description('Authenticate with GitHub for enhanced features (search, etc.)')
18
+ .option('--status', 'Check current authentication status')
19
+ .option('--logout', 'Remove saved GitHub token')
20
+ .action(async (options) => {
21
+ try {
22
+ // Check status
23
+ if (options.status) {
24
+ const token = await resolveGitHubToken();
25
+ if (token) {
26
+ console.log(chalk.green('✅ Authenticated with GitHub'));
27
+ console.log(chalk.dim(` Token: ***${token.slice(-4)}`));
28
+ // Validate token
29
+ const spinner = ora('Verifying token...').start();
30
+ try {
31
+ const response = await fetch('https://api.github.com/user', {
32
+ headers: { 'Authorization': `token ${token}`, 'User-Agent': 'killer-skills-cli' }
33
+ });
34
+ if (response.ok) {
35
+ const user = await response.json();
36
+ spinner.succeed(chalk.green(`Logged in as ${chalk.bold(user.login)}`));
37
+ }
38
+ else {
39
+ spinner.warn(chalk.yellow('Token exists but may be expired'));
40
+ }
41
+ }
42
+ catch {
43
+ spinner.warn(chalk.yellow('Could not verify token'));
44
+ }
45
+ }
46
+ else {
47
+ console.log(chalk.yellow('❌ Not authenticated with GitHub'));
48
+ console.log(chalk.dim(' Run: killer login'));
49
+ }
50
+ return;
51
+ }
52
+ // Logout
53
+ if (options.logout) {
54
+ await saveGitHubToken('');
55
+ console.log(chalk.green('✅ GitHub token removed'));
56
+ return;
57
+ }
58
+ // Check if already authenticated
59
+ const existingToken = await resolveGitHubToken();
60
+ if (existingToken) {
61
+ console.log(chalk.green('✅ Already authenticated with GitHub'));
62
+ console.log(chalk.dim(' Use --logout to sign out first'));
63
+ return;
64
+ }
65
+ // Start Device Flow
66
+ console.log(chalk.bold('\n🔐 GitHub Authentication\n'));
67
+ console.log(chalk.dim('This enables skill search and other GitHub features.\n'));
68
+ const spinner = ora('Requesting authorization...').start();
69
+ let deviceData;
70
+ try {
71
+ deviceData = await requestDeviceCode();
72
+ }
73
+ catch (error) {
74
+ spinner.fail(chalk.red('Failed to start Device Flow'));
75
+ console.error(chalk.red(`Error: ${error.message}`));
76
+ console.log(chalk.dim('\nAlternative: Set token manually:'));
77
+ console.log(chalk.cyan(' killer config githubToken <your-github-pat>'));
78
+ return;
79
+ }
80
+ spinner.stop();
81
+ // Display instructions
82
+ console.log(chalk.bold('Step 1:') + ` Open this URL in your browser:\n`);
83
+ console.log(chalk.cyan.bold(` ${deviceData.verification_uri}\n`));
84
+ console.log(chalk.bold('Step 2:') + ` Enter this code:\n`);
85
+ console.log(chalk.bgWhite.black.bold(` ${deviceData.user_code} \n`));
86
+ // Try to open browser automatically
87
+ try {
88
+ const { execSync } = await import('child_process');
89
+ const platform = process.platform;
90
+ if (platform === 'darwin') {
91
+ execSync(`open "${deviceData.verification_uri}"`, { stdio: 'pipe' });
92
+ }
93
+ else if (platform === 'linux') {
94
+ execSync(`xdg-open "${deviceData.verification_uri}"`, { stdio: 'pipe' });
95
+ }
96
+ else if (platform === 'win32') {
97
+ execSync(`start "${deviceData.verification_uri}"`, { stdio: 'pipe' });
98
+ }
99
+ console.log(chalk.dim(' (Browser opened automatically)\n'));
100
+ }
101
+ catch {
102
+ // Browser didn't open, user will need to open manually
103
+ }
104
+ // Poll for token
105
+ const pollSpinner = ora('Waiting for authorization...').start();
106
+ try {
107
+ const token = await pollForToken(deviceData.device_code, deviceData.interval);
108
+ // Save token
109
+ await saveGitHubToken(token);
110
+ pollSpinner.succeed(chalk.green('✅ Successfully authenticated with GitHub!'));
111
+ console.log(chalk.dim('\n💡 You can now use:'));
112
+ console.log(chalk.dim(' killer search <query> - Search for skills'));
113
+ console.log(chalk.dim(' killer login --status - Check auth status'));
114
+ console.log(chalk.dim(' killer login --logout - Sign out'));
115
+ }
116
+ catch (error) {
117
+ pollSpinner.fail(chalk.red(`Authentication failed: ${error.message}`));
118
+ console.log(chalk.dim('\nAlternative: Set token manually:'));
119
+ console.log(chalk.cyan(' killer config githubToken <your-github-pat>'));
120
+ }
121
+ }
122
+ catch (error) {
123
+ console.error(chalk.red(`Error: ${error.message}`));
124
+ process.exit(1);
125
+ }
126
+ });
127
+ //# sourceMappingURL=login.js.map