killer-skills 1.7.1 ā 1.7.2
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/dist/commands/login.d.ts +4 -3
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +67 -12
- package/dist/commands/login.js.map +1 -1
- package/dist/utils/github-auth.d.ts +22 -4
- package/dist/utils/github-auth.d.ts.map +1 -1
- package/dist/utils/github-auth.js +62 -7
- package/dist/utils/github-auth.js.map +1 -1
- package/package.json +7 -2
package/dist/commands/login.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Login Command
|
|
3
3
|
*
|
|
4
|
-
* Authenticate with GitHub using
|
|
5
|
-
*
|
|
4
|
+
* Authenticate with GitHub using the most seamless method available.
|
|
5
|
+
* Prioritizes `gh` CLI for zero-friction login, with Device Flow and
|
|
6
|
+
* manual PAT as fallbacks.
|
|
6
7
|
*
|
|
7
8
|
* Usage:
|
|
8
|
-
* killer login - Start GitHub
|
|
9
|
+
* killer login - Start GitHub login (auto-selects best method)
|
|
9
10
|
* killer login --status - Check current auth status
|
|
10
11
|
* killer login --logout - Remove saved token
|
|
11
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,YAAY,SAoJnB,CAAC"}
|
package/dist/commands/login.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Login Command
|
|
3
3
|
*
|
|
4
|
-
* Authenticate with GitHub using
|
|
5
|
-
*
|
|
4
|
+
* Authenticate with GitHub using the most seamless method available.
|
|
5
|
+
* Prioritizes `gh` CLI for zero-friction login, with Device Flow and
|
|
6
|
+
* manual PAT as fallbacks.
|
|
6
7
|
*
|
|
7
8
|
* Usage:
|
|
8
|
-
* killer login - Start GitHub
|
|
9
|
+
* killer login - Start GitHub login (auto-selects best method)
|
|
9
10
|
* killer login --status - Check current auth status
|
|
10
11
|
* killer login --logout - Remove saved token
|
|
11
12
|
*/
|
|
12
13
|
import { Command } from 'commander';
|
|
13
14
|
import chalk from 'chalk';
|
|
14
15
|
import ora from 'ora';
|
|
15
|
-
import { resolveGitHubToken, requestDeviceCode, pollForToken, saveGitHubToken } from '../utils/github-auth.js';
|
|
16
|
+
import { resolveGitHubToken, requestDeviceCode, pollForToken, saveGitHubToken, isGhCliInstalled, isGhCliAuthenticated, runGhAuthLogin } from '../utils/github-auth.js';
|
|
16
17
|
export const loginCommand = new Command('login')
|
|
17
18
|
.description('Authenticate with GitHub for enhanced features (search, etc.)')
|
|
18
19
|
.option('--status', 'Check current authentication status')
|
|
@@ -62,19 +63,46 @@ export const loginCommand = new Command('login')
|
|
|
62
63
|
console.log(chalk.dim(' Use --logout to sign out first'));
|
|
63
64
|
return;
|
|
64
65
|
}
|
|
65
|
-
//
|
|
66
|
+
// ====== Multi-Strategy Login ======
|
|
66
67
|
console.log(chalk.bold('\nš GitHub Authentication\n'));
|
|
67
|
-
|
|
68
|
+
// === Strategy 1: gh CLI (most seamless) ===
|
|
69
|
+
const ghInstalled = isGhCliInstalled();
|
|
70
|
+
if (ghInstalled) {
|
|
71
|
+
// gh is installed, check if already authenticated
|
|
72
|
+
if (isGhCliAuthenticated()) {
|
|
73
|
+
// gh is authenticated, token will be auto-detected on next resolveGitHubToken call
|
|
74
|
+
console.log(chalk.green('ā
Detected existing GitHub CLI authentication!'));
|
|
75
|
+
console.log(chalk.dim(' Your gh CLI token will be used automatically.'));
|
|
76
|
+
console.log(chalk.dim(' No additional setup needed.\n'));
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// gh is installed but not authenticated ā guide user through gh auth login
|
|
80
|
+
console.log(chalk.cyan('š¦ GitHub CLI detected! Using it for seamless authentication.\n'));
|
|
81
|
+
console.log(chalk.dim('Launching GitHub CLI login...\n'));
|
|
82
|
+
const success = await runGhAuthLogin();
|
|
83
|
+
if (success) {
|
|
84
|
+
console.log(chalk.green('\nā
Successfully authenticated via GitHub CLI!'));
|
|
85
|
+
console.log(chalk.dim(' Token is managed by gh CLI ā no manual steps needed.\n'));
|
|
86
|
+
console.log(chalk.dim('š” You can now use:'));
|
|
87
|
+
console.log(chalk.dim(' killer search <query> - Search for skills'));
|
|
88
|
+
console.log(chalk.dim(' killer login --status - Check auth status'));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// gh auth login failed, fall through to other methods
|
|
92
|
+
console.log(chalk.yellow('\nā GitHub CLI login was cancelled or failed.'));
|
|
93
|
+
console.log(chalk.dim(' Trying alternative methods...\n'));
|
|
94
|
+
}
|
|
95
|
+
// === Strategy 2: Device Flow OAuth ===
|
|
96
|
+
console.log(chalk.dim('Using Device Flow authentication...\n'));
|
|
68
97
|
const spinner = ora('Requesting authorization...').start();
|
|
69
98
|
let deviceData;
|
|
70
99
|
try {
|
|
71
100
|
deviceData = await requestDeviceCode();
|
|
72
101
|
}
|
|
73
102
|
catch (error) {
|
|
74
|
-
spinner.fail(chalk.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
console.log(chalk.cyan(' killer config githubToken <your-github-pat>'));
|
|
103
|
+
spinner.fail(chalk.yellow('Device Flow not available'));
|
|
104
|
+
// === Strategy 3: Manual PAT (ultimate fallback) ===
|
|
105
|
+
printManualTokenGuide(ghInstalled);
|
|
78
106
|
return;
|
|
79
107
|
}
|
|
80
108
|
spinner.stop();
|
|
@@ -115,8 +143,8 @@ export const loginCommand = new Command('login')
|
|
|
115
143
|
}
|
|
116
144
|
catch (error) {
|
|
117
145
|
pollSpinner.fail(chalk.red(`Authentication failed: ${error.message}`));
|
|
118
|
-
|
|
119
|
-
|
|
146
|
+
// Fall through to manual token guide
|
|
147
|
+
printManualTokenGuide(ghInstalled);
|
|
120
148
|
}
|
|
121
149
|
}
|
|
122
150
|
catch (error) {
|
|
@@ -124,4 +152,31 @@ export const loginCommand = new Command('login')
|
|
|
124
152
|
process.exit(1);
|
|
125
153
|
}
|
|
126
154
|
});
|
|
155
|
+
/**
|
|
156
|
+
* Print a friendly guide for manual token setup
|
|
157
|
+
*/
|
|
158
|
+
function printManualTokenGuide(ghInstalled) {
|
|
159
|
+
console.log(chalk.bold('\nš Alternative: Set up GitHub token manually\n'));
|
|
160
|
+
if (!ghInstalled) {
|
|
161
|
+
console.log(chalk.cyan.bold(' Option A: Install GitHub CLI (Recommended)\n'));
|
|
162
|
+
const platform = process.platform;
|
|
163
|
+
if (platform === 'darwin') {
|
|
164
|
+
console.log(chalk.dim(' brew install gh'));
|
|
165
|
+
}
|
|
166
|
+
else if (platform === 'linux') {
|
|
167
|
+
console.log(chalk.dim(' sudo apt install gh # Debian/Ubuntu'));
|
|
168
|
+
console.log(chalk.dim(' sudo dnf install gh # Fedora'));
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
console.log(chalk.dim(' winget install GitHub.cli'));
|
|
172
|
+
}
|
|
173
|
+
console.log(chalk.dim(' gh auth login'));
|
|
174
|
+
console.log(chalk.dim(' killer login # Token auto-detected!\n'));
|
|
175
|
+
}
|
|
176
|
+
console.log(chalk.cyan.bold(` ${ghInstalled ? 'Option A' : 'Option B'}: Personal Access Token\n`));
|
|
177
|
+
console.log(chalk.dim(' 1. Visit: https://github.com/settings/tokens'));
|
|
178
|
+
console.log(chalk.dim(' 2. Generate a token (classic) with "public_repo" scope'));
|
|
179
|
+
console.log(chalk.dim(' 3. Run:'));
|
|
180
|
+
console.log(chalk.white(' killer config githubToken <your-token>\n'));
|
|
181
|
+
}
|
|
127
182
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitHub Authentication Utility
|
|
3
3
|
*
|
|
4
|
-
* Provides seamless GitHub token resolution with
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
4
|
+
* Provides seamless GitHub token resolution with multiple strategies:
|
|
5
|
+
* 1. Environment variable: GITHUB_TOKEN
|
|
6
|
+
* 2. Config file: ~/.killer-skills/config.json ā githubToken
|
|
7
|
+
* 3. Auto-detect `gh` CLI token (zero config)
|
|
8
|
+
*
|
|
9
|
+
* Login strategies (ordered by seamlessness):
|
|
10
|
+
* 1. `gh auth login` ā official GitHub CLI (most reliable, most seamless)
|
|
11
|
+
* 2. Device Flow OAuth ā for users without `gh` CLI
|
|
12
|
+
* 3. Manual PAT ā ultimate fallback
|
|
8
13
|
*/
|
|
9
14
|
/**
|
|
10
15
|
* Resolve GitHub token with fallback chain:
|
|
@@ -13,6 +18,19 @@
|
|
|
13
18
|
* 3. gh CLI: `gh auth token`
|
|
14
19
|
*/
|
|
15
20
|
export declare function resolveGitHubToken(): Promise<string | null>;
|
|
21
|
+
/**
|
|
22
|
+
* Check if `gh` CLI is installed
|
|
23
|
+
*/
|
|
24
|
+
export declare function isGhCliInstalled(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Check if `gh` CLI is authenticated
|
|
27
|
+
*/
|
|
28
|
+
export declare function isGhCliAuthenticated(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Run `gh auth login` interactively
|
|
31
|
+
* Returns true if login succeeded
|
|
32
|
+
*/
|
|
33
|
+
export declare function runGhAuthLogin(): Promise<boolean>;
|
|
16
34
|
/**
|
|
17
35
|
* Save GitHub token to config file
|
|
18
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-auth.d.ts","sourceRoot":"","sources":["../../src/utils/github-auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"github-auth.d.ts","sourceRoot":"","sources":["../../src/utils/github-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH;;;;;GAKG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkCjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAW1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAW9C;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAYvD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAclE;AAED;;;;;;GAMG;AAEH,UAAU,kBAAkB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAUD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuCrE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsExF"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitHub Authentication Utility
|
|
3
3
|
*
|
|
4
|
-
* Provides seamless GitHub token resolution with
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
4
|
+
* Provides seamless GitHub token resolution with multiple strategies:
|
|
5
|
+
* 1. Environment variable: GITHUB_TOKEN
|
|
6
|
+
* 2. Config file: ~/.killer-skills/config.json ā githubToken
|
|
7
|
+
* 3. Auto-detect `gh` CLI token (zero config)
|
|
8
|
+
*
|
|
9
|
+
* Login strategies (ordered by seamlessness):
|
|
10
|
+
* 1. `gh auth login` ā official GitHub CLI (most reliable, most seamless)
|
|
11
|
+
* 2. Device Flow OAuth ā for users without `gh` CLI
|
|
12
|
+
* 3. Manual PAT ā ultimate fallback
|
|
8
13
|
*/
|
|
9
14
|
import { execSync } from 'child_process';
|
|
10
15
|
import https from 'https';
|
|
@@ -16,9 +21,9 @@ const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
|
|
|
16
21
|
/**
|
|
17
22
|
* GitHub Device Flow Client ID
|
|
18
23
|
* Register at: https://github.com/settings/applications/new
|
|
19
|
-
*
|
|
24
|
+
* Make sure to enable "Device Flow" in the OAuth App settings
|
|
20
25
|
*/
|
|
21
|
-
const GITHUB_CLIENT_ID = '
|
|
26
|
+
const GITHUB_CLIENT_ID = 'Ov23li6qTIoqN6PqN9Xt';
|
|
22
27
|
/**
|
|
23
28
|
* Resolve GitHub token with fallback chain:
|
|
24
29
|
* 1. Environment variable: GITHUB_TOKEN
|
|
@@ -49,7 +54,7 @@ export async function resolveGitHubToken() {
|
|
|
49
54
|
timeout: 3000,
|
|
50
55
|
stdio: ['pipe', 'pipe', 'pipe']
|
|
51
56
|
}).trim();
|
|
52
|
-
if (token && token.
|
|
57
|
+
if (token && token.length > 0) {
|
|
53
58
|
return token;
|
|
54
59
|
}
|
|
55
60
|
}
|
|
@@ -58,6 +63,56 @@ export async function resolveGitHubToken() {
|
|
|
58
63
|
}
|
|
59
64
|
return null;
|
|
60
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if `gh` CLI is installed
|
|
68
|
+
*/
|
|
69
|
+
export function isGhCliInstalled() {
|
|
70
|
+
try {
|
|
71
|
+
execSync('gh --version 2>/dev/null', {
|
|
72
|
+
encoding: 'utf-8',
|
|
73
|
+
timeout: 3000,
|
|
74
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
75
|
+
});
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if `gh` CLI is authenticated
|
|
84
|
+
*/
|
|
85
|
+
export function isGhCliAuthenticated() {
|
|
86
|
+
try {
|
|
87
|
+
const result = execSync('gh auth status 2>&1', {
|
|
88
|
+
encoding: 'utf-8',
|
|
89
|
+
timeout: 5000,
|
|
90
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
91
|
+
});
|
|
92
|
+
return result.includes('Logged in');
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Run `gh auth login` interactively
|
|
100
|
+
* Returns true if login succeeded
|
|
101
|
+
*/
|
|
102
|
+
export async function runGhAuthLogin() {
|
|
103
|
+
try {
|
|
104
|
+
// Use spawnSync for interactive process
|
|
105
|
+
const { spawnSync } = await import('child_process');
|
|
106
|
+
const result = spawnSync('gh', ['auth', 'login', '--web', '-p', 'https'], {
|
|
107
|
+
stdio: 'inherit',
|
|
108
|
+
timeout: 120000, // 2 minutes
|
|
109
|
+
});
|
|
110
|
+
return result.status === 0;
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
61
116
|
/**
|
|
62
117
|
* Save GitHub token to config file
|
|
63
118
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-auth.js","sourceRoot":"","sources":["../../src/utils/github-auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"github-auth.js","sourceRoot":"","sources":["../../src/utils/github-auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "killer-skills",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Cross-platform CLI tool for installing AI agent skills to multiple IDEs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -44,6 +44,11 @@
|
|
|
44
44
|
],
|
|
45
45
|
"author": "Killer-Skills Team",
|
|
46
46
|
"license": "MIT",
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "https://github.com/asiawright1122-boop/Killer-AgentSkills.git",
|
|
50
|
+
"directory": "packages/cli"
|
|
51
|
+
},
|
|
47
52
|
"homepage": "https://killer-skills.com",
|
|
48
53
|
"bugs": {
|
|
49
54
|
"url": "https://github.com/anthropics/killer-skills/issues"
|
|
@@ -69,4 +74,4 @@
|
|
|
69
74
|
"typescript": "^5.9.3",
|
|
70
75
|
"vitest": "^3.2.4"
|
|
71
76
|
}
|
|
72
|
-
}
|
|
77
|
+
}
|