@tc9011/skills-manager 0.1.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 +231 -0
- package/dist/agents.d.ts +19 -0
- package/dist/agents.js +80 -0
- package/dist/agents.js.map +1 -0
- package/dist/auth.d.ts +10 -0
- package/dist/auth.js +70 -0
- package/dist/auth.js.map +1 -0
- package/dist/commands/link.d.ts +3 -0
- package/dist/commands/link.js +109 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/pull.d.ts +4 -0
- package/dist/commands/pull.js +57 -0
- package/dist/commands/pull.js.map +1 -0
- package/dist/commands/push.d.ts +3 -0
- package/dist/commands/push.js +54 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/config.d.ts +18 -0
- package/dist/config.js +48 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +8 -0
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/git-ops.d.ts +57 -0
- package/dist/git-ops.js +272 -0
- package/dist/git-ops.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/linker.d.ts +23 -0
- package/dist/linker.js +78 -0
- package/dist/linker.js.map +1 -0
- package/dist/lockfile.d.ts +27 -0
- package/dist/lockfile.js +31 -0
- package/dist/lockfile.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type AgentId } from './agents.js';
|
|
2
|
+
export interface SkillLockEntry {
|
|
3
|
+
source: string;
|
|
4
|
+
sourceType: string;
|
|
5
|
+
sourceUrl: string;
|
|
6
|
+
skillPath?: string;
|
|
7
|
+
skillFolderHash: string;
|
|
8
|
+
installedAt: string;
|
|
9
|
+
updatedAt: string;
|
|
10
|
+
pluginName?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface SkillLockFile {
|
|
13
|
+
version: number;
|
|
14
|
+
skills: Record<string, SkillLockEntry>;
|
|
15
|
+
dismissed?: Record<string, unknown>;
|
|
16
|
+
lastSelectedAgents?: string[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read and parse .skill-lock.json. Returns null if file doesn't exist.
|
|
20
|
+
* Throws on malformed JSON or other I/O errors.
|
|
21
|
+
*/
|
|
22
|
+
export declare function readLockFile(path: string): Promise<SkillLockFile | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Get lastSelectedAgents from lock file, filtered to valid agent IDs.
|
|
25
|
+
* Returns empty array if file missing or field absent.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getLastSelectedAgents(path: string): Promise<AgentId[]>;
|
package/dist/lockfile.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/lockfile.ts
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { agentRegistry } from './agents.js';
|
|
4
|
+
/**
|
|
5
|
+
* Read and parse .skill-lock.json. Returns null if file doesn't exist.
|
|
6
|
+
* Throws on malformed JSON or other I/O errors.
|
|
7
|
+
*/
|
|
8
|
+
export async function readLockFile(path) {
|
|
9
|
+
try {
|
|
10
|
+
const content = await readFile(path, 'utf-8');
|
|
11
|
+
return JSON.parse(content);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
if (err.code === 'ENOENT') {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
throw err;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get lastSelectedAgents from lock file, filtered to valid agent IDs.
|
|
22
|
+
* Returns empty array if file missing or field absent.
|
|
23
|
+
*/
|
|
24
|
+
export async function getLastSelectedAgents(path) {
|
|
25
|
+
const lock = await readLockFile(path);
|
|
26
|
+
if (!lock?.lastSelectedAgents)
|
|
27
|
+
return [];
|
|
28
|
+
const validIds = new Set(Object.keys(agentRegistry));
|
|
29
|
+
return lock.lastSelectedAgents.filter((id) => validIds.has(id));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=lockfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../src/lockfile.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAoB1D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,kBAAkB;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACnC,CAAC,EAAE,EAAiB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CACxC,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tc9011/skills-manager",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Backup and restore AI agent skills to GitHub",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/tc9011/skills-manager.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/tc9011/skills-manager#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/tc9011/skills-manager/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"ai",
|
|
17
|
+
"agent",
|
|
18
|
+
"skills",
|
|
19
|
+
"backup",
|
|
20
|
+
"restore",
|
|
21
|
+
"github",
|
|
22
|
+
"cli",
|
|
23
|
+
"symlink",
|
|
24
|
+
"vercel-skills"
|
|
25
|
+
],
|
|
26
|
+
"bin": {
|
|
27
|
+
"skills-manager": "./dist/index.js"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"dev": "tsx src/index.ts",
|
|
34
|
+
"build": "tsc",
|
|
35
|
+
"lint": "eslint src/",
|
|
36
|
+
"lint:fix": "eslint src/ --fix",
|
|
37
|
+
"test": "vitest run",
|
|
38
|
+
"test:watch": "vitest",
|
|
39
|
+
"test:coverage": "vitest run --coverage",
|
|
40
|
+
"prepublishOnly": "npm run build",
|
|
41
|
+
"prepare": "husky"
|
|
42
|
+
},
|
|
43
|
+
"lint-staged": {
|
|
44
|
+
"src/**/*.ts": "eslint"
|
|
45
|
+
},
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=20"
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@eslint/js": "^10.0.1",
|
|
54
|
+
"@types/node": "^22.0.0",
|
|
55
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
56
|
+
"eslint": "^10.0.2",
|
|
57
|
+
"husky": "^9.1.7",
|
|
58
|
+
"lint-staged": "^16.3.1",
|
|
59
|
+
"tsx": "^4.19.0",
|
|
60
|
+
"typescript": "^5.7.0",
|
|
61
|
+
"typescript-eslint": "^8.56.1",
|
|
62
|
+
"vitest": "^3.0.0"
|
|
63
|
+
},
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"@clack/prompts": "^0.10.0",
|
|
66
|
+
"commander": "^13.0.0",
|
|
67
|
+
"simple-git": "^3.27.0"
|
|
68
|
+
}
|
|
69
|
+
}
|