skilllib 1.0.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/LICENSE +21 -0
- package/README.md +266 -0
- package/dist/chunk-J5ZDUXWL.js +1572 -0
- package/dist/index.js +145 -0
- package/dist/tui-WFN7JSVC.js +2683 -0
- package/package.json +68 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
add,
|
|
4
|
+
doctor,
|
|
5
|
+
error,
|
|
6
|
+
folders,
|
|
7
|
+
harnessesCommand,
|
|
8
|
+
importSkills,
|
|
9
|
+
link,
|
|
10
|
+
list,
|
|
11
|
+
newSkill,
|
|
12
|
+
outdated,
|
|
13
|
+
parseArgs,
|
|
14
|
+
projects,
|
|
15
|
+
remove,
|
|
16
|
+
restore,
|
|
17
|
+
scan,
|
|
18
|
+
show,
|
|
19
|
+
status,
|
|
20
|
+
sync,
|
|
21
|
+
unhide,
|
|
22
|
+
update,
|
|
23
|
+
usage
|
|
24
|
+
} from "./chunk-J5ZDUXWL.js";
|
|
25
|
+
|
|
26
|
+
// src/index.ts
|
|
27
|
+
import { readFileSync } from "fs";
|
|
28
|
+
var HELP = `
|
|
29
|
+
skilllib \u2014 one library of agent skills (Claude Code, Cursor, Codex, Zed), installed per project
|
|
30
|
+
|
|
31
|
+
skilllib Open the interactive app (run it from anywhere)
|
|
32
|
+
|
|
33
|
+
Set up:
|
|
34
|
+
skilllib scan [folder...] Add folders that contain your projects and scan them
|
|
35
|
+
skilllib folders [add|remove] Show or change your project folders
|
|
36
|
+
skilllib harnesses [id...] Show or set the agents you use (claude-code cursor codex zed)
|
|
37
|
+
skilllib import <dir>... Add skill folders to the library (--force replaces)
|
|
38
|
+
skilllib import --global Copy ~/.claude/skills into the library
|
|
39
|
+
|
|
40
|
+
In a project:
|
|
41
|
+
skilllib status This project's skills and their status
|
|
42
|
+
skilllib add <name>... Install library skills where your harnesses look
|
|
43
|
+
skilllib remove <name>... Remove skills from this project
|
|
44
|
+
skilllib link [--all] Make every skill here usable by all your agents (adds links)
|
|
45
|
+
skilllib sync [--all] Install exactly the versions in skilllib.json
|
|
46
|
+
skilllib outdated [--all] Skills with a newer version in the library
|
|
47
|
+
skilllib update [name...] Move to the newest versions (--all: every project)
|
|
48
|
+
|
|
49
|
+
Library:
|
|
50
|
+
skilllib list Library skills, where they're installed, usage
|
|
51
|
+
skilllib show <name> Details for one skill
|
|
52
|
+
skilllib new <name> [desc] Create a skill in the library
|
|
53
|
+
skilllib projects Your projects and their skills
|
|
54
|
+
skilllib usage [--days N] Which skills agents used (from Claude Code transcripts)
|
|
55
|
+
|
|
56
|
+
Health:
|
|
57
|
+
skilllib doctor [--fix] Broken links, duplicates, out-of-date projects
|
|
58
|
+
skilllib restore [name] Restore something skilllib moved out of the way
|
|
59
|
+
skilllib unhide <path> Show a hidden project again
|
|
60
|
+
|
|
61
|
+
Options: --force (overwrite local edits) --allow-tracked (link into git-tracked skill folders) --days N
|
|
62
|
+
`.trim();
|
|
63
|
+
function packageVersion() {
|
|
64
|
+
try {
|
|
65
|
+
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
66
|
+
return pkg.version ?? "unknown";
|
|
67
|
+
} catch {
|
|
68
|
+
return "unknown";
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function main() {
|
|
72
|
+
const [command, ...rest] = process.argv.slice(2);
|
|
73
|
+
const args = parseArgs(rest);
|
|
74
|
+
switch (command) {
|
|
75
|
+
case void 0:
|
|
76
|
+
return process.stdin.isTTY && process.stdout.isTTY ? (await import("./tui-WFN7JSVC.js")).tui() : status(args);
|
|
77
|
+
case "ui":
|
|
78
|
+
return (await import("./tui-WFN7JSVC.js")).tui();
|
|
79
|
+
case "status":
|
|
80
|
+
return status(args);
|
|
81
|
+
case "add":
|
|
82
|
+
return add(args);
|
|
83
|
+
case "remove":
|
|
84
|
+
case "rm":
|
|
85
|
+
return remove(args);
|
|
86
|
+
case "sync":
|
|
87
|
+
case "install":
|
|
88
|
+
return sync(args);
|
|
89
|
+
case "update":
|
|
90
|
+
case "upgrade":
|
|
91
|
+
return update(args);
|
|
92
|
+
case "outdated":
|
|
93
|
+
return outdated(args);
|
|
94
|
+
case "list":
|
|
95
|
+
case "ls":
|
|
96
|
+
return list(args);
|
|
97
|
+
case "show":
|
|
98
|
+
return show(args);
|
|
99
|
+
case "import":
|
|
100
|
+
return importSkills(args);
|
|
101
|
+
case "scan":
|
|
102
|
+
return scan(args);
|
|
103
|
+
case "projects":
|
|
104
|
+
return projects();
|
|
105
|
+
case "link":
|
|
106
|
+
return link(args);
|
|
107
|
+
case "harnesses":
|
|
108
|
+
case "agents":
|
|
109
|
+
return harnessesCommand(args);
|
|
110
|
+
case "folders":
|
|
111
|
+
case "roots":
|
|
112
|
+
return folders(args);
|
|
113
|
+
case "unhide":
|
|
114
|
+
return unhide(args);
|
|
115
|
+
case "new":
|
|
116
|
+
case "create":
|
|
117
|
+
return newSkill(args);
|
|
118
|
+
case "restore":
|
|
119
|
+
return restore(args);
|
|
120
|
+
case "doctor":
|
|
121
|
+
return doctor(args);
|
|
122
|
+
case "usage":
|
|
123
|
+
return usage(args);
|
|
124
|
+
case "--version":
|
|
125
|
+
case "-v":
|
|
126
|
+
case "version":
|
|
127
|
+
console.log(packageVersion());
|
|
128
|
+
return;
|
|
129
|
+
case "help":
|
|
130
|
+
case "--help":
|
|
131
|
+
case "-h":
|
|
132
|
+
console.log(HELP);
|
|
133
|
+
return;
|
|
134
|
+
default:
|
|
135
|
+
console.error(`Unknown command: ${command}
|
|
136
|
+
`);
|
|
137
|
+
console.log(HELP);
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
main().catch((err) => {
|
|
142
|
+
error(err instanceof Error ? err.message : String(err));
|
|
143
|
+
if (process.env.DEBUG && err instanceof Error) console.error(err.stack);
|
|
144
|
+
process.exit(1);
|
|
145
|
+
});
|