skillpkg-core 0.2.0 → 0.3.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.
Files changed (78) hide show
  1. package/dist/config/config-manager.d.ts +83 -0
  2. package/dist/config/config-manager.d.ts.map +1 -0
  3. package/dist/config/config-manager.js +220 -0
  4. package/dist/config/config-manager.js.map +1 -0
  5. package/dist/config/index.d.ts +23 -0
  6. package/dist/config/index.d.ts.map +1 -0
  7. package/dist/config/index.js +23 -0
  8. package/dist/config/index.js.map +1 -0
  9. package/dist/config/schemas/skillpkg.schema.json +103 -0
  10. package/dist/config/types.d.ts +69 -0
  11. package/dist/config/types.d.ts.map +1 -0
  12. package/dist/config/types.js +29 -0
  13. package/dist/config/types.js.map +1 -0
  14. package/dist/index.d.ts +6 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +11 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/installer/index.d.ts +33 -0
  19. package/dist/installer/index.d.ts.map +1 -0
  20. package/dist/installer/index.js +33 -0
  21. package/dist/installer/index.js.map +1 -0
  22. package/dist/installer/installer.d.ts +54 -0
  23. package/dist/installer/installer.d.ts.map +1 -0
  24. package/dist/installer/installer.js +371 -0
  25. package/dist/installer/installer.js.map +1 -0
  26. package/dist/installer/types.d.ts +138 -0
  27. package/dist/installer/types.d.ts.map +1 -0
  28. package/dist/installer/types.js +2 -0
  29. package/dist/installer/types.js.map +1 -0
  30. package/dist/parser/schema.d.ts +26 -5
  31. package/dist/parser/schema.d.ts.map +1 -1
  32. package/dist/parser/schema.js +25 -3
  33. package/dist/parser/schema.js.map +1 -1
  34. package/dist/resolver/dependency-resolver.d.ts +59 -0
  35. package/dist/resolver/dependency-resolver.d.ts.map +1 -0
  36. package/dist/resolver/dependency-resolver.js +217 -0
  37. package/dist/resolver/dependency-resolver.js.map +1 -0
  38. package/dist/resolver/index.d.ts +35 -0
  39. package/dist/resolver/index.d.ts.map +1 -0
  40. package/dist/resolver/index.js +34 -0
  41. package/dist/resolver/index.js.map +1 -0
  42. package/dist/resolver/install-plan.d.ts +107 -0
  43. package/dist/resolver/install-plan.d.ts.map +1 -0
  44. package/dist/resolver/install-plan.js +137 -0
  45. package/dist/resolver/install-plan.js.map +1 -0
  46. package/dist/resolver/types.d.ts +76 -0
  47. package/dist/resolver/types.d.ts.map +1 -0
  48. package/dist/resolver/types.js +5 -0
  49. package/dist/resolver/types.js.map +1 -0
  50. package/dist/state/index.d.ts +30 -0
  51. package/dist/state/index.d.ts.map +1 -0
  52. package/dist/state/index.js +30 -0
  53. package/dist/state/index.js.map +1 -0
  54. package/dist/state/state-manager.d.ts +105 -0
  55. package/dist/state/state-manager.d.ts.map +1 -0
  56. package/dist/state/state-manager.js +242 -0
  57. package/dist/state/state-manager.js.map +1 -0
  58. package/dist/state/types.d.ts +86 -0
  59. package/dist/state/types.d.ts.map +1 -0
  60. package/dist/state/types.js +21 -0
  61. package/dist/state/types.js.map +1 -0
  62. package/dist/syncer/index.d.ts +28 -0
  63. package/dist/syncer/index.d.ts.map +1 -0
  64. package/dist/syncer/index.js +28 -0
  65. package/dist/syncer/index.js.map +1 -0
  66. package/dist/syncer/syncer.d.ts +74 -0
  67. package/dist/syncer/syncer.d.ts.map +1 -0
  68. package/dist/syncer/syncer.js +405 -0
  69. package/dist/syncer/syncer.js.map +1 -0
  70. package/dist/syncer/types.d.ts +143 -0
  71. package/dist/syncer/types.d.ts.map +1 -0
  72. package/dist/syncer/types.js +84 -0
  73. package/dist/syncer/types.js.map +1 -0
  74. package/dist/types.d.ts +27 -2
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/types.js +25 -0
  77. package/dist/types.js.map +1 -1
  78. package/package.json +9 -9
@@ -0,0 +1,83 @@
1
+ import type { SkillpkgConfig, McpConfig, SyncTargets } from './types.js';
2
+ /**
3
+ * Configuration file name
4
+ */
5
+ export declare const CONFIG_FILE_NAME = "skillpkg.json";
6
+ /**
7
+ * Validation result
8
+ */
9
+ export interface ValidationResult {
10
+ valid: boolean;
11
+ errors?: string[];
12
+ }
13
+ /**
14
+ * ConfigManager class - manages skillpkg.json
15
+ */
16
+ export declare class ConfigManager {
17
+ private ajv;
18
+ private validate;
19
+ constructor();
20
+ /**
21
+ * Get the config file path for a project
22
+ */
23
+ getConfigPath(projectPath: string): string;
24
+ /**
25
+ * Check if a project has skillpkg.json
26
+ */
27
+ hasConfig(projectPath: string): boolean;
28
+ /**
29
+ * Load project configuration
30
+ */
31
+ loadProjectConfig(projectPath: string): Promise<SkillpkgConfig | null>;
32
+ /**
33
+ * Save project configuration
34
+ */
35
+ saveProjectConfig(projectPath: string, config: SkillpkgConfig): Promise<void>;
36
+ /**
37
+ * Initialize a new project with skillpkg.json
38
+ */
39
+ initProject(projectPath: string, name: string, options?: {
40
+ force?: boolean;
41
+ }): Promise<SkillpkgConfig>;
42
+ /**
43
+ * Add a skill to the project configuration
44
+ */
45
+ addSkill(projectPath: string, name: string, source: string): Promise<void>;
46
+ /**
47
+ * Remove a skill from the project configuration
48
+ */
49
+ removeSkill(projectPath: string, name: string): Promise<boolean>;
50
+ /**
51
+ * Add or update an MCP configuration
52
+ */
53
+ setMcp(projectPath: string, name: string, mcpConfig: McpConfig): Promise<void>;
54
+ /**
55
+ * Remove an MCP configuration
56
+ */
57
+ removeMcp(projectPath: string, name: string): Promise<boolean>;
58
+ /**
59
+ * Update sync targets
60
+ */
61
+ setSyncTargets(projectPath: string, targets: SyncTargets): Promise<void>;
62
+ /**
63
+ * Add a reminder
64
+ */
65
+ addReminder(projectPath: string, reminder: string): Promise<void>;
66
+ /**
67
+ * Remove a reminder by index
68
+ */
69
+ removeReminder(projectPath: string, index: number): Promise<boolean>;
70
+ /**
71
+ * Validate a configuration object
72
+ */
73
+ validateConfig(config: unknown): ValidationResult;
74
+ /**
75
+ * Get enabled sync targets
76
+ */
77
+ getEnabledSyncTargets(config: SkillpkgConfig): string[];
78
+ }
79
+ /**
80
+ * Create a ConfigManager instance
81
+ */
82
+ export declare function createConfigManager(): ConfigManager;
83
+ //# sourceMappingURL=config-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config/config-manager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzE;;GAEG;AACH,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,QAAQ,CAA6B;;IAQ7C;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI1C;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0B5E;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnF;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAChC,OAAO,CAAC,cAAc,CAAC;IAa1B;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAchF;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAetE;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpF;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAepE;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9E;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvE;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1E;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB;IAejD;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE;CASxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * ConfigManager - Project configuration management (skillpkg.json)
3
+ */
4
+ import { readFile, writeFile, mkdir } from 'fs/promises';
5
+ import { existsSync } from 'fs';
6
+ import { join, dirname } from 'path';
7
+ import Ajv from 'ajv';
8
+ import addFormats from 'ajv-formats';
9
+ import { createDefaultConfig } from './types.js';
10
+ import skillpkgSchema from './schemas/skillpkg.schema.json' with { type: 'json' };
11
+ /**
12
+ * Configuration file name
13
+ */
14
+ export const CONFIG_FILE_NAME = 'skillpkg.json';
15
+ /**
16
+ * ConfigManager class - manages skillpkg.json
17
+ */
18
+ export class ConfigManager {
19
+ ajv;
20
+ validate;
21
+ constructor() {
22
+ this.ajv = new Ajv({ allErrors: true, strict: false });
23
+ addFormats(this.ajv);
24
+ this.validate = this.ajv.compile(skillpkgSchema);
25
+ }
26
+ /**
27
+ * Get the config file path for a project
28
+ */
29
+ getConfigPath(projectPath) {
30
+ return join(projectPath, CONFIG_FILE_NAME);
31
+ }
32
+ /**
33
+ * Check if a project has skillpkg.json
34
+ */
35
+ hasConfig(projectPath) {
36
+ return existsSync(this.getConfigPath(projectPath));
37
+ }
38
+ /**
39
+ * Load project configuration
40
+ */
41
+ async loadProjectConfig(projectPath) {
42
+ const configPath = this.getConfigPath(projectPath);
43
+ if (!existsSync(configPath)) {
44
+ return null;
45
+ }
46
+ try {
47
+ const content = await readFile(configPath, 'utf-8');
48
+ const config = JSON.parse(content);
49
+ // Validate
50
+ const validation = this.validateConfig(config);
51
+ if (!validation.valid) {
52
+ throw new Error(`Invalid skillpkg.json: ${validation.errors?.join(', ')}`);
53
+ }
54
+ return config;
55
+ }
56
+ catch (error) {
57
+ if (error instanceof SyntaxError) {
58
+ throw new Error(`Invalid JSON in skillpkg.json: ${error.message}`);
59
+ }
60
+ throw error;
61
+ }
62
+ }
63
+ /**
64
+ * Save project configuration
65
+ */
66
+ async saveProjectConfig(projectPath, config) {
67
+ const configPath = this.getConfigPath(projectPath);
68
+ // Validate before saving
69
+ const validation = this.validateConfig(config);
70
+ if (!validation.valid) {
71
+ throw new Error(`Invalid configuration: ${validation.errors?.join(', ')}`);
72
+ }
73
+ // Ensure directory exists
74
+ await mkdir(dirname(configPath), { recursive: true });
75
+ // Write with pretty formatting
76
+ const content = JSON.stringify(config, null, 2);
77
+ await writeFile(configPath, content, 'utf-8');
78
+ }
79
+ /**
80
+ * Initialize a new project with skillpkg.json
81
+ */
82
+ async initProject(projectPath, name, options = {}) {
83
+ const configPath = this.getConfigPath(projectPath);
84
+ if (existsSync(configPath) && !options.force) {
85
+ throw new Error(`skillpkg.json already exists at ${projectPath}`);
86
+ }
87
+ const config = createDefaultConfig(name);
88
+ await this.saveProjectConfig(projectPath, config);
89
+ return config;
90
+ }
91
+ /**
92
+ * Add a skill to the project configuration
93
+ */
94
+ async addSkill(projectPath, name, source) {
95
+ const config = await this.loadProjectConfig(projectPath);
96
+ if (!config) {
97
+ throw new Error('No skillpkg.json found. Run "skillpkg init" first.');
98
+ }
99
+ if (!config.skills) {
100
+ config.skills = {};
101
+ }
102
+ config.skills[name] = source;
103
+ await this.saveProjectConfig(projectPath, config);
104
+ }
105
+ /**
106
+ * Remove a skill from the project configuration
107
+ */
108
+ async removeSkill(projectPath, name) {
109
+ const config = await this.loadProjectConfig(projectPath);
110
+ if (!config) {
111
+ throw new Error('No skillpkg.json found.');
112
+ }
113
+ if (!config.skills || !config.skills[name]) {
114
+ return false;
115
+ }
116
+ delete config.skills[name];
117
+ await this.saveProjectConfig(projectPath, config);
118
+ return true;
119
+ }
120
+ /**
121
+ * Add or update an MCP configuration
122
+ */
123
+ async setMcp(projectPath, name, mcpConfig) {
124
+ const config = await this.loadProjectConfig(projectPath);
125
+ if (!config) {
126
+ throw new Error('No skillpkg.json found. Run "skillpkg init" first.');
127
+ }
128
+ if (!config.mcp) {
129
+ config.mcp = {};
130
+ }
131
+ config.mcp[name] = mcpConfig;
132
+ await this.saveProjectConfig(projectPath, config);
133
+ }
134
+ /**
135
+ * Remove an MCP configuration
136
+ */
137
+ async removeMcp(projectPath, name) {
138
+ const config = await this.loadProjectConfig(projectPath);
139
+ if (!config) {
140
+ throw new Error('No skillpkg.json found.');
141
+ }
142
+ if (!config.mcp || !config.mcp[name]) {
143
+ return false;
144
+ }
145
+ delete config.mcp[name];
146
+ await this.saveProjectConfig(projectPath, config);
147
+ return true;
148
+ }
149
+ /**
150
+ * Update sync targets
151
+ */
152
+ async setSyncTargets(projectPath, targets) {
153
+ const config = await this.loadProjectConfig(projectPath);
154
+ if (!config) {
155
+ throw new Error('No skillpkg.json found.');
156
+ }
157
+ config.sync_targets = { ...config.sync_targets, ...targets };
158
+ await this.saveProjectConfig(projectPath, config);
159
+ }
160
+ /**
161
+ * Add a reminder
162
+ */
163
+ async addReminder(projectPath, reminder) {
164
+ const config = await this.loadProjectConfig(projectPath);
165
+ if (!config) {
166
+ throw new Error('No skillpkg.json found.');
167
+ }
168
+ if (!config.reminders) {
169
+ config.reminders = [];
170
+ }
171
+ if (!config.reminders.includes(reminder)) {
172
+ config.reminders.push(reminder);
173
+ await this.saveProjectConfig(projectPath, config);
174
+ }
175
+ }
176
+ /**
177
+ * Remove a reminder by index
178
+ */
179
+ async removeReminder(projectPath, index) {
180
+ const config = await this.loadProjectConfig(projectPath);
181
+ if (!config || !config.reminders || index < 0 || index >= config.reminders.length) {
182
+ return false;
183
+ }
184
+ config.reminders.splice(index, 1);
185
+ await this.saveProjectConfig(projectPath, config);
186
+ return true;
187
+ }
188
+ /**
189
+ * Validate a configuration object
190
+ */
191
+ validateConfig(config) {
192
+ const valid = this.validate(config);
193
+ if (valid) {
194
+ return { valid: true };
195
+ }
196
+ const errors = this.validate.errors?.map((err) => {
197
+ const path = err.instancePath || 'root';
198
+ return `${path}: ${err.message}`;
199
+ });
200
+ return { valid: false, errors };
201
+ }
202
+ /**
203
+ * Get enabled sync targets
204
+ */
205
+ getEnabledSyncTargets(config) {
206
+ if (!config.sync_targets) {
207
+ return ['claude-code']; // Default
208
+ }
209
+ return Object.entries(config.sync_targets)
210
+ .filter(([, enabled]) => enabled)
211
+ .map(([target]) => target);
212
+ }
213
+ }
214
+ /**
215
+ * Create a ConfigManager instance
216
+ */
217
+ export function createConfigManager() {
218
+ return new ConfigManager();
219
+ }
220
+ //# sourceMappingURL=config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/config/config-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Config module - Project configuration management (skillpkg.json)
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { ConfigManager, createConfigManager } from '@skillpkg/core';
7
+ *
8
+ * const manager = createConfigManager();
9
+ *
10
+ * // Initialize a new project
11
+ * await manager.initProject('/path/to/project', 'my-project');
12
+ *
13
+ * // Load configuration
14
+ * const config = await manager.loadProjectConfig('/path/to/project');
15
+ *
16
+ * // Add a skill
17
+ * await manager.addSkill('/path/to/project', 'my-skill', 'github:user/repo');
18
+ * ```
19
+ */
20
+ export type { SkillpkgConfig, McpConfig, SyncTarget, SyncTargets, Hooks, } from './types.js';
21
+ export { DEFAULT_SYNC_TARGETS, createDefaultConfig } from './types.js';
22
+ export { ConfigManager, createConfigManager, CONFIG_FILE_NAME, type ValidationResult as ConfigValidationResult, } from './config-manager.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,GACN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvE,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,gBAAgB,IAAI,sBAAsB,GAChD,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Config module - Project configuration management (skillpkg.json)
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { ConfigManager, createConfigManager } from '@skillpkg/core';
7
+ *
8
+ * const manager = createConfigManager();
9
+ *
10
+ * // Initialize a new project
11
+ * await manager.initProject('/path/to/project', 'my-project');
12
+ *
13
+ * // Load configuration
14
+ * const config = await manager.loadProjectConfig('/path/to/project');
15
+ *
16
+ * // Add a skill
17
+ * await manager.addSkill('/path/to/project', 'my-skill', 'github:user/repo');
18
+ * ```
19
+ */
20
+ export { DEFAULT_SYNC_TARGETS, createDefaultConfig } from './types.js';
21
+ // ConfigManager
22
+ export { ConfigManager, createConfigManager, CONFIG_FILE_NAME, } from './config-manager.js';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvE,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,103 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://skillpkg.dev/schemas/skillpkg.json",
4
+ "title": "skillpkg.json",
5
+ "description": "Project configuration for skillpkg - AI Workflow Manager",
6
+ "type": "object",
7
+ "required": ["name"],
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string",
11
+ "description": "JSON Schema reference for IDE support"
12
+ },
13
+ "name": {
14
+ "type": "string",
15
+ "description": "Project name",
16
+ "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$"
17
+ },
18
+ "version": {
19
+ "type": "string",
20
+ "description": "Project version (semver)",
21
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?(\\+[a-zA-Z0-9.-]+)?$"
22
+ },
23
+ "skills": {
24
+ "type": "object",
25
+ "description": "Skills to install (name -> source)",
26
+ "additionalProperties": {
27
+ "type": "string",
28
+ "description": "Skill source (github:user/repo, URL, or local path)"
29
+ }
30
+ },
31
+ "mcp": {
32
+ "type": "object",
33
+ "description": "MCP server configurations",
34
+ "additionalProperties": {
35
+ "$ref": "#/definitions/McpConfig"
36
+ }
37
+ },
38
+ "reminders": {
39
+ "type": "array",
40
+ "description": "Project-level reminders for AI agents",
41
+ "items": {
42
+ "type": "string"
43
+ }
44
+ },
45
+ "hooks": {
46
+ "type": "object",
47
+ "description": "Lifecycle hooks (event -> script path)",
48
+ "properties": {
49
+ "pre-install": { "type": "string" },
50
+ "post-install": { "type": "string" },
51
+ "pre-sync": { "type": "string" },
52
+ "post-sync": { "type": "string" }
53
+ },
54
+ "additionalProperties": {
55
+ "type": "string"
56
+ }
57
+ },
58
+ "sync_targets": {
59
+ "type": "object",
60
+ "description": "Sync targets (target name -> enabled)",
61
+ "properties": {
62
+ "claude-code": { "type": "boolean", "default": true },
63
+ "cursor": { "type": "boolean", "default": false },
64
+ "codex": { "type": "boolean", "default": false },
65
+ "copilot": { "type": "boolean", "default": false },
66
+ "windsurf": { "type": "boolean", "default": false }
67
+ },
68
+ "additionalProperties": false
69
+ }
70
+ },
71
+ "definitions": {
72
+ "McpConfig": {
73
+ "type": "object",
74
+ "required": ["package"],
75
+ "properties": {
76
+ "package": {
77
+ "type": "string",
78
+ "description": "npm package name"
79
+ },
80
+ "command": {
81
+ "type": "string",
82
+ "description": "Executable command name"
83
+ },
84
+ "args": {
85
+ "type": "array",
86
+ "description": "Command arguments",
87
+ "items": { "type": "string" }
88
+ },
89
+ "required": {
90
+ "type": "boolean",
91
+ "description": "Whether this MCP is required for the project",
92
+ "default": false
93
+ },
94
+ "env": {
95
+ "type": "object",
96
+ "description": "Environment variables",
97
+ "additionalProperties": { "type": "string" }
98
+ }
99
+ }
100
+ }
101
+ },
102
+ "additionalProperties": false
103
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * skillpkg.json types
3
+ *
4
+ * Project-level configuration for skillpkg v2.0
5
+ */
6
+ /**
7
+ * MCP server configuration
8
+ */
9
+ export interface McpConfig {
10
+ /** npm package name */
11
+ package: string;
12
+ /** Executable command name */
13
+ command?: string;
14
+ /** Command arguments */
15
+ args?: string[];
16
+ /** Whether this MCP is required for the project */
17
+ required?: boolean;
18
+ /** Environment variables */
19
+ env?: Record<string, string>;
20
+ }
21
+ /**
22
+ * Supported sync targets
23
+ * Note: v2.0 only implements claude-code, others are reserved for future
24
+ */
25
+ export type SyncTarget = 'claude-code' | 'cursor' | 'codex' | 'copilot' | 'windsurf';
26
+ /**
27
+ * Sync targets configuration
28
+ */
29
+ export type SyncTargets = Partial<Record<SyncTarget, boolean>>;
30
+ /**
31
+ * Lifecycle hooks
32
+ */
33
+ export interface Hooks {
34
+ 'pre-install'?: string;
35
+ 'post-install'?: string;
36
+ 'pre-sync'?: string;
37
+ 'post-sync'?: string;
38
+ [key: string]: string | undefined;
39
+ }
40
+ /**
41
+ * Project configuration (skillpkg.json)
42
+ */
43
+ export interface SkillpkgConfig {
44
+ /** JSON Schema reference */
45
+ $schema?: string;
46
+ /** Project name */
47
+ name: string;
48
+ /** Project version (semver) */
49
+ version?: string;
50
+ /** Skills to install (name -> source) */
51
+ skills?: Record<string, string>;
52
+ /** MCP server configurations */
53
+ mcp?: Record<string, McpConfig>;
54
+ /** Project-level reminders for AI agents */
55
+ reminders?: string[];
56
+ /** Lifecycle hooks */
57
+ hooks?: Hooks;
58
+ /** Sync targets (target -> enabled) */
59
+ sync_targets?: SyncTargets;
60
+ }
61
+ /**
62
+ * Default sync targets (only claude-code enabled by default)
63
+ */
64
+ export declare const DEFAULT_SYNC_TARGETS: SyncTargets;
65
+ /**
66
+ * Create a default project configuration
67
+ */
68
+ export declare function createDefaultConfig(name: string): SkillpkgConfig;
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uCAAuC;IACvC,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAShE"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * skillpkg.json types
3
+ *
4
+ * Project-level configuration for skillpkg v2.0
5
+ */
6
+ /**
7
+ * Default sync targets (only claude-code enabled by default)
8
+ */
9
+ export const DEFAULT_SYNC_TARGETS = {
10
+ 'claude-code': true,
11
+ cursor: false,
12
+ codex: false,
13
+ copilot: false,
14
+ windsurf: false,
15
+ };
16
+ /**
17
+ * Create a default project configuration
18
+ */
19
+ export function createDefaultConfig(name) {
20
+ return {
21
+ $schema: 'https://skillpkg.dev/schemas/skillpkg.json',
22
+ name,
23
+ skills: {},
24
+ mcp: {},
25
+ reminders: [],
26
+ sync_targets: { 'claude-code': true },
27
+ };
28
+ }
29
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8DH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO;QACL,OAAO,EAAE,4CAA4C;QACrD,IAAI;QACJ,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Core library for skillpkg - Agent Skills Package Manager
5
5
  */
6
- export declare const VERSION = "0.0.1";
6
+ export declare const VERSION = "0.2.1";
7
7
  export * from './types.js';
8
8
  export * from './parser/index.js';
9
9
  export * from './store/index.js';
@@ -12,4 +12,9 @@ export * from './importer/index.js';
12
12
  export * from './exporter/index.js';
13
13
  export * from './registry/index.js';
14
14
  export * from './github/index.js';
15
+ export * from './config/index.js';
16
+ export * from './state/index.js';
17
+ export * from './resolver/index.js';
18
+ export * from './syncer/index.js';
19
+ export * from './installer/index.js';
15
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,YAAY,CAAC;AAG3B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,YAAY,CAAC;AAG3B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Core library for skillpkg - Agent Skills Package Manager
5
5
  */
6
- export const VERSION = '0.0.1';
6
+ export const VERSION = '0.2.1';
7
7
  // Types
8
8
  export * from './types.js';
9
9
  // Parser module
@@ -20,4 +20,14 @@ export * from './exporter/index.js';
20
20
  export * from './registry/index.js';
21
21
  // GitHub module - Search skills on GitHub
22
22
  export * from './github/index.js';
23
+ // Config module - Project configuration (skillpkg.json)
24
+ export * from './config/index.js';
25
+ // State module - Installation state tracking (.skillpkg/state.json)
26
+ export * from './state/index.js';
27
+ // Resolver module - Dependency resolution
28
+ export * from './resolver/index.js';
29
+ // Syncer module - Sync to AI tools
30
+ export * from './syncer/index.js';
31
+ // Installer module - Dependency-aware installation
32
+ export * from './installer/index.js';
23
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,gBAAgB;AAChB,cAAc,mBAAmB,CAAC;AAElC,eAAe;AACf,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,2DAA2D;AAC3D,cAAc,qBAAqB,CAAC;AAEpC,0CAA0C;AAC1C,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,gBAAgB;AAChB,cAAc,mBAAmB,CAAC;AAElC,eAAe;AACf,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,2DAA2D;AAC3D,cAAc,qBAAqB,CAAC;AAEpC,0CAA0C;AAC1C,cAAc,mBAAmB,CAAC;AAElC,wDAAwD;AACxD,cAAc,mBAAmB,CAAC;AAElC,oEAAoE;AACpE,cAAc,kBAAkB,CAAC;AAEjC,0CAA0C;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,mCAAmC;AACnC,cAAc,mBAAmB,CAAC;AAElC,mDAAmD;AACnD,cAAc,sBAAsB,CAAC"}