@delorenj/skillex 0.1.1

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.
Files changed (71) hide show
  1. package/README.md +91 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +15851 -0
  4. package/dist/commands/compositions.d.ts +9 -0
  5. package/dist/commands/diagnostics.d.ts +7 -0
  6. package/dist/commands/migrate.d.ts +7 -0
  7. package/dist/commands/profiles.d.ts +8 -0
  8. package/dist/commands/selections.d.ts +7 -0
  9. package/dist/commands/sync.d.ts +7 -0
  10. package/dist/commands/vendor.d.ts +8 -0
  11. package/dist/core/activation-ownership.d.ts +18 -0
  12. package/dist/core/activation-state.d.ts +37 -0
  13. package/dist/core/activation-types.d.ts +32 -0
  14. package/dist/core/aliases.d.ts +7 -0
  15. package/dist/core/catalog-lock.d.ts +15 -0
  16. package/dist/core/catalog-types.d.ts +28 -0
  17. package/dist/core/catalog-write.d.ts +25 -0
  18. package/dist/core/catalog.d.ts +7 -0
  19. package/dist/core/composition-mutation.d.ts +38 -0
  20. package/dist/core/composition-types.d.ts +45 -0
  21. package/dist/core/composition.d.ts +12 -0
  22. package/dist/core/content.d.ts +25 -0
  23. package/dist/core/diagnostics-types.d.ts +76 -0
  24. package/dist/core/diagnostics.d.ts +6 -0
  25. package/dist/core/discovery.d.ts +5 -0
  26. package/dist/core/doctor-sources.d.ts +10 -0
  27. package/dist/core/doctor-types.d.ts +37 -0
  28. package/dist/core/doctor-writers.d.ts +11 -0
  29. package/dist/core/doctor.d.ts +4 -0
  30. package/dist/core/error.d.ts +8 -0
  31. package/dist/core/filesystem.d.ts +5 -0
  32. package/dist/core/lock.d.ts +18 -0
  33. package/dist/core/manifest.d.ts +7 -0
  34. package/dist/core/metadata.d.ts +6 -0
  35. package/dist/core/migration-activation-state.d.ts +52 -0
  36. package/dist/core/migration-activation.d.ts +6 -0
  37. package/dist/core/migration-common.d.ts +8 -0
  38. package/dist/core/migration-manifest.d.ts +4 -0
  39. package/dist/core/migration-registry-state.d.ts +72 -0
  40. package/dist/core/migration-registry.d.ts +7 -0
  41. package/dist/core/migration-sources.d.ts +4 -0
  42. package/dist/core/migration-types.d.ts +56 -0
  43. package/dist/core/migration.d.ts +4 -0
  44. package/dist/core/packs.d.ts +8 -0
  45. package/dist/core/profile-discovery.d.ts +15 -0
  46. package/dist/core/profile-state.d.ts +27 -0
  47. package/dist/core/profile-sync.d.ts +40 -0
  48. package/dist/core/profile-types.d.ts +88 -0
  49. package/dist/core/profiles.d.ts +6 -0
  50. package/dist/core/reconciliation-types.d.ts +36 -0
  51. package/dist/core/reconciliation.d.ts +47 -0
  52. package/dist/core/resolution.d.ts +6 -0
  53. package/dist/core/result.d.ts +37 -0
  54. package/dist/core/selection-command-types.d.ts +23 -0
  55. package/dist/core/selection-commands.d.ts +6 -0
  56. package/dist/core/selection-manifest.d.ts +18 -0
  57. package/dist/core/selection.d.ts +98 -0
  58. package/dist/core/sets.d.ts +7 -0
  59. package/dist/core/vendor-git.d.ts +26 -0
  60. package/dist/core/vendor-inspect.d.ts +5 -0
  61. package/dist/core/vendor-provenance.d.ts +9 -0
  62. package/dist/core/vendor-sources.d.ts +14 -0
  63. package/dist/core/vendor-state.d.ts +54 -0
  64. package/dist/core/vendor-sync.d.ts +4 -0
  65. package/dist/core/vendor-types.d.ts +132 -0
  66. package/dist/index.d.ts +32 -0
  67. package/dist/index.js +15028 -0
  68. package/dist/version.d.ts +1 -0
  69. package/package.json +62 -0
  70. package/schemas/result.schema.json +47 -0
  71. package/skills.schema.json +144 -0
@@ -0,0 +1 @@
1
+ export declare const VERSION: string;
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@delorenj/skillex",
3
+ "version": "0.1.1",
4
+ "description": "Canonical skill catalog and activation management for agentic CLIs.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Jarad DeLorenzo",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/delorenj/skillex.git"
11
+ },
12
+ "engines": {
13
+ "node": ">=24"
14
+ },
15
+ "bin": {
16
+ "skillex": "dist/cli.js"
17
+ },
18
+ "main": "dist/index.js",
19
+ "types": "dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js"
24
+ },
25
+ "./package.json": "./package.json",
26
+ "./schemas/result.schema.json": "./schemas/result.schema.json",
27
+ "./schemas/skills.schema.json": "./skills.schema.json"
28
+ },
29
+ "files": [
30
+ "dist/**/*.js",
31
+ "dist/**/*.d.ts",
32
+ "schemas/result.schema.json",
33
+ "skills.schema.json"
34
+ ],
35
+ "scripts": {
36
+ "build": "node scripts/build.mjs",
37
+ "lint": "biome check src scripts tests/node schemas skills.schema.json package.json tsconfig.json tsconfig.build.json biome.json",
38
+ "format": "biome check --write src scripts tests/node schemas skills.schema.json package.json tsconfig.json tsconfig.build.json biome.json",
39
+ "typecheck": "tsc --noEmit",
40
+ "test": "npm run build && node --test tests/node/*.test.mjs",
41
+ "check": "npm run lint && npm run typecheck && npm test",
42
+ "prepack": "npm run build",
43
+ "prepublishOnly": "npm run check"
44
+ },
45
+ "dependencies": {
46
+ "ajv": "^8.20.0",
47
+ "commander": "^15.0.0",
48
+ "semver": "^7.8.5",
49
+ "smol-toml": "^1.8.0",
50
+ "yaml": "^2.9.1"
51
+ },
52
+ "devDependencies": {
53
+ "@biomejs/biome": "^2.5.12",
54
+ "@types/node": "^24.13.3",
55
+ "@types/semver": "^7.8.0",
56
+ "esbuild": "^0.28.2",
57
+ "typescript": "^5.9.3"
58
+ },
59
+ "publishConfig": {
60
+ "access": "public"
61
+ }
62
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/delorenj/skillex/main/schemas/result.schema.json",
4
+ "title": "Skillex command result, version 2",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema", "command", "ok", "exit", "data", "findings"],
8
+ "properties": {
9
+ "schema": { "const": 2 },
10
+ "command": { "type": "string", "minLength": 1 },
11
+ "ok": { "type": "boolean" },
12
+ "exit": { "enum": [0, 1, 2, 3, 4, 5, 6, 130] },
13
+ "data": {},
14
+ "findings": {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": ["code", "severity", "message"],
20
+ "properties": {
21
+ "code": { "type": "string", "pattern": "^[EWI]_.+$" },
22
+ "severity": { "enum": ["error", "warning", "info"] },
23
+ "message": { "type": "string" },
24
+ "path": { "type": "string" },
25
+ "fix": { "type": "string" },
26
+ "scope": { "type": "string" },
27
+ "name": { "type": "string" },
28
+ "detail": { "type": "array", "items": { "type": "string" } }
29
+ }
30
+ }
31
+ }
32
+ },
33
+ "allOf": [
34
+ {
35
+ "if": { "properties": { "exit": { "const": 0 } } },
36
+ "then": {
37
+ "properties": {
38
+ "ok": { "const": true },
39
+ "findings": {
40
+ "items": { "properties": { "severity": { "not": { "const": "error" } } } }
41
+ }
42
+ }
43
+ },
44
+ "else": { "properties": { "ok": { "const": false } } }
45
+ }
46
+ ]
47
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://raw.githubusercontent.com/delorenj/skillex/main/skills.schema.json",
4
+ "title": "Agent Skills Manifest",
5
+ "description": "Canonical skill selections for one global or project activation root. Resolution is offline; all definitions belong to all-skills/ and sets and packs contain references only.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "definitions": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "pattern": "^[a-z0-9]([a-z0-9._-]*[a-z0-9])?(?![\\s\\S])",
12
+ "description": "One canonical all-skills/ name: lowercase letters, digits, dot, dash, or underscore, beginning and ending with a letter or digit."
13
+ },
14
+ "compositionName": {
15
+ "type": "string",
16
+ "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?(?![\\s\\S])",
17
+ "description": "One safe set or pack directory name, preserving the case of existing compositions."
18
+ },
19
+ "versionComponent": {
20
+ "type": "string",
21
+ "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9._+-]*[a-zA-Z0-9])?(?![\\s\\S])",
22
+ "description": "One safe pack version directory name, including semantic-version prerelease and build suffixes."
23
+ },
24
+ "skillNames": {
25
+ "type": "array",
26
+ "items": {
27
+ "$ref": "#/definitions/skillName"
28
+ }
29
+ }
30
+ },
31
+ "properties": {
32
+ "$schema": {
33
+ "type": "string",
34
+ "minLength": 1,
35
+ "description": "Editor schema reference. Validation always uses the schema shipped with the installed Skillex package."
36
+ },
37
+ "scope": {
38
+ "type": "string",
39
+ "enum": ["global", "project"],
40
+ "description": "Advisory label. Manifest placement determines scope; a mismatch is reported without changing that placement."
41
+ },
42
+ "inherit_global": {
43
+ "type": "boolean",
44
+ "default": true,
45
+ "description": "Include global selections in a composed project selection. This does not choose which roots a command writes. Ignored for global scope or an active exclusive pack."
46
+ },
47
+ "registry": {
48
+ "type": "string",
49
+ "pattern": "\\S",
50
+ "description": "Repository identity used to locate an existing local registry cache. It never triggers cloning, fetching, or network access."
51
+ },
52
+ "skills": {
53
+ "type": "array",
54
+ "description": "Explicit canonical all-skills/ references, applied after inherited names and ordered sets. Repeated references collapse; conflicting canonical targets fail.",
55
+ "items": {
56
+ "anyOf": [
57
+ {
58
+ "$ref": "#/definitions/skillName"
59
+ },
60
+ {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": ["name"],
64
+ "properties": {
65
+ "name": {
66
+ "$ref": "#/definitions/skillName"
67
+ }
68
+ }
69
+ }
70
+ ]
71
+ }
72
+ },
73
+ "sets": {
74
+ "type": "array",
75
+ "description": "Composable references to sets/<name>, processed in declaration order. Every selected member resolves to its canonical all-skills/ definition.",
76
+ "items": {
77
+ "anyOf": [
78
+ {
79
+ "$ref": "#/definitions/compositionName"
80
+ },
81
+ {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "required": ["name"],
85
+ "properties": {
86
+ "name": {
87
+ "$ref": "#/definitions/compositionName"
88
+ },
89
+ "include": {
90
+ "$ref": "#/definitions/skillNames",
91
+ "description": "Limit this set to these canonical members. Omission includes all members; an empty list includes none."
92
+ },
93
+ "exclude": {
94
+ "$ref": "#/definitions/skillNames",
95
+ "description": "Remove these members from this set contribution only."
96
+ },
97
+ "optional": {
98
+ "type": "boolean",
99
+ "default": false,
100
+ "description": "Report an unavailable set as an optional skip instead of a required-reference failure."
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ }
106
+ },
107
+ "packs": {
108
+ "type": "array",
109
+ "maxItems": 1,
110
+ "description": "At most one exclusive loadout from packs/. An active pack replaces the entire effective selection while ordinary declarations remain dormant for restoration. Pack member filters are unsupported.",
111
+ "items": {
112
+ "anyOf": [
113
+ {
114
+ "type": "string",
115
+ "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?(@[a-zA-Z0-9]([a-zA-Z0-9._+-]*[a-zA-Z0-9])?)?(?![\\s\\S])",
116
+ "description": "Pack name, optionally followed by @VERSION. An omitted version selects the latest available local version."
117
+ },
118
+ {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": ["name"],
122
+ "properties": {
123
+ "name": {
124
+ "$ref": "#/definitions/compositionName"
125
+ },
126
+ "version": {
127
+ "$ref": "#/definitions/versionComponent"
128
+ },
129
+ "optional": {
130
+ "type": "boolean",
131
+ "default": false,
132
+ "description": "Report an unavailable pack as an optional skip. Ordinary selections remain dormant while the pack is selected."
133
+ }
134
+ }
135
+ }
136
+ ]
137
+ }
138
+ },
139
+ "exclude": {
140
+ "$ref": "#/definitions/skillNames",
141
+ "description": "Mask canonical names after inheritance, sets, and explicit skills have been composed. Ignored while an exclusive pack is active."
142
+ }
143
+ }
144
+ }