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/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
+ });